(57)【要約】【課題】被写体人物等の流し撮りの確実性を高めること。【解決手段】撮像装置は、流し撮りを支援する流し撮りアシストモードが設定された場合、振れ検出信号と、撮影画面内の画像の動き量を検出する。被写体に係る顔検出位置の探索範囲が設定され（Ｓ５１０）、顔検出結果に基づいて被写体ベクトル（動きベクトル）の算出方法を変更する処理が行われる。被写体の顔検出位置が取得された場合（Ｓ５１１でＹＥＳ、Ｓ５１２）、顔検出位置に基づく検出範囲内の動きベクトル群から被写体ベクトルを算出する第１の算出処理が行われる（Ｓ５１３）。また、被写体の顔検出位置が取得されない場合（Ｓ５１１でＮＯ）であって、被写体ベクトルが検出可能である場合（Ｓ５１４でＹＥＳ）、撮影画面内に設定された焦点検出枠に基づく検出範囲内の動きベクトル群から被写体ベクトルを算出する第２の算出処理が行われる（Ｓ５１５）。【選択図】  図８
2018060126.tif 000002
【特許請求の範囲】
【請求項１】
補正手段により像ぶれを補正する像ぶれ補正装置であって、
特定のモードが設定された場合、撮像装置またはレンズ装置の振れ検出信号、および撮影画面内の画像の動き量を取得するとともに被写体の顔検出位置を取得して前記被写体の動き量を算出し、前記撮像装置に対する被写体の移動を示す角速度データを算出する算出手段と、
算出された前記角速度データにより前記補正手段を制御する制御手段と、を有し、
前記算出手段は、前記顔検出位置が取得された場合に顔検出位置を基準とする検出範囲で被写体の動き量を算出する第１の算出処理と、前記顔検出位置が取得されない場合に撮影画面内に設定された焦点検出枠の位置を基準とする検出範囲で被写体の動き量を算出する第２の算出処理を行うことを特徴とする像ぶれ補正装置。
【請求項２】
前記算出手段は、前記撮像装置の姿勢の検出情報を取得して前記顔検出位置に係る探索の範囲を設定することを特徴とする請求項１に記載の像ぶれ補正装置。
【請求項３】
前記画像の動き量は、異なる撮影時刻の画像信号から取得される動きベクトルであり、
前記算出手段は、前記第１の算出処理にて前記検出範囲の動きベクトルを積算することにより被写体の動き量を算出することを特徴とする請求項１または２に記載の像ぶれ補正装置。
【請求項４】
前記算出手段は、前記第１の算出処理にて第１の積算数で被写体の動きベクトルを算出し、前記第２の算出処理にて前記第１の積算数よりも大きい第２の積算数で被写体の動きベクトルを算出することを特徴とする請求項３に記載の像ぶれ補正装置。
【請求項５】
前記算出手段は、前記第１の算出処理にて前記検出範囲の動きベクトルの値が、前記顔検出位置での動きベクトルまたは前記顔検出位置に最も近い位置での動きベクトルの値から閾値以内である場合に積算対象とし、前記被写体の動きベクトルを算出することを特徴とする請求項３または請求項４に記載の像ぶれ補正装置。
【請求項６】
前記算出手段が前記第１の算出処理にて前記動きベクトルを積算する方向と、前記第２の算出処理にて前記動きベクトルを積算する方向とが異なることを特徴とする請求項３に記載の像ぶれ補正装置。
【請求項７】
前記算出手段は、前記第１の算出処理にて前記顔検出位置を基準として十字方向に隣接する位置で動きベクトルを積算し、前記第２の算出処理にて前記焦点検出枠の位置を基準とする円形状の検出範囲で動きベクトルを積算することを特徴とする請求項６に記載の像ぶれ補正装置。
【請求項８】
前記特定のモードは、流し撮りを支援するモードであることを特徴とする請求項１乃至７のいずれか１項に記載の像ぶれ補正装置。
【請求項９】
請求項１乃至８のいずれか１項に記載の像ぶれ補正装置を備える撮像装置。
【請求項１０】
撮像装置の振れの角速度を検出する検出手段と、
前記特定のモードが設定された場合、前記検出手段により検出される角速度のデータ、および前記被写体の角速度データからシャッタ速度を算出するシャッタ速度算出手段と、
算出されたシャッタ速度によりシャッタ制御を行うシャッタ制御手段を備えることを特徴とする請求項９に記載の撮像装置。
【請求項１１】
撮像装置の本体部にレンズ装置を装着可能であって、
前記特定のモードが設定された場合、前記レンズ装置に設けられた検出手段により検出される角速度データ、および前記被写体の角速度データからシャッタ速度を算出するシャッタ速度算出手段と、
算出されたシャッタ速度によりシャッタ制御を行うシャッタ制御手段を備えることを特徴とする請求項９に記載の撮像装置。
【請求項１２】
補正手段により像ぶれを補正する像ぶれ補正装置にて実行される制御方法であって、
特定のモードが設定された場合、撮像装置またはレンズ装置の振れ検出信号、および撮影画面内の画像の動き量を取得するとともに被写体の顔検出位置を取得して前記被写体の動き量を算出し、前記撮像装置に対する被写体の移動を示す角速度データを算出する算出工程と、
算出された前記角速度データにより前記補正手段を制御する制御工程と、を有し、
前記算出工程は、
前記顔検出位置が取得された場合に顔検出位置を基準とする検出範囲で被写体の動き量を算出する第１の算出工程と、
前記顔検出位置が取得されない場合に撮影画面内に設定された焦点検出枠を基準とする検出範囲で被写体の動き量を算出する第２の算出工程を有することを特徴とする像ぶれ補正装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手振れや被写体振れ等による画像ぶれを補正する像ぶれ補正装置およびその制御方法に関するものである。
【背景技術】
【０００２】
撮影法の一つである流し撮りは、例えば水平方向に移動している被写体の動きに合わせて撮影者がカメラを追従させながら撮影する技法であり、被写体の躍動感を出すためにシャッタ速度が長秒側に設定される。一般的に流し撮りは技術と経験が必要であるため、初心者には難しい撮影技法とされる。その第１の理由は、カメラを動かしながら被写体の動きに上手く追従して撮影するのが難しいことである。第２の理由は、被写体の躍動感を出すためにどの程度のシャッタ速度を設定すればよいのかが初心者には分からないことである。シャッタ速度を遅くする程、背景の流れ量が増えて躍動感は増すが、一方で手振れや被写体振れが発生しやすくなる。
【０００３】
流し撮りを簡単に実現するために特許文献１には、被写体の速度とカメラを動かす速度との差分を検出して差分に相当するズレ量を、手振れ補正機能で補正する方法が開示されている。撮影直前には、カメラ内の角速度センサにより被写体を追っているカメラのパンニングに対する角速度が検出され、被写体の角速度とカメラのパンニング速度との差が補正される。
【０００４】
撮像面上の被写体像の移動量の検出方法として、動きベクトルの検出があり、相関演算に基づく相関法やブロックマッチング法等が知られている。例えば、ブロックマッチング法では、入力された画像信号を複数の適当な大きさのブロック領域に分割し、ブロック単位で前回フレームの一定範囲の画素との差分が計算される。この差分の絶対値の和が最小となる前回フレームのブロックが探索され、画面間の相対的なずれがそのブロックの動きベクトルを示す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３１７８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では、低コントラスト等の撮影条件によっては正しい動きベクトルが検出できないか、あるいは信頼度の低いベクトルが検出される可能性がある。人物の流し撮りの場合、手足の動きが不規則な動きであるため、信頼度の低い動きベクトルが検出されることがあり得る。手足を含めた人物の全身の動きベクトルを使用する場合、算出される被写体角速度の誤算出が行われると、かえって過補正気味になり被写体振れが目立つ可能性がある。
本発明の目的は、被写体人物等の流し撮りの確実性を高めることである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の装置は、補正手段により像ぶれを補正する像ぶれ補正装置であって、特定のモードが設定された場合、撮像装置またはレンズ装置の振れ検出信号、および撮影画面内の画像の動き量を取得するとともに被写体の顔検出位置を取得して前記被写体の動き量を算出し、前記撮像装置に対する被写体の移動を示す角速度データを算出する算出手段と、算出された前記角速度データにより前記補正手段を制御する制御手段と、を有する。前記算出手段は、前記顔検出位置が取得された場合に顔検出位置を基準とする検出範囲で被写体の動き量を算出する第１の算出処理と、前記顔検出位置が取得されない場合に撮影画面内に設定された焦点検出枠を基準とする検出範囲で被写体の動き量を算出する第２の算出処理を行う。
【発明の効果】
【０００８】
本発明によれば、被写体人物等の流し撮りの確実性を高めることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における撮像装置の全体構成図である。
【図２】本発明の実施形態における振れ補正系の制御ブロック図である。
【図３】流し撮り時の動きベクトル検出を説明する図である。
【図４】流し撮り時の被写体ベクトル検出を示す図である。
【図５】本発明の実施形態における人物の流し撮り時の処理を説明する図である。
【図６】本発明の実施形態における人物以外の流し撮り時の処理を説明する図である。
【図７】本発明の実施形態における流し撮り時の処理を説明するフローチャートである。
【図８】本発明の実施形態における被写体角速度の算出処理のフローチャートである。
【図９】本発明の実施形態におけるシャッタ速度の算出処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。本発明は、像ぶれ補正装置が搭載された、コンパクトデジタルカメラ、ビデオカメラ、監視カメラ、Ｗｅｂカメラ等の撮像装置に適用可能である。本明細書において、ユーザの流し撮りを支援する技術として、可動光学部材の移動により被写体の移動速度とパンニング速度（またはチルティング速度）との差を抑制する方法を、流し撮りアシストという。流し撮りアシストが設定されていてユーザの流し撮りを支援するモードを流し撮りアシストモードという。尚、本明細書では、可動光学部材の移動により被写体の移動速度とパンニング速度（またはチルティング速度）との差を抑制する方法を実施するモードを流し撮りアシストモードとしているが、このような方法を実施する特定のモードであればよい。
【００１１】
図１は、本発明の実施形態に関わる撮像装置の構成例を示すブロック図である。本実施形態ではレンズ装置（交換レンズ１００）を、カメラ本体部１３１に装着可能な撮像システムの例を説明するが、本発明はレンズ部がカメラ本体部に一体化された撮像装置にも適用可能である。
【００１２】
交換レンズ１００は撮影レンズユニット１０１を備える。撮影レンズユニット１０１は、主撮像光学系１０２、焦点距離を変更可能なズームレンズ群１０３、シフトレンズ群１０４を備える。シフトレンズ群１０４は、撮像装置の振れによる光軸に対する像の振れを補正する可動光学部材であり、撮影レンズユニット１０１の光軸と垂直な方向に移動することにより光学的に画像ブレを補正する。ズームエンコーダ１０６は、ズームレンズ群（以下、ズームレンズという）１０３の位置を検出する。位置検出部１０５は、シフトレンズ群（以下、シフトレンズという）１０４の位置を検出する。
【００１３】
交換レンズ１００は角速度センサ１０９を備える。角速度センサ１０９は振れを検出して振れ検出信号を出力する検出手段の一例である。角速度センサ１０９による振れ検出信号（角速度検出信号）はレンズ制御部１１０が取得して信号処理する。レンズ制御部１１０は、レンズシステム制御用マイクロコンピュータを備え、交換レンズ１００内の各部を制御する。像ぶれ補正を行う駆動部１０７は、レンズ制御部１１０からの制御指令にしたがってシフトレンズ１０４を駆動する。アンプ回路１０８は位置検出部１０５の出力を増幅して、位置検出信号をレンズ制御部１１０に出力する。交換レンズ１００はカメラ本体部１３１とのマウント接点部１１３を備える。
【００１４】
レンズ制御部１１０は、手振れ補正制御を行う手振れ補正制御部１１１と、流し撮りアシストモード用の制御を行う流し撮り制御部１１２を備える。図１にはレンズ制御部１１０の内部処理を、制御部１１１および１１２として機能ブロックで表現している。レンズ制御部１１０は、その他にもフォーカスレンズの駆動による焦点調節の制御や、絞り制御等も行うが、図示の簡略化のために省略する。また実際の手振れ補正では、例えばカメラ姿勢に関する縦方向と横方向といった、直交する２軸に関して振れ検出および像ぶれ補正が行われる。これらの２軸の振れ検出および像ぶれ補正に関しては、検出方向の差異を除いて同じ構成であるため、以下は１軸分のみ説明する。本実施形態の撮像装置は光学式像ぶれ補正が採用され、可動光学部材を光軸方向とは異なる方向（例えば直交方向）に駆動することで像ぶれ補正を行う像ぶれ補正装置を備えている。
【００１５】
カメラ本体部１３１は、露光時間を調整するシャッタ１１４と、ＣＭＯＳ（相補型金属酸化膜半導体）センサ等の撮像素子１１５を備える。アナログ信号処理回路（ＡＦＥ）１１６は、撮像素子１１５の出力を処理して、カメラ信号処理回路１１７に出力する。カメラ信号処理回路１１７は、画像の動き検出を行う動きベクトル検出部１１８を備える。動きベクトル検出部１１８は撮像素子１１５の出力する異なる撮影時刻の画像信号を取得し、画角内の被写体や背景の動きを検出する。カメラ本体部１３１はタイミングジェネレータ（ＴＧ）１２０を備え、撮像素子１１５やアナログ信号処理回路１１６の動作タイミングを設定する。カメラ本体部１３１の操作部１３０は、電源スイッチ、レリーズスイッチ等を備える。
【００１６】
カメラ本体部１３１はカメラ制御部１２２を備える。カメラ制御部１２２は、カメラシステム全体を制御するマイクロコンピュータを備え、所定のプログラムをメモリから読み出して実行することで各種の制御を行う。カメラ制御部１２２は、シャッタ制御部１２５、主被写体の角速度を算出する被写体角速度算出部１２６、流し撮りシャッタ速度算出部１２７を備える。図１にはカメラ制御部１２２の内部処理を機能ブロックで表現している。ドライバ１２１はカメラ制御部１２２の制御指令にしたがって、シャッタ駆動用モータ１１９を駆動する。メモリカード１２８は、撮影後の映像データを記録する記録媒体である。表示部１２９は、例えば液晶パネル（ＬＣＤ）を備え、撮影時の画像をモニタし、また撮影された画像を画面に表示する。カメラ本体部１３１は、交換レンズ１００とのマウント接点部１２３を備える。レンズ制御部１１０とカメラ制御部１２２は、マウント接点部１１３および１２３を介して所定のタイミングでシリアル通信を行う。
【００１７】
図１の撮像装置の動作について概要を説明する。ユーザが交換レンズ１００をカメラ本体部１３１に装着し、操作部１３０により撮像装置の電源のＯＮ操作を行うと、その状態変化をカメラ制御部１２２が検出する。カメラ制御部１２２は、カメラ本体部１３１の各回路への電源供給および初期設定を行う。また、交換レンズ１００への電源供給が行われ、レンズ制御部１１０は交換レンズ１００の初期設定を行う。そしてレンズ制御部１１０とカメラ制御部１２２との間で所定のタイミングで通信が開始される。例えば通信によってカメラ制御部１２２からレンズ制御部１１０へ撮像装置の状態、撮影設定等の情報が送信される。またレンズ制御部１１０からカメラ制御部１２２へ交換レンズ１００の焦点距離情報、角速度情報等が送信される。
【００１８】
操作部１３０を使用したユーザ操作により流し撮りアシストモードが選択されていない場合には、手振れ補正動作が行われる。つまり、交換レンズ１００内では角速度センサ１０９が手振れ等によってカメラに加わる振れを検出する。手振れ補正制御部１１１は振れ検出信号を取得し、シフトレンズ１０４の駆動制御を行うことで手振れ補正を行う。以下、撮像装置の振れ補正機能を説明する。
【００１９】
図２は振れ補正動作に関する構成図である。図１と共通する構成要素については同一の符号を付すことで、それらの説明を省略する。図１の各部２０１〜２０８は手振れ補正制御部１１１の詳細な構成要素を示す。オフセット除去部２０１は、例えばハイパスフィルタ等で構成されたフィルタ演算部である。オフセット除去部２０１は、角速度センサ１０９の出力に含まれている直流成分を除去する。利得位相算出部２０２は、オフセット除去部２０１により直流成分が除去された角速度データを所定のゲインで増幅する増幅器、および位相補償フィルタで構成されている。積分器２０３は、任意の周波数帯域でその特性を変更し得る機能を有する。積分器２０３は、利得位相算出部２０２の出力を積分し、シフトレンズ１０４の駆動量を算出する。
【００２０】
防振（像ぶれ補正）制御判定部２０４は、カメラ情報取得部２２５の出力に応じてシフトレンズ１０４を駆動させるための制御信号を切り替える。流し撮りアシストモードが設定されている場合、防振制御判定部２０４は流し撮り制御部１１２で算出された積分器２２４の出力を採用する。また流し撮りアシストモード以外のモードが設定されている場合、防振制御判定部２０４は手振れ補正制御部１１１で算出された積分器２０３の出力を採用する。
【００２１】
シフトレンズ１０４の位置検出部１０５の出力はアンプ回路１０８で増幅されてから、Ａ／Ｄ変換器２０６によりデジタルデータに変換される。このデジタルデータは減算部２０５に負入力として送られる。減算部２０５は、防振制御判定部２０４の出力を正入力として取得し、当該出力から、Ａ／Ｄ変換器２０６からのデジタルデータを減算し、減算結果（偏差データ）を制御器２０７へ出力する。制御器２０７は、入力データを所定のゲインで増幅する増幅器と、位相補償フィルタを備える。減算部２０５の出力である偏差データに対して、制御器２０７は増幅器および位相補償フィルタによる信号処理を施した後でパルス幅変調（ＰＷＭ）部２０８に出力する。パルス幅変調部２０８は、制御器２０７の出力データに基づき、パルス波のデューティー比を変化させるＰＷＭ波形への変調を行い、振れ補正系の駆動部１０７に供給する。駆動部１０７は、シフトレンズ１０４を駆動するボイスコイル型モータであり、パルス幅変調部２０８の出力にしたがってシフトレンズ１０４を光軸と垂直な方向に移動させる。
【００２２】
次に、流し撮り制御部１１２について詳説する。ユーザが操作部１３０により、流し撮りアシストモードを設定する操作を行った場合、カメラ制御部１２２は流し撮りアシストの制御に切替える。流し撮りアシストモードの設定情報はカメラ制御部１２２からレンズ制御部１１０へと送信され、レンズ制御部１１０は流し撮りアシストモードの制御に移行する。カメラ情報取得部２２５は、流し撮りアシストモードの設定情報やレリーズ情報を取得している。角速度出力部２１１はオフセット除去部２０１の出力を取得し、カメラ制御部１２２に対して、交換レンズ１００内の角速度センサ１０９の角速度データを出力する。被写体角速度取得部２２２は、後述するカメラ本体部１３１内の被写体角速度算出部１２６により算出される主被写体の角速度データを取得する。この角速度データはマウント接点部１１３と通信制御部２１０を介して取得される。減算部２２３は、オフセット除去部２０１の出力を正入力とし、被写体角速度取得部２２２の出力を負入力として減算を行う。つまり減算部２２３は、交換レンズ１００内で検出された角速度データと、カメラ本体部１３１内で検出された主被写体の角速度データとの差分を算出し、差分（偏差データ）を積分器２２４に出力する。積分器２２４は偏差データを積分し、積分データを防振制御判定部２０４に出力する。
【００２３】
ここで、主被写体の角速度の算出方法について説明する。流し撮りアシストモード設定中のカメラ本体部１３１において、カメラ信号処理回路１１７内の動きベクトル検出部１１８は撮像された映像情報から主被写体の動きベクトルを検出して出力する。同時にカメラ制御部１２２は、交換レンズ１００内の角速度センサ１０９により検出された角速度データをレンズ制御部１１０から受信する。
【００２４】
流し撮りでは、動きベクトル検出部１１８から出力される動きベクトルとして、撮影者が撮影しようとしている主被写体のベクトルと、流れている背景のベクトルの２種類が得られる。この場合、流し撮りが目的であるため、検出された２種類の動きベクトルのうち、主被写体ベクトルが採用される。主被写体ベクトルの採用方法について図３および図４を用いて説明する。図３は流し撮りの撮影シーンの画像例を示す。この例では、画面に配置された動きベクトルの検出ブロック３０２が、８行８列の配置である。各検出ブロックでは１フレーム前の画像と現在のフレームの画像との間の動き量が検出され、被写体３０１のベクトルと背景のベクトルが検出される。
【００２５】
図４は動きベクトル検出部１１８によって検出された動きベクトルをヒストグラム表示した図である。横軸は動き量（単位：ピクセル）を表わし、縦軸は度数（頻度）を表わす。本実施形態では、被写体ベクトルと背景ベクトルを正確に区別するために角速度センサ１０９の出力である角速度データを使用する。撮影者が撮像装置で上手く被写体を捉えて当該被写体に追従できていれば、被写体ベクトルは０ｐｉｘ付近に存在する。しかし、撮影に不慣れな撮影者程、被写体の動き量が大きくなり、被写体ベクトルは０ｐｉｘから離れていくので、被写体ベクトルと背景ベクトルとの区別がつきにくくなる。そこで本実施形態では、角速度センサ１０９の出力である角速度データを像面移動量４０３に換算する。換算処理には撮像光学系の焦点距離やフレームレートのデータを用いる。像面移動量４０３の値を基準として、一定の範囲（背景範囲）４０４内に存在するベクトル群は背景ベクトル４０２と判定される。また一定の範囲４０４外に存在するベクトル群は被写体ベクトル４０１と判定される。尚、撮像画面内に複数の被写体が存在する場合には、被写体ベクトルが複数存在することになる。この場合、カメラのフォーカス枠（図５の焦点検出枠６０２参照）に最も近い被写体ベクトルが採用される。その理由は、流し撮りによらず撮影者は、撮影したい主被写体に必ずフォーカス枠を合わせているからである。こうして判定された被写体ベクトルの値は主被写体の像面上の移動量として決定される。尚、本実施形態においてヒストグラムに用いる角速度データとしては、カメラ本体部１３１内の角速度センサ１２４が出力である角速度データでもよい。
【００２６】
図５を参照して、人物の流し撮り時における動きベクトル処理を説明する。図５は全身を画角内に収めた人物の流し撮りに関する画像例を示している。図５の左右方向をＸ方向とし、上下方向をＹ方向と定義する。動きベクトルの検出ブロック３０２については、左上隅の位置を基準位置として、Ｘ方向の正（右）方向を列の増加方向とし、Ｙ方向の負（下）方向を行の増加方向とする。画角内に被写体６０１ａと被写体６０１ｂが存在し、いずれも人物である。被写体６０１ａは被写体６０１ｂよりも手前側（カメラ側）である。撮影者は被写体６０１ａを主被写体として、被写体６０１ａに対して焦点検出枠６０２（例えば１点ＡＦ枠の場合）を合わせているとする。
【００２７】
本実施形態では、焦点検出枠６０２の中心位置から一定の範囲の顔検出探索範囲（以下、単に探索範囲ともいう）６０４が設定される。カメラ制御部１２２は探索範囲６０４内にて被写体（人物、動物等）の顔検出処理を行い、顔検出結果に基づいて被写体ベクトルの積算方法を変更する。人物の流し撮りでは、被写体６０１ａの四肢の動きは不規則な動きであり、検出される動きベクトル結果は信頼度の低いベクトルとなる可能性がある。一方、信頼度の高い動きベクトルが検出できる箇所は、動きが安定している顔や胴体である。そこで、本実施形態では人物の流し撮りにおいて、信頼度の高い動きベクトル検出が可能な部位として顔を検出し、顔画像付近の被写体ベクトルを使用する。
【００２８】
探索範囲６０４について図５を用いて具体例を説明する。探索範囲６０４は焦点検出枠６０２の中心位置を起点として、Ｙ方向を長辺方向としＸ方向を短辺方向とする矩形の範囲として設定される。例えば焦点検出が可能なＹ方向にて画角の８割で、Ｘ方向にて画角の４割に相当する範囲が探索範囲６０４に設定される。尚、撮影者がカメラを縦方向に構えている場合（縦持ち状態）には、Ｙ方向を短辺方向とし、Ｘ方向を長辺方向として探索範囲が設定される。カメラの姿勢の判定には、カメラ本体部１３１内の不図示の加速度センサによる検出情報が使用される。加速度センサの３軸（Ｘ軸、Ｙ軸、Ｚ軸）の出力から、重力方向の影響を受けている軸を判定することができる。例えば、ユーザがカメラを横持ちの状態で撮影する場合、Ｙ軸方向が重力の影響を受けるので、加速度センサのＹ軸出力がＸ軸やＺ軸の各出力と異なるときに横持ち状態と判定される。
【００２９】
カメラ制御部１２２は探索範囲６０４を設定する際に、焦点検出枠６０２を利用する。つまり、複数の被写体６０１ａ、被写体６０１ｂが画角内に存在しても、撮影者は画像の動きを止めたい主被写体である被写体６０１ａに対して焦点検出枠６０２を合わせている。このため、被写体６０１ｂではなく、焦点検出枠６０２を合わせている被写体６０１ａの動きベクトルを検出することができる。
【００３０】
次に、被写体ベクトルの積算方法について詳説する。図５の探索範囲６０４内に顔検出位置６０３が存在する場合を想定する。この場合、顔検出位置６０３に最も近い検出ブロックは３行４列目である。この検出ブロックを起点ブロックとして、その上下左右にそれぞれ位置する２行４列目（上）と４行４列目（下）と３行３列目（左）と３行５列目（右）の各検出ブロックが積算対象となる。つまり、起点ブロックを中心として十字方向に隣接する検出ブロックが選択される。但し、起点ブロック（３行４列目）の動きベクトルの値から所定の閾値以内の動きベクトル値を有する検出ブロックが積算対象である。つまり検出ブロックの動きベクトルの値が、起点ブロック（３行４列目）の動きベクトル±閾値（例えば３ピクセル）以内である場合に積算可能とする。その理由は、被写体ベクトルの誤算出を防止するためである。例えば、起点ブロックを基準として、左位置の３行３列目や右位置の３行５列目の検出ブロックでは、被写体６０１の顔が小さい場合に顔領域が検出ブロックに重なっておらず背景の動き量を積算してしまう可能性がある。このような場合、検出ブロックの動きベクトルの値が、起点ブロックの動きベクトルの値から所定の閾値内でないときには、積算対象から除外される。
【００３１】
また低コントラスト等の撮影条件の場合、信頼度の低いベクトル結果である検出ブロックについては、動きベクトルの誤検出の可能性がある。そのため、本実施形態では被写体ベクトルの積算対象に含めない。また、被写体の顔領域にかかっている検出ブロック数は、全検出ブロック数に対して非常に少ないので、被写体ベクトルとして判定するための第１閾値（例えば１）は、人物以外の場合に設定される第２閾値（例えば４）よりも小さく設定される。
【００３２】
図６を参照して人物以外の動体（自動車）の流し撮りについて説明する。図６の左右方向をＸ方向とし、上下方向をＹ方向と定義する。動体（自動車）の流し撮りにて、被写体７０１の動きは一定方向に安定した動きである。被写体７０１は多数の検出ブロック３０２に重なっているため被写体ベクトル数を多く検出できる。そのため、最も合焦している焦点検出枠６０２の位置に近い検出ブロック（５行７列目）が起点ブロックとして選択される。この起点ブロックを中心として円形状（同心円状）に検出ブロックの探索と積算が行われる。但し、低コントラスト時等では信頼度の低い動きベクトル結果を示す検出ブロックが存在する可能性がある。この場合には、動きベクトルの誤検出の可能性を低減するために当該検出ブロックの検出結果は被写体ベクトルの積算対象に含めない。
【００３３】
このように、本実施形態では顔検出結果と探索範囲６０４とを組み合わせることで、ユーザの意図する主被写体ベクトル（動きベクトル）を算出することができる。例えば撮影画面内に複数の被写体６０１ａ、６０１ｂ（図５）が存在する場合でも、撮影者が画像の動きを止めたい被写体６０１ａの顔画像付近のベクトルから主被写体ベクトルを算出できる。算出された主被写体ベクトルは、角速度データを像面移動量へ変換する場合とは逆の手順で、被写体角速度の算出が可能である。
【００３４】
図７から図９は、本実施形態における流し撮りアシストモード設定時の処理を説明するフローチャートである。以下の処理は、カメラ制御部１２２とレンズ制御部１１０の各ＣＰＵがメモリからプログラムを読み出して実行することにより実現される。
【００３５】
先ず図７の処理を説明する。
（Ｓ５０１）モード判定処理
カメラ制御部１２２は、撮影者が操作部１３０により流し撮りアシストモードに設定する操作を行ったか否かを判定する。流し撮りアシストモードに設定された場合、Ｓ５０２に進み、流し撮りアシストモード以外が設定された場合には、流し撮りアシストモードの制御を行わずに処理を終了する。
【００３６】
（Ｓ５０２）レンズ判定処理
カメラ制御部１２２は、カメラ本体部１３１に装着された交換レンズ１００が流し撮りアシストモードに対応した交換レンズであるか否かを判定する。流し撮りアシストモードに対応した交換レンズであればＳ５０３に進み、流し撮りアシストモードに対応していない交換レンズであればＳ５０６に進む。尚、交換レンズ１００が流し撮りアシストモードに対応しているか否かの判定は、レンズ制御部１１０からカメラ制御部１２２へ送信される信号を用いて行われる。
【００３７】
（Ｓ５０３）動きベクトル検出処理
動きベクトル検出部１１８は、撮影画面内の画像の動き量を動きベクトルとして検出し、検出結果をカメラ制御部１２２へ出力する。
【００３８】
（Ｓ５０４）像面移動量の算出処理
カメラ制御部１２２は、交換レンズ１００内の角速度センサ１０９による角速度データと、撮像光学系の焦点距離およびフレームレートのデータを用いて像面上での移動量を算出する（図４参照）。
【００３９】
（Ｓ５０５）被写体角速度の算出処理
被写体角速度算出部１２６は被写体角速度を算出する。算出処理の詳細は図８のＳ５０８〜Ｓ５２１で説明する。
【００４０】
（Ｓ５０６）シャッタ速度の算出処理
流し撮りシャッタ速度算出部１２７は流し撮りアシスト用のシャッタ速度を算出する。算出処理の詳細は図９のＳ５２２〜Ｓ５２９で説明する。
【００４１】
（Ｓ５０７）シフトレンズの駆動制御
カメラ制御部１２２はＳ５０５で算出された被写体角速度およびＳ５０６で算出された流し撮りアシスト用のシャッタ速度から、撮像素子１１５の露光期間中にシフトレンズ１０４を駆動させる際の駆動量を決定する。レンズ制御部１１０は決定された駆動量を取得してシフトレンズ１０４の駆動制御を行う。
【００４２】
次に図８を参照して、図７の（Ｓ５０５）被写体角速度の算出処理について説明する。
（Ｓ５０８）ヒストグラム生成処理
被写体角速度算出部１２６はＳ５０３で検出された全ての動きベクトルのヒストグラム生成に関する演算を行う。
【００４３】
（Ｓ５０９）カメラの姿勢位置取得
被写体角速度算出部１２６はカメラの姿勢位置の検出情報を取得する。カメラ姿勢の判定処理では、カメラ本体部１３１内に設けられた加速度センサの３軸（Ｘ軸、Ｙ軸、Ｚ軸）の出力から、重力方向の影響を受けている軸が検出される。加速度センサの出力に基づいてユーザがカメラをどのように構えているかを判定できる。
【００４４】
（Ｓ５１０）探索範囲の設定
被写体角速度算出部１２６は焦点検出枠６０２の中心位置を基準として、Ｓ５０９で取得したカメラの姿勢位置に応じて探索範囲６０４を設定する。
【００４５】
（Ｓ５１１）顔検出の判定
被写体角速度算出部１２６はＳ５１０で設定した探索範囲６０４内に、顔検出結果が存在するか否かを判定する。探索範囲６０４内に顔検出結果が存在する場合、Ｓ５１２に進み、探索範囲６０４内に顔検出結果が存在しない場合にはＳ５１４に進む。
【００４６】
（Ｓ５１２）顔検出位置の取得
探索範囲６０４内に顔検出結果が存在しているので、被写体角速度算出部１２６は顔検出付近の動きベクトルを用いて被写体角速度を算出するために、画角内の被写体人物の顔検出位置を取得する。
【００４７】
（Ｓ５１３）被写体ベクトル算出１（第１の算出処理）
被写体角速度算出部１２６は、Ｓ５１２で取得された顔検出位置の検出ブロック、または当該位置に最も近い検出ブロックを起点として、上下左右方向（十字方向）の検出ブロック（検出範囲）を積算対象とする。但し、この検出範囲内の動きベクトルが、顔検出位置に最も近い検出ブロックの動きベクトルから所定の閾値（例えば±３ピクセル）以内である場合に、積算対象として被写体ベクトルが算出される。尚、積算対象とするベクトルの数（第１の積算数）をＡ１とする。
【００４８】
（Ｓ５１４）被写体ベクトルの検出可能判定
被写体角速度算出部１２６は被写体ベクトルが検出可能か否かを判定する。被写体ベクトルの検出が可能であると判定された場合、Ｓ５１５に進み、被写体ベクトルの検出ができなければＳ５１８に進む。ここで、被写体ベクトルの検出判定基準としては、図４に示す被写体ベクトルの度数が所定の閾値（例えば度数４）以上である場合に検出可能と判定される。被写体ベクトルの度数が所定の閾値未満である場合には検出可能でないと判定される。
【００４９】
（Ｓ５１５）被写体ベクトル算出２（第２の算出処理）
被写体角速度算出部１２６は、焦点検出枠６０２に最も近い検出ブロックを起点として、同心円状に検出ブロック（検出範囲）内の動きベクトルを積算して被写体ベクトルを算出する。尚、積算対象とする動きベクトルの数（第２の積算数）をＡ２とし、Ａ２はＳ５１３でのＡ１よりも大きいものとする。
【００５０】
（Ｓ５１６）被写体角度算出
被写体角速度算出部１２６は、Ｓ５１３またはＳ５１５で算出された被写体ベクトルから被写体角速度を算出する。Ｓ５０４で角速度センサ１０９の出力である角速度データについて撮像光学系の焦点距離、フレームレートのデータを用いて像面上の移動量へ換算した場合とは逆の手順で、被写体ベクトルが被写体角速度へ換算される。
【００５１】
（Ｓ５１７）被写体振れ補正量算出
減算部２２３は、カメラ制御部１２２からレンズ制御部１１０へ送信される被写体角速度データと、交換レンズ１００内の角速度センサ１０９の角速度データ（オフセット除去部２０１の出力）との差分を算出する。算出された差分は積分器２２４によって積分される。これにより、振れ補正制御の目標制御値（被写体振れ補正量）が算出される。
【００５２】
（Ｓ５１８）角速度取得
この場合、Ｓ５１４で被写体ベクトルが未検出であるため、レンズ制御部１１０はシフトレンズ１０４の制御を手振れ補正制御へ切り替える。交換レンズ１００内の角速度センサ１０９の出力である角速度データを取得する処理が行われる。
【００５３】
（Ｓ５１９）オフセット除去
オフセット除去部２０１はハイパスフィルタを備え、その特性を任意の周波数帯域で変更し得る機能を有する。角速度データに含まれる低周波数成分を遮断してから高周波数帯域の信号を出力することで角速度データに重畳している直流成分が除去される。
【００５４】
（Ｓ５２０）利得・位相算出
利得位相算出部２０２は、Ｓ５１９でオフセットが除去された角速度データを増幅器が所定のゲインで増幅するとともに、位相補償フィルタが信号処理を行う。
【００５５】
（Ｓ５２１）手振れ補正量算出
Ｓ５２０で信号処理が施された角速度データは積分器２０３により積分され、手振れ補正制御の目標制御値（手振れ補正量）が算出される。
（Ｓ５１７）または（Ｓ５２１）の後、リターン処理へ移行する。
【００５６】
次に図９を参照して、図７の（Ｓ５０６）シャッタ速度の算出処理について説明する。
（Ｓ５２２）背景流し量の取得
シャッタ速度算出部１２７は、操作部１３０により撮影者が設定した背景流し量の設定値を取得する。
【００５７】
（Ｓ５２３）焦点距離の取得
カメラ制御部１２２は交換レンズ１００内のレンズ制御部１１０から送信される焦点距離データを、マウント接点部１１３、１２３を介して取得する。
【００５８】
（Ｓ５２４）カメラ本体部内の角速度センサの存否判定
カメラ本体部１３１内に角速度センサ１２４が搭載されているか否かについて判定が行われる。カメラ本体部１３１内に角速度センサ１２４が搭載されている場合、Ｓ５２５に進み、カメラ本体部１３１内に角速度センサ１２４が搭載されていない場合にはＳ５２６に進む。
【００５９】
（Ｓ５２５）カメラ本体部内の角速度取得
カメラ本体部１３１内の角速度センサ１２４によって角速度データが取得される。次にＳ５２８へ進む。
【００６０】
（Ｓ５２６）補正レンズ搭載判定
カメラ制御部１２２はレンズ制御部１１０から取得した情報により、交換レンズ１００にシフトレンズ１０４が搭載されているか否かを判定する。像ぶれ補正レンズであるシフトレンズ１０４が交換レンズ１００に搭載されている場合、Ｓ５２７に進む。シフトレンズ１０４が交換レンズ１００に搭載されていない場合には、交換レンズ１００とカメラ本体部１３１のどちらにも角速度センサが搭載されていないと判定され、リターン処理へ移行する。
【００６１】
（Ｓ５２７）交換レンズ内の角速度取得
交換レンズ１００内にシフトレンズ１０４が搭載されているということは、交換レンズ１００内に角速度センサ１０９が搭載されていることを意味する。この場合、角速度センサ１０９により角速度データを取得する。次にＳ５２８へ進む。
【００６２】
（Ｓ５２８）被写体角速度取得
Ｓ５１６で演算した被写体の角速度データが取得される。尚、Ｓ５１４で被写体ベクトルが検出できていない場合に取得される被写体角速度は０ｄｐｓ（ｄｅｇｒｅｅ  ｐｅｒ  ｓｅｃｏｎｄ）である。
【００６３】
（Ｓ５２９）シャッタ速度算出
流し撮りシャッタ速度算出部１２７はＳ５２２〜Ｓ５２８で取得した各データを用いて、（１）式に基づいて流し撮りアシスト用シャッタ速度を算出する。
ＴＶ＝α／ｆ／（ωｇ―ωｓ）  ・・・・・（１）
（１）式中、ＴＶ：シャッタ速度、α：背景の流し効果係数、ｆ：焦点距離、ωｇ：カメラ角速度、ωｓ：主被写体角速度である。
【００６４】
Ｓ５２９の後、リターン処理へ移行する。尚、Ｓ５２６で交換レンズ１００内にシフトレンズ１０４が搭載されていない場合には、Ｓ５０８でヒストグラムから背景ベクトルを用いて背景角速度を算出し、算出された値を使って流し撮り用シャッタ速度を算出してもよい。あるいは、予め流し撮りシャッタ速度算出部１２７でプログラムされた値（例えば１／６０秒）を設定してもよい。
【００６５】
交換レンズ１００から受信した角速度データは、カメラの流し撮り速度に対応している。そのため、受信した角速度データと、主被写体の像面上の移動量および撮像光学系の現在の焦点距離から算出される角速度データとの差分を算出すると、その結果はカメラに対する主被写体の移動を示す角速度データとなる。カメラ制御部１２２は算出した主被写体の角速度データをレンズ制御部１１０に送信する。レンズ制御部１１０はカメラの設定情報に応じてシフトレンズ１０４の駆動量を算出して振れ補正制御を行う。
【００６６】
本実施形態によれば、流し撮りアシストにおいて、被写体の顔検出位置と被写体ベクトルの算出結果を組み合わせることで、被写体人物等の流し撮りの成功率を高めることができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００６７】
１０９，１２４  角速度センサ
１１０  レンズ制御部
１１８  動きベクトル検出部
１２２  カメラ制御部
【図１】
2018060126.tif 000003
【図２】
2018060126.tif 000004
【図３】
2018060126.tif 000005
【図４】
2018060126.tif 000006
【図５】
2018060126.tif 000007
【図６】
2018060126.tif 000008
【図７】
2018060126.tif 000009
【図８】
2018060126.tif 000010
【図９】
2018060126.tif 000011