(57)【特許請求の範囲】
【請求項１】
撮像装置の動きを検出する第１の検出手段から得られる第１の動きの情報と被写体の動きを検出する第２の検出手段から得られる第２の動きの情報とを用いて、光学素子の目標駆動量を算出する算出手段と、
前記目標駆動量に応じて、前記光学素子を設定された可動領域内で駆動する制御手段とを有する光学制御装置であって、
前記制御手段は、前記撮像装置において前記撮像装置を前記被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定された場合、前記撮像装置において前記撮像装置を前記被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定されていない場合に比べて、焦点距離に応じて規定された周辺光量落ちの許容値を下回らない範囲内で前記可動領域を拡大することを特徴とする光学制御装置。
【請求項２】
前記制御手段は、前記被写体追従撮像モードが設定された場合において前記目標駆動量に対して前記可動領域が狭いときに、前記可動領域を拡大することを特徴とする請求項１に記載の光学制御装置。
【請求項３】
前記制御手段は、前記被写体追従撮像モードが設定された場合において前記目標駆動量に対して前記可動領域が狭いときに、前記撮像装置のシャッタ速度を変更することなく前記可動領域を拡大することを特徴とする請求項２に記載の光学制御装置。
【請求項４】
前記制御手段は、前記第１の動きの情報を用いて前記撮像装置が前記被写体の動きに追従するように動いているか否かを判定し、
前記撮像装置が前記被写体の動きに追従するように動いていると判定した前記被写体追従撮像モードが設定された場合に、前記被写体追従撮像モードが設定されていない場合に比べて前記可動領域を拡大することを特徴とする請求項１から３のいずれか一項に記載の光学制御装置。
【請求項５】
前記制御手段は、前記撮像装置において該撮像装置を前記被写体の動きに追従するように動かして撮像を行う前記被写体追従撮像モードが設定されたか否かを判定し、
前記被写体追従撮像モードが設定された場合に、前記被写体追従撮像モードが設定されていない場合に比べて前記可動領域を拡大することを特徴とする請求項１から３のいずれか一項に記載の光学制御装置。
【請求項６】
前記制御手段は、前記被写体追従撮像モードが設定された場合と前記被写体追従撮像モードが設定されていない場合での周辺光量の許容値の差に応じて、前記被写体追従撮像モードが設定された場合において前記可動領域を拡大する量を設定することを特徴とする請求項１から５のいずれか一項に記載の光学制御装置。
【請求項７】
前記制御手段は、撮像光学系の焦点距離に応じて、前記可動領域の拡大量を変更することを特徴とする請求項１から６のいずれか一項に記載の光学制御装置。
【請求項８】
被写体像を光電変換する撮像素子と、
請求項１から７のいずれか一項に記載の光学制御装置とを有することを特徴とする撮像装置。
【請求項９】
撮像装置の動きを検出する第１の検出手段から得られる第１の動きの情報と被写体の動きを検出する第２の検出手段から得られる第２の動きの情報とを用いて、光学素子の目標駆動量を算出するステップと、
前記目標駆動量に応じて、前記光学素子を設定された可動領域内で駆動するステップとを有する光学制御方法であって、
前記駆動するステップでは、前記撮像装置において前記撮像装置を前記被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定された場合、前記撮像装置において前記撮像装置を前記被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定されていない場合に比べて、焦点距離に応じて規定された周辺光量落ちの許容値を下回らない範囲内で前記可動領域を拡大することを特徴とする光学制御方法。
【請求項１０】
コンピュータに、撮像装置の動きを検出する第１の検出手段から得られる第１の動きの情報と被写体の動きを検出する第２の検出手段から得られる第２の動きの情報とを用いて、光学素子の目標駆動量を算出させ、
前記目標駆動量に応じて、前記光学素子を設定された可動領域内で駆動させ、
前記コンピュータに、前記撮像装置において前記撮像装置を前記被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定された場合、前記撮像装置において前記撮像装置を前記被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定されていない場合に比べて、焦点距離に応じて規定された周辺光量落ちの許容値を下回らない範囲内で前記可動領域を拡大させることを特徴とする光学制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、いわゆる流し撮りに対するユーザ補助を行う光学制御装置に関する。
【背景技術】
【０００２】
移動している被写体のスピード感を表現する静止画撮像技術として流し撮りがある。この流し撮りでは、撮影者、すなわちユーザが撮像したい主被写体の動きに合わせて撮像装置をパンニングしながら静止画撮像を行うことにより、主被写体が静止して背景が流れた（ぶれた）静止画像が得られる。ただし、流し撮りにおいて、ユーザによる撮像装置のパンニング速度が主被写体の移動速度に対して差を有すると、主被写体までぶれた静止画像が得られてしまう。
【０００３】
この問題に対して特許文献１には、流し撮りを行うユーザ補助（流し撮りアシスト）を行うために、シフトレンズを光軸に対してシフトさせることで主被写体の移動速度とパンニング速度との差を吸収する方法が開示されている。具体的には、ジャイロセンサにより検出した撮像装置のパンニング速度と撮像映像（連続するフレーム画像間）において検出した動きベクトルとに基づいて、主被写体を画像の中央に位置させるためのシフトレンズのシフト量を算出する。そして、該シフト量だけシフトレンズをシフトさせることで良好な流し撮りを行えるようにする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１７８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１にて開示された流し撮りアシスト方法において、主被写体の移動速度とカメラのパンニンク速度との差から算出されたシフトレンズのシフト量がその可動領域を超えると、主被写体のぶれが残った静止画像が得られる。一般に、シフトレンズの可動領域は、シャッタ速度が長いほど狭く設定される。このため、シャッタ速度を速くすることでシフトレンズの可動領域を拡げて上述したぶれ残りを抑制することは可能であるが、シャッタ速度を速くすると流し撮りの効果が得られにくくなる。
【０００６】
本発明は、流し撮りにおいてシャッタ速度を速くすることなく、シフトレンズの可動領域不足によるぶれ残りの発生を抑制することができるようにした光学制御装置等を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面としての光学制御装置は、撮像装置の動きを検出する第１の検出手段から得られる第１の動きの情報と被写体の動きを検出する第２の検出手段から得られる第２の動きの情報とを用いて、光学素子の目標駆動量を算出する算出手段と、目標駆動量に応じて、光学素子を設定された可動領域内で駆動する制御手段とを有する。そして、制御手段は、撮像装置において撮像装置を被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定された場合、撮像装置において撮像装置を被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定されていない場合に比べて、焦点距離に応じて規定された周辺光量落ちの許容値を下回らない範囲内で可動領域を拡大することを特徴とする。
【０００８】
本発明の他の一側面としての光学制御方法は、撮像装置の動きを検出する第１の検出手段から得られる第１の動きの情報と被写体の動きを検出する第２の検出手段から得られる第２の動きの情報とを用いて、光学素子の目標駆動量を算出する算出するステップと、目標駆動量に応じて、光学素子を設定された可動領域内で駆動するするステップとを有する。そして、駆動するステップでは、撮像装置において撮像装置を被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定された場合、撮像装置において撮像装置を被写体の動きに追従するように動かして撮像を行う被写体追従撮像モードが設定されていない場合に比べて、焦点距離に応じて規定された周辺光量落ちの許容値を下回らない範囲内で可動領域を拡大することを特徴とする。
なお、上記光学制御装置を有する撮像装置や、コンピュータに上記光学制御装置としての動作を行わせるコンピュータプログラムとしての光学制御プログラムも、本発明の他の一側面を構成する。
【発明の効果】
【０００９】
本発明によれば、被写体に追従して撮像を行う流し撮りにおいて、光学素子の可動領域不足によるぶれ残りの発生を抑制することができる。すなわち、良好な流し撮りアシストの効果を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例である光学制御装置の構成を示すブロック図。
【図２】実施例における動きベクトルの検出エリアの配置を示す図。
【図３】実施例における動きベクトルのヒストグラムを説明する図。
【図４】実施例における流し撮り光学制御処理を示すフローチャート。
【図５】実施例におけるシャッター速度算出処理を示すフローチャート。
【図６】実施例における周辺光量とシフト可能領域との関係を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について図面を参照しながら説明する。
【００１２】
図１には、本発明の実施例である撮像装置に搭載される光学制御装置（光学防振装置）１０１の構成を示す。また、図１には、光学制御装置１０１に関連する撮像装置の構成要素も併せて示している。本実施例の撮像装置（以下、カメラ本体という）Ｃは、交換レンズＬが取り外し可能に装着されるレンズ交換型デジタルカメラである。ただし、撮像装置は、レンズ一体タイプのデジタルカメラであってもよい。
【００１３】
カメラ本体Ｃにおいて、光学制御装置１０１はマイクロコンピュータにより構成され、算出手段および制御手段として機能する。角速度検出部（第１の検出手段）１０２は、ジャイロセンサ等により構成され、手振れやパンニング等によるカメラ本体Ｃの角速度（以下、カメラ角速度ともいう）を検出し、カメラ角速度に応じたデジタル信号（以下、カメラ角速度データという）を出力する。カメラ角速度データ（第１の動きの情報）は、光学制御装置（以下、マイクロコンピュータという）１０１内のハイパスフィルタ（ＨＰＦ）１０３に供給される。ＨＰＦ１０３は、任意の周波数帯域でその特性を変更できる機能を有しており、カメラ角速度データに含まれる低周波数成分を遮断してから高周波数帯域の信号を出力する。なお、ＨＰＦ１０３は、カメラ角速度データから、該カメラ角速度データを高周波帯域を遮断するローパスフィルタ（ＬＰＦ）を通過させることで得られたデータを減算するように構成してもよい。
【００１４】
マイクロコンピュータ１０１内において、利得・位相特性演算部１０４は、入力データであるＨＰＦ１０３からの出力を所定のゲインで増幅する増幅器と位相補償フィルタとで構成されている。焦点距離演算部１０５は、交換レンズＬから通信により取得したズーム情報１２０から不図示の撮像光学系の焦点距離を算出する。そして、焦点距離演算部１０５は、算出した焦点距離を用いて、利得・位相特性演算部１０４の出力が後述するシフト駆動部１１１を介してシフト部１１２を駆動するのに適切な値となるように該出力を補正する。
【００１５】
撮像光学系は、交換レンズＬに搭載され、被写体からの光に被写体像を形成させる。シフト駆動部１１１およびシフト部１１２は、シフト位置検出部１１３とともに交換レンズＬに設けられている。シフト部１１２は、撮像光学系の一部である光学素子としてのシフトレンズ１１２ａと、該シフトレンズ１１２ａを撮像光学系の光軸に直交する方向にシフト駆動する不図示のシフトアクチュエータとにより構成されている。シフトアクチュエータはボイスコイルモータ等により構成され、シフト駆動部１１１によって駆動されることで、シフトレンズ１１２ａがシフト駆動される。シフト位置検出部１１３は、ホールセンサ等の位置センサを用いて構成されており、シフトレンズ１１２ａのシフト位置（移動量）を検出し、その検出結果をＡ／Ｄ変換器１１４を介して後述する減算器１０８に供給する。カメラ角速度データに応じてシフトレンズ１１２ａがシフト駆動されることにより、カメラ本体Ｃに設けられた撮像素子１５０上での被写体像の変位を減少（補正）する。
【００１６】
撮像素子１５０は、被写体像を光電変換して撮像信号を出力する。画像処理部１５１は、撮像信号に対して各種処理を行うことで、映像信号を生成する。
【００１７】
マイクロコンピュータ１０１内の防振モードスイッチ１０６は、シフトレンズ１１２ａを駆動するモード（防振モード）を選択するスイッチであり、流し撮りモードが選択されているか否かに応じて流し撮りアシストモードと手振れ補正モードのうち一方を選択する。流し撮りモード（被写体追従撮像モード）では、防振モードスイッチ１０６は後述する減算器１１９の出力信号を積分器１０７に供給して被写体振れ補正（流し撮りアシスト）を行う流し撮りアシストモードを選択する。また、流し撮りモード以外の撮像モード（通常撮像モード）では、防振モードスイッチ１０６は焦点距離演算部１０５の出力を積分器１０７に供給して手振れ補正を行う手振れ補正モードを選択する。
【００１８】
流し撮りモードは、カメラ本体Ｃに設けられたダイヤル等の操作部材を介してユーザが流し撮りモードを選択した場合に設定される。この場合、防振モードスイッチ１０６は、流し撮りモードが選択されたことを示すモード情報１２１に応じて被写体振れ補正モードを選択する。また、マイクロコンピュータ１０１がヨー方向（水平方向）とピッチ方向（垂直方向）における角速度検出部１０２から得られるカメラ角速度データを比較した結果を用いて流し撮りモードを選択するか否かを判定してもよい。例えば、一方のカメラ角速度データが他方のカメラ角速度データに対して所定量以上大きければ（例えば１０ｄｐｓ以上大きければ）、流し撮りのためのパンニング（またはチルティング：以下これらをまとめてパンニングという）が行われている状態とみなす。そして、流し撮りモードを選択する。
【００１９】
積分器１０７は、任意の周波数帯域でその特性を変更できる機能を有しており、防振モードスイッチ１０６の出力を積分し、シフトレンズ１１２ａの駆動量を算出する。減算器１０８は、積分器１０７の出力から、シフト位置検出部１１３の出力をＡ／Ｄ変換器１１４にてＡ／Ｄ変換してデジタル化したデータを減算し、その結果（偏差データ）を制御器１０９に供給する。制御器１０９は、入力データを所定のゲインで増幅する増幅器と位相補償フィルタとで構成されている。減算器１０８から供給された偏差データは、制御器１０９において増幅器および位相補償フィルタによる信号処理が行われた後、パルス幅変調部１１０に出力される。
【００２０】
パルス幅変調部１１０は、制御フィルタ１０９を通過して供給されたデータを、パルス波のデューティ比を変化させる波形（ＰＷＭ波形）に変調して、シフト駆動部１１１に供給する。
【００２１】
次に、被写体振れ補正モードにおいて被写体振れ補正を行うためのシフト部（シフトレンズ１１２ａ）１１２のシフト駆動量の算出について説明する。カメラ本体Ｃには、動きベクトル検出部（第２の検出手段）１１６が設けられている。動きベクトル検出部１１６は、画像処理部１５１で生成された映像信号を構成する現在のフレーム画像の輝度信号と１つ前のフレーム画像の輝度信号とを比較して、該フレーム画像間での被写体の動きを示す動きベクトル（第２の動きの情報）を検出（算出）する。動きベクトル検出部１１６は、後述するように、フレーム画像における複数のベクトル検出エリアで動きベクトルを検出する。動きベクトル検出部１１６によって検出された動きベクトルのデータは、被写体ベクトル検出部１１７に供給される。
【００２２】
オフセット除去部１１５は、角速度検出部１０２から得られたカメラ角速度データから直流成分を除去して直流カット角速度を生成し、該直流カット角速度から撮像素子１５０（撮像面）上での像面移動量を算出する。直流成分は、例えばカメラ本体Ｃが静定状態にあるときのカメラ角速度の平均値である。
【００２３】
被写体ベクトル検出部１１７は、オフセット除去部１１５で算出された像面移動量を用いて、動きベクトル検出部１１６によって検出された複数のベクトル検出エリアの動きベクトルにおける被写体ベクトルと背景ベクトルとを検出（判定）する。被写体ベクトル検出部１１７の詳細については後述する。
【００２４】
被写体角速度演算部１１８は、被写体ベクトル検出部１１７から出力された被写体ベクトルをズーム情報１２０から得た焦点距離や映像信号のフレームレートを用いて、流し撮りにより撮像する主被写体の角速度である被写体角速度に換算する。
【００２５】
減算器１１９は、被写体角速度演算部１１８で算出された被写体角速度からオフセット除去部１１５から出力される直流カット角速度を減算して、主被写体とカメラ本体Ｃの動き（パンニング）との差分を示す角速度（以下、差分角速度という）を算出する。そして、この差分角速度を防振モードスイッチ１０６に供給する。
【００２６】
ここで、被写体ベクトル検出部１１７について説明する。図２には、流し撮りを行うシーンを示しており、フレーム画像２００内に縦６ライン横１０ラインの計６０のベクトル検出エリア２０１が配置されている。このため、動きベクトル検出部１１４は、１フレームごとに６０の動きベクトルのデータを出力する。これら６０の動きベクトルのデータをヒストグラムにしたものが図３（ａ）である。図３（ａ）の横軸はベクトルの大きさ（移動量）を表しており、縦軸は度数を表している。図２に示すようにフレーム画像２００内に被写体（主被写体）が１つしか存在しない場合は、ヒストグラムにおいて、６０の動きベクトルは第１ベクトル群３０１と第２ベクトル群３０２と大きく２つの動きベクトル群に分かれる。ヒストグラムにおいて、移動量が０ピクセル（ｐｉｘ）付近の第１ベクトル群３０１が被写体に対応する動きベクトルであり、移動量が０ｐｉｘから所定量以上大きい第２ベクトル群３０２が背景に対応する動きベクトルと判定することができる。しかし、移動量が０ｐｉｘ付近にある動きベクトルは、ユーザが被写体をうまく追従できている場合に現れる。流し撮りに不慣れなユーザが流し撮りを行うと、被写体とカメラ本体Ｃとの角速度の差が大きくなるので、第１ベクトル群３０１が０ｐｉｘから離れた移動量の位置に現れる。この場合、第１ベクトル群３０１と第２ベクトル群３０２について被写体ベクトルと背景ベクトルの判定が難しい。
【００２７】
このため、本実施例では、図３（ｂ）に示すように、角速度検出部１０２からのカメラ角速度データから換算した像面移動量３０３を中心として、背景と判定するための閾値範囲（以下、背景閾値範囲という）３０４内に存在する動きベクトルは背景ベクトル候補とする。一方、背景閾値範囲３０４外に存在する動きベクトルは被写体ベクトル候補として判定を行う。ここで像面移動量３０３を中心とした背景閾値範囲３０４を用いる理由は、動きベクトル検出部１１４からの出力される動きベクトルのデータは１フレームで６０であるのに対して、角速度検出部１０２から出力されるカメラ角速度データは１フレームで１つである。つまり、背景閾値範囲３０４を設けなければ、殆どの動きベクトルが被写体ベクトルとして判定されるからである。
【００２８】
次に、図４のフローチャートを用いて、本実施例における流し撮りアシストのための光学制御処理について説明する。マイクロコンピュータ１０１は、コンピュータプログラムである光学制御プログラムに従って本処理を実行する。
【００２９】
ステップＳ４０１では、マイクロコンピュータ１０１は、交換レンズＬまたはカメラ本体Ｃに設けられた防振機能選択スイッチ（図示せず）等により防振（像振れ補正）機能が有効か否かを判定する。マイクロコンピュータ１０１は防振機能が有効であればステップＳ４０２に進み、有効でなければステップＳ４１７に進む。ステップＳ４０２に進む場合にはマイクロコンピュータ１０１（防振モードスイッチ１０６）は被写体振れ補正モードを選択し、ステップＳ４１７に進む場合には手振れ補正モードを選択する。
【００３０】
ステップＳ４０２では、マイクロコンピュータ１０１は、流し撮りモードが選択されているか否かを判定し、流し撮りモードが選択されていれば（第１の場合は）ステップＳ４０３に進む。流し撮りモードが選択されておらず通常撮像モードであれば（第２の場合は）ステップＳ４１２に進む。
【００３１】
ステップＳ４０３では、マイクロコンピュータ１０１は、動きベクトル検出部１１６に図２に示した複数のベクトル検出エリアで動きベクトルを検出させる。
【００３２】
次にステップＳ４０４では、マイクロコンピュータ１０１は、角速度検出部１０２からのカメラ角速度データを用いて、フレーム画像ごとの露光重心間のカメラ角速度の平均値を取得する。露光重心間のカメラ角速度の平均値を取得する理由は、以下の通りである。動きベクトル検出部１１６は露光重心間でフレーム画像間の差分ベクトルを動きベクトルとして検出する。このため、後述するステップＳ４０７で動きベクトルのヒストグラムと角速度検出部１０２の出力から算出する撮像面上での像面移動量のヒストグラムを作成する際にこれらの同期をとる必要があるためである。
【００３３】
次にステップＳ４０５では、マイクロコンピュータ１０１（オフセット除去部１１５）は、ステップＳ４０４で得られた露光重心間のカメラ角速度の平均値からオフセット成分を除去する。オフセット成分を除去する理由は、後述する被写体ベクトルの算出においてオフセット成分が畳重するとカメラ角速度から換算した像面移動量がオフセットして被写体ベクトルの誤検出が生じるので、これを防ぐためである。
【００３４】
次にステップＳ４０６では、マイクロコンピュータ１０１（オフセット除去部１１５）は、ステップＳ４０５でオフセット成分を除去した露光重心間のカメラ角速度の平均値をフレームレートや焦点距離情報を用いて撮像面上での像面移動量に換算する。
【００３５】
次にステップＳ４０７では、マイクロコンピュータ１０１は、ステップ４０３で検出した複数の動きベクトルからヒストグラムを作成する。ヒストグラムは、図３（ｂ）に例示したものである。また、マイクロコンピュータ１０１は、ステップＳ４０６で算出した撮像面の像面移動量からヒストグラムを作成する。ここで、１フレームで取得するカメラ角速度は１つであるので、カメラ角速度から換算した撮像面上の像面移動量を中心に一定範囲（例えば±１０ｐｉｘ）を背景閾値範囲（図３（ｂ）中の３０４）として像面移動量のヒストグラムを作成する。
【００３６】
次にステップＳ４０８では、マイクロコンピュータ１０１は、ステップＳ４０８で被写体ベクトルが検出できたか否かを判定する。マイクロコンピュータ１０１は、被写体ベクトルが検出できていればステップＳ４０９に進み、被写体ベクトルが検出できていなければステップＳ４１２に進む。ステップＳ４０９に進む場合にはマイクロコンピュータ１０１（防振モードスイッチ１０６）は流し撮りアシストモードを選択し（第１の場合）、ステップＳ４１７に進む場合には手振れ補正モードを選択する（第２の場合）。
【００３７】
ステップＳ４０９では、マイクロコンピュータ１０１（被写体ベクトル検出部１１７）は、ステップＳ４０６で算出した撮像面上の像面移動量から背景閾値範囲内にある動きベクトルを背景ベクトル候補とする。また、背景閾値範囲外の動きベクトルを被写体ベクトル候補とする。そして、被写体ベクトル候補内で度数が最も高い動きベクトル付近の動きベクトルを被写体ベクトルとしてその平均値を算出する。
【００３８】
次にステップＳ４１０では、マイクロコンピュータ１０１（被写体角速度演算部１１８）は、ステップＳ４０９で算出された被写体ベクトルの平均値をフレームレートや焦点距離情報を用いて被写体角速度に換算する。
【００３９】
次にステップＳ４１１では、マイクロコンピュータ１０１（積分器１０７）は、ステップＳ４１０で算出した被写体角速度を積分して被写体振れ補正を行うためのシフト駆動量（被写体振れ補正量）を算出する。
【００４０】
ステップＳ４１２では、マイクロコンピュータ１０１は、ステップＳ４０８で被写体ベクトルが検出されなかったため（またはステップＳ４０２で流し撮りモードではなかったため）、手振れ補正を行うべく角速度検出部１０２からカメラ角速度データを取得する。ここで、ステップＳ４０４ではマイクロコンピュータ１０１は露光重心間のカメラ角速度の平均値を取得したが、本ステップでは一定の割込み周期（例えば、４ｋＨｚのサンプリング周期）でカメラ角速度データを取得する。
【００４１】
次にステップＳ４１３では、マイクロコンピュータ１０１は、ステップＳ４０４で取得したカメラ角速度データからＨＰＦ１０３を通してオフセット成分を除去する。
【００４２】
次にステップＳ４１４では、マイクロコンピュータ１０１（利得・位相特性演算部１０４）は、オフセット成分が除去されたカメラ角速度データが所望の周波数特性になるように、所定のゲインで増幅する増幅器および位相補償フィルタを用いて演算する。
【００４３】
次にステップＳ４１５では、マイクロコンピュータ１０１（焦点距離演算部１０５）は、撮像光学系の焦点距離を算出し、シフトレンズ１１２ａをシフト駆動するのに最適な値となるように利得・位相特性演算部１０４の出力を補正する。
【００４４】
次にステップＳ４１６では、マイクロコンピュータ１０１（積分器１０７）は、ステップＳ４１５で算出した値を積分して、手振れ補正を行うためのシフト駆動量（手振れ補正量）を算出する。
【００４５】
ステップＳ４１７では、マイクロコンピュータ１０１は、流し撮りモードで静止画撮像時において最適なシャッタ速度を算出する。この処理の詳細については後述する。
【００４６】
次にステップＳ４１８では、マイクロコンピュータ１０１は、ステップＳ４１１で算出した被写体振れ補正量またはステップＳ４１６で算出した手振れ補正量とステップＳ４１７で算出したシャッタ速度との積である目標シフト量（目標駆動量）を算出する。そして、この目標シフト量がシフトレンズ１１２ａにおけるシフトレンズ１１２ａの可動領域（以下、シフト可能領域という）を超えているが否か、つまりは目標シフト量に対してシフト可能領域が狭いか否かを判定する。マイクロコンピュータ１０１は、目標シフト量がシフト可能領域を超えていなければステップＳ４２０に進み、シフト可能領域を超えていればステップＳ４１９に進む。例えば、ステップＳ４１１で算出した被写体振れ補正量が２０ｄｐｓであり、ステップＳ４１７で算出したシャッタ速度が１／４０秒である場合は、シフト可能領域としては０．５ｄｅｇだけ必要となる。シフト可能領域は撮像光学系の光学特性を考慮して設定されているため、目標シフト量に対してシフト可能領域が不足すると、ぶれ残りが生じてしまう。
【００４７】
このため、ステップＳ４１９では、マイクロコンピュータ１０１は、シフト可能領域を変更（拡大）する。シフト可能領域を変更する方法について、図６を用いて説明する。図６の横軸はシフト可能領域（例えば望遠端でのシフト可能領域）を示し、縦軸は画像の周辺光量を示す。つまり、図６は、シフト可能領域の端における撮像光学系の周辺光量の特性を示している。シフトレンズ１１２ａが光学中心位置（撮像光学系の光軸位置）から離れるほど周辺光量が低下し、画像の四隅が暗くなる現象が発生する。通常撮像モードでは、周辺光量落ちによる画質劣化が生じない許容値（閾値）６０３に対応するシフト位置までをシフト可能領域６０１に設定している。
【００４８】
一方、流し撮りにおいては背景を流しているため、通常の撮像よりも周辺光量の許容値が低くなる。つまり、流し撮りアシストモードでは、周辺光量の許容値が低くなる分のシフト量をシフト可能領域に加える。したがって、流し撮りでの周辺光量落ちによる画質劣化が生じない許容値（閾値）６０４に対応するシフト位置までシフト可能領域６０２を拡大することができる。
【００４９】
このように、本実施例では、流し撮りを行う場合（第１の場合）と通常撮像を行う場合（第２の場合）での撮像光学系（またはカメラ本体Ｃ）の周辺光量の許容値の差に応じて、流し撮りを行う場合のシフト可能領域を拡大する量を設定する。
なお、周辺光量落ちによる画質劣化が起きない閾値６０３，６０４は撮像光学系の焦点距離によって異なる。このため、本実施例では、焦点距離ごとにシフト可能領域を変更する。表１には、焦点距離（ズーム位置）と周辺光量の許容値（％）とシフト可能領域（ＩＳ）の広さとの関係を示す。表１に示すように、撮像光学系の焦点距離に応じて、シフト可能領域の拡大量を変更する。
【００５０】
【表１】
0006786229.tif 000002
【００５１】
ステップＳ４２０では、マイクロコンピュータ１０１は、ユーザがカメラ本体Ｃに設けられたレリーズボタンを操作した（押し下げた）か否かを判定する。マイクロコンピュータ１０１は、レリーズボタンが操作された場合はステップＳ４２１に進み、操作されていない場合はステップＳ４０１に進む。
【００５２】
ステップＳ４２１では、マイクロコンピュータ１０１は、ステップＳ４１１で算出した被写体振れ補正量またはステップＳ４１６で算出した手振れ補正量に応じてシフト部（シフトレンズ１１２ａ）１１２をシフト駆動する。
【００５３】
そしてステップＳ４２２では、マイクロコンピュータ１０１は、ステップＳ４１７で算出した流し撮り用のシャッタ速度で撮像素子１５０の露光（つまりは静止画撮像）を行う。
【００５４】
次に、ステップＳ４１７での流し撮り用のシャッタ速度の算出処理について、図５のフローチャートを用いて説明する。
【００５５】
ステップＳ５０１では、マイクロコンピュータ１０１は、角速度検出部１０２からのカメラ角速度データを取得する。シャッタ速度を算出するときに用いるカメラ角速度は、ステップＳ４０４の露光重心間のカメラ角速度の平均値でもよいし、ステップＳ４１２での一定の割込み周期で取得するカメラ角速度でもよい。
【００５６】
次にステップＳ５０２では、マイクロコンピュータ１０１は、ステップＳ５０１で取得したカメラ角速度に重畳したオフセット成分がシャッタ速度の算出誤差を生じさせるのを防ぐため、カメラ角速度からステップＳ４０５またはＳ４１３と同様にオフセット成分を除去する。
【００５７】
次にステップＳ５０３では、マイクロコンピュータ１０１は、交換レンズＬから通信により取得したズーム情報１２０から撮像光学系の焦点距離を取得する。
【００５８】
次にステップＳ５０４では、マイクロコンピュータ１０１は、背景流し量の設定値を判定する。背景流し量は、例えば３通り（小、中、大）の設定が可能であり、ユーザが流し撮りを行う前にカメラ本体Ｃに設けられた不図示の背面ディスプレイパネル上等に設けられる背景流し量設定部を操作することで設定する。マイクロコンピュータ１０１は、背景流し量が中に設定されていればステップＳ５０５に進み、背景流し量が中以外に設定されていればステップＳ５０６に進む。なお、背景流し量の設定数は２つでもよいし、３つ以上でもよい。
【００５９】
ステップＳ５０５では、マイクロコンピュータ１０１は、背景流し量の設定が中であることに応じて、背景流し量αをα１（例えば撮像面上での像面移動量１００ｐｉｘ）に設定する。
【００６０】
ステップＳ５０６では、マイクロコンピュータ１０１は、背景流し量が小か否かを判定する。マイクロコンピュータ１０１は、背景流し量が小に設定されていればステップＳ５０７に進み、背景流し量が小に設定されていなければ（つまりは背景流し量が大であれば）ステップＳ５０８に進む。
【００６１】
ステップＳ５０７では、マイクロコンピュータ１０１は、背景流し量の設定が小であることに応じて、背景流し量が中である場合よりも撮像面上での像面移動量が少なくなるように背景流し量αをα２（例えば撮像面上での像面移動量７０ｐｉｘ）に設定する。
【００６２】
ステップＳ５０８では、マイクロコンピュータ１０１は、背景流し量の設定が大であることに応じて、背景流し量が中である場合よりも撮像面上での像面移動量が多くなるように背景流し量αをα３（例えば撮像面上での像面移動量３００ｐｉｘ）に設定する。
【００６３】
ステップＳ５０５，Ｓ５０７，Ｓ５０８からステップＳ５０９に進んだマイクロコンピュータ１０１は、以下の（１）式を用いて、パンニングの速度にかかわらず常に背景流し量がαとなる流し撮り用シャッタ速度Ｔｖを算出する。
【００６４】
Ｔｖ＝α／（ｆ×ω）    （１）
ここで、Ｔｖはシャッタ速度であり、ｆは撮像光学系の焦点距離である。ωはカメラ角速度であり、αは背景流し量である。
【００６５】
（１）式の右辺の分母は、焦点距離ｆとカメラ角速度ωの積であり、この値は撮像面上での背景流し速度を表す。流し撮り用シャッタ速度Ｔｖは、カメラ角速度ωにかかわらず常に背景流し量が一定になるように算出される。背景流し量をユーザが設定できるように、背景流し量設定部の出力に応じて背景流し量αが可変設定される。これは、背景流し量を１００ｐｉｘが最適と考えるユーザもいれば３００ｐｉｘが最適と考えるユーザもいるからである。
【００６６】
ステップＳ５１０では、マイクロコンピュータ１０１は、ステップＳ３０９で算出したシャッタ速度Ｔｖが予め設定した閾値β（例えば１／２秒）未満か否かを判定する。マイクロコンピュータ１０１は、シャッタ速度Ｔｖが閾値β未満であればステップＳ５１２に進み、閾値β以上であればステップＳ５１１に進む。
【００６７】
ステップＳ５１１では、マイクロコンピュータ１０１は、算出したシャッタ速度Ｔｖの低速リミット値を設定する。これは、ステップＳ５０９で算出したシャッタ速度Ｔｖが閾値β以上（特に１秒以上）である長秒時露光では、露光期間中の手振れによる画質劣化のリスクが高くなるためである。
【００６８】
ステップＳ５１２では、マイクロコンピュータ１０１は、ステップＳ５０９で算出したシャッタ速度ＴｖとステップＳ５１０での判定結果に基づいて、最終的に流し撮り用シャッタ速度を設定する。つまり、シャッタ速度Ｔｖが閾値β未満である場合はそのシャッタ速度Ｔｖを最終的なシャッタ速度に設定し、シャッタ速度Ｔｖが閾値β以上である場合はステップＳ５１１で設定した低速リミット値を最終的なシャッタ速度に設定する。
【００６９】
本実施例によれば、シフトレンズ１１２ａの目標シフト量がシフト可能領域を超えるような場合でも、シャッタ速度を速くすることなく、流し撮りモードであることに応じてシフト可能領域を拡大する。これにより、ぶれ残りの発生を抑制可能な良好な流し撮りアシストの効果を得ることができ、流し撮りの成功率を向上させることができる。
【００７０】
なお、本実施例では、撮像光学系の一部であるシフトレンズ１１２ａを光軸に対してシフトさせることで流し撮りアシストや手振れ補正を行う場合について説明した。しかし、撮像素子１５０を光学素子として光軸に対してシフトさせることで流し撮りアシストや手振れ補正を行うようにしてもよい。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７１】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００７２】
１０１  マイクロコンピュータ（光学制御装置）
１０２  角速度検出部
１１６  動きベクトル検出部
１１２  シフト部
Ｃ  カメラ本体
Ｌ  交換レンズ
【図１】
0006786229.tif 000003
【図２】
0006786229.tif 000004
【図３】
0006786229.tif 000005
【図４】
0006786229.tif 000006
【図５】
0006786229.tif 000007
【図６】
0006786229.tif 000008