(57)【要約】【課題】手振れ補正処理の実行の是非をより正確に判定することができる手振れ判定装置、手振れ判定方法、プログラム及び撮像装置を提供する。【解決手段】本発明は、撮像時に画像の手振れ補正処理の実行の是非を判定する手振れ判定に関するもので、撮像画像を複数のブロックに分割しブロック毎に移動ベクトルを算出する手段と、複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出する手段と、信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止する手段とを有する。【選択図】図６
2008219755.tif 000002
【特許請求の範囲】
【請求項１】
撮像時に画像の手振れ補正処理の実行の是非を判定する手振れ判定装置であって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出する手段と、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出する手段と、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止する手段とを有することを特徴とする手振れ判定装置。
【請求項２】
前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする請求項１に記載の手振れ判定装置。
【請求項３】
前記複数のブロックのうち２つのブロックの全ての組み合わせに対して各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする請求項１又は２に記載の手振れ判定装置。
【請求項４】
撮像時に画像の手振れ補正処理の実行の是非を判定する手振れ判定方法であって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出するステップと、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出するステップと、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止するステップとを有することを特徴とする手振れ判定方法。
【請求項５】
前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする請求項４に記載の手振れ判定方法。
【請求項６】
前記複数のブロックのうち２つのブロックの全ての組み合わせにおいて各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする請求項４又は５に記載の手振れ判定方法。
【請求項７】
撮像時に画像の手振れ補正処理の実行の是非を判定するプログラムであって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出するステップと、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出するステップと、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止するステップとを有することを特徴とするプログラム。
【請求項８】
前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする請求項７に記載のプログラム。
【請求項９】
前記複数のブロックのうち２つのブロックの全ての組み合わせにおいて各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする請求項７又は８に記載のプログラム。
【請求項１０】
撮像時に画像の手振れ補正処理の実行の是非を判定する撮像装置であって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出する手段と、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出する手段と、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止する手段とを有することを特徴とする撮像装置。
【請求項１１】
前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする請求項１０に記載の撮像装置。
【請求項１２】
前記複数のブロックのうち２つのブロックの全ての組み合わせにおいて各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする請求項１０又は１１に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラ等で画像を撮像する際に、手振れ補正を実行することの是非を判定する手振れ判定装置、手振れ判定方法、プログラム及び撮像装置に関する。
【背景技術】
【０００２】
例えば、動画撮影機能を有するデジタルスチルカメラやビデオカメラ等を手に持ち動画を撮影する場合、カメラを持つ手が振れると、あるフレームの画像中に映っている静止物画像の位置が次フレームの画面では移動してしまい、見づらい動画になってしまう。そこで、あるフレームの画像に対して次フレームの画像の移動ベクトル（手振れベクトル）を検出し、画像が揺れない様に手振れ補正を行うことが行われている。
【０００３】
図７は、手振れ補正を行うときの移動ベクトルを検出する原理を示す説明図である。図７（ａ）に示すＮフレーム目の画像１中の所定アドレスで示されるブロック２内の画像を基準画像とすると、図７（ｂ）に示す（Ｎ＋１）フレーム目の画像３中の同一所定アドレスで示されるブロック４によって切り出された画像が基準画像と同一であれば、画像１に対して画像３は振れていないことになる。  
【０００４】
しかし、手振れが発生していれば、ブロック２内の基準画像とブロック４で切り出された画像は一致しない。そこで、画像３中のブロック４を、４ａ，４ｂ，４ｃ，…と、Ｘ方向（水平方向），Ｙ方向（垂直方向）に１画素づつずらしながら、各ブロック４ａ，４ｂ，４ｃ，…内の夫々の画像を基準画像と比較し、基準画像と最も相関性が高い比較画像を切り出したブロック位置を求める。
【０００５】
図７（ｂ）に示す例で、ブロック２の基準画像に対し最も相関性の高い比較画像がブロック４ｃで切り出されたとすると、画像１に対する画像３の差はベクトル「ｋ」となる。このベクトルｋが２画面間の移動ベクトルであり、画像１を表示した次に、画像３を移動ベクトルｋと逆方向に移動させて表示すれば、手振れの無い画像を表示することができる。
【０００６】
この様な原理で移動ベクトル（手振れベクトル）ｋを求めるのであるが、通常は、図８（ａ）に示す様に、１画面を複数領域（図示する例では４行４列の計１６個）に分割し、各分割画面毎に図８（ｂ）に示す様に移動ベクトルｋ１〜ｋ１６を求め、これらを平均することで、手振れベクトルｋを求めている。  
【０００７】
また、特許文献１に記載されている従来技術では、フレームのブロックの各画像データと代表点画素の画像データとの差分に基づいて度数分布表を形成し、手振れの判定を行うものである。  
【０００８】
さらに、移動ベクトルの検出し、手振れを判定する技術として、下記特許文献２等がある。
【０００９】
【特許文献１】特開平５―１１０９２９号公報
【特許文献２】特開平５―１５３４６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、画像の撮像時に、被写体と撮像装置との間を車などの移動物体が横切る場合に、移動物体の移動する量を検出して手振れが発生したものとして認識してしまい、手触れ補正処理が実行されてしまうことがある。すると、撮像された画像が移動物体の輪郭線を補足したものとなることで、本来撮像の目的物である被写体が正確に撮像されなくなるという不具合が生じることがあった。
このため、上記特許文献１に示す従来の手振れ判定装置では、撮像範囲内に移動物体が横切る場合に、移動物体が撮像範囲の半分以上に入ると、度数分布上で手振れが発生していると誤って判断され、手振れが発生していないにもかかわらず手振れ補正処理が実行されてしまうことが懸念される。このように、手振れ補正を行うべきものか否かをより正確に判定することで、不適切な手振れ補正処理が実行されることを回避したいという要望があった。
【００１１】
本発明は、上記事情に鑑みてなされたもので、その目的は、手振れ補正処理の実行の是非をより正確に判定することができる手振れ判定装置、手振れ判定方法、プログラム及び撮像装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の上記目的は、下記構成によって達成される。
（１）撮像時に画像の手振れ補正処理の実行の是非を判定する手振れ判定装置であって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出する手段と、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出する手段と、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止する手段とを有することを特徴とする手振れ判定装置。
（２）前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする上記（１）に記載の手振れ判定装置。
（３）前記複数のブロックのうち２つのブロックの全ての組み合わせに対して各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする上記（１）又は（２）に記載の手振れ判定装置。
（４）撮像時に画像の手振れ補正処理の実行の是非を判定する手振れ判定方法であって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出するステップと、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出するステップと、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止するステップとを有することを特徴とする手振れ判定方法。
（５）前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする上記（４）に記載の手振れ判定方法。
（６）前記複数のブロックのうち２つのブロックの全ての組み合わせにおいて各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする上記（４）又は（５）に記載の手振れ判定方法。
（７）撮像時に画像の手振れ補正処理の実行の是非を判定するプログラムであって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出するステップと、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出するステップと、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止するステップとを有することを特徴とするプログラム。
（８）前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする上記（７）に記載のプログラム。
（９）前記複数のブロックのうち２つのブロックの全ての組み合わせにおいて各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする上記（７）又は（８）に記載のプログラム。
（１０）撮像時に画像の手振れ補正処理の実行の是非を判定する撮像装置であって、
撮像画像を複数のブロックに分割し前記ブロック毎に移動ベクトルを算出する手段と、
前記複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出する手段と、
前記信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止する手段とを有することを特徴とする撮像装置。
（１１）前記重み付け値が、２つのブロックの距離が長いほど大きい値とすることを特徴とする上記（１０）に記載の撮像装置。
（１２）前記複数のブロックのうち２つのブロックの全ての組み合わせにおいて各移動ベクトルが一致しているかを示す値と、２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出することを特徴とする上記（１０）又は（１１）に記載の撮像装置。
【００１３】
本発明は、分割された複数のブロックのうち、２つのブロックの組み合わせに対して移動ベクトルを算出し、また、２つのブロックの距離に基づいて重み付けを行うことで、被写体と画面との相対的な移動量を検出するものである。被写体と撮影者との間を移動する移動物体は画面において局所的に位置する傾向があるため、離れた２つのブロックの距離をそれよりも近い２つのブロックの距離よりも重み付けを大きくすることで、移動物体の移動でなく手振れによる被写体の移動であることをより正確に判別することができる。このため、本発明によれば、手振れ補正を行うべきものか否かをより正確に判定でき、不適切な手振れ補正処理が実行されることを回避できる。
【発明の効果】
【００１４】
本発明によれば、手振れ補正処理の実行の是非をより正確に判定することができる手振れ判定装置、手振れ判定方法、プログラム及び撮像装置を提供できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態を図面に基づいて詳しく説明する。
図１は、本発明にかかる撮像装置及び手振れ判定装置の一実施形態に係るデジタルカメラのブロック構成図である。このデジタルカメラは、撮像部２１と、撮像部２１から出力されるアナログの画像データを自動利得調整（ＡＧＣ）や相関二重サンプリング処理等のアナログ処理するアナログ信号処理部２２と、アナログ信号処理部２２から出力されるアナログ画像データをデジタル画像データに変換するアナログデジタル変換部（Ａ／Ｄ）２３と、後述のシステム制御部（ＣＰＵ）２９からの指示によってＡ／Ｄ２３，アナログ信号処理部２２，撮像部２１の駆動制御を行う駆動部（タイミングジェネレータＴＧを含む）２４と、ＣＰＵ２９からの指示によって発光するフラッシュ２５とを備える。
【００１６】
撮像部２１は、被写界からの光を集光する光学レンズ系２１ａと、該光学レンズ系２１ａを通った光を絞る絞りやメカニカルシャッタ２１ｂと、光学レンズ系２１ａによって集光され絞りによって絞られた光を受光し撮像画像データ（アナログ画像データ）を出力する固体撮像素子２１ｃとを備える。
【００１７】
本実施形態のデジタルカメラは更に、Ａ／Ｄ２３から出力されるデジタル画像データを取り込みホワイトバランス補正，ＲＧＢ／ＹＣ変換処理等を行うデジタル信号処理部２６と、画像データをＪＰＥＧ形式などの画像データに圧縮したり逆に伸長したりする圧縮／伸長処理部２７と、メニューなどを表示したりスルー画像や撮像画像を表示する表示部２８と、デジタルカメラ全体を統括制御するシステム制御部（ＣＰＵ）２９と、フレームメモリ等の内部メモリ３０と、ＪＰＥＧ画像データ等を格納する記録メディア３２との間のインタフェース処理を行うメディアインタフェース（Ｉ／Ｆ）部３１と、これらを相互に接続するバス４０とを備え、また、システム制御部２９には、ユーザからの指示入力を行う操作部２３が接続されている。  
【００１８】
図２は、図１に示したデジタルカメラで電子式手振れ補正処理を行う場合に構成される電子式手振れ補正処理装置５０の機能構成図である。この電子式手振れ補正処理装置５０は、ユーザが図１に示す操作部３３から電子式手振れ補正処理を行う旨の指示入力があったとき、システム制御部２９が手振れベクトル検出プログラムを含む電子式手振れ補正処理プログラムを起動することで、システム制御部２９が配下のデジタル信号処理部２６，内部メモリ３０等を用いて構成する。  
【００１９】
この電子式手振れ補正処理装置５０は、固体撮像素子２１ｃから出力される画像データを間引き処理して縮小画像を生成する間引き処理部５１と、ｎフレーム目（偶数フレーム目）の間引き縮小画像データを格納する第１メモリ５２と、ｎ＋１フレーム目（奇数フレーム目）の間引き縮小画像データを格納する第２メモリ５３と、両メモリ５２，５３から縮小画像データを取り込み手振れベクトルを検出する手振れベクトル検出処理部５５と、検出された手振れベクトルに基づき内部メモリ３０の撮像画像データの読み出し範囲（切り出し範囲）を決める読出制御処理部５６とを備える。
【００２０】
本実施形態では、手振れベクトル検出処理の高速化を図るために間引き処理部５１で基準画像，比較画像の夫々の縮小画像を生成している。演算処理装置として高性能なものが使用できメモリ容量に余裕があれば、間引き処理せずに、元画像データを用いて手振れベクトルを算出することも可能である。
【００２１】
図３は、図２に示す手振れベクトル検出処理部５５の詳細構成図である。この手振れベクトル検出部５５は、基準画像切出回路６１と、比較画像切出回路６２と、両切出回路６１，６２と第１，第２メモリ５２，５３との接続をフレーム切替信号に基づき切り替える切替スイッチ６３と、基準画像切出回路６１から切り出された基準画像と比較画像切出回路６２から切り出された比較画像との比較演算を行い各分割画面毎の移動ベクトルを算出する比較演算器６４と、各移動ベクトルから詳細は後述するようにして手振れベクトルを算出する重み付け演算器６５とを備える。
【００２２】
本実施形態では、図７（ａ）に示す様に１画面を４行４列の計１６個の分割画面に分割し、図７（ｂ）に示す各分割画面毎の移動ベクトルｋ１〜ｋ１６を算出する。計１６個の移動ベクトルを並列演算により同時に算出することも可能である。
【００２３】
しかし、本実施形態では、♯１から♯１６までの分割画面における夫々の移動ベクトルを順に計算するため、比較演算器６４は、基準画像切出回路６１や比較画像切出回路６２に探索範囲♯１〜♯１６を順に指示する信号を出力すると共に、指示した探索範囲内における切出ブロック（図６（ｂ）における４ａ，４ｂ，４ｃ等）の移動指示を比較画像切出回路６２に出力する様になっている。
【００２４】
次に、上述した構成の電子式手振れ補正処理装置５０における動画の手振れ補正処理について説明する。固体撮像素子２１ｃからは、偶数フレームの撮像画像データと奇数フレームの撮像画像データとが交互に出力され、各撮像画像データは、内部メモリ３０に格納される。
【００２５】
固体撮像素子２１ｃから出力される撮像画像データは、内部メモリ３０への格納と並行して、間引き処理部５１を通って縮小画像データとなり、メモリ５２，５３に格納される。
【００２６】
今、ｎフレーム目の画像データに対してｎ＋１フレーム目の画像データの手振れベクトルを検出するとする。つまり、ｎフレーム目の画像データ（縮小画像データ）から基準画像を切り出し、ｎ＋１フレーム目の画像データ（縮小画像データ）から比較画像を切り出し、両者の相関性を求める。
【００２７】
先ず、♯１分割画面における基準画像を所定ブロック枠によって切出回路６１が切り出して比較演算器６４に出力する共に、♯１分割画面における比較画像を所定ブロック枠と同一大きさの切出ブロックによって切出回路６２が切り出し比較演算器６４に出力する。なお、以下では分割画面をブロックともいう。
【００２８】
比較演算器６４は、基準画像の画素データと比較画像の画素データとの差分を縮小画像の１画素単位に求めると共に縮小画像の全画素についての差分の積算値を求める。そして、この積算値が求まる毎に移動指示を比較画像切出回路６２に出力して切出ブロック位置を縮小画像の１画素単位で移動させ、移動後の比較画像と基準画像との上記積算値を求める、という動作を繰り返す。
【００２９】
この様にして求めた各積算値のうち、最小値を示す比較画像が基準画像との相関性が最も高いということができ、この比較画像の切出位置と基準画像の切出位置との差が♯１分割画面における移動ベクトルとなる。
【００３０】
上記手順と同様の動作を♯２〜♯１６の分割画面でも行い、例えば図４に示す様に得られた１６個の移動ベクトルｋ１〜ｋ１６を重み付け演算器６５に渡す。重み付け演算器６５は、比較演算器６４から渡された１６個の移動ベクトルｋ１〜ｋ１６を次式に基づき演算処理し、画面全体の手振れベクトルｋを算出する。
【００３１】
【数１】
2008219755.tif 000003
【００３２】
ここで、分母の「ｆ」とはペア成立で“１”、ペア不成立で“０”となる値である。ペアとは、移動ベクトルｋ１〜ｋ１６の中の任意の２つの組を指す。
【００３３】
例えば、図４に示す１６個の移動ベクトルｋ１〜ｋ１６の中の例えば（ｋ２，ｋ１１）の組を指す。そして、ベクトルｋ２とベクトルｋ１１との差が所定閾値Ａ以下のとき、ペア成立となり、所定閾値Ａを越えて違いが大きい場合にはペア不成立となる。
【００３４】
「Ｐair値」とは、ペア不成立の場合には“０”となり、ペア成立時にはベクトルｋ２とベクトルｋ１１に所定演算を施したベクトル値、例えば加算平均ベクトル値となる。
【００３５】
「Ｌ（ｎ）」とは、図５に示す様に、ペアがｋ２，ｋ１１の場合には両ベクトル間（分割画面♯２，♯１１間）の距離となる。
【００３６】
即ち、数１では、全てのペアの総計の重み付き平均値を手振れベクトルとして算出している。ｋ１とペアになる組は計１５組存在し、ｋ２とペアになる組も計１５組存在し、…、ｋ１６とペアになる組も計１５組存在する。各ペアについて距離を重みとして加算平均することで、精度の高い手振れベクトルを算出することが可能となる。
【００３７】
この様に、本実施形態では、画面中の場所に関係なく、距離が離れた位置で同じ様な方向，長さの移動ベクトルが検出された場合には、その移動ベクトルは「手振れベクトル」の蓋然性が高いとしてその寄与率を高くし、同じ様な方向，長さの移動ベクトルであっても距離が近い場合には移動物体による移動ベクトルである蓋然性が高いため寄与率を小さくしている。このため、移動物体が画面のどの場所に存在していても、手振れベクトルの算出精度を向上させることができる。
【００３８】
算出された手振れベクトルは図２の読出制御処理部５６に出力され、内部メモリ３０から切り出され出力されるｎ＋１フレーム画像の切出範囲（出力範囲）が制御される。
【００３９】
次に、ｎ＋２フレーム目の撮像画像データが固体撮像素子２１ｃから出力され内部メモリ３０に格納されると共に間引き処理部５１で縮小画像データが生成されると、この縮小画像データはメモリ５２に上書きされる。そして、切替スイッチ６３が切り替わり、今度は、ｎ＋１フレーム縮小画像から基準画像が切り出され、ｎ＋２フレーム縮小画像から比較画像が切り出され、上記と同様にして手振れベクトルが検出される。
【００４０】
上述した実施形態では、画面を１６分割して１６個の移動ベクトルを求めているが、画面を更に細分化して各分割画面の移動ベクトルを求め、手振れベクトルを算出することも可能である。しかし、この場合には、ペア数が増大して計算負荷が高くなってしまうという問題が新たに生じる。そこでこの様な場合には、数１において、距離Ｌ（ｎ）が閾値以下の短距離の場合（距離Ｌ（ｎ）は既知である。）には計算から除外し、実際に計算するペア数を減らすことが効果的である。
【００４１】
なお、数１では分母が存在するため、分母が“０”となることが起こり得る。即ち、全て分割画面における移動ベクトルがバラバラとなり、全ペアがペア不成立になってしまう場合がある。例えば、暗い夜空を撮影した場合とか、同一色の壁を撮影した場合には、各分割画面における移動ベクトルはバラバラとなる。この様な場合には、手振れ補正処理を停止する。
【００４２】
または、数１の分母を計算したとき、算出値が所定閾値より小さいか否かを判定し、小さい場合には、数１で求める手振れベクトルの信頼性が無いと判断できるため、手振れベクトルの算出を停止して手振れ補正を一時停止し、あるいは別の方法で手振れベクトルを算出する。
【００４３】
上述した実施形態では、デジタルカメラ内部での処理として説明したが、固体撮像素子２１ｃから出力される画像データを全て記録しておき、これを外部のパーソナルコンピュータ等に取り込み、パーソナルコンピュータが手振れベクトル検出プログラムや電子式手振れ補正プログラムを実行することでも同様に処理が可能である。
【００４４】
本実施形態の撮像装置は、撮像時に画像の手振れ補正処理の実行の是非を判定する機能を有している。以下に、手振れ補正処理の実行を判定する手順を説明する。なお、以下に説明する実施形態においては、上記デジタルカメラの構成を例に説明する。
【００４５】
図６は、手振れ補正処理の実行を判定する処理の手順を示すフローチャートである。
最初に、♯１から♯１６までの分割画面における夫々の移動ベクトルを順に計算する。このため、比較演算器６４は、基準画像切出回路６１や比較画像切出回路６２に探索範囲♯１〜♯１６を順に指示する信号を出力すると共に、指示した探索範囲内における切出ブロック（図６（ｂ）における４ａ，４ｂ，４ｃ等）の移動指示を比較画像切出回路６２に出力する。
【００４６】
次に、♯１から♯１６までの分割画面のうち２つの分割画面に対して、それぞれの移動ベクトルが一致するかを示す「ｆ」と、両ベクトル間の距離に基づく重み付け値「Ｗ（ｎ）」に基づいて信頼性パラメータＡを算出する。すなわち、信頼性パラメータＡは、次式に基づき演算処理される。
【００４７】
【数２】
2008219755.tif 000004
【００４８】
ここで、「ｆ」とは、上記数１のものと同様に、対比する２つの移動ベクトルがそれぞれ同じである場合にペア成立として“１”に設定され、移動ベクトルが異なる場合にペア不成立として“０”と設定される値である。
【００４９】
「Ｗ（ｎ）」とは、対比する分割画面の移動ベクトル同士の距離に対して、予め設定された重みを意味し、具体的には、移動ベクトル同士の距離が長いほど大きく、また、移動ベクトル同士の距離が短いほど小さい値となるように、予め設定されている値である。
【００５０】
すなわち、数２では、互いに距離の離れた移動ベクトルには、重み付け値を大きくすることで、移動ベクトル同士が一致した場合に信頼性パラメータに大きく影響するとともに、互いに距離の近い移動ベクトルには、重み付け値を小さくすることで、移動ベクトル同士が一致した場合に信頼性パラメータへの影響が小さい。
【００５１】
信頼性パラメータＡを算出した後、該信頼性パラメータＡが所定値より大きいか否かを判別する。ここで、所定値は、予め設定された閾値を用いることができ、例えば、使用者が撮影環境などに応じて、閾値のレベルを任意に設定してもよく、または、複数のレベルから選択して所望の閾値に設定することもできる。
【００５２】
信頼性パラメータが所定値より大きい場合には、手振れが発生している可能性が高いものとし、上記手振れ補正処理を実行する。なお、手振れ補正処理は、本実施形態のものに限定されず、従来より公知の手振れ補正を実行してもよい。
【００５３】
信頼性パラメータが所定値以下の場合には、手振れが発生している可能性が低い（例えば、画面において局所的に移動物体が通過した場合など）ものとし、上記手振れ補正処理を停止する。
【００５４】
本発明にかかる手振れ判定方法は、本実施形態の手振れ判定装置及び撮像装置を用いることで好適に実施することができる。すなわち、手振れ判定方法は、撮像画像を複数のブロックに分割しブロック毎に移動ベクトルを算出するステップと、複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出するステップと、信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止するステップとを有する。
【００５５】
本発明にかかるプログラムは、上記手振れ判定方法によって、好適に実施することができる。すなわち、プログラムは、撮像画像を複数のブロックに分割しブロック毎に移動ベクトルを算出するステップと、複数のブロックのうち２つのブロックの各移動ベクトルが一致しているかを示す値と２つのブロックの距離に基づく重み付け値とに基づいて信頼性パラメータを算出するステップと、信頼性パラメータが所定の閾値より小さい場合に、手振れ補正処理を停止するステップとを有する。
【００５６】
本発明は、分割された複数のブロックのうち、２つのブロックの組み合わせに対して移動ベクトルを算出し、また、２つのブロックの距離に基づいて重み付けを行うことで、被写体と画面との相対的な移動量を検出するものである。被写体と撮影者との間を移動する移動物体は画面において局所的に位置する傾向があるため、離れた２つのブロックの距離をそれよりも近い２つのブロックの距離よりも重み付けを大きくすることで、移動物体の移動でなく手振れによる被写体の移動であることをより正確に判別することができる。このため、本発明によれば、手振れ補正を行うべきものか否かをより正確に判定でき、不適切な手振れ補正処理が実行されることを回避できる。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施形態に係るデジタルカメラのブロック構成図である。
【図２】本発明の一実施形態に係る電子式手振れ補正処理装置の機能構成図である。
【図３】図２に示す手振れベクトル検出処理部の詳細構成図である。
【図４】各分割画面毎に求めた移動ベクトルの例示図である。
【図５】ペアとなる移動ベクトル間の距離Ｌ（ｎ）の説明図である。
【図６】手振れ補正処理の実行を判定する処理の手順を示すフローチャートである。
【図７】移動ベクトルの算出原理説明図である。
【図８】分割画面の説明図である。
【符号の説明】
【００５８】
２１  撮像部
２１ｃ  固体撮像素子
２６  デジタル信号処理部
２９  システム制御部
５０  電子式手振れ補正処理部
５５  手振れベクトル検出処理部
６１  基準画像切出回路
６２  比較画像切出回路
６４  比較演算器
６５  重み付け演算器
【図１】
2008219755.tif 000005
【図２】
2008219755.tif 000006
【図３】
2008219755.tif 000007
【図４】
2008219755.tif 000008
【図５】
2008219755.tif 000009
【図６】
2008219755.tif 000010
【図７】
2008219755.tif 000011
【図８】
2008219755.tif 000012