まず、本発明の実施例1における撮像装置について説明する。図1は、本実施例における撮像装置(デジタルカメラ100)の外観図である。
図1において、28は、画像や各種情報を表示する表示部である。61は、シャッターボタンであり、撮影指示を行うための操作部である。60は、モード切替スイッチであり、各種モードを切り替えるための操作部である。モード切替スイッチ60は、再生モードと各種撮影モードとの切り替えが可能である。また、各種撮影モードとして、「流し撮りモード」(または「ズーミング流し撮り」モード)が選択可能である。コネクタ115は、接続ケーブル110とデジタルカメラ100とを接続するコネクタ(接続部)である。70は、ユーザからの各種操作を受け付ける各種スイッチ、ボタン、または、タッチパネルなどの操作部材からなる操作部である。73は、コントローラホイールであり、操作部70に含まれる回転操作可能な操作部材である。72は電源スイッチであり、電源のオン/オフを切り替える。200は、メモリカードやハードディスクなどの記録媒体である。201は、記録媒体200を格納するためのスロット(記録媒体スロット)である。スロット201に格納された記録媒体200は、デジタルカメラ100との通信が可能である。202は、スロット201の蓋である。
続いて、図2を参照して、本実施例におけるデジタルカメラ100の内部構成について説明する。図2は、デジタルカメラ100のブロック図である。図2において、104はフォーカスレンズ、103はズームレンズ、102は手振れを光学的に補正するためのシフトレンズ(補正光学系)である。フォーカスレンズ104、ズームレンズ103、および、シフトレンズ102により撮影光学系が構成される。101は、絞り機能を備えるシャッターである。
22は撮像部である。撮像部22は、CMOSセンサなどの撮像素子を有し、撮影光学系を介して形成された光学像を光電変換して画像データ(電気信号)を出力する。フォーカスレンズ104、ズームレンズ103、および、シフトレンズ102のそれぞれに対して、位置検出を行うためのセンサ(不図示)が取り付けられている。システム制御部50は、各センサにより検出された各レンズの位置情報に基づいて、モータで構成されたアクチュエータ(不図示)を制御することにより、各レンズを駆動する。
ここで、図3を参照して、フォーカスレンズ104と撮像部22との光学特性について説明する。図3は、フォーカスレンズ104と撮像部22に含まれる一画素との光学特性の模式図である。本実施例において、撮像部22に含まれる一画素は、二つのフォトダイオード223、224(二つの光電変換部)および一つのマイクロレンズ222を備えて構成されている。二つのフォトダイオード223、224は、一つのマイクロレンズ222(同一のマイクロレンズ)を共有している。このような構成において、二つのフォトダイオード223、224は、マイクロレンズ222を透過した光を受光することにより、位相差(像面位相差)を検出して像面位相差情報を取得することができる。システム制御部50は、撮像部22より検出された位相差に応じて被写体を測距することが可能である。すなわちシステム制御部50は、位相差が小さくなるように(位相差が無くなる位置の方向に)フォーカスレンズ104を光軸方向に移動させることにより、AF(オートフォーカス)処理を行うことができる。図3に示される一画素(画素構造)を、撮像部22の内部に複数配置することにより、撮像部22の各点(複数の画素領域)において、撮像信号の出力および測距(焦点検出信号の出力)を同時に(並行して)行うことが可能である。
図2において、23はA/D変換器である。A/D変換器23は、撮像部22からの画像データ(アナログ信号)をデジタル信号に変換する。24は画像処理部である。画像処理部24は、A/D変換器23からのデータまたはメモリ制御部15からのデータに対して、所定の画素補間、縮小などのリサイズ処理、および、色変換処理を行う。また画像処理部24は、撮像して得られた画像データ(撮像信号)に基づいて所定の演算処理を行う。システム制御部50は、画像処理部24の演算結果に基づいて、露光制御および測距制御を行う。これによりシステム制御部50は、AE(自動露出)処理およびEF(フラッシュプリ発光)処理を行う。また画像処理部24は、撮像して得られた画像データ(撮像信号)に基づいて所定の演算処理を行い、得られた演算結果に基づいてAWB(オートホワイトバランス)処理を行う。
A/D変換器23からの出力データ(デジタル信号)は、画像処理部24およびメモリ制御部15を介して、または、メモリ制御部15を介してメモリ32に直接書き込まれる。メモリ32は、撮像部22から出力されてA/D変換器23により変換された画像データ(デジタル信号)や、表示部28に表示するための画像データを格納する。メモリ32は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。また、メモリ32は、画像表示用のメモリ(ビデオメモリ)を兼ねている。
13はD/A変換器である。D/A変換器13は、メモリ32に格納されている画像表示用のデータをアナログ信号に変換して、表示部28に供給する。このように、メモリ32に書き込まれた表示用の画像データは、D/A変換器13を介して表示部28により表示される。表示部28は、LCDなどの表示器上に、D/A変換器13からのアナログ信号に応じた表示を行う。A/D変換器23によりA/D変換されてメモリ32に蓄積されたデジタル信号は、D/A変換器13によりアナログ変換され、表示部28に逐次転送されて表示される。これにより、スルー画像表示を行う電子ビューファインダ(EVF)が構成される。
90は手振れ検出部である。手振れ検出部90は、デジタルカメラ100の振動を検出することが可能なジャイロセンサなどを備えて構成されている。手振れ検出部90は、振動に応じた信号をシステム制御部50へ送信する。システム制御部50(振れ検出手段50c)は、手振れ検出部90から送信された信号に応じた演算を行うことにより、デジタルカメラ100の手振れ(振動)を検出する。本実施例において、手振れ検出部90が実際に演算(手振れの検出)を行ってもよい。この場合、振れ検出手段は手ぶれ検出部90に含まれることになる。手振れ検出部90またはシステム制御部50は、手振れ(振動)の検出する際に、複数の振動方向(例えば3方向)のそれぞれにおける振動の大きさ、振動の周期、および、振動の振幅を検出(算出)することができる。
56は、電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROMである。不揮発性メモリ56は、システム制御部50の動作用の定数やプログラムなどを記憶している。ここでプログラムとは、例えば、本実施例にて後述する各種フローチャートを実行するためのプログラムである。
50はシステム制御部であり、デジタルカメラ100の全体を制御する。システム制御部50は、前述の不揮発性メモリ56に記憶されたプログラムを実行することにより、後述する本実施例の各処理を実行する。システム制御部50は、動き検出手段50a、制御手段50b、および、振れ検出手段50cを有する。動き検出手段50aは、撮像部22からの画像データに基づいて、被写体の動き(被写体の速度などの被写体の動きに関する信号)を検出する。制御手段50bは、動き検出手段50aにより検出された被写体の動きに基づいて、被写体が画面内(表示部28の画面内)における所定の領域内に収まるように撮影光学系を駆動しながら露光(撮影中の露光)を行う。
52はシステムメモリであり、例えばRAMである。システムメモリ52には、システム制御部50の動作用の定数、変数、および、不揮発性メモリ56から読み出されたプログラムなどが展開される。またシステム制御部50は、メモリ32、D/A変換器13、および、表示部28などを制御することで表示制御を行う。53は、システムタイマーである。システムタイマー53は、各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
モード切替スイッチ60、第1シャッタースイッチ62、第2シャッタースイッチ64、および、操作部70は、システム制御部50に各種の動作指示を入力するための操作手段である。モード切替スイッチ60は、システム制御部50の動作モードを静止画記録モード、動画記録モード、または、再生モードなどのいずれかに切り替える。第1シャッタースイッチ62は、デジタルカメラ100に設けられたシャッターボタン61の操作途中、いわゆる半押し(撮影準備指示)でONとなり第1シャッタースイッチ信号SW1が発生する。システム制御部50は、第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、および、EF(フラッシュプリ発光)処理などの動作を開始する。第2シャッタースイッチ64は、シャッターボタン61の操作完了、いわゆる全押し(撮影指示)でONとなり、第2シャッタースイッチ信号SW2が発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから記録媒体200に画像データを書き込むまでの一連の撮影処理の動作を開始する。
操作部70の各操作部材は、表示部28に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタンなどがある。例えば、メニューボタンが押されると、各種の設定可能なメニュー画面が表示部28に表示される。ユーザは、表示部28に表示されたメニュー画面と、4方向ボタンやSETボタンとを用いて、直感的に各種設定を行うことができる。
図1に示されるコントローラホイール73は、操作部70に含まれる回転操作可能な操作部材であり、方向ボタンと共に選択項目を指示する際などに使用される。コントローラホイール73を回転操作すると、操作量に応じて電気的なパルス信号が発生する。システム制御部50は、このパルス信号に基づいてデジタルカメラ100の各部を制御する。またシステム制御部50は、このパルス信号により、コントローラホイール73が回転操作された角度や、何回転したかなどを判定することができる。なお、コントローラホイール73は、回転操作が検出可能な操作部材であれば他の構成を用いてもよい。例えば、ユーザの回転操作に応じてコントローラホイール73自体が回転してパルス信号を発生するダイヤル操作部材であってもよい。また、タッチセンサよりなる操作部材で、コントローラホイール73自体は回転せず、コントローラホイール73上でのユーザの指の回転動作などを検出するものであってもよい(いわゆる、タッチホイール)。また操作部70は、表示部28に対する接触を検知可能なタッチパネルを含む。
80は電源制御部である。電源制御部80は、電池検出回路、DC−DCコンバータ、および、通電するブロックを切り替えるスイッチ回路などにより構成され、電池の装着の有無、電池の種類、および、電池残量を検出する。また電源制御部80は、その検出結果およびシステム制御部50の指示に基づいて、DC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。30は電源部である。電源部30は、アルカリ電池やリチウム電池などの一次電池、NiCd電池、NiMH電池、または、Li電池などの二次電池、または、ACアダプターなどを含む。18は、メモリカードやハードディスクなどの記録媒体200とのインターフェース(I/F)である。記録媒体200は、メモリカードなどの記録媒体であり、半導体メモリで構成される。
本実施例のデジタルカメラ100は、中央1点AFや動体追尾AFを用いた撮影を実行可能である。中央1点AFとは、撮影画面内の中央位置1点に対してAFを行うことである。動体追尾AFとは、動体検出機能により検出された撮影画面内の動体に対して、追尾しながらAFを行うことである。
ここで、動体検出機能について説明する。システム制御部50は、動体検出対象の画像データを、順次、画像処理部24に送る。画像処理部24は、システム制御部50の制御に基づいて、システム制御部50から送られた画像の差分を検出する(すなわち、差分画像データを生成する)。そして画像処理部24は、差分画像データに水平方向バンドパスフィルタおよび垂直方向バンドパスフィルタを作用させる。水平方向バンドパスフィルタおよび垂直方向バンドパスフィルタにより、差分画像データからエッジ成分が検出される。その後、システム制御部50は、検出されたエッジ成分に関して、色成分や輝度情報に基づいて被写体の特長を抽出し、抽出した被写体の特長をターゲットオブジェクトとしてシステムメモリ52に記憶させる。
以上のように、システム制御部50は、ライブビュー表示される画像データを画像解析して、画像データの特徴量を抽出して移動する被写体(移動被写体)を検出することが可能である。本実施例では、被写体情報として動体情報を例に挙げているが、これに限定されるものではない。被写体情報として、人物の顔の特徴からパターンマッチングを行う顔検出などの様々な被写体検出により得られる情報を含む。システム制御部50は、検出した被写体に関し、順次更新される画像情報に対してターゲットオブジェクトとのパターンマッチングを行うことにより、撮影画像内を移動する被写体(移動被写体)を追尾してとらえ続けることができる。
続いて、図4を参照して、デジタルカメラ100の手振れ補正機能について説明する。図4は、デジタルカメラ100の手振れ補正機能の説明図である。図4(A)において、手振れが発生する前の光軸を(a)、手振れが発生した後の光軸を(b)とする。手振れ検出部90は、デジタルカメラ100の振動を検出する。そしてシステム制御部50は、デジタルカメラ100の手振れの状態(振動の状態)を演算により求める。続いてシステム制御部50は、デジタルカメラ100の手振れに応じて、アクチュエータ121(駆動手段)を駆動制御し、シフトレンズ102を物理的に光軸に直交な方向に(光軸直交面内において)移動させ、手振れを打ち消すように光軸を補正する。アクチュエータ121は、振れ検出手段50cからの信号に基づいて撮影光学系の光軸を光学的に補正する振れ補正手段である。このような構成により、撮像部22に到達する光(光学像)の動きを抑制することで、手振れを低減することができる。図4(A)における手振れ補正は、シフトレンズ102を用いて光軸を補正するため、シフトレンズ方式といわれる。
一方、シフトレンズ方式以外の光学手振れ方式として、イメージセンサシフト方式がある。図4(B)において、手振れが発生する前の光軸を(a)、手振れが発生した後の光軸を(B)とする。イメージセンサシフト方式は、アクチュエータ221が、手振れが発生した後の光軸(b)を追従するように撮像部22自体を駆動し、手振れ補正を行う方式である。アクチュエータ221は、撮像部22を光軸に直交する方向である2軸方向に加えて、光軸を回転軸とする回転方向に駆動することで、ローリング方向(回転方向)の手振れを補正することも可能となる。このようにアクチュエータ221は、振れ検出手段50cからの信号に基づいて撮影光学系の光軸を光学的に補正する振れ補正手段である。
図5は、ズームレンズ103を制御することで、被写体300とデジタルカメラ100との間の距離が変化した場合でも構図を一定に保つ手法の説明図である。図5において、ズームレンズ103と撮像部22との間の距離、すなわち焦点距離をf、撮影可能な画角をθとすると、撮影可能なイメージサークルの直径dは、以下の式(1)のように表される。
また、撮像部22(CMOSセンサ)の水平方向の長さをx、垂直方向の長さをyとして、イメージサークルの直径dをCMOSセンサの対角に設計する場合、ピタゴラスの定理より、以下の式(2)で表されるようにイメージサークルの直径dを算出できる。
システム制御部50は、被写体300に対して、撮像面位相差情報に基づいて、ズームレンズ103から被写体300までの距離Fを算出する。またシステム制御部50は、被写体300の画角δに基づいて、以下の式(3)で表されるように被写体300の高さHを算出することができる。
撮像部22に射影される被写体の高さをh、ズームレンズ103から被写体300までの距離をFとすると、被写体300の合焦面における仮想的なイメージサークル310の直径Dは、以下の式(4)のように表される。
ズームレンズ103から被写体300までの距離FがΔFだけ変化した場合、構図を一定に保つには、仮想的なイメージサークルの直径Dが一定に保たれるように、すなわち焦点距離fがΔfだけ変化するように、ズームレンズ103を制御すればよい。これを式で表すと、以下の式(5)のようになる。
続いて、図6(A)を参照して、モード切替スイッチ60を「流し撮りモード」(または「ズーミング流し撮りモード」)に設定した場合におけるデジタルカメラ100の動作について説明する。図6(A)は、「流し撮りモード」に設定されたときのデジタルカメラ100の動作タイミングである。図6(A)において、撮像部22、フォーカスレンズ104およびズームレンズ103の各アクチュエータ、および、シャッターボタン61(SW1、SW2)の動作タイミングが示されている。
まず、時刻t1において、第1シャッタースイッチ62を押下すると、システム制御部50は、撮像部22から得られた像面位相差情報に基づいて測距を行う。そしてシステム制御部50は、フォーカスレンズ104およびズームレンズ103の各アクチュエータを駆動して、フィードバック制御であるサーボ制御(フォーカス・ズームサーボ動作)を行う。このサーボ制御により、フォーカスレンズ104は被写体300へのフォーカス動作を行うように移動し、ズームレンズ103は被写体300の構図を一定に保つように移動する。
続いて、時刻t2において、第2シャッタースイッチ64を押下すると、システム制御部50は、フォーカスレンズ104およびズームレンズ103の各アクチュエータを引き続き制御する。ただし、本実施例の撮像部22(CMOSセンサ)は、露光中の画像読み出しを行うことができないため、システム制御部50は、露光中における測距を行うことができない。このためシステム制御部50は、第1シャッタースイッチ62を押下中の制御に基づいて、フォーカスレンズ104およびズームレンズ103の予測動作(フォーカス・ズーム予測動作)を行う。ここで予測動作とは、被写体300が等速度で移動していると仮定し、フォーカスレンズ104およびズームレンズ103を駆動制御する動作である。
続いて、第1シャッタースイッチ62をオフした後の露光終了時刻t3において、システム制御部50は、再び取得した像面位相差情報に基づいて被写体300の測距を行う。そしてシステム制御部50は、露光中のフォーカスレンズ104およびズームレンズ103の各制御が予測動作通りであったかのチェック(判定)を行い、初期の動作へ戻る。システム制御部50は、そのチェック結果(判定結果)に応じて、NG表示を行い、例えば画像のメタデータへ失敗画像であることを示すフラグを追加する。
続いて、図7を参照して、「流し撮りモード」に設定した場合におけるシステム制御部50の動作について説明する。図7は、「流し撮りモード」に設定した場合におけるシステム制御部50の動作を示すフローチャートである。図7の各ステップは、主に、システム制御部50により実行される。
まずステップS101において、システム制御部50は、撮影が開始されるまで、第1シャッタースイッチ62が押下されて第1シャッタースイッチ信号SW1が検出されたか否かを判定する。第1シャッタースイッチ信号SW1が検出されるまで、ステップS101を繰り返す。一方、ステップS101にてシステム制御部50が第1シャッタースイッチ信号SW1を検出すると、ステップS102へ移行する。
ステップS102において、システム制御部50は、撮像部22から得られた像面位相差情報に基づいて、被写体までの距離(距離情報)を計測(算出)する。そしてステップS103において、システム制御部50(制御手段50b)は、被写体の相対速度(デジタルカメラ100と被写体との間の相対速度)を計測(算出)する。被写体の相対速度は、前回に計測された距離(第1のタイミングでの被写体の第1の距離)と今回の距離(第2のタイミングでの被写体の第2の距離)との差、および、露光間隔に基づいて算出される。続いてステップS104において、システム制御部50は、被写体の構図を一定に保つための焦点距離を算出する。このときの焦点距離の算出方法は、図5を参照して説明したとおりである。
続いてステップS105において、システム制御部50は、ズームレンズ103を制御し、被写体の構図を保つための動作を行う。またステップS106において、システム制御部50は、ステップS102にて求めた被写体までの距離情報に基づいて、フォーカスレンズ104を駆動してフォーカス制御を行う。続いてステップS107において、システム制御部50は、合焦判定(合焦状態または非合焦状態の判定)を行う。ステップS107にてシステム制御部50が合焦状態でないと判定した場合、ステップS101へ戻る。一方、ステップS107にてシステム制御部50が合焦状態であると判定した場合、ステップS108へ進む。
ステップS108において、システム制御部50は、第2シャッタースイッチ64が押下されて第2シャッタースイッチ信号SW2が検出されたか否かを判定する。ステップS108にてシステム制御部50が第2シャッタースイッチ信号SW2を検出すると、ステップS109へ移行する。ステップS109において、システム制御部50は撮影(露光開始以降の動作)を行う。一方、ステップS108にてシステム制御部50が第2シャッタースイッチ信号SW2を検出しない場合、ステップS101へ戻る。ステップS101〜S108の間(SW1が検出されてからSW2が検出されるまでの間)、システム制御部50は、被写体までの距離を計測しながら、随時、サーボ制御(フィードバック制御)を行う。サーボ制御は、フォーカスレンズ104およびズームレンズ103を被写体までの距離に応じて行われる。
続いて、図8を参照して、図7のステップS109について詳述する。図8は、「流し撮りモード」に設定した場合における、システム制御部50による露光開始以降の撮影動作(ステップS109)を示すフローチャートである。
まずステップS201において、システム制御部50は露光を開始する。続いてステップS202において、システム制御部50は、フォーカスレンズ104およびズームレンズ103の予測動作を行う。すなわちシステム制御部50(制御手段50b)は、露光前(撮影前)に検出された被写体の動きに基づいて予測された予測被写体情報を用いて、露光中(撮影中)における撮影光学系(フォーカスレンズ104およびズームレンズ103)を駆動する。そしてステップS203において、システム制御部50は露光を終了する。続いてS204において、システム制御部50は、露光中における被写体までの距離を計測(算出)する。そしてステップS205において、システム制御部50は、ステップS204にて計測された被写体までの距離が予測通りの距離であるか否かを判定する。
ステップS205にて被写体までの距離が予測通りの距離であると判定された場合、ステップS206に移行する。ステップS206において、システム制御部50は、被写体の画像内の位置を検出する。システム制御部50は、例えば動体検出機能を用いて、被写体の画像内の位置を検出する。続いてステップS207において、システム制御部50は被写体の位置が予測通りの位置であるか否かを判定する。ステップS207にて被写体の位置が予測通りの位置である場合、本フローを終了する。このように本実施例において、システム制御部50(制御手段50b)は、ステップS202にて得られた予測被写体情報と、露光終了後(撮影後)の被写体情報とを比較する。そして制御手段50bは、被写体が表示部28の画面における所定の領域内に収まっているか否かを判定する(ステップS205、S207)。
一方、ステップS205にて被写体までの距離が予測通りでない場合、または、ステップS207にて被写体の位置が予測通りの位置にない場合、ステップS208へ移行する。このとき、被写体がシステム制御部50による予測とは異なるように移動し(予測とは異なる動作を行い)、被写体の構図が変化したものと判定される。このためシステム制御部50は、表示部28にNG表示を行ってから、本フローを終了する。このとき、画像のメタデータへ失敗画像であることを示すフラグを追加することが好ましい。なお露光時間の設定は、例えば、予測動作により制御可能なアクチュエータの可動範囲から逆算することができる。
続いて、図10を参照して、「流し撮りモード」の実行中おける表示部28について説明する。図10は、「流し撮りモード」の実行中における表示部28の表示状態(画面)を示す図である。図10(A)において、被写体300および建造物111が画面内に存在する。被写体300は、画面内の位置を画面上の左方向に移動しながら、かつ、接近している。一方、建造物111は静止している。
図10(A)に示される状態から露光を開始し、一定期間が経過すると、図10(B)に示される状態となる。なお、図10(B)中の表示部28は、図10(A)中の表示部28よりも大きく描かれているが、表示部28自体が大きくなるわけではない。被写体300が接近しており、それに応じてテレ側からワイド側へズーム機能が実行されるためである。ズーム機能を実行しない場合、図に示される割合のように被写体300が大きくなる。しかしながら本実施例では、ズーム機能を実行して、被写体300の構図を保つように制御するため、表示部28と被写体300の構図(表示部28と被写体300との位置関係)は変化しない。必要に応じて、被写体300の構図を保つため、システム制御部50は、左方向に光軸を振りながらズーム処理を行うようにしてもよい。光軸を振る操作として、例えば、図4を参照して説明したように手振れ補正機構を利用することができる。システム制御部50は、通常の手振れ補正を行う際、手振れ検出部90により検出された手振れを補正するのみである。「流し撮りモード」の実行中において、システム制御部50は、被写体300の構図を保つためにブレを加算させて、光軸を補正することが好ましい。
一方、建造物111は、画面中において建造物112へ移動している。更に、一定期間経過し、露光を続けると、図10(C)に示されるように、建造物112は建造物113の位置へ移動する。このように被写体300の構図を一定に保つことにより、建造物111は、建造物112、更には建造物113の位置へ移動し、ズーミング撮影により流れた画像が得られる(流し撮りを行うことができる)。なお、図10(A)、(B)、(C)には各タイミングの瞬間に像面がとらえた画像が示されているが、連続露光を行う場合、建造物に関しては、建造物111〜113のように変化するズーミング効果によるブレ画像となる。一方、被写体300は構図を保っていたため、鮮明に撮影することができる。
このように本実施例において、制御手段50bは、被写体の動きに基づいて、被写体が画面内における所定の領域内に収まるように撮影光学系を駆動しながら露光(撮影中の露光)を行う。所定の領域とは、被写体の構図が保たれる範囲である。好ましくは、制御手段50bは、露光中に被写体の画角が一定に保たれるように撮影光学系を駆動する。また好ましくは、制御手段50bは、露光中において被写体に合焦させた状態を維持するように撮影光学系を駆動する。より好ましくは、動き検出手段50aは、被写体の動きとして被写体の速度(好ましくは、デジタルカメラ100との相対速度)を検出する。そして制御手段50bは、被写体の速度に基づいて撮影光学系を駆動する。
好ましくは、撮影光学系は、フォーカスレンズ104およびズームレンズ103を含む。そして制御手段50bは、フォーカスレンズ104を駆動して被写体に対してフォーカシングを行い、ズームレンズ103を駆動してズーミングを行う。また好ましくは、撮像部22(撮像素子)は、一つのマイクロレンズを共有する複数の光電変換素子を含む。そして複数の光電変換素子は、撮影光学系の互いに異なる瞳領域を通過する光を受光するように構成されている。また制御手段50bは、複数の光電変換素子からの信号に基づいて、第1のタイミングにおける被写体の第1の距離、および、第2のタイミングにおける被写体の第2の距離を算出する。そして制御手段50bは、第1の距離と第2の距離との差に基づいて被写体の速度を算出する。
好ましくは、制御手段50bは、露光前(撮影前)に検出された被写体の動きに基づいて予測された予測被写体情報を用いて、露光中(撮影中)における撮影光学系を駆動する。より好ましくは、制御手段50bは、予測被写体情報と、露光終了後(撮影後)の被写体情報とを比較して、被写体が所定の領域内に収まっているか否かを判定する。
次に、本発明の実施例2について説明する。実施例1では、図6(A)に示されるように、システム制御部50は、露光後に画像の読み出しおよび被写体の測距を行うように撮像部22(CMOSセンサ)を制御する。一方、本実施例では、図6(B)に示されるように、露光中に画像の読み出しおよび被写体の測距を行うことが可能なCMOSセンサを用いる。
まず、図6(B)を参照して、モード切替スイッチ60を「流し撮りモード」に設定した場合におけるデジタルカメラ100の動作について説明する。図6(B)は、本実施例において「流し撮りモード」に設定されたときのデジタルカメラ100の動作タイミングである。図6(B)において、撮像部22、フォーカスレンズ104およびズームレンズ103の各アクチュエータ、および、シャッターボタン61(SW1、SW2)の動作タイミングが示されている。
まず、時刻t1において、第1シャッタースイッチ62を押下すると、システム制御部50は、撮像部22から得られた像面位相差情報に基づいて測距を行う。そしてシステム制御部50は、フォーカスレンズ104およびズームレンズ103の各アクチュエータを駆動して、サーボ制御(フォーカス・ズームサーボ動作)を行う。
続いて、時刻t2において、第2シャッタースイッチ64を押下すると、システム制御部50(撮像部22)は露光を開始する。システム制御部50(撮像部22)は、露光開始後も、定期的に画像の読み出しおよび測距を行う。またシステム制御部50は、フォーカスレンズ104およびズームレンズ103の各アクチュエータを駆動して、サーボ制御を継続する。その後、露光終了時刻t3において、第2シャッタースイッチ64がオフされると、システム制御部50は、フォーカスレンズ104およびズームレンズ103の制御を終了する。
本実施例において、「流し撮りモード」に設定された場合のシステム制御部50による撮影動作は、図7を参照して説明した実施例1と同様である。ここで、図9を参照して、本実施例における露光開始以降の撮影動作(図7中のステップS109)について説明する。図9は、「流し撮りモード」に設定した場合における、システム制御部50による露光開始以降の撮影動作(ステップS109)を示すフローチャートである。
まずステップS301において、システム制御部50(撮像部22)は露光を開始する。続くステップS302〜S306は、図7中のステップS102〜S106とそれぞれ同様であるため、ここでの説明は省略する。続いてステップS307において、システム制御部50は、フォーカスレンズ104およびズームレンズ103の制御に関して、サーボ追従が可能であるか否かを判定する。サーボ追従を行うには、被写体の移動範囲がフォーカスレンズ104およびズームレンズ103の各アクチュエータの可動範囲内に収まっている必要がある。このためシステム制御部50は、被写体の移動範囲がフォーカスレンズ104およびズームレンズ103の各アクチュエータの可動範囲内であるか否か、すなわちサーボ追従が可能であるか否かを判定する。ステップS307にてサーボ追従が可能であると判定された場合、ステップS308に移行する。ステップS308において、システム制御部50は、露光が終了したか否か、すなわち事前に設定された露光時間に達しているか否かを判定する。露光が終了していない場合にはステップS302に戻り、露光が終了した場合には本フローを終了する。
一方、ステップS307にてサーボ追従が不可能であると判定された場合、すなわち被写体の移動範囲がアクチュエータの可動範囲を超える場合、被写体の構図を保つことができない。この場合、ステップS309へ移行する。ステップS309において、システム制御部50は、露光を終了する。ステップS309における露光終了時には、事前に設定された露光時間に達していない。このため続くステップS310において、システム制御部50(画像処理部24)は、現像処理を行い、ゲインをかけて適切な露出が得られるように画像補正処理を実施する。そして本フローを終了する。
また本実施例において、露光中(撮影中)に画像の読み出しおよび被写体の測距が可能なCMOSセンサを用いると、等速度で移動していない被写体に対して、手振れ補正機能の光軸補正機能を利用して随時追従することができる。このような構成によれば、ステップS307にてフォーカスレンズ104およびズームレンズ103の駆動制御によってサーボ追従が不可能であっても、手振れ補正機能を利用してサーボ追従が可能となる場合がある。本実施例では、手振れ補正機能を利用してサーボ追従が可能であるか否かの判定ステップを追加することができる。また、被写体の動き(移動範囲)が撮像光学系(フォーカスレンズ104、ズームレンズ103、または、シフトレンズ102)または撮像部22(撮像素子)のアクチュエータの可動範囲を超える場合、即時に露光を中止する。このとき画像処理部24は、不足の露出ゲインを与える。これにより、失敗画像になる可能性を低減することができる。
このように本実施例において、制御手段50bは、露光中(撮影中)において被写体の動きを検出するように構成されている(S302、S303)。また制御手段50bは、被写体の動きに基づいて、被写体が画面内における所定の領域内に収まるように撮影光学系を駆動することができるか否かを判定する(S307)。
好ましくは、デジタルカメラ100は、振れを検出する振れ検出手段50cと、振れ検出手段50cからの信号に基づいて撮影光学系の光軸を光学的に補正する振れ補正手段(アクチュエータ121またはアクチュエータ221)を有する。また好ましくは、制御手段50bは、被写体が画面内における所定の領域内に収まるように撮影光学系を駆動することができないと判定した場合、振れ補正手段を用いて被写体が所定の領域内に収まるように制御する。より好ましくは、撮影光学系はシフトレンズ102を含む。そして振れ補正手段は、被写体が所定の領域内に収まるように、シフトレンズ102を光軸に直交する面内において移動させる。また好ましくは、振れ補正手段は、被写体が所定の領域内に収まるように、撮像部22(撮像素子)を光軸に直交する面内において移動させる。より好ましくは、制御手段50bは、シフトレンズ102または撮像部22(撮像素子)の可動範囲、および、被写体の動きに基づいて露光時間を決定する。
好ましくは、デジタルカメラ100は、画像データを処理する画像処理手段(画像処理部24)を有する。制御手段50bは、被写体が画面内における所定の領域内に収まるように撮影光学系を駆動することができないと判定した場合、露光を停止する(S309)。そして画像処理手段は、画像データの露光不足を補うように画像処理を行う(S310)。
また、上述の各実施例の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
各実施例によれば、移動被写体の良好な流し撮り撮影が可能な撮像装置、撮像装置の制御方法、プログラム、および、記憶媒体を提供することができる。
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。上述の実施例の一部を適宜組み合わせてもよい。