(57)【要約】      （修正有）【課題】被写体の動き量の検出精度を維持しつつ、像ブレ補正性能をより向上させた画像処理を行うこと。【解決手段】像ブレ補正部を備える撮像装置は、撮影時の位置姿勢変化情報を検出して撮像画像のブレ残り量を算出する。画像入力部３０１は、撮像画像データを順次に取得する。画像ボケ算出部３０２は、ブレ残り量と、撮影時の撮像装置の情報からボケ量の大きさおよび方向を算出する。基準画像選択部３０３は、順次に取得される画像に対して、画像のボケ量に応じて基準画像を選択して更新する処理を行う。画像縮小部３０４は画像のボケ量とボケ方向に応じて画像の縮小率を決定し、基準画像選択部３０３によって選択された基準画像および基準画像と比較される参照画像を縮小して、ベクトル検出処理部３０５に出力する。ベクトル検出処理部３０５は、縮小された基準画像と参照画像の各データを用いて動きベクトルを検出する。【選択図】図３
2019083448.tif 000002
【特許請求の範囲】
【請求項１】
像ブレ補正手段を備える撮像装置により撮像される画像を処理する画像処理装置であって、
前記像ブレ補正手段により補正される前記画像のブレ量を用いて前記画像のボケ量を算出する算出手段と、
撮像された画像から、前記算出手段による前記画像のボケ量を用いて動きベクトル検出の基準となる基準画像を選択する画像選択手段と、
前記ボケ量に対応する縮小率を決定し、選択された前記基準画像、および当該基準画像と比較される参照画像を縮小する画像縮小手段と、
画像縮小された前記基準画像と前記参照画像から動きベクトルを検出する検出手段と、を備える
ことを特徴とする画像処理装置。
【請求項２】
前記算出手段は、前記撮像装置の位置姿勢の変化量を示す情報と、前記像ブレ補正手段に対する補正量を示す制御情報との差から算出される、前記画像のブレ残り量を用いて前記画像のボケ量の大きさもしくは方向、またはボケ量の大きさおよび方向を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記算出手段は、撮影時に前記撮像装置から取得される情報である、シャッタ速度、焦点距離、および撮像素子のセンサピッチのうちの１つ以上を用いて、前記画像のボケ量を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記画像選択手段は、前記ボケ量の大きさが閾値以下である場合に前記基準画像を更新し、前記ボケ量の大きさが前記閾値より大きい場合に前記基準画像の更新を行わない
ことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画像選択手段は、前記ボケ量の大きさとして、画像の垂直方向もしくは水平方向のボケ量の大きさ、または垂直方向のボケ量および水平方向のボケ量から算出される絶対値のいずれかを閾値と比較して、前記基準画像の更新を行うか否かを判定する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記画像縮小手段は、前記ボケ量が小さい場合の前記縮小率よりも、前記ボケ量が大きい場合の前記縮小率を、より高く設定する
ことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像縮小手段は、画像の水平方向と垂直方向にてそれぞれ縮小率を設定して画像縮小処理を行う
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記検出手段は、前記基準画像が更新されない期間に算出される画像のブレ量または動きベクトル値により前記動きベクトルの探索範囲の位置を設定する
ことを特徴とする請求項４または請求項５に記載の画像処理装置。
【請求項９】
請求項１から８のいずれか１項に記載の画像処理装置を備える撮像装置。
【請求項１０】
前記撮像装置の位置姿勢または振れの情報を取得して前記像ブレ補正手段を制御する制御手段を備え、
前記制御手段は、前記ボケ量を用いて前記動きベクトルに対するゲインを設定し、前記ゲインが乗算された前記動きベクトルおよび前記位置姿勢もしくは振れの情報を用いて像ブレ補正制御を行う
ことを特徴とする請求項９に記載の撮像装置。
【請求項１１】
前記制御手段は、前記ゲインの値を、前記ボケ量が大きい場合よりも前記ボケ量が小さい場合に大きく設定する
ことを特徴とする請求項１０に記載の撮像装置。
【請求項１２】
像ブレ補正手段を備える撮像装置により撮像される画像を処理する画像処理装置にて実行される制御方法であって、
前記像ブレ補正手段により補正される前記画像のブレ量を用いて前記画像のボケ量を算出する工程と、
撮像された画像から、前記画像のボケ量を用いて動きベクトル検出の基準となる基準画像を選択する工程と、
前記ボケ量に対応する縮小率を決定し、選択された前記基準画像、および当該基準画像と比較される参照画像を縮小する工程と、
画像縮小された前記基準画像と前記参照画像から動きベクトルを検出する工程と、を有する
ことを特徴とする画像処理装置の制御方法。
【請求項１３】
請求項１２に記載の各工程を画像処理装置のコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の動き量の検出処理および像ブレ補正処理の技術に関する。
【背景技術】
【０００２】
動画撮影の際には、撮影者の手振れ等によって静止被写体の画像位置が次のフレームで移動することが起こりうる。そこで静止被写体の移動によって撮影後の動画が見づらくなることへの対策が講じられる。つまり、１つのフレーム画像の撮影時に対して次のフレーム画像の撮影時の撮像装置の振れを検出して、静止被写体の位置が移動しないように手振れ補正処理が行われる。撮像装置の振れおよび動きに伴う画像ブレの検出方法には、テンプレートマッチング等のベクトル検出法を利用して、画像間の移動量（動きベクトル）を算出する方法がある。
【０００３】
ところでテンプレートマッチングを用いた動き検出法では、動きベクトルの検出精度が低下する場合がある。例えば、撮像装置に振れが生じて画像のボケ量が大きくなり、画像が不鮮明になった場合、画像間の相関を求めることが困難となって動きベクトルの検出精度が低下する可能性がある。なお、不鮮明な画像とは、例えばエッジ等の高周波成分が減衰した画像をいう。
【０００４】
特許文献１の方法では、撮像装置の振れ量によって、画像のリサイズ倍率を決定し、リサイズ処理済みの画像を用いてテンプレートマッチングにより動きベクトルが検出される。また特許文献２の方法では、撮像装置の位置姿勢変化情報と撮像装置の防振制御情報に基づいて、テンプレートマッチングの探索範囲および／または探索位置を設定することで動きベクトルが検出される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−６０６５４号公報
【特許文献２】特開２０１６−４６６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の方法では、撮像装置の振れ量によって、画像のリサイズ倍率を小さくする場合、撮像装置の制御状態によっては、画像のボケ量が小さい場合が起こりうる。この場合、画像が鮮明であるにもかかわらず、リサイズ処理によって、テンプレートマッチングによる動きベクトルの検出精度が低下してしまうという問題がある。また特許文献２のように、テンプレートマッチングの探索範囲および／または探索位置を制御する方法では、テンプレート画像にて撮像装置の振れ残りによるボケ量が大きい場合に、動きベクトルを検出できない可能性がある。
【０００７】
仮に特許文献１、特許文献２に開示された方法を単に組み合わせたとしても、期待通りの性能向上は得られない。例えば、撮像装置の位置姿勢変化情報と撮像装置の防振制御情報に基づいて画像のリサイズ率を決定し、リサイズ処理済みの画像を用いて動きベクトルの検出を行うことを想定する。この場合に、撮像装置の振れ量が一旦大きくなると、画像のリサイズ率が高くなるため、動きベクトルの検出精度が低下してしまう。撮像装置の振れ量が大きく変化する時点の前後では、手振れ補正後の画像の位置にずれが生じ、その結果、手振れ補正後の動画像の品位が低下する可能性がある。たとえ画像のリサイズ率を低減したとしても、画像のボケ量が大きな画像に対して、動きベクトルの誤検出や検出成功率の低下が起こりうる。このため、手振れ補正後の動画像の品位低下が懸念される。
本発明は、被写体の動き量の検出精度を維持しつつ、像ブレ補正性能をより向上させた画像処理を行うことを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の装置は、像ブレ補正手段を備える撮像装置により撮像される画像を処理する画像処理装置であって、前記像ブレ補正手段により補正される前記画像のブレ量を用いて前記画像のボケ量を算出する算出手段と、撮像された画像から、前記算出手段による前記画像のボケ量を用いて動きベクトル検出の基準となる基準画像を選択する画像選択手段と、前記ボケ量に対応する縮小率を決定し、選択された前記基準画像、および当該基準画像と比較される参照画像を縮小する画像縮小手段と、画像縮小された前記基準画像と前記参照画像から動きベクトルを検出する検出手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、被写体の動き量の検出精度を維持しつつ、像ブレ補正性能をより向上させた画像処理を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る撮像装置の概略構成を示すブロック図である。
【図２】第１実施形態における像ブレ補正の制御部の構成を示すブロック図である。
【図３】第１実施形態における画像処理部の構成を示すブロック図である。
【図４】第１実施形態におけるカメラワーク判定制御処理のフローチャートである。
【図５】端処理判定制御処理のフローチャートである。
【図６】基準画像選択処理のフローチャートである。
【図７】基準画像選択処理を説明する模式図である。
【図８】画像縮小処理のフローチャートである。
【図９】画像縮小率の設定処理を説明する図である。
【図１０】動きベクトル検出処理のフローチャートである。
【図１１】第２実施形態における像ブレ補正の制御部の構成を示すブロック図である。
【図１２】第２実施形態におけるベクトルゲイン制御処理のフローチャートである。
【図１３】第２実施形態におけるベクトルゲイン設定処理を説明する図である。
【発明を実施するための形態】
【００１１】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。各実施形態では、撮像装置としてのデジタルカメラに本発明を適用した例を説明する。なお、本発明の適用範囲が撮像装置に限定されることはなく、撮像部を備える情報処理装置や、撮像機能をもつ携帯端末装置等に幅広く適用可能である。
【００１２】
［第１実施形態］
図１は、本実施形態に係る撮像装置１００の概略構成を示すブロック図である。制御部１０１はＣＰＵ（中央演算処理装置）を備え、撮像装置１００の各構成部の動作を制御する。ＣＰＵは、撮像装置１００が備える各構成部の動作プログラムをＲＯＭ（リード・オンリ・メモリ）１０２から読み出し、ＲＡＭ（ランダム・アクセス・メモリ）１０３に展開して実行する。ＲＯＭ１０２はデータ書き換え可能な不揮発性メモリであり、撮像装置１００が備える各構成部の動作プログラムに加え、各部の動作に必要なパラメータ等を記憶する。ＲＡＭ１０３はデータ書き換え可能な揮発性メモリであり、撮像装置１００が備える各構成部の動作において出力されたデータの一時的な記憶領域としても使用される。
【００１３】
光学系１０４はレンズ等で構成された撮像光学系であり、不図示のフォーカスレンズ、ズームレンズと、それらの駆動系、絞り等を含む。撮像部１０５はＣＭＯＳ（相補型金属酸化膜半導体）イメージセンサ等の撮像素子を備える。撮像素子は、光学系１０４により結像された光学像を光電変換し、アナログ画像信号をＡ／Ｄ（アナログ／デジタル）変換部１０６に出力する。Ａ／Ｄ変換部１０６は、入力されたアナログ画像信号に対して、相関二重サンプリング（ＣＤＳ）によるノイズ除去、オートゲインコントロール（ＡＧＣ）のゲインアップによる露出制御、黒レベル補正等を適用し、デジタル信号に変換する。デジタル信号に変換された画像データは、ＲＡＭ１０３に記憶される。また、Ａ／Ｄ変換部１０６は、動きベクトルの探索に用いる、画像処理部１０９への入力画像に対して、別途、ベイヤー配列補間等によるカラー画像生成または輝度画像生成を行ってもよい。この生成処理については、動きベクトル探索用途向けの簡易なレベルでよい。あるいは、動きベクトル検出処理の精度やロバスト性を向上させるために、ローパスフィルタリング処理やハイパスフィルタリング処理、トーンマッピング等の諧調の調整処理が行われてもよい。アナログ信号に対する前処理が主であるため、Ａ／Ｄ変換部１０６における処理の主要部はＡＦＥ（アナログフロントエンド）とも呼ばれる。一方、デジタル出力の撮像素子と対で使われる処理部はＤＦＥ（デジタルフロントエンド）と呼ばれる。
【００１４】
ブレ補正部１０７は、例えば光学式像ブレ補正機構部を構成する。この場合、像ブレの補正部材である補正レンズ（いわゆるシフトレンズ）を、撮像光学系の光軸に対して直交する方向に移動させることにより撮像素子上の光学像の位置を平行移動させる制御が行われる。あるいは、補正レンズとして光学系１０４内のチルトレンズを使用する実施形態もある。補正レンズの駆動制御によって、撮像装置１００の振れにより発生する映像の像ブレを抑制することができる。なお、光学系１０４内の補正レンズの代わりに、撮像部１０５の撮像素子の移動制御を行ってもよい。この場合、ブレ補正部１０７は、ピエゾ素子等による機械的駆動部品からなる像ブレ補正用の補正部材を備え、光学系１０４の光軸に垂直な面上で撮像素子の平行移動を行うことで、像ブレ補正動作が行われる。また電子式像ブレ補正の場合、ブレ補正部１０７は、撮像素子から画像信号として出力される画像の範囲を制御し、画像処理によって像ブレを抑制する。いずれかの像ブレ補正を単独で行う方法と、複数の像ブレ補正を併用する方法がある。
【００１５】
姿勢変化取得部１０８は、撮像装置１００の位置および姿勢の変化（以下、位置姿勢変化ともいう）や振れを検出するセンサを備える。姿勢変化取得部１０８は、例えばジャイロセンサや加速度センサ、電子コンパス等の位置姿勢センサを備える。これらのセンサは、光学系１０４の光軸に直交する任意の軸に取り付けられる。回転検出用のセンサを用いる場合、撮像装置１００のヨー方向、ピッチ方向、ロール方向の各軸にセンサが取り付けられ、各軸を中心軸とする回転による姿勢変化が計測される。計測された姿勢変化量のデータはＲＡＭ１０３に記憶される。なお、姿勢変化取得部１０８に加速度センサや地磁気センサを追加し、位置姿勢変化の検出性能や精度を向上させる構成でもよい。姿勢変化取得部１０８がデジタルセンサではなくアナログセンサを備える場合には、不図示のＤＣ（直流）カットフィルタ、アンプ、Ａ／Ｄ変換器等が構成に加わる。ＤＣカットフィルタは、姿勢変化取得部１０８が回転検出用のセンサを備える場合、角速度信号に含まれるＤＣドリフト成分を遮断し、交流成分、すなわち振動成分のみを通過させる。アンプは、ＤＣカットフィルタを通過して出力された角速度信号を増幅して出力する。Ａ／Ｄ変換器は、アンプで増幅された角速度信号に対してデジタル化処理を行って出力する。これらの機能がセンサアセンブリとして搭載されている場合、撮像装置側への実装を省略することが可能である。なお、ＤＣカットフィルタについては、デジタルセンサの場合でもセンサアセンブリ内の機能で実現されない場合には併用してもよい。
【００１６】
画像処理部１０９は、ＲＡＭ１０３に記憶されている画像データを用いて、撮像時刻の異なる複数の画像間の動きベクトルを推定する。画像処理部１０９の構成については図３を用いて後述する。記録媒体１１０は、撮像装置１００に着脱可能なメモリカード等である。記録媒体１１０には、ＲＡＭ１０３に記憶されている、Ａ／Ｄ変換された画像データや、動きベクトル検出用に前処理を行った入力画像データ、画像処理部１０９で処理された画像データが、記録画像データとして記録される。
【００１７】
図２を参照して、制御部１０１の構成を説明する。図２は、姿勢変化取得部１０８により取得された位置姿勢変化情報に基づいて、ブレ補正部１０７を制御するための構成例を示すブロック図である。制御部１０１はＨＰＦ（ハイパスフィルタ）２０１を備える。ＨＰＦ２０１は、姿勢変化取得部１０８から受信した位置姿勢変化情報、例えば角速度信号の周波数成分のうち、設定された低域カットオフ周波数以下の低周波成分を遮断し、低域カットオフ周波数を超える高周波成分を出力する。ＨＰＦ２０１のカットオフ周波数は、カメラワーク判定・制御部２０４により決定される。オフセット量減算部２０２は、ＨＰＦ２０１から出力される位置姿勢変化の情報に対して所定のオフセット量を減算する。オフセット量は、端処理判定・制御部２０５により決定される。積分部２０３は、オフセット量減算部２０２の出力を取得し、オフセット量減算後の位置姿勢変化情報を積分する。積分結果である位置姿勢変位情報はブレ補正部１０７への補正量情報として出力される。積分の時定数は、カメラワーク判定・制御部２０４により決定される。
【００１８】
カメラワーク判定・制御部２０４は、ＨＰＦ２０１（または姿勢変化取得部１０８）から出力された位置姿勢変化情報、および積分部２０３から出力された位置姿勢変位情報を取得する。これらの情報に基づいて、ユーザによるカメラワークが行われているかどうかの判定（カメラワーク判定）処理が実行される。カメラワークには、撮像装置１００のパンニングやチルティングのように、撮影者の意図により行われる撮影方向の変更動作が含まれる。また、カメラワーク判定・制御部２０４は、カメラワーク制御として、ＨＰＦ２０１のカットオフ周波数の変更と、積分部２０３の積分時定数の変更を行う。
【００１９】
端処理判定・制御部２０５は、積分部２０３から出力された位置姿勢変位情報、言い換えると補正量情報に基づいて端処理の必要性を判定する。端処理制御として、例えばオフセット量減算部２０２に対してオフセット量の変更制御が行われる。ここで端処理とは、像ブレ補正の補正量が、補正部材の物理的な可動限界（いわゆる制御端）、または電子式像ブレ補正の電気的な処理限界に到達し、瞬間的に抑振効果が変化して不自然な映像が生じることを防ぐ処理である。例えば端処理判定・制御部２０５は、補正レンズが制御端に近づくにつれて徐々に抑振率を下げる処理を行う。
【００２０】
ブレ残り算出部２０６は、姿勢変化取得部１０８から位置姿勢変化の情報、つまり撮像装置１００の位置姿勢の変化量を取得し、当該変化量に対して積分部２０３が出力するブレ補正に係る補正量を減算した、撮像画像のブレ残り量を算出する。ブレ残り量の情報はＲＡＭ１０３を介して画像処理部１０９に出力される。
【００２１】
図１のブレ補正部１０７は、例えば光学式像ブレ補正を行う補正部材を制御して像ブレ補正を行う。すなわち、補正部材が光学系１０４に含まれる実施形態にてブレ補正部１０７は、補正レンズの移動を制御する。一方、補正部材が撮像素子に含まれる実施形態にて、ブレ補正部１０７は撮像部１０５内の撮像素子の移動を制御する。あるいは電子式像ブレ補正を行う実施形態にてブレ補正部１０７は、撮像部１０５からの画像の読み出し範囲を制御する。
【００２２】
具体的には、ブレ補正部１０７へ入力される補正量情報が角度情報であって、制御部１０１が算出して出力する補正量情報が角度情報である場合、そのまま制御情報として角度情報が使われる。一方、補正部材の平行移動量や撮像素子の平行移動量が関係する場合には、制御部１０１内での演算により加工された補正情報がブレ補正部１０７へ入力される。例えば、位置姿勢変位情報を角度θと表記し、撮像光学系の焦点距離をｆと表記する。撮像素子の平行移動量がブレ補正部１０７へ入力される場合、（式１）に示す加工された補正量（ｘと記す）が入力となる。
【数１】
2019083448.tif 000003
【００２３】
ブレ補正部１０７へ入力される補正量ｘが撮像装置１００で制御可能な限界を超える場合には、クリッピング処理によって補正可能範囲に補正量が制限される。例えば、補正レンズが補正限界に到達すると端当たり状態となり、突然に抑振状態が途切れる映像として不自然な状態が生じる可能性がある。このような現象を抑制するために、補正量を制限する処理が行われる。
【００２４】
次に、図３を参照して画像処理部１０９の構成を説明する。図３は、画像入力部３０１、画像ボケ算出部３０２、基準画像選択部３０３、画像縮小部３０４、ベクトル検出処理部３０５を備える例を示すブロック図である。
【００２５】
画像入力部３０１は、ＲＡＭ１０３に蓄えられている、動きベクトル検出用に前処理が行われた入力画像データを１フレームずつ取得する。画像ボケ算出部３０２は、画像入力部３０１で取得される画像データに対応する、下記に示す複数の情報を取得する。
（１）ＲＡＭ１０３に記憶されている、制御部１０１から出力された撮影動画のブレ残り量（像ブレ量）。
（２）制御部１０１が制御を行った際の撮像装置１００の情報。
画像ボケ算出部３０２は、画像のボケ量とボケの方向を算出して基準画像選択部３０３および画像縮小部３０４に出力する。（２）に示す撮像装置１００の情報は、撮影時のシャッタ速度Ｔｖと、焦点距離ｆと、出力画像の１ピクセル相当の撮像センサピッチｐの情報を含む。（１）のブレ残り量を角速度φと表記し、ボケ量をＢと表記する。ボケ量Ｂは下記式で表される。
【数２】
2019083448.tif 000004
式２から算出されるボケ量Ｂについては、ヨー方向のボケ量Ｂｙと、ピッチ方向のボケ量Ｂｐがそれぞれ算出される。つまり画像ボケ算出部３０２は、画像のボケ量とボケの方向を、ベクトル量である（Ｂｙ, Ｂｐ）として出力する。ここでは画像のボケ量の大きさおよび方向を使用する例を説明するが、ボケ量の大きさまたは方向だけを使用してもよい。
【００２６】
基準画像選択部３０３は、画像ボケ算出部３０２が算出した画像のボケ量を用いて、動きベクトル検出に用いる基準画像を選択し、基準画像のデータを画像縮小部３０４に出力する。入力されたボケ量があらかじめ設定された閾値より小さい場合、基準画像選択部３０３は入力画像を基準画像として更新する。また入力されたボケ量があらかじめ設定された閾値以上である場合、基準画像選択部３０３は基準画像を更新せず、前回の入力時に選択した画像をそのまま基準画像とする。選択された基準画像のデータは一旦、ＲＡＭ１０３に記憶される。
【００２７】
画像縮小部３０４は、基準画像選択部３０３から基準画像のデータを取得し、画像縮小処理を実行する。画像縮小部３０４は、画像ボケ算出部３０２が算出した画像のボケ量とボケの方向を示す（Ｂｙ, Ｂｐ）を用いて、現フレームの画像の縮小率を判定し、判定結果に応じて決定した縮小率で画像を縮小する。また画像縮小部３０４は、現フレームの画像と同様の縮小率で基準画像に対しても縮小処理を行う。縮小処理された画像データは、ＲＡＭ１０３に一旦記憶される。
【００２８】
ベクトル検出処理部３０５は、画像縮小部３０４から入力された基準画像と参照画像とを比較し、両画像間の動きベクトルを検出する。画像縮小部３０４で直近に縮小処理された現フレームの画像を参照画像とし、同様に縮小処理された基準画像との間で動きベクトルが算出される。動きベクトルの算出法には、テンプレートマッチングや各フレームで算出した特徴点間で対応付けを行うテーブルマッチング、勾配法に基づく動きベクトル推定（Ｏｐｔｉｃａｌ  Ｆｌｏｗ推定）等による方法がある。公知の方法により、フレーム間の動きベクトルまたは対応点、特徴点ごとの軌跡が算出される。
【００２９】
画像処理部１０９は上記処理以外に、ベイヤー配列補間、線形化マトリクス処理、ホワイトバランス調整、ＹＣＣ変換、色差・諧調・コントラスト補正、エッジ強調等の入力デジタル画像信号に対するバックエンドの画像処理を行ってもよい。また、出力画像信号と動きベクトル、または対応点情報、特徴点軌跡からなる動きぶれ情報を組み合わせることができる。動きぶれを抑制するように幾何学的変更を加えることで動画像の電子式像ブレ補正を行うことができる。
【００３０】
また画像処理部１０９は、ベクトル検出処理部３０５で得られた動きベクトルを用いて、レジストレーションした複数枚の合成により広ダイナミックレンジ画像を生成するダイナミックレンジ拡張（ＨＤＲ）処理を行うことができる。ＨＤＲ処理や、複数枚ノイズリダクション（ＮＲ）、超解像処理等は後処理の一種として分類される。これらの処理により一枚の静止画像または動画像が出力画像として生成される。また、動きぶれ情報は、画像の補足情報として画像のメタ情報、または別途管理の情報としてとり扱われ、３次元再構成、空間マッピング、認識等の付加機能の実現に用いられることもある。
【００３１】
画像処理部１０９で処理された画像情報は、不図示のＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等に一時保存されるか、または、さらに後段処理部へ直接伝送される。後段処理部としては、例えば、任意の保存フォーマットへの変換を行う符号化部や、半導体メモリ等からなる記録部、液晶ディスプレイ等から構成される表示部がある。また、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や有線ＬＡＮ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の有線ケーブル等を接続可能な外部入出力Ｉ／Ｆ（インターフェース）部がある。
【００３２】
次に、図２のカメラワーク判定・制御部２０４が行う処理について詳説する。図４は、制御部１０１にて実行されるカメラワーク判定制御処理を示すフローチャートである。図４に示す処理において、姿勢変化取得部１０８が位置姿勢変化情報を出力するタイミングは、例えばジャイロセンサのサンプリングタイミングである。姿勢変化取得部１０８による位置姿勢変化情報の検出処理は、所定の時間間隔で繰り返し実施される。
【００３３】
図４のＳ４０１でカメラワーク判定・制御部２０４は、ＨＰＦ２０１（または姿勢変化取得部１０８）から出力された位置姿勢変化情報および積分部２０３から出力された位置姿勢変位情報を取得する。以降の説明では、位置姿勢変化情報をジャイロセンサにより検出される角速度情報とし、位置姿勢変位情報をその積分である角変位情報として説明する。なお、加速度センサを用いて位置変化を検出し、または位置変位を扱う場合にも以降の処理と同様の処理となる。
【００３４】
次のＳ４０２でカメラワーク判定・制御部２０４は、Ｓ４０１で取得した角速度情報の絶対値または角変位情報の絶対値が、各々に対応する閾値以上であるか否かを判定することによって、カメラワークの有無を判断する。各閾値はカメラワーク開始判定用閾値であり、あらかじめ設定されている。角速度情報の絶対値または角変位情報の絶対値が各々の閾値以上であると判定された場合、カメラワーク有り、と判断される。この場合、カメラワーク判定フラグ（以下、第１フラグという）がＯＮにセットされる。以下、第１フラグがＯＮにセットされているときを、第１フラグＯＮ時という。
【００３５】
カメラワーク判定では、第１フラグのＯＮ／ＯＦＦ設定だけでなく、その強さの段階を判定する処理が行われてもよい。例えば、角速度情報の絶対値から得られた強度レベル、または角変位情報の絶対値から得られた強度レベルが使用される。いずれか高い方に合わせてカメラワーク判定の強度レベルを決定する処理が実行される。
【００３６】
Ｓ４０２のカメラワーク判定にて、角速度情報の絶対値および角変位情報の絶対値の両方が各々の閾値と比較される。各閾値はカメラワーク終了判定閾値であり、あらかじめ設定されている。カメラワーク終了判定閾値は、カメラワーク開始判定閾値とは異なる値が設定されてもよい。例えば、カメラワーク開始判定閾値を、カメラワーク終了判定閾値よりも高く設定することで安定した切り替えを実現可能である。角速度情報の絶対値および角変位情報の絶対値が各々の閾値を下回った場合、カメラワーク無し、と判断される。この場合、第１フラグがＯＦＦにセットされる。以下、第１フラグがＯＦＦにセットされているときを、第１フラグＯＦＦ時という。
【００３７】
Ｓ４０３でカメラワーク判定・制御部２０４は、第１フラグのＯＮ／ＯＦＦまたはその強度レベルの段階に応じて、ＨＰＦ２０１のカットオフ周波数および積分部２０３の積分時定数の変更制御を行う。第１フラグＯＮ時のＨＰＦ２０１の演算に用いるカットオフ周波数の値は、第１フラグＯＦＦ時のカットオフ周波数の値よりも高く（高域側に）設定される。そして、第１フラグＯＮ時の低周波信号の減衰率を、第１フラグＯＦＦ時の減衰率より大きくする制御が行われる。これにより、ゆったりとした大きな振幅の動きに対する像ブレ補正の感度を下げることができる。
【００３８】
第１フラグＯＮ時には積分部２０３の演算に用いる積分時定数値が、第１フラグＯＦＦ時の積分時定数値より小さく設定される。これにより、過去からのフィードバックゲインを下げ、積分結果である角変位情報が基準値（例えば変位ゼロ）に戻る際のスピードを大きくすることができる。
【００３９】
次に端処理判定・制御部２０５が行う処理について詳説する。例えば、ユーザが歩きながら撮影を行う際に手振れが発生し、手振れの大きさが光学式像ブレ補正機構部の可動範囲を超える場合を想定する。この場合、平常時にも光学式像ブレ補正機構部の作動が継続していると、端当たり、つまり可動部が制御可能端（制御範囲の限界値）に到達する可能性がある。端当たりが発生すると抑振効果が突然途絶えて不自然な映像が表示されることとなる。そこで本実施形態では、像ブレ補正部材（または補正動作点）が制御可能端に近づくにつれて、徐々に抑振効果を弱めて急激な端当たりを回避する端処理が実施される。
【００４０】
図５は、制御部１０１が実行する端処理判定制御の処理を示すフローチャートである。なお、図５に示す処理において、姿勢変化取得部１０８が位置姿勢変化情報を出力するタイミングは、上述のカメラワーク判定制御処理と同様に、ジャイロセンサのサンプリングタイミングである。姿勢変化取得部１０８による位置姿勢変化情報の検出処理は、所定の時間間隔で繰り返し実施される。
【００４１】
図５のＳ５０１で端処理判定・制御部２０５は、積分部２０３から出力された位置姿勢変位情報、つまりブレ補正部１０７への補正量情報を取得する。さらに端処理判定・制御部２０５は、以前に取得して不図示のメモリに記憶されている位置姿勢変位情報と、取得した位置姿勢変位情報との差分から、位置姿勢変位情報の変化速度を算出する。なお、カメラワーク判定制御の処理と同様に、位置姿勢変位情報を角変位情報とし、位置姿勢変位情報の変化速度を角変位情報の変化速度として説明する。
【００４２】
次のＳ５０２で端処理判定・制御部２０５は、Ｓ５０１で取得または算出した角変位情報の絶対値または角変位情報の変化速度の絶対値が各々に対応する閾値以上であるか否かを判定することにより、端処理の必要性の有無を判断する。各閾値は端処理開始判定閾値であり、あらかじめ設定されている。角変位情報の絶対値または角変位情報の変化速度の絶対値が各々の閾値以上であると判定された場合、端処理の必要ありと判断される。この場合、端処理判定フラグ（以下、第２フラグという）がＯＮにセットされる。
【００４３】
端処理判定では、第２フラグのＯＮ／ＯＦＦだけでなく、その強さの段階を判定してもよい。例えば、角変位情報の絶対値から得られた強度レベル、または角変位情報の変化速度の絶対値から得られた強度レベルが使用される。いずれか高い方に合わせて端処理判定の強度レベルを決定する処理が行われる。
【００４４】
Ｓ５０２の端処理判定にて、角変位情報の絶対値および角変位情報の変化速度の絶対値が各々の閾値と比較される。各閾値は端処理終了判定閾値であり、あらかじめ設定されている。端処理開始判定閾値と端処理終了判定閾値については、カメラワークに関する判定閾値と同様に、互いに異なる閾値が設定されてもよい。例えば、端処理開始判定閾値を端処理終了判定閾値よりも高く設定することで、安定した切り替えを実現することが可能となる。角変位情報の絶対値および角変位情報の変化速度の絶対値が各々の閾値を下回った場合、端処理の必要なしと判断される。この場合、第２フラグがＯＦＦにセットされる。
【００４５】
Ｓ５０３で端処理判定・制御部２０５は、第２フラグのＯＮ／ＯＦＦまたはその強度レベルの段階に応じて、オフセット量減算部２０２のオフセット量を制御する。第２フラグがセットされている第２フラグＯＮ時のオフセット量は、第２フラグがＯＦＦにセットされている第２フラグＯＦＦ時のオフセット量より大きく設定される。第２フラグＯＦＦ時に比べて、第２フラグＯＮ時のオフセット量減算部２０２の出力値が小さくなり、また端処理判定の強度レベルが高くなるほど小さくなるようにオフセットの符号が制御される。これにより、角速度情報に対して、可動部が端に近づくほど基準値（例えば変位ゼロ、像ブレ補正機構部の中立位置）へと引き戻すバイアスが強くかけられるので、端当たりの発生を抑制することができる。
【００４６】
本実施形態では、カメラワーク判定制御と端処理判定制御とを分けて説明した。実際には、どちらも撮像装置に加わる大きな振れを位置姿勢変化情報として検出し、端当たりを防ぐという意味では同じ性質の処理である。カメラワークに対する抑振効果を高めるために端処理のオフセット減算を用いるか、または端当たりを防ぐために上述した各制御を用いてもよい。また、カメラワーク判定と端処理判定の両方法を組み合わせてもよい。
【００４７】
次に図６を参照して、基準画像選択部３０３が行う基準画像の選択処理について詳説する。図６は基準画像の選択処理を示すフローチャートである。
Ｓ６０１で基準画像選択部３０３は、画像ボケ算出部３０２が算出した画像のボケ量（Ｂｙ, Ｂｐ）を取得する。次のＳ６０２で基準画像選択部３０３は、Ｓ６０１で取得したボケ量が閾値以上であるか否かにより、基準画像の更新について必要性の有無を判定する。ボケ量に対する閾値をＢｔと表記する。一例として、ヨー方向とピッチ方向におけるボケ量の絶対値を算出する場合を説明する。出力画像の１ピクセル相当の撮像センサピッチをｐと表記し、任意の定数をｋと表記し、閾値Ｂｔをｋとｐの積で定義する。以下の不等式が条件式として表される。
【数３】
2019083448.tif 000005
【００４８】
式３を満たす場合、つまりボケ量の絶対値が閾値Ｂｔ以下であると判定された場合、基準画像の更新を実行することが判断される。この場合、基準画像更新判定フラグ（以下、第３フラグという）がＯＮにセットされる。一方、式３を満たしていない場合、画像のボケ量が大きいので、基準画像の更新を実行しないことが判断される。この場合、第３フラグがＯＦＦにセットされる。なお、ヨー方向とピッチ方向におけるボケ量を絶対値として評価せず、それぞれ互いに異なる閾値を設定して条件判断を行ってもよい。条件判断方法は特定の方法に限定されない。
【００４９】
Ｓ６０３で基準画像選択部３０３は、第３フラグのＯＮ／ＯＦＦに応じて基準画像を選択する。初期フレームでは、上記式３によらず初期フレームの画像が基準画像として選択されるものとする。それ以降のフレームでは、第３フラグＯＮ時には、次の入力フレームに対する基準画像を更新し、現フレームの画像を次の入力フレームに対する基準画像として選択する処理が行われる。また第３フラグＯＦＦ時には、次の入力フレームに対する基準画像は変更されず、前回の入力フレームで選択されたフレームの画像のままである。選択された次のフレームの基準画像データはＲＡＭ１０３に一旦記憶される。
【００５０】
図７を参照して、基準画像選択部３０３の処理例を具体的に説明する。図７は、フレーム番号とボケ量との関係についてグラフで例示する模式図である。図７の横軸は、時系列にしたがって順次入力される画像のフレーム番号を示す。縦軸は上記式３の右辺で算出されるボケ量を示す。各フレームがそれぞれのボケ量の位置に矩形範囲でプロットされている。基準画像更新の閾値を点線で示す。また、各フレームの画像が入力された時点での設定される基準画像と参照画像をグラフの下の表に示している。フレーム番号を変数Nで表記する。
【００５１】
まず初期フレームであるN=0のフレームの画像が入力され、基準フレームの画像として選択される。次に第１（N=1）フレームの画像が入力されて参照画像となる。第１フレームではボケ量が閾値以下であるので、第１フレームの画像は次の入力フレーム（第２フレーム）に対する基準画像として選択され、基準画像が更新される。次に第２（N=2）フレームの画像が入力されて参照画像となる。第２フレームではボケ量が閾値以上であるので、次の入力フレーム（第３フレーム）に対する基準画像は更新されず、基準画像は第１フレームの画像のままとなる。第３（N=3）フレームではボケ量が閾値を上回るので、N=2の時と同様に基準画像は更新されない。第４（N=4）フレームの画像が入力され、第４フレームの画像は参照画像として選択される。そして第４フレームではボケ量が閾値以下であるので、第４フレームの画像が次の入力フレーム（第５フレーム）に対する基準画像として選択され、基準画像が更新される。最後に第５（N=5）フレームの画像が入力され、参照画像として選択される。
【００５２】
以上のように基準画像選択処理が行われることで、動きベクトルの検出精度を向上させることができる。例えば第４フレームでは、ボケ量が小さい第１フレームの画像を基準画像として動きベクトル検出が行われるため、隣接するフレーム間で動きベクトルを検出する場合に比較して、ベクトル検出精度が高いことが判る。
【００５３】
本実施形態では、画像のボケ量のみを用いて基準画像の更新を判定する例を説明した。撮影により取得される画像の位置が大きく変化する場合、基準画像の位置と参照画像の位置が大きく異なる場合がある。この場合、共通の画像領域、つまりオーバーラップ領域が狭くなりベクトル検出の精度が低下する可能性がある。例えば画像のボケ量が閾値を超えるフレームが複数のフレームに亘って続き、かつ撮像装置の姿勢変化量が大きく変化するような場合を想定する。基準画像が更新されず、オーバーラップ領域が狭まることが懸念される。そこで基準画像選択部３０３は、ブレ残り算出部２０６が算出したブレ残り量、またはベクトル検出処理部３０５が算出した動きベクトル量を用いて、基準画像が更新されない期間での画像の位置の変化量を閾値と比較する。画像の位置の変化量が閾値を超えた場合には基準画像の更新処理が実行される。具体的には、基準画像が更新されない期間に、画像の位置の変化量が所定の閾値を超えた場合、基準画像の更新する際のボケ量の閾値を大きくする変更処理が行われる。これにより、判定基準を緩和させる効果が得られる。あるいは、任意のフレームの画像を基準画像として更新する処理を行ってもよい。任意のフレームを選択する場合、参照画像に対して画角の変化が小さく、かつボケ量が小さい画像を選択することが好ましい。
【００５４】
図８を参照して、画像縮小部３０４が行う処理について詳説する。図８は、画像縮小処理のフローチャートである。Ｓ８０１で画像縮小部３０４は、画像ボケ算出部３０２が算出した画像のボケ量（Ｂｙ, Ｂｐ）を取得する。
【００５５】
次に、Ｓ８０２で画像縮小部３０４は、Ｓ８０１にて取得したボケ量の大きさとその方向に応じて画像の縮小率を設定する。図９を用いて具体例を説明する。図９に示すグラフにおいて、横軸はボケ量を表わし、縦軸は画像の縮小率を表わす。グラフ曲線９０１で示すように、ボケ量が増加するにつれて縮小率が大きくなる。つまりボケ量が小さいときは縮小率が低く、ボケ量が大きくなるほど縮小率が高く設定される。縮小率については、ボケ量に対して段階的または離散的に設定してもよい。さらに縮小率はボケの方向を加味して画像の縦方向と横方向に対してそれぞれ設定される。つまり画像縮小部３０４は、画像のボケ量Ｂｙを用いて画像の横方向の縮小率を設定し、画像のボケ量Ｂｐを用いて画像の縦方向の縮小率を設定する。画像のボケ方向に応じて縮小率を制御することによって、画像のボケ量が小さい方向に対しては縮小率を低く設定することが可能となり、その結果、動きベクトルの検出精度の低下を抑えることができる。
【００５６】
図８のＳ８０３で画像縮小部３０４は、Ｓ８０２で設定した画像の縦横方向のそれぞれの縮小率にしたがって画像縮小処理を行う。画像縮小処理では、単純な間引きによる縮小処理、または縮小率に応じて画像の折り返しを防止するローパスフィルタリング処理を施したのちに間引き縮小処理が行われる。動きベクトル算出を行う基準画像と参照画像については同じ縮小率で縮小処理が行われる。基準画像と参照画像の各縮小率のうち、より高い方の縮小率で縮小処理が行われる。
【００５７】
次に図１０を参照して、ベクトル検出処理部３０５が行う処理について詳説する。図１０は、ベクトル検出処理のフローチャートである。図１０において、Ｓ１００１でベクトル検出処理部３０５は、画像縮小部３０４から出力された基準画像と参照画像を取得する。Ｓ１００２では、基準画像選択部３０３が判定した第３フラグ（基準画像更新判定フラグ）のＯＮ／ＯＦＦを参照して分岐処理が行われる。第３フラグがＯＮの場合にＳ１００４に進み、ＯＦＦの場合にＳ１００３に進む。
【００５８】
Ｓ１００３でベクトル検出処理部３０５は、ベクトル検出設定の制御を行う。基準画像の更新が行われていない期間でブレ残り算出部２０６が算出したブレ残り量またはベクトル検出処理部３０５が算出した動きベクトル量を積算して、ベクトル探索範囲の位置を設定する処理が実行される。Ｓ１００３の処理の実行時には、基準画像の更新が行われていないので、基準画像の位置と参照画像の位置とが大きく異なる場合が起こりうる。この場合、基準画像の更新されない期間が複数のフレームに亘って続くと、画像間の位置ずれ量がより顕著になりうる。そこで、基準画像に対して参照画像のベクトル検出の探索範囲を広げる必要が生じる。しかし、探索範囲を広げると、それ分だけ他の類似パターンによってベクトルの誤検出が生じうるので、ベクトル検出精度が低下する可能性がある。また探索範囲の拡大は、処理負荷の増加につながる。これに対し、本実施形態では、ベクトル検出の探索範囲の位置を変更する制御により、ベクトル検出の探索範囲を拡大することなく、ベクトル検出を行うことができる。Ｓ１００３の処理後、Ｓ１００４に進む。
【００５９】
Ｓ１００４でベクトル検出処理部３０５は、基準画像と参照画像の各データを用いてベクトル検出処理を行う。第３フラグがＯＮの場合、隣接するフレーム間でベクトル検出処理が行われるので、探索範囲の位置はデフォルトの設定（例えば、画像上の同じ像高の位置）で実施される。一方、第３フラグがＯＦＦの場合、Ｓ１００３で設定された探索範囲の位置設定でベクトル検出処理が行われる。算出された動きベクトルに関しては、それぞれの縮小率に応じて、画像の水平方向、垂直方向のベクトル値が補正された後に出力される。
【００６０】
本実施形態では、撮像装置の振れによって画像にボケが生じる場合でも動きベクトルの検出精度をより向上させ、像ブレ補正性能を十分に発揮することができる。
【００６１】
［第２実施形態］
次に、本発明の第２実施形態を説明する。本実施形態の撮像装置は、取得した動きベクトルをリアルタイムの像ブレ補正処理にフィードバックする。なお、第１実施形態との相違点を主に説明し、第１実施形態と同様の構成要素については既に使用した符号を用いることによって、それらの詳細な説明を省略する。
【００６２】
図１１は、本実施形態に係る撮像装置の制御部１０１の構成を示すブロック図である。図２に示す構成との相違点は、ベクトルゲイン設定・制御部１１００が追加されていることである。ベクトルゲイン設定・制御部（以下、単に設定・制御部という）１１００は、画像処理部１０９が算出したフレーム間の動きベクトル、および画像のボケ量の情報を取得する。設定・制御部１１００は、画像のボケ量に応じてゲイン値を設定し、入力された動きベクトルにゲインを乗算し、出力を加工する。設定・制御部１１００の出力は、ＨＰＦ２０１から出力される位置姿勢変化情報に対して加算部ＡＤＤで加算される。加算後の位置姿勢変化情報は、オフセット量減算部２０２に入力される。このようにして、ブレ残りによって生じた画像から算出される撮像装置のブレ量に対して、像ブレ補正制御におけるフィードバック処理が行われる。
【００６３】
図１２を参照して、設定・制御部１１００が行う処理について説明する。図１２は、ベクトルゲイン設定および制御を説明するフローチャートである。Ｓ１２０１で設定・制御部１１００は、画像処理部１０９が算出したフレーム間の動きベクトルと画像のボケ量を取得する。
【００６４】
Ｓ１２０２で設定・制御部１１００は、Ｓ１２０１で取得した画像のボケ量を用いてベクトルゲインの設定を行う。図１３を用いて具体例を説明する。図１３はゲイン値の設定方法をグラフで示しており、横軸はボケ量を表わし、縦軸はゲイン値を表わす。グラフ線１３０１に示すように、ボケ量が小さいときにゲイン値が小さく、ボケ量が大きくなるほどゲイン値が低く設定される。ボケ量が所定の閾値以下である範囲（Ｂsh以下の範囲）においてゲイン値は１である。ボケ量が閾値Ｂshを超えると、ボケ量の増加につれてゲイン値が線形的に減少する。なお、ゲイン値をボケ量に対して段階的または離散的に設定してもよい。また、ヨー方向、ピッチ方向のボケ量に対して、ベクトルの水平方向、垂直方向それぞれのゲイン値を設定してもよく、双方に対して同様のゲイン値を設定してもよい。
【００６５】
Ｓ１２０３で設定・制御部１１００は、Ｓ１２０２で設定したゲインを、画像処理部１０９から入力された動きベクトル値に乗算し、ＨＰＦ２０１から出力される位置姿勢変化情報と同じ周波数出力に加工して図１１の加算部ＡＤＤへ出力する。その際には、ゲインの乗算前に入力された動きベクトル値に対して、ローパスフィルタリング処理を行って加工してもよい。
【００６６】
以上の処理を行うことで、ボケ量が大きく動きベクトルの信頼性が低い場合には、ベクトルフィードバック作用を弱める制御が行われる。他方、ボケ量が小さく動きベクトルの信頼性が高い場合には、ベクトルフィードバック作用を強める制御が行われる。
本実施形態では、第１実施形態の効果に加えて、算出された動きベクトルをリアルタイムの像ブレ補正処理にフィードバックすることで、像ブレ補正性能をさらに向上させることができる。
【００６７】
前記実施形態では、撮像部によってリアルタイムに取得される画像データに対する処理を例にして説明したが、それ以外には、記録媒体から読み出される画像データに対する処理としても適用可能である。
【００６８】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６９】
１００  撮像装置
１０１  制御部
１０５  撮像部
１０７  ブレ補正部
１０８  姿勢変化取得部
１０９  画像処理部
【図１】
2019083448.tif 000006
【図２】
2019083448.tif 000007
【図３】
2019083448.tif 000008
【図４】
2019083448.tif 000009
【図５】
2019083448.tif 000010
【図６】
2019083448.tif 000011
【図７】
2019083448.tif 000012
【図８】
2019083448.tif 000013
【図９】
2019083448.tif 000014
【図１０】
2019083448.tif 000015
【図１１】
2019083448.tif 000016
【図１２】
2019083448.tif 000017
【図１３】
2019083448.tif 000018