(57)【要約】【課題】信頼度の高いグローバル動きベクトル（ＧＭＶ）の算出を実行する装置および方法を提供する。【解決手段】ブロック対応のローカル動きベクトル（ＬＭＶ）と、ブロック各々のＬＭＶの信頼度指標としてのブロック重みを算出し、ブロック重みに応じてグローバル動きベクトル（ＧＭＶ）を算出する。注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、信頼度と類似度を適用した演算処理により、ブロック重みを算出する。本構成により、信頼度の高いグローバル動きベクトル（ＧＭＶ）を効率的に算出することが可能となる。【選択図】図４
2013066164.tif 000002
【特許請求の範囲】
【請求項１】
フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）として算出するローカル動きベクトル算出部と、
前記ブロック各々に対応するローカル動きベクトル（ＬＭＶ）の信頼度指標としてのブロック重みを算出するブロック重み算出部と、
前記ローカル動きベクトル（ＬＭＶ）と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出するグローバル動きベクトル算出部を有し、
前記ブロック重み算出部は、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理装置。
【請求項２】
前記ブロック重み算出部は、
前記信頼度の高い信頼される近傍ブロックを信頼近傍ブロックとして抽出し、
さらに、前記信頼近傍ブロック中、前記類似度の高い類似ブロックを抽出し、
前記信頼近傍ブロックに対する前記類似ブロックの比率を前記注目ブロックの重みとして設定する処理を実行する請求項１に記載の画像処理装置。
【請求項３】
前記ブロック重み算出部は、
各ブロック対応のローカル動きベクトル（ＬＭＶ）によって対応付けられるブロック間の画素値差分絶対値和を適用して前記信頼度を算出する請求項１に記載の画像処理装置。
【請求項４】
前記ブロック重み算出部は、
各ブロック対応のローカル動きベクトル（ＬＭＶ）によって対応付けられるブロックの分散値または特徴点数を適用して前記信頼度を算出する請求項１に記載の画像処理装置。
【請求項５】
前記ブロック重み算出部は、
注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）が１つのグローバル動き（ＧＭＶ）の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する請求項１に記載の画像処理装置。
【請求項６】
前記ブロック重み算出部は、
画像処理装置内の画像補正部において回転補正可能な許容回転角度を考慮し、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）が前記許容回転角度以内のグローバル動き（ＧＭＶ）の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する請求項５に記載の画像処理装置。
【請求項７】
前記ブロック重み算出部は、
注目ブロックと各近傍ブロックの類似度と、近傍ブロックの信頼度との乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果と、注目ブロックの信頼度を乗算して前記ブロック重みを算出する請求項１に記載の画像処理装置。
【請求項８】
前記ブロック重み算出部は、
注目ブロックと各近傍ブロックの類似度と近傍ブロックの信頼度の乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する請求項１に記載の画像処理装置。
【請求項９】
前記ブロック重み算出部は、
注目ブロックと各近傍ブロックの類似度の加算値を、近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する請求項１に記載の画像処理装置。
【請求項１０】
前記グローバル動きベクトル算出部は、
各ブロック対応のローカル動きベクトル（ＬＭＶ）と、各ブロック重みを適用したコスト演算式を適用して、コストを最小とするグローバル動きベクトル（ＧＭＶ）のパラメータを算出する請求項１に記載の画像処理装置。
【請求項１１】
前記グローバル動きベクトル算出部は、
並進および回転を考慮した３軸対応のグローバル動きベクトルのパラメータ、またはアフィン変換を考慮した６軸対応のグローバル動きベクトルのパラメータを算出する請求項１０に記載の画像処理装置。
【請求項１２】
画像処理装置において実行する画像処理方法であり、
ローカル動きベクトル算出部が、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）として算出するローカル動きベクトル算出ステップと、
ブロック重み算出部が、前記ブロック各々に対応するローカル動きベクトル（ＬＭＶ）の信頼度指標としてのブロック重みを算出するブロック重み算出ステップと、
グローバル動きベクトル算出部が、前記ローカル動きベクトル（ＬＭＶ）と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出するグローバル動きベクトル算出ステップを実行し、
前記ブロック重み算出部は、前記ブロック重み算出ステップにおいて、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理方法。
【請求項１３】
画像処理装置において画像処理を実行させるプログラムであり、
ローカル動きベクトル算出部に、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）として算出させるローカル動きベクトル算出ステップと、
ブロック重み算出部に、前記ブロック各々に対応するローカル動きベクトル（ＬＭＶ）の信頼度指標としてのブロック重みを算出させるブロック重み算出ステップと、
グローバル動きベクトル算出部に、前記ローカル動きベクトル（ＬＭＶ）と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出させるグローバル動きベクトル算出ステップを実行させ、
前記ブロック重み算出ステップにおいて、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、および画像処理方法、並びにプログラムに関する。特に、画像の動きベクトル検出処理を実行する画像処理装置、および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
動画像の圧縮などの画像符号化においては動きベクトルを検出し、動きベクトル情報に基づくデータ圧縮処理が実行される。画像符号化方式として知られるＭＰＥＧ方式では、例えば、各フレームをブロック分割して、現在フレームと参照フレームの対応ブロックごとに動きベクトルを検出する処理が実行される。しかし、ブロック単位の動きベクトル情報を圧縮データに含めるとデータ量が増大することになる。カメラが例えばパン、チルト、あるいは手ぶれなどで移動した場合、各ブロックの動きベクトルはほぼ共通であり、このような場合ブロック単位の動きベクトルではなく、１つのフレームに対応する１つの動きベクトルを設定して符号化処理を行うことでデータ量の削減が可能となる。
【０００３】
個々のブロック単位の動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）と呼び、１つのフレームに対応する１つの動きベクトルはグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）と呼ばれる。グローバル動きベクトル（ＧＭＶ）を利用したデータ符号化は、例えばＭＰＥＧ−４において採用されている。
【０００４】
例えば、図１（ａ）に示すように、時間ｔ０，ｔ１の時間で撮影された２つのフレーム画像１０，１１があるとする。この２フレームではカメラが例えばパン、チルト、あるいは手ぶれなどで移動して撮影されたフレームであり、撮影画像が図に示す通り、全体的に移動している。
【０００５】
このような画像を符号化するような場合、各フレームを例えばｎ画素×ｎ画素の複数のブロックに分割して、各ブロック単位の動きベクトル（ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）、すなわち、ローカル動きベクトル（ＬＭＶ）を検出して、個別のブロック単位の動きベクトルを利用したデータ圧縮および復元処理が従来は行われていた。しかし、パン、チルト、あるいは手ぶれなどでカメラが移動した場合、図１（ｂ）に示すように、どのブロックの動きベクトルもほぼ同じベクトルとなる。
【０００６】
このような場合、図１（ｃ）に示すように画面全体の動きを表現する１つの動きベクトル２１を用い、画像符号化を実行することにより符号化効率を大幅に改善できる。このような画面全体の動きを表現するベクトルがグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）と呼ばれる。
【０００７】
グローバル動きベクトル（ＧＭＶ）は、図に示すような単純な平行移動の他、複数パラメータを用いて、回転、拡大、縮小を伴ったもの、アフィン（Ａｆｆｉｎｅ）変換、投射影変換を用いたデータとして表現可能である。前述したようにグローバル動きベクトル（ＧＭＶ）を適用した符号化方法は、ＭＰＥＧ−４等で採用されている。
【０００８】
ＭＰＥＧ−４では、グローバル動きベクトル（ＧＭＶ）を適用し、グローバル動き補償（ＧＭＣ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）を用いた画像符号化手法が規格として採用されており、符号化装置（Ｅｎｃｏｄｅｒ）側でグローバル動きベクトル（ＧＭＶ）を検出し、復号装置（Ｄｅｃｏｄｅｒ）側で伝送されたグローバル動きベクトル（ＧＭＶ）を用いてグローバル動き補償（ＧＭＣ）による復元が実行される。
【０００９】
グローバル動きベクトル（ＧＭＶ）は、図２に示すように現在フレームと参照フレーム間の対応する類似画素位置（ｘ，ｙ），（ｘ'，ｙ'）の関係を平行移動、回転、拡大、縮小、アフィン（Ａｆｆｉｎｅ）変換、投射影変換などを用いたデータとして表現され、通常は、１つのフレーム画像に対し、１つのグローバル動きベクトル（ＧＭＶ）が適用される。なお、例えば通常のブロックサイズより大きなサイズに画面を分割し、各々にグローバル動きベクトル（ＧＭＶ）を設定してもよい。すなわち、グローバル動きベクトル（ＧＭＶ）はフレーム画像に対して１つとは限らず、フレーム画像に含まれる複数のブロックに共通の動きベクトルとして１つのグローバル動きベクトル（ＧＭＶ）を設定し、１フレームに複数のグローバル動きベクトル（ＧＭＶ）を設定する構成としてもよい。
【００１０】
グローバル動きベクトル（ＧＭＶ）は、例えば平行移動（並進）のみを示すベクトルの場合は、２つのパラメータ［ａ０，ａ１］を用いて以下のように表現される。
ｘ'＝ｘ＋ａ０
ｙ'＝ｙ＋ａ１
【００１１】
平行移動（並進）と回転を考慮したグローバル動きベクトル（ＧＭＶ）は、３つのパラメータ［ａ０，ａ１，ａ２］を用いて以下のように表現される。
ｘ'＝ｓｉｎａ０ｘ−ｃｏｓａ０ｙ＋ａ２
ｙ'＝ｃｏｓａ０ｘ＋ｓｉｎａ０ｙ＋ａ３
【００１２】
アフィン変換に対応するグローバル動きベクトル（ＧＭＶ）は、６つのパラメータ［ａ０，ａ１，ａ２，ａ３，ａ４，ａ５］を用いて以下のように表現される。
ｘ'＝ａ０ｘ−ａ１ｙ＋ａ２
ｙ'＝ａ３ｘ＋ａ４ｙ＋ａ５
【００１３】
投射変換に対応するグローバル動きベクトル（ＧＭＶ）は、８つのパラメータ［ａ０，ａ１，ａ２，ａ３，ａ４，ａ５，ａ６，ａ７］を用いて以下のように表現される。
ｘ'＝（（ａ０ｘ＋ａ１ｙ＋ａ２）／（ａ６ｘ＋ａ７ｙ＋１））
ｙ'＝（（ａ３ｘ＋ａ４ｙ＋ａ５）／（ａ６ｘ＋ａ７ｙ＋１））
【００１４】
動画像フレームからグローバル動きベクトル（ＧＭＶ）を求める場合、図２に示すように、現在フレームと、例えば現在フレームの前後いずれかの時間に撮影された参照フレームとを用いた処理が実行される。グローバル動きベクトル（ＧＭＶ）を求める手法にはいくつかの手法があるが、その１つの手法として、まず、フレーム画像の分割領域であるブロック単位のローカル動きベクトル（ＬＭＶ）を求め、ローカル動きベクトル（ＬＭＶ）を利用してグローバル動きベクトル（ＧＭＶ）を求める手法がある。
【００１５】
この手法は、まず、ブロック単位のローカル動きベクトル（ＬＭＶ）を求め、さらに、ブロック数に対応する複数のローカル動きベクトル（ＬＭＶ）から信頼度の高いローカル動きベクトル（ＬＭＶ）を選択し、選択された信頼度の高いローカル動きベクトル（ＬＭＶ）のみに基づいて１つのグローバル動きベクトル（ＧＭＶ）を求める手法である。
【００１６】
例えば、ｐ個のブロック数に対応するｐ個のローカル動きベクトル（ＬＭＶ）が求められた場合、ｐ個中からｑ個の信頼度の高いローカル動きベクトル（ＬＭＶ）を選択し、（ｐ−ｑ）個の信頼度の低いローカル動きベクトル（ＬＭＶ）は利用することなく、ｍ個の信頼度の高いローカル動きベクトル（ＬＭＶ）のみに基づいて１つのグローバル動きベクトル（ＧＭＶ）を求める。
【００１７】
ローカル動きベクトル（ＬＭＶ）の信頼度情報としては、例えば現在フレームと参照フレームとのブロックマッチングで明確な特徴点一致情報が得られているか否かといった情報が利用される。また、信頼度の高いローカル動きベクトル（ＬＭＶ）に基づいて１つのグローバル動きベクトル（ＧＭＶ）を求める手法としては、例えば最小二乗法が適用される。
【００１８】
このローカル動きベクトル（ＬＭＶ）を利用したグローバル動きベクトル（ＧＭＶ）の導出手法は、従来のローカル動きベクトル（ＬＭＶ）算出の延長上で実行可能であり、既存の構成を利用可能であるという利点がある。しかし、信頼度の高いローカル動きベクトル（ＬＭＶ）の数が少ない場合、グローバル動きベクトル（ＧＭＶ）の信頼度が極端に低下するという欠点がある。
【００１９】
上記欠点を解決するための１つの提案として、特許文献１（特開２００９−６５３３２号公報）に記載された技術がある。
この特許文献１は、例えば、動画像を構成するフレーム画像の分割領域であるブロックに対応するローカル動きベクトル（ＬＭＶ）の平均値を求めて、その平均値との比較する方法を開示している。
しかし、ある画像領域に様々な異なるローカル動きベクトル（ＬＭＶ）が設定されている場合などには、たまたま平均値が注目ブロックのベクトルに近いベクトルになってしまうといった場合も発生し、状況によっては正確な処理ができなくなる場合が発生するといった問題がある。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２００９−０６５３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
本開示は、例えば上記問題点に鑑みてなされたものであり、より信頼度の高いグローバル動きベクトル（ＧＭＶ）を算出可能とした画像処理装置、および画像処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
本開示の第１の側面は、
フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）として算出するローカル動きベクトル算出部と、
前記ブロック各々に対応するローカル動きベクトル（ＬＭＶ）の信頼度指標としてのブロック重みを算出するブロック重み算出部と、
前記ローカル動きベクトル（ＬＭＶ）と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出するグローバル動きベクトル算出部を有し、
前記ブロック重み算出部は、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理装置にある。
【００２３】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、前記信頼度の高い信頼される近傍ブロックを信頼近傍ブロックとして抽出し、さらに、前記信頼近傍ブロック中、前記類似度の高い類似ブロックを抽出し、前記信頼近傍ブロックに対する前記類似ブロックの比率を前記注目ブロックの重みとして設定する処理を実行する。
【００２４】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル（ＬＭＶ）によって対応付けられるブロック間の画素値差分絶対値和を適用して前記信頼度を算出する。
【００２５】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル（ＬＭＶ）によって対応付けられるブロックの分散値または特徴点数を適用して前記信頼度を算出する。
【００２６】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）が１つのグローバル動き（ＧＭＶ）の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する。
【００２７】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、画像処理装置内の画像補正部において回転補正可能な許容回転角度を考慮し、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）が前記許容回転角度以内のグローバル動き（ＧＭＶ）の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する。
【００２８】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と、近傍ブロックの信頼度との乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果と、注目ブロックの信頼度を乗算して前記ブロック重みを算出する。
【００２９】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と近傍ブロックの信頼度の乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する。
【００３０】
さらに、本開示の画像処理装置の一実施態様において、前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度の加算値を、近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する。
【００３１】
さらに、本開示の画像処理装置の一実施態様において、前記グローバル動きベクトル算出部は、各ブロック対応のローカル動きベクトル（ＬＭＶ）と、各ブロック重みを適用したコスト演算式を適用して、コストを最小とするグローバル動きベクトル（ＧＭＶ）のパラメータを算出する。
【００３２】
さらに、本開示の画像処理装置の一実施態様において、前記グローバル動きベクトル算出部は、並進および回転を考慮した３軸対応のグローバル動きベクトルのパラメータ、またはアフィン変換を考慮した６軸対応のグローバル動きベクトルのパラメータを算出する。
【００３３】
さらに、本開示の第２の側面は、
画像処理装置において実行する画像処理方法であり、
ローカル動きベクトル算出部が、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）として算出するローカル動きベクトル算出ステップと、
ブロック重み算出部が、前記ブロック各々に対応するローカル動きベクトル（ＬＭＶ）の信頼度指標としてのブロック重みを算出するブロック重み算出ステップと、
グローバル動きベクトル算出部が、前記ローカル動きベクトル（ＬＭＶ）と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出するグローバル動きベクトル算出ステップを実行し、
前記ブロック重み算出部は、前記ブロック重み算出ステップにおいて、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理方法にある。
【００３４】
さらに、本開示の第３の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
ローカル動きベクトル算出部に、フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）として算出させるローカル動きベクトル算出ステップと、
ブロック重み算出部に、前記ブロック各々に対応するローカル動きベクトル（ＬＭＶ）の信頼度指標としてのブロック重みを算出させるブロック重み算出ステップと、
グローバル動きベクトル算出部に、前記ローカル動きベクトル（ＬＭＶ）と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出させるグローバル動きベクトル算出ステップを実行させ、
前記ブロック重み算出ステップにおいて、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出させるプログラムにある。
【００３５】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００３６】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３７】
本開示の一実施例の構成によれば、信頼度の高いグローバル動きベクトル（ＧＭＶ）の算出を実行する装置および方法が実現される。
具体的には、ブロック対応のローカル動きベクトル（ＬＭＶ）と、ブロック各々のＬＭＶの信頼度指標としてのブロック重みを算出し、ブロック重みに応じてグローバル動きベクトル（ＧＭＶ）を算出する。注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、信頼度と類似度を適用した演算処理により、ブロック重みを算出する。
本構成により、信頼度の高いグローバル動きベクトル（ＧＭＶ）を効率的に算出することが可能となる。
【図面の簡単な説明】
【００３８】
【図１】グローバル動きベクトル（ＧＭＶ）について説明する図である。
【図２】現在フレームと参照フレームの対応点とグローバル動きベクトル（ＧＭＶ）の関係について説明する図である。
【図３】ブロック単位の重み設定例について説明する図である。
【図４】画像処理装置の構成例について説明する図である。
【図５】ブロックマッチングによるローカル動きベクトル（ＬＭＶ）の算出処理例について説明する図である。
【図６】本開示の画像処理装置の実行するブロック重み計算処理の概要について説明する図である。
【図７】本開示の画像処理装置の実行するブロック重み計算処理の具体例について説明する図である。
【図８】本開示の画像処理装置の実行するブロック重み決定処理において適用する信頼度算出処理について説明する図である。
【図９】本開示の画像処理装置の実行するブロック重み決定処理のシーケンスを説明するフローチャートを示す図である。
【図１０】本開示の画像処理装置の実行するブロック重み決定処理において適用する類似度判定処理について説明する図である。
【図１１】本開示の画像処理装置の実行するブロック重み決定処理において適用する類似度判定処理について説明する図である。
【図１２】本開示の画像処理装置の実行するブロック重み決定処理において適用する類似度判定処理について説明する図である。
【図１３】本開示の画像処理装置の実行する重み設定処理に適用する信頼度と類似度の設定例について説明する図である。
【図１４】本開示の画像処理装置の実行するグローバル動きベクトル（ＧＭＶ）の定義について説明する図である。
【図１５】本開示の画像処理装置の実行するグローバル動きベクトル（ＧＭＶ）の導出処理について説明する図である。
【図１６】本開示の画像処理装置の一例である撮像装置の構成と処理について説明する図である。
【図１７】本開示の画像処理装置の構成例について説明する図である。
【発明を実施するための形態】
【００３９】
以下、図面を参照しながら本開示の画像処理装置、および画像処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
１．ローカル動きベクトル（ＬＭＶ）算出ブロックの重みに基づくグローバル動き推定（ＧＭＥ）処理について
２．ブロック重み算出処理の概要
３．ブロック重み算出処理の詳細
４．ブロック対応のローカル動きベクトル（ＬＭＶ）の類似度判定処理の詳細
５．隣接ブロックのＬＭＶ信頼度と類似度判定に基づく重み算出処理例
６．グローバル動きベクトル算出部（ＧＭＥ）の処理について
７．画像処理装置の構成例について
８．本開示の構成のまとめ
【００４０】
［１．ローカル動きベクトル（ＬＭＶ）算出ブロックの重みに基づくグローバル動き推定（ＧＭＥ）処理について］
まず、ローカル動きベクトル（ＬＭＶ）を設定したＬＭＶ設定ブロックの重みに基づくグローバル動き推定（ＧＭＥ）処理について説明する。
【００４１】
本開示の画像処理装置は、連続撮影された画像を入力し、各画像間の動きに対応するグローバル動きベクトル（ＧＭＶ）を求める処理を実行する。本開示の画像処理装置は、まず画像を構成するフレーム画像の分割領域であるブロック単位のローカル動きベクトル（ＬＭＶ）を求め、ローカル動きベクトル（ＬＭＶ）を利用してグローバル動きベクトル（ＧＭＶ）を求める。
【００４２】
本開示の構成では、ローカル動きベクトル（ＬＭＶ）に対応するブロック各々に対して信頼度や類似度を算出し、信頼度や類似度に応じた重み（Ｗｅｉｇｈｔ）を定義し、個々のローカル動きベクトル（ＬＭＶ）の重み（Ｗｅｉｇｈｔ）を勘案してグローバル動きベクトル（ＧＭＶ）を求める。
【００４３】
本開示の画像処理装置におけるグローバル動きベクトル（ＧＭＶ）の導出手法の概要について、図３を参照して説明する。本開示の手法は、まず、図３（ａ）に示すように、１つのフレーム画像５０を多数の画像区分領域であるブロック５１に分割する。さらに、各ブロックに対するローカル動きベクトル（ＬＭＶ）を求め、その後、図３（ｂ）に示すように、全てのブロックに信頼度や類似度に応じた重み（ｗｅｉｇｈｔ）を設定する。図３（ｂ）に示す０．３、０．５、１．０等の数値が各ブロック単位のローカル動きベクトル（ＬＭＶ）の信頼度や類似度に応じた重み（ｗｅｉｇｈｔ）を示す数値である。１．０が最も信頼度や類似度の高いＬＭＶ対応の重みであり、信頼度や類似度の低いＬＭＶ対応の重みは数値が小さくなる。
【００４４】
本開示の画像処理装置におけるグローバル動きベクトル（ＧＭＶ）の導出においては、に図３（ｂ）のブロック単位の重み設定例に示すように、各ローカル動きベクトル（ＬＭＶ）の設定ブロックに対して、ローカル動きベクトル（ＬＭＶ）の信頼度やや類似度に応じた重みを設定する。
その後、個々のローカル動きベクトル（ＬＭＶ）の重み（Ｗｅｉｇｈｔ）を考慮してグローバル動きベクトル（ＧＭＶ）を求める。
【００４５】
グローバル動きベクトル（ＧＭＶ）の算出処理の詳細について、図４を参照して説明する。図４は、本開示の画像処理装置内に設定されるグローバル動きベクトル（ＧＭＶ）生成部の構成例を示している。入力は、現在フレーム画像と参照フレーム画像であり、出力がグローバル動きベクトル（ＧＭＶ）となる。
参照フレーム画像は、現在フレーム画像と異なる時間に撮影された画像である。具体的には、現在フレーム画像の前フレーム、あるいは後フレームの画像である。各フレーム画像の撮影間隔は既知であるとする。
【００４６】
画像処理装置内に設定されるグローバル動きベクトル（ＧＭＶ）生成手段は、図４に示すように、ローカル動きベクトル算出部（ＬＭＥ）１０１と、ブロック重み算出部１０２と、グローバル動きベクトル（ＧＭＶ）算出部１０３を有する。
【００４７】
ローカル動きベクトル算出部（ＬＭＥ）１０１は、現在フレーム画像と、参照フレーム画像を入力して、１フレームを小領域のブロックに分割した各ブロック対応の動きベクトル、すなわちローカル動きベクトル（ＬＭＶ）を算出する。なお、このローカル動きベクトル算出部（ＬＭＥ）１０１における処理は、従来から公知の例えばブロックマッチング処理を適用した処理として実行可能である。
【００４８】
すなわち、現在フレーム画像に設定したブロックの画素構成に最も近い画素構成を持つブロックを、参照フレーム画像から探索する。このブロック探索結果として得られた２つのブロック間の移動情報に基づいて各ブロック対応のローカル動きベクトル（ＬＭＶ）を算出する。
【００４９】
図５を参照して、ブロックマッチング処理を適用したローカル動きベクトル（ＬＭＶ）の算出処理例について説明する。
図５（ａ）には、現在フレーム画像（Ｔ）と、その現在フレーム画像の直前に撮影された参照フレーム画像（Ｒ）を示している。現在フレーム画像に設定したブロックｂｔの画素構成に最も近い画素構成を持つ参照フレーム画像内のブロックｂｒを探索する。
このｂｒからｂｔに向かうベクトルがローカル動きベクトル（ＬＭＶ）となる。
【００５０】
このローカル動きベクトル（ＬＭＶ）の算出処理は、図５（ｂ）に示す式に従って実行される。
現在フレーム画像と参照フレーム画像の対応ブロックの画素値情報の差分絶対値和である最小残差（ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を生成して、このＳＡＤ値が最小となるブロックを対応ブロックとして選択して、ローカル動きベクトル（ＬＭＶ）を算出する。
具体的には、以下の（式１）に従って、ローカル動きベクトル（ＬＭＶ）を算出する。
【００５１】
【数１】
2013066164.tif 000003
・・・・・（式１）
【００５２】
なお、
（ｘ，ｙ）は、現在フレーム画像のブロックの１つの頂点座標、
（ｉ，ｊ）はブロックサイズ、
（Ｘ，Ｙ）は、現在フレームと参照フレームの対応ブロックの移動量のｘ，ｙの各成分、
に相当する。
【００５３】
ローカル動きベクトル算出部（ＬＭＥ）１０１において算出したローカル動きベクトル（ＬＭＶ）は、ブロック重み算出部１０２と、グローバル動きベクトル（ＧＭＶ）算出部１０３に入力される。
【００５４】
また、ローカル動きベクトル算出部（ＬＭＥ）１０１は、ローカル動きベクトル（ＬＭＶ）算出処理に際して、動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像と、現在フレーム画像と参照フレーム画像の対応ブロックの画素情報の差分絶対値和である最小残差（ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を生成して、これらをブロック重み算出部１０２に入力する。
【００５５】
動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像は、例えば参照フレームに基づいて生成した補正画像であり、現在フレーム画像の各画素位置の被写体が参照フレームの同じ画素位置に設定するように参照フレーム画像を補正した画像である。この補正画像は、例えば、各ブロック単位のローカル動きベクトル（ＬＭＶ）の動き量だけ、参照フレーム画像の画素位置を移動させることで生成する。
【００５６】
ブロック重み算出部１０２は、現在フレーム画像のローカル動きベクトル（ＬＭＥ）算出単位であるブロック各々に対応するブロック対応重み（Ｗｅｉｇｈｔ）を算出して、グローバル動きベクトル算出部（ＧＭＥ）１０３に出力する。
ブロック対応重み（Ｗｅｉｇｈｔ）は、先に図３を参照して説明した重みであり、各ブロック対応のローカル動きベクトル（ＬＭＥ）の信頼度や類似度に応じて算出される。
このブロック対応重み（Ｗｅｉｇｈｔ）の算出処理の詳細については後述する。
【００５７】
グローバル動きベクトル算出部（ＧＭＥ）１０３は、ブロック重み算出部１０２の算出したブロック重み（Ｗｅｉｇｈｔ）と、ローカル動きベクトル算出部（ＬＭＥ）１０１の算出した各ブロック対応のローカル動きベクトル（ＬＭＶ）を入力し、これらの入力データに基づいて、フレーム対応のグローバル動きベクトル（ＧＭＶ）を算出する。
【００５８】
［２．ブロック重み算出処理の概要］
次に、ブロック重み算出部１０２の実行するブロック重み算出処理の概要について説明する。
ブロック重み算出部１０２は、現在フレーム画像に設定されたブロック各々の重み（ｗｅｉｇｈｔ）、すなわち各ブロック対応のローカル動きベクトル（ＬＭＥ）の信頼度や類似度に従った重み（ｗｅｉｇｈｔ）を算出する。ブロック重み算出部１０２の実行する処理について図６以下を参照して説明する。
【００５９】
図６は、ブロック重み算出部１０２の実行するブロック重み算出処理のアルゴリズムを示している。
ブロック重みを算出する対象となるブロックを注目ブロックとし、この注目ブロックの周囲の８ブロックを近傍ブロックとする。
【００６０】
まず、注目ブロックのローカル動きベクトル（ＬＭＶ）と、近傍ブロック各々のローカル動きベクトル（ＬＭＶ）の信頼度を算出する。
さらに、注目ブロックのローカル動きベクトル（ＬＭＶ）と、近傍ブロック各々のローカル動きベクトル（ＬＭＶ）との類似度を算出する。
これらの信頼度および類似度情報を適用して注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する。
注目ブロックの重み（Ｗｅｉｇｈｔ）は、グローバル動きベクトル（ＧＭＶ）を算出する際の各ローカル動きベクトル（ＬＭＶ）の寄与度に対応する。
【００６１】
ブロック重み算出部１０２の実行するブロック重み算出処理の具体的な処理例について図７以下を参照して説明する。
まず、図７に示すように、ステップ（Ｓ１）において、注目ブロックの周囲の近傍ブロックから、各ブロックに対応して算出したローカル動きベクトル（ＬＭＶ）の信頼度の高いブロックを選択する。
信頼度は、例えば、各ブロックに対応して算出したローカル動きベクトル（ＬＭＶ）が信頼できる場合は［１］、信頼できない場合は［０］の設定とする。
図７に示す例では、信頼度の高い近傍ブロック、すなわち、信頼度＝１の設定された近傍ブロック数＝５である。
【００６２】
各ブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度は、様々な手法で算出可能である。
複数の信頼度算出処理例について、図８を参照して説明する。
図８には、以下の（１）〜（４）４つの信頼度算出処理例を示している。
（１）各ローカル動きベクトル（ＬＭＶ）対するＳＡＤ値に基づく信頼度、
（２）ブロック内の画素値の分散に基づく信頼度、
（３）ＳＡＤの第１、第２極小値との比に基づく信頼度、
（４）ブロック内の特徴点数に基づく信頼度、
【００６３】
（１）各ローカル動きベクトル（ＬＭＶ）対するＳＡＤ値に基づく信頼度は、先に図５を参照して説明したローカル動きベクトル（ＬＭＶ）の算出に際して求めた現在フレーム画像と参照フレーム画像の対応ブロックの画素情報の差分絶対値和である最小残差（ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）の値、すなわちＳＡＤ（ｘ，ｙ，Ｘ，Ｙ）を信頼度指標とする例である。
【００６４】
例えば、ブロック対応のＬＭＶ算出において算出したＳＡＤが既定閾値以下であれば、そのブロックのＬＭＶの信頼度を１（信頼できる）、ＳＡＤが既定閾値より大きい場合は、そのブロックのＬＭＶの信頼度を０（信頼できない）と設定する。
【００６５】
（２）ブロック内の画素値の分散に基づく信頼度は、ローカル動きベクトル（ＬＭＶ）の算出に適用した現在フレーム画像と参照フレーム画像の対応ブロックの分散の乗算値に従って設定する処理例である。
具体的には、以下の（式２）に従って信頼度（ｒｅｌｉａｂｉｌｉｔｙ）を算出する。
【００６６】
【数２】
2013066164.tif 000004
（式２）
【００６７】
なお、上記式において、
Ｅ（Ｒ（ｘ，ｙ））は、ＬＭＶ算出に適用した参照フレーム画像のブロックの画素値平均、
Ｖ（Ｒ（ｘ，ｙ））は、ＬＭＶ算出に適用した参照フレーム画像のブロックの画素値分散、
Ｖ（Ｔ（ｘ，ｙ））は、ＬＭＶ算出に適用した現在フレーム画像のブロックの画素値分散、
である。
【００６８】
上記（式２）に従って算出したＲｅｌｉａｂｉｌｉｔｙが既定閾値以上であれば、そのブロックのＬＭＶの信頼度を１（信頼できる）、Ｒｅｌｉａｂｉｌｉｔｙが既定閾値未満である場合は、そのブロックのＬＭＶの信頼度を０（信頼できない）と設定する。
【００６９】
（３）ＳＡＤの第１、第２極小値との比に基づく信頼度は、先に図５を参照して説明したローカル動きベクトル（ＬＭＶ）の算出に際して求めた現在フレーム画像と参照フレーム画像の対応ブロックの画素情報の差分絶対値和である最小残差（ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を適用する。
【００７０】
ＬＭＶ算出に適用したＳＡＤをＳＡＤｍｉｎとする。
さらに、ブロック探索において探索した結果として得られた２番目に小さいＳＡＤをＳＡＤ２ｎｄとする。
この２つの極小値の比を以下の算出式（式３）で算出する。
【００７１】
【数３】
2013066164.tif 000005
・・・・・（式３）
【００７２】
上記（式３）によって算出したＲｅｌｉａｂｉｌｉｔｙが既定閾値以上であれば、そのブロックのＬＭＶの信頼度を１（信頼できる）、Ｒｅｌｉａｂｉｌｉｔｙが既定閾値未満である場合は、そのブロックのＬＭＶの信頼度を０（信頼できない）と設定する。
【００７３】
（４）ブロック内の特徴点数に基づく信頼度は、先に図５を参照して説明したローカル動きベクトル（ＬＭＶ）の算出に際して求めた現在フレーム画像と参照フレーム画像の対応ブロックの特徴点数の乗算値を信頼度の指標とする処理である。
【００７４】
具体的には、以下に示す（式４）に従って、対応ブロックの特徴点数の乗算値を算出する。
Ｒｅｌｉａｂｉｌｉｔｙ＝ＮＦ（Ｒ（ｘ，ｙ））・（ＮＦ（Ｔ（ｘ，ｙ））
・・・・・（式４）
【００７５】
ただし、上記（式４）において、
ＮＦ（Ｒ（ｘ，ｙ））は、ローカル動きベクトル（ＬＭＶ）の算出に際して求めた参照フレーム画像の対応ブロックの特徴点数、
ＮＦ（Ｔ（ｘ，ｙ））は、ローカル動きベクトル（ＬＭＶ）の算出に際して求めた現在フレーム画像の対応ブロックの特徴点数、
である。
【００７６】
上記（式４）によって算出したＲｅｌｉａｂｉｌｉｔｙが既定閾値以上であれば、そのブロックのＬＭＶの信頼度を１（信頼できる）、Ｒｅｌｉａｂｉｌｉｔｙが既定閾値未満である場合は、そのブロックのＬＭＶの信頼度を０（信頼できない）と設定する。
【００７７】
このように、各ブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度は、様々な手法で算出可能である。
図４に示すブロック重み算出部１０２では、図８を参照して説明した（１）〜（４）のいずれかの手法を適用して各ブロック対応の信頼度を算出する。なお、図８を参照して説明した（１）〜（４）の手法を組み合わせて適用して信頼度算出を行ってもよい。
【００７８】
図７に戻り、ブロック重み算出部１０２の処理シーケンスについての説明を続ける。
ステップ（Ｓ１）において、上述した処理に従って、各ブロックの信頼度として、１（信頼できる）、０（信頼できない）の各値を設定する。
【００７９】
次に、ステップ（Ｓ２）において、信頼度＝１が設定された信頼可能なブロックのうち、注目ブロックのローカル動きベクトル（ＬＭＶ）と、近傍ブロック各々のローカル動きベクトル（ＬＭＶ）の差分が閾値以下の類似度の高い近傍ブロックの数を取得する。
図に示す例では、差分が閾値以下の類似度の高い、かつ信頼度＝１の信頼できる近傍ブロックの数＝３である。
【００８０】
次にステップ（Ｓ３）で、差分が閾値以下の信頼できる近傍ブロックの数の割合、すなわち、
（差分が閾値以下の信頼できる近傍ブロックの数）／（信頼可能な近傍ブロック数）
を算出する。
この例では、
（差分が閾値以下の信頼できる近傍ブロックの数）／（信頼可能な近傍ブロック数）
＝３／５
＝０．６
となる。
ブロック重み算出部１０２は、この算出値＝０．６を、注目ブロックの重み（Ｗｅｉｇｈｔ）として設定し、グローバル動き算出部１０３に出力する。
【００８１】
［３．ブロック重み算出処理の詳細］
次に、図９以下を参照してブロック重み算出部１０２の実行するブロック重み算出処理の詳細シーケンスについて説明する。
図９は、ブロック重み算出部１０２の実行するブロック重み算出処理の詳細シーケンスを説明するフローチャートである。
フローの各ステップの処理について説明する。
【００８２】
なお、図９の（ａ），（ｂ）に示すように、
注目ブロックをｂ０、近傍ブロックｂ１〜ｂ８として、これらの９つのブロックを参照ブロックとする。
また、各ブロックに対応する信頼度として、
１：信頼できる
０：信頼できない
これらの信頼度情報を算出済みであるとする。
【００８３】
これらのブロック対応の信頼度情報は、先に図８を参照して説明した（１）〜（４）のいずれかの方法で算出される。なお、図８（１）の各ＬＭＶに対応するＳＡＤ値を用いる場合は、ローカル動き推定情報（Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ）の出力として得られるＳＡＤ値を信頼度情報（信頼度マップ）としてそのまま利用することが可能である。
【００８４】
ステップＳ１０１において、
注目ブロックｂ０が信頼できるか否かを判定する。
すなわち、信頼度＝１の設定ブロックであるか否かを判定する。
注目ブロックが信頼度＝１の設定ブロックであり、信頼できる場合はステップＳ１０２に進み、注目ブロックが信頼度＝０の設定ブロックであり、信頼できない場合はステップＳ１１１に進み、重み（ｗｅｉｇｈｔ）を０に設定する。
すなわち、注目ブロックのローカル動きベクトル（ＬＭＶ）が信頼可能か否かを判定し、信頼度＝０の設定ブロックで信頼不可と判定した場合は、重み（Ｗｅｉｇｈｔ）＝０で終了する。
【００８５】
ステップＳ１０１において注目ブロックｂ０が信頼できると判定し、ステップＳ１０２に進むと、ステップＳ１０２において初期化処理を行う。具体的には以下の処理を行う。
Ｒｅｌｉａｂｉｌｉｔｙ＿Ｃｎｔ＝０；
ｕｎｄｅｒ＿ｔｈｒｅｓｈｈｏｌｄ＿Ｃｎｔ＝０；
ｉ＝１；
【００８６】
ただし、
Ｒｅｌｉａｂｉｌｉｔｙ＿Ｃｎｔ：近傍８ブロック中の信頼度＝１の設定された信頼可能ブロック数を示すカウンタ、
ｕｎｄｅｒ＿ｔｈｒｅｓｈｈｏｌｄ＿Ｃｎｔ：信頼可能ブロック中、注目ブロックとの差分が閾値以下の類似ブロックの数を示すカウンタ、
ｉ：ブロック位置のｉｎｄｅｘ
である。
【００８７】
次に、ステップＳ１０３において、近傍ブロックｂｉが信頼可能か否かを判定する。
注目ブロック近傍にある近傍ブロックｂｉが、信頼度＝１の設定ブロックであり信頼可能であれば、ステップＳ１０４において、信頼ブロック数のカウンタ［Ｒｅｌｉａｂｉｌｉｔｙ＿Ｃｎｔ］をインクリメントする。
近傍ブロックｂｉが、信頼度＝０の設定ブロックであり、信頼不可であれば、ステップＳ１０７に進む。
【００８８】
ステップＳ１０５では、注目ブロックｂ０とそのブロック近傍のあるブロックｂｉのローカル動きベクトル（ＬＭＶ）の類似度を判定する。
具体的には、
注目ブロックｂ０のローカル動きベクトル（ＬＭＶ）と、
近傍ブロックｂｉのローカル動きベクトル（ＬＭＶ）と、
これら２つのローカル動きベクトルが１つの共通するグローバル動きベクトル（ＧＭＶ）に対応した動きベクトルであるか否かを判定する。
【００８９】
例えば、各ローカル動きベクトル（ＬＭＶ）のＨ方向成分とＶ方向成分それぞれの差分、それぞれ閾値範囲内に存在することが、「差分が閾値範囲内である」、すなわちＹｅｓの判定条件となる。
この類似度判定処理の詳細については後述する。
【００９０】
ステップＳ１０５において、注目ブロックｂ０のローカル動きベクトル（ＬＭＶ）と、近傍ブロックｂｉのローカル動きベクトル（ＬＭＶ）とが類似すると判定した場合は、ステップＳ１０６に進み、信頼可能な差分閾値以下のブロック数のカウンタ［ｕｎｄｅｒ＿ｔｈｒｅｓｈｈｏｌｄ＿Ｃｎｔ］をインクリメントする。
【００９１】
一方、ステップＳ１０５において、注目ブロックｂ０のローカル動きベクトル（ＬＭＶ）と、近傍ブロックｂｉのローカル動きベクトル（ＬＭＶ）とが類似しないと判定した場合は、ステップＳ１０７に進む。
【００９２】
ステップＳ１０７はブロックＮｏ：ｉの更新処理である。
近傍ブロックｉ＝１〜８について処理が順次実行される。
ステップＳ１０８において、
ｉ＞８
と判定され、近傍ブロックＢ１〜ｂ８の処理がすべて完了すると、ステップＳ１０９に進む。
【００９３】
ステップＳ１０９において、
近傍ブロック中、信頼度＝１の設定された信頼ブロック数のカウンタ［Ｒｅｌｉａｂｉｌｉｔｙ＿Ｃｎｔ］が０より大か否かを判定する。
すなわち、近傍ブロックｂ１〜ｂ８の中に１つでも信頼できるブロックがあるか否かを判定する。
ない場合は、ステップＳ１１１に進み、注目ブロックの重み（Ｗｅｉｇｈｔ）を０に設定する。
【００９４】
ステップＳ１０９において、近傍ブロックｂ１〜ｂ８の中に１つでも信頼度＝１の設定された信頼できるブロックがあると判定した場合は、ステップＳ１１０に進む。
ステップＳ１１０では、
注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する。
【００９５】
例えば、以下の式に従って、注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する。
Ｗｅｉｇｈｔ＝（ｕｎｄｅｒ＿ｔｈｒｅｓｈｈｏｌｄ＿Ｃｎｔ）／（Ｒｅｌｉａｂｉｌｉｔｙ＿Ｃｎｔ）
すなわち、
注目ブロックの重み＝（近傍ブロック中の信頼可能（信頼度＝１）な差分閾値以下のブロック数）／（近傍ブロック中の信頼ブロック数）
として注目ブロックの重みを算出する。
なお、上記式に示す注目ブロックの重み（Ｗｅｉｇｈｔ）の算出処理例は一例であり、この他の式を適用した重み算出処理も可能である。
注目ブロックの重み（Ｗｅｉｇｈｔ）の算出処理のその他の具体例については、後段で説明する。
【００９６】
［４．ブロック対応のローカル動きベクトル（ＬＭＶ）の類似度判定処理の詳細］
次に、ブロック対応のローカル動きベクトル（ＬＭＶ）の類似度判定処理の詳細について説明する。
前述したように、図９に示すフローのステップＳ１０５では、注目ブロックｂ０とそのブロック近傍のあるブロックｂｉのローカル動きベクトル（ＬＭＶ）の類似度を判定している。
すなわち、
注目ブロックｂ０のローカル動きベクトル（ＬＭＶ）と、
近傍ブロックｂｉのローカル動きベクトル（ＬＭＶ）と、
これら２つのローカル動きベクトルが１つの共通するグローバル動きベクトル（ＧＭＶ）に対応した動きベクトルであるか否かを判定する。
【００９７】
２つのローカル動きベクトルが１つの共通するグローバル動きベクトル（ＧＭＶ）に対応した動きベクトルである場合、これらのローカル動きベクトル（ＬＭＶ）は類似する。すなわち類似度＝１と判定する。
一方、２つのローカル動きベクトルが１つの共通するグローバル動きベクトル（ＧＭＶ）に対応した動きベクトルでない場合、これらのローカル動きベクトル（ＬＭＶ）は類似しない。すなわち類似度＝０と判定する。
【００９８】
この注目ブロックのローカル動きベクトル（ＬＭＶ）と、近傍ブロック各々のローカル動きベクトル（ＬＭＶ）の類似度判定処理方法について、図１０、図１１を参照して説明する。
【００９９】
図１０（ａ）に示すように、注目ブロックのローカル動きベクトル（ＬＭＶ）と、近傍ブロック各々のローカル動きベクトル（ＬＭＶ）をそれぞれ求める。
注目ブロックのローカル動きベクトル（ＬＭＶ）は、
起点（ｘ１，ｙ１）、終点（ｘ１'，ｙ１'）のベクトルであり、
水平方向成分＝ｕ１，
垂直方向成分＝ｖ１、
である。
すなわち、注目ブロックのローカル動きベクトル（ＬＭＶ）は、（ｕ１，ｖ１）である。
【０１００】
一方、近傍ブロックのローカル動きベクトル（ＬＭＶ）は、
起点（ｘ０，ｙ０）、終点（ｘ０'，ｙ０'）のベクトルであり、
水平方向成分＝ｕ０，
垂直方向成分＝ｖ０、
である。
すなわち、近傍ブロックのローカル動きベクトル（ＬＭＶ）は、（ｕ０，ｖ０）である。
【０１０１】
図１０（ｂ）に示すように、グローバル動きベクトル（ＧＭＶ）による座標変換を定義する。
グローバル動きベクトル（ＧＭＶ）は、画面全体に共通する動きベクトルであり、グローバル動きベクトル（ＧＭＶ）による座標変換は、以下の（式５）によって定義される。
【０１０２】
【数４】
2013066164.tif 000006
・・・・・（式５）
【０１０３】
上記（式５）は、３軸対応のＧＭＶ、すなわち、平行移動（並進）と回転を考慮したグローバル動きベクトル（ＧＭＶ）に従った座標変換を示している。
（ｘ０，ｙ０）は変換前の座標、
（ｘ'０，ｙ'０）はグローバル動きベクトル（ＧＭＶ）に従った座標変換後の座標、
ａはグローバル動きベクトル（ＧＭＶ）に従ったｘ方向の移動量、
ｂはグローバル動きベクトル（ＧＭＶ）に従ったｙ方向の移動量、
θはグローバル動きベクトル（ＧＭＶ）に従った回転角、
を示している。
【０１０４】
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）は、
上記（式５）に示す３軸対応のグローバル動きベクトル（ＧＭＶ）による座標変換式と、近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）を適用して以下の（式６）のように示すことができる。
【０１０５】
【数５】
2013066164.tif 000007
・・・・・（式６）
【０１０６】
なお、上記（式６）において、
Ｉは、単位行列であり、θ＝０としたときの回転行列に相当し、以下の（式７）によって示される行列である。
【数６】
2013066164.tif 000008
・・・・・（式７）
【０１０７】
上記（式６）に基づいて、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分は、
以下の（式７）のように表現できる。
【０１０８】
【数７】
2013066164.tif 000009
・・・・・（式８）
【０１０９】
上記（式８）において、
（ｘ１，ｙ１）は、注目ブロックの１つの特徴点座標、
（ｘ０，ｙ０）は、近傍ブロックの１つの特徴点座標、
θは、前述の（式６）に示す３軸対応のグローバル動きベクトル（ＧＭＶ）に従った座標変換処理に適用する回転角度であり、画面全体のグローバル動きにおける回転角度に相当する。
【０１１０】
ここで、グローバル動きとして許容される回転量を、
−θｍａｘ≦θ≦θｍａｘ
とする。
この許容回転量は、例えば撮像装置（カメラ）の手ぶれ等によって回転した画像に対する補正可能な角度などによって規定される。
具体的には、例えば撮像装置の水平方向の画素ライン数などに基づいて決定される。撮像装置の出力画像として生成する画像の水平画素ライン数は、撮像装置の撮像素子の水平ラインより少なく設定され、手ぶれ等によって画像を回転させる補正が必要な場合に、撮像素子上下の画素情報を利用して画像を回転させた補正画像を生成することができる。
【０１１１】
撮像画像の上下に多数の水平画素ラインが存在すれば、大きな角度を回転させる補正処理が可能であるが、撮像画像の上下に水平画素ラインが少ない場合は、大きな角度を回転させる補正処理が不可能となる。
上記の許容回転角度θは、これらの撮像素子の構成等によって規定される。
このように、例えば撮像素子の構成等に従って、補正可能な角度範囲−θｍａｘ〜θｍａｘが規定され、この角度範囲をグローバル動きの許容回転量とする。
【０１１２】
この許容回転量、
−θｍａｘ≦θ≦θｍａｘ
のθの範囲を上記の（式７）に代入して、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分の許容範囲を算出することができる。
【０１１３】
すなわち、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分、
すなわち、
ｕ１−ｕ０、
ｖ１−ｖ０、
これらの各値が、以下の（式Ａ）、（式Ｂ）の条件式を満足するか否かを判定する。
【０１１４】
（ｘ１−ｘ０）（１−ｃｏｘθｍａｘ）−｜ｙ１−ｙ０｜ｓｉｎθｍａｘ
≦ｕ１−ｕ０
≦（ｘ１−ｘ０）（１−ｃｏｘθｍａｘ）＋｜ｙ１−ｙ０｜ｓｉｎθｍａｘ
・・・・・（式Ａ）
−｜ｘ１−ｘ０｜ｓｉｎθｍａｘ＋（ｙ１−ｙ０）（１−ｃｏｘθｍａｘ）
≦ｖ１−ｖ０
≦｜ｘ１−ｘ０｜ｓｉｎθｍａｘ＋（ｙ１−ｙ０）（１−ｃｏｘθｍａｘ）
・・・・・（式Ｂ）
【０１１５】
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分、
すなわち、
ｕ１−ｕ０、
ｖ１−ｖ０、
これらの各値が、上記の（式Ａ）、（式Ｂ）の条件式を満足すれば、これら２つのローカル動きベクトルによって規定されるグローバル動きベクトル（ＧＭＶ）は、許容範囲の回転角度θ、すなわち、
−θｍａｘ≦θ≦θｍａｘ
上記範囲のθを持つＧＭＶであると判断される。
【０１１６】
すなわち、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分が、上記（式Ａ）と（式Ｂ）の両判定式を満足する場合、
これら２つのローカル動きベクトル（ＬＭＶ）は、補正可能な許容回転角度を持つ１つのＧＭＶ対応の類似するローカル動きベクトル（ＬＭＶ）であると判定することができ、
この場合、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）とは、類似すると判定する。すなわち類似度＝１とする。
【０１１７】
一方、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分が、上記（式Ａ）と（式Ｂ）の両判定式の少なくともいずれかを満足しない場合、
これら２つのローカル動きベクトル（ＬＭＶ）は、補正可能な許容回転角度を持つ１つのＧＭＶ対応の類似するローカル動きベクトル（ＬＭＶ）ではないと判定することができ、
この場合、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）とは、類似しないと判定する。すなわち類似度＝０とする。
【０１１８】
なお、上記（式Ａ）、（式Ｂ）による類似度判定処理は一例であり、さらに、例えばＧＭＶやＬＭＶの算出誤差等を考慮して、予め設定した定数Ｃを含んだ以下の判定式（式Ａ２）、（式Ｂ２）を適用して類似度判定を行う構成としてもよい。
【０１１９】
（ｘ１−ｘ０）（１−ｃｏｘθｍａｘ）−Ｃ−｜ｙ１−ｙ０｜ｓｉｎθｍａｘ
≦ｕ１−ｕ０
≦（ｘ１−ｘ０）（１−ｃｏｘθｍａｘ）＋Ｃ＋｜ｙ１−ｙ０｜ｓｉｎθｍａｘ
・・・・・（式Ａ２）
−Ｃ−｜ｘ１−ｘ０｜ｓｉｎθｍａｘ＋（ｙ１−ｙ０）（１−ｃｏｘθｍａｘ）
≦ｖ１−ｖ０
≦Ｃ＋｜ｘ１−ｘ０｜ｓｉｎθｍａｘ＋（ｙ１−ｙ０）（１−ｃｏｘθｍａｘ）
・・・・・（式Ｂ２）
【０１２０】
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分が、上記（式Ａ２）と（式Ｂ２）の両判定式を満足する場合、
これら２つのローカル動きベクトル（ＬＭＶ）は、補正可能な許容回転角度を持つ１つのＧＭＶ対応の類似するローカル動きベクトル（ＬＭＶ）であると判定することができ、
この場合、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）とは、類似すると判定する。すなわち類似度＝１とする。
【０１２１】
一方、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）との差分が、上記（式Ａ２）と（式Ｂ２）の両判定式の少なくともいずれかを満足しない場合、
これら２つのローカル動きベクトル（ＬＭＶ）は、補正可能な許容回転角度を持つ１つのＧＭＶ対応の類似するローカル動きベクトル（ＬＭＶ）ではないと判定することができ、
この場合、
注目ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ１，ｖ１）と、
近傍ブロックのローカル動きベクトル（ＬＭＶ）＝（ｕ０，ｖ０）とは、類似しないと判定する。すなわち類似度＝０とする。
【０１２２】
上述の類似度判定処理は、注目ブロックのローカル動きベクトル（ＬＭＶ）と、近傍ブロックのローカル動きベクトル（ＬＭＶ）とが、１つのグローバル動きベクトル（ＧＭＶ）に対応する回転角θによる回転に対応するか否か判定しているものである。
この類似度判定処理と画像フレームの動きとの対応関係について、図１１を参照して説明する。
図１１に示すように、連続撮影画像である参照フレーム画像２１１と、現在フレーム画像２１２が、例えば手ぶれ等に起因して回転中心２２０を中心として角度θで回転したとする。
【０１２３】
ここで、参照フレーム画像２１１の２つの隣接ブロック２３１，２３２へ向かうベクトルをｐ１，ｐ２とする。
また、回転後の現在フレーム画像２１２の２つの隣接ブロック２４１，２４２へ向かうベクトルをｑ１，ｑ２とし、
参照フレーム画像２１１の座標位置（ｘ，ｙ）を現在フレーム画像２１２の対応座標位置（ｘ'，ｙ'）に変換する回転行列をＲ（θ）とする。
これらの各パラメータの関係は、以下のように示される。
ｑ１＝Ｒ（θ）ｐ１
ｑ２＝Ｒ（θ）ｐ２
【０１２４】
このとき、各ブロックのローカル動きベクトル（ＬＭＶ）の期待値は、
ＬＭＶ１＝ｑ１−ｐ１、
ＬＭＶ２＝ｑ２−ｐ２、
となる。
また、隣接ブロックのローカル動きベクトル（ＬＭＶ）の差分値は、以下のように示される。
ＬＭＶ２−ＬＭＶ１＝（ｑ２−ｐ２）−（ｑ１−ｐ１）
＝（Ｒ（θ）−Ｅ）（ｐ１−ｐ２）
となる。
なお、Ｅは単位行列である。
【０１２５】
このように、隣接ブロックのローカル動きベクトル（ＬＭＶ）の差分値（ＬＭＶ２−ＬＭＶ１）は、回転行列Ｒ（θ）とブロック間の位置ベクトル（ｐ１−ｐ２）で表せる。
【０１２６】
上述した（式Ａ）と（式Ｂ）、あるいは（式Ａ２）と（式２Ｂ）を満足するのは、隣接する２つのブロック間のローカル動きベクトル（ＬＭＶ）の差分が上記の期待値に近い場合であり、この場合に、これらの隣接する２つのブロック間のローカル動きベクトル（ＬＭＶ）は、類似する。すなわち、類似度＝１と判定する。
【０１２７】
このように、隣接ブロックのローカル動きベクトル（ＬＭＶ）が類似するか否かの判定は、１つのグローバル動きベクトル（ＧＭＶ）に対応する回転に応じたローカル動きベクトル（ＬＭＶ）が隣接ブロック各々において算出されているか否かの判定処理と同様の処理となる。
【０１２８】
注目ブロックのローカル動きベクトル（ＬＭＶ）と、その近傍の参照ブロックのローカル動きベクトル（ＬＭＶ）がいずれも画面全体の動きを示す１つのグローバル動きベクトル（ＧＭＶ）に対応する回転に応じたローカル動きベクトル（ＬＭＶ）である場合に、これらの２つのブロックのローカル動きベクトル（ＬＭＶ）は類似する、すなわち類似度＝１と判定する。
【０１２９】
一方、注目ブロックのローカル動きベクトル（ＬＭＶ）と、その近傍の参照ブロックのローカル動きベクトル（ＬＭＶ）が画面全体の動きを示す１つのグローバル動きベクトル（ＧＭＶ）に対応する回転に応じたローカル動きベクトル（ＬＭＶ）でない場合は、これらの２つのブロックのローカル動きベクトル（ＬＭＶ）は類似しない、すなわち類似度＝０と判定する。
【０１３０】
図１２は、この類似度判定処理の概念を示す図である。
図１２には、連続撮影画像である参照フレーム画像３１０と、現在フレーム画像３２０を示している。
これらの２つの画像は連続撮影画像であるが、手ぶれの影響で回転している。
現在フレーム画像３２０にローカル動きベクトル（ＬＭＶ）算出用のブロックを設定し、前述したブロックマッチング処理等を適用して各ブロック対応のローカル動きベクトル（ＬＭＶ）を算出する。
【０１３１】
なお、ブロックは、図に示すように、画像中に離散的に分散して設定してもよい。
先に図３を参照して説明したブロック設定例では、ブロックは隙間なく設定する例として説明したが、図１２に示すように、ブロック間に隙間を設定して複数のブロックを離間して設定してもよい。
【０１３２】
図１２に示す現在フレーム３２０の注目ブロック３２１に対応する参照フレーム３１０のブロックは、図に示す注目ブロック３１１である。
注目ブロック３２１に対応するローカル動きベクトル（ＬＭＶ）は、（ｕ１，ｖ１）である。
また、現在フレーム３２０の近傍ブロック３２２に対応する参照フレーム３１０のブロックは、図に示す近傍ブロック３１２である。
近傍ブロック３２２に対応するローカル動きベクトル（ＬＭＶ）は、（ｕ０，ｖ０）である。
【０１３３】
これらの２つのベクトルが、画面全体の動きを示す１つのグローバル動きベクトル（ＧＭＶ）に対応する回転に応じたローカル動きベクトル（ＬＭＶ）である場合に、これらの２つのブロックのローカル動きベクトル（ＬＭＶ）は類似する、すなわち類似度＝１と判定する。
【０１３４】
一方、これらの２つのベクトルが、画面全体の動きを示す１つのグローバル動きベクトル（ＧＭＶ）に対応する回転に応じたローカル動きベクトル（ＬＭＶ）でない場合は、これらの２つのブロックのローカル動きベクトル（ＬＭＶ）は類似しない、すなわち類似度＝０と判定する。
【０１３５】
［５．隣接ブロックのＬＭＶ信頼度と類似度判定に基づく重み算出処理例］
次に、隣接ブロックのＬＭＶ信頼度と類似度判定に基づく重み算出処理例について説明する。
先に説明した図９に示すフローのステップＳ１１０では、注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する一処理例として、以下の式に従って、注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する処理例を説明した。
Ｗｅｉｇｈｔ＝（ｕｎｄｅｒ＿ｔｈｒｅｓｈｈｏｌｄ＿Ｃｎｔ）／（Ｒｅｌｉａｂｉｌｉｔｙ＿Ｃｎｔ）
すなわち、
注目ブロックの重み＝（近傍ブロック中の信頼可能（信頼度＝１）な差分閾値以下のブロック数）／（近傍ブロック中の信頼ブロック数）
として注目ブロックの重みを算出する処理例である。
【０１３６】
以下、注目ブロックの重み（Ｗｅｉｇｈｔ）の算出処理の複数の例について説明する。
図９に示すフローに従った処理を実行すると、１つの注目ブロックと周囲の８つの近傍ブロックを含む９ブロックについて、ブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と類似度が設定される。
具体的には、図１３に示すように、１つの注目ブロックと周囲の８つの近傍ブロックを含む９ブロックにおいて、
９ブロック各々のローカル動きベクトル（ＬＭＶ）の信頼度、
注目ブロックと８つの近傍ブロック間の類似度、
これらの信頼度と類似度からなる判定データが算出される。
【０１３７】
図４に示すブロック重み算出部１０２は、図９に示すフローのステップＳ１１０において、注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する。
この重みの算出は、例えば、以下の（式Ｃ１）、（式Ｃ２）、（式Ｃ３）のいずれかを適用して算出可能である。
【０１３８】
【数８】
2013066164.tif 000010
・・・・・（式Ｃ１）
【０１３９】
【数９】
2013066164.tif 000011
・・・・・（式Ｃ２）
【０１４０】
【数１０】
2013066164.tif 000012
・・・・・（式Ｃ３）
【０１４１】
なお、上記（式Ｃ１）〜（式Ｃ３）において、
Ｒ０は、注目ブロックの信頼度、
Ｒｉは、近傍ブロックｉ番目の信頼度、
Ｓｉは、注目ブロックと近傍ブロックｉ番目との類似度、
ｉは、近傍ブロックの識別番号ｉ＝１〜８
である。
【０１４２】
上記（式Ｃ１）は、注目ブロックと各近傍ブロックの類似度Ｓｉと近傍ブロックの信頼度Ｒｉの乗算値の加算結果を近傍ブロックの信頼度Ｒｉの加算値で除算した結果と注目ブロックの信頼度Ｒ０を乗算して重みＷを算出する式である。
上記（式Ｃ２）は、注目ブロックと各近傍ブロックの類似度Ｓｉと近傍ブロックの信頼度Ｒｉの乗算値の加算結果を近傍ブロックの信頼度Ｒｉの加算値で除算した結果を重みＷとして算出する式である。
上記（式Ｃ３）は、注目ブロックと各近傍ブロックの類似度Ｓｉの加算値を、近傍ブロックの信頼度Ｒｉの加算値で除算した結果を重みＷとして算出する式である。
【０１４３】
図４に示すブロック重み算出部１０２は、図９に示すフローのステップＳ１１０において、上記（式Ｃ１）〜（式Ｃ３）のいずれかを適用して、注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する。
【０１４４】
なお、上述した処理例では、信頼度を０，１の２値、類似度を０，１の２値とした設定例を説明したが、
例えば、
信頼度０≦Ｒ≦１、
類似度０≦Ｓ≦１
このように、０〜１の範囲で設定して上記の（式Ｃ１）〜（式Ｃ３）のいずれかを適用して、注目ブロックの重み（Ｗｅｉｇｈｔ）を算出する構成としてもよい。
【０１４５】
このように、図４に示すブロック重み算出部１０２は、ブロック対応のＬＭＶ信頼度と、注目ブロックと近傍ブロックのＬＭＶ類似度を考慮した重み（Ｗｅｉｇｈｔ）を設定して、図４に示すグローバル動きベクトル算出部１０３に出力する。
【０１４６】
［６．グローバル動きベクトル算出部（ＧＭＥ）の処理について］
次に、図４に示すグローバル動きベクトル算出部（ＧＭＥ）１０３において実行するグローバル動きベクトル（ＧＭＶ）の推定処理（ＧＭＥ）について説明する。
【０１４７】
図４に示すグローバル動きベクトル算出部（ＧＭＥ）１０３は、ブロック重み算出部１０２の算出したブロック重み（Ｗｅｉｇｈｔ）と、ローカル動きベクトル算出部（ＬＭＥ）１０１の算出した各ブロック対応のローカル動きベクトル（ＬＭＶ）を入力し、これらの入力データに基づいて、フレーム対応のグローバル動きベクトル（ＧＭＶ）を算出する。
【０１４８】
先に、図２を参照して説明したように、グローバル動きベクトル（ＧＭＶ）は、現在フレームと参照フレーム間の対応する類似画素位置（ｘ，ｙ），（ｘ'，ｙ'）の関係を平行移動、回転、拡大、縮小、アフィン（Ａｆｆｉｎｅ）変換、投射影変換などを用いたデータとして表現され、通常は、１つのフレーム画像に対し、１つのグローバル動きベクトル（ＧＭＶ）が適用される。
【０１４９】
グローバル動きベクトル（ＧＭＶ）には、
平行移動（並進）と回転を考慮した３軸（３自由度）のグローバル動きベクトル（ＧＭＶ）、
アフィン変換に対応する６軸（６自由度）のグローバル動きベクトル（ＧＭＶ）、
例えば、これらの種類がある。
これらの２つのタイプのＧＭＶ推定処理（ＧＭＥ）を実行する構成について説明する。
【０１５０】
図１４を参照してグローバル動きベクトル（ＧＭＶ）およびＧＭＥの定義について説明する。
ＧＭＶによる座標変換を以下の式によって定義する。
【０１５１】
【数１１】
2013066164.tif 000013
【０１５２】
上記式に示すアフィン変換は、前述した６軸対応のグローバル動きベクトル（ＧＭＶ）を適用した場合の座標変換である。
また、並進＋回転は、３軸対応のグローバル動きベクトル（ＧＭＶ）を適用した場合の座標変換である。
【０１５３】
アフィン変換（６自由度）は、例えば、ＣＯＤＥＣなどいろいろな動きに対応したいとき利用される。並進、回転、拡大縮小、ひしゃげ等である。
一方、並進と回転（３自由度）は、カメラの手ぶれの補正で支配的な要素である。
【０１５４】
なお、上記式における各パラメータの定義と、各ブロックｎに対応するローカル動きベクトル（ＬＭＶ）に対する重みＷｎの設定は、以下の設定とする。
【０１５５】
【数１２】
2013066164.tif 000014
【０１５６】
上記式において、
格子点とは、各ブロックｎの特徴点、
ｎはブロックの識別番号、
Ｗｎは、ブロックｎの重み（Ｗｅｉｇｈｔ）、
である。
【０１５７】
３軸対応の３自由度のグローバル動きベクトル（ＧＭＶ）と、
６軸対応の６自由度のグローバル動きベクトル（ＧＭＶ）は、
図１５に示すように、最終的には以下の式によって算出される。
【０１５８】
【数１３】
2013066164.tif 000015
【０１５９】
上記式に示すコスト（Ｃｏｓｔ）は、
各ブロックｎ対応の重みＷｎと、
各ブロックｎの特徴点（ｘ，ｙ）に対するローカル動きヘクトル（ＬＭＶ）（ｕ，ｖ）の適用位置と、対応点（ｘ'，ｙ'）との差分の２乗データとの積算値である。
このコスト（Ｃｏｓｔ）を最小にするように、上記式に示す３軸機対応ＧＭＶ、または６軸対応ＧＭＶの各パラメータを算出する。
【０１６０】
３軸機対応ＧＭＶのパラメータは、平行移動（並進）と回転に関するパラメータａ，ｂ，θである。
６軸機対応ＧＭＶのパラメータは、アフィン変換に関するパラメータａ０，ａ１，ａ２，ｂ０，ｂ１，ｂ２である。
なお、コスト（Ｃｏｓｔ）を最小にする各パラメータの算出処理には、例えば最小二乗法を適用する。
【０１６１】
なお、上記式に示す３軸対応グローバル動きベクトル（ＧＭＶ）や、６軸対応のグローバル動きベクトル（ＧＭＶ）の具体的な算出処理等については、例えば前述した特許文献１（特開２００９−０６５３３２号公報）に記載されている。
本願構成におけるグローバル動きベクトルの算出処理に際しては、例えば、この特許文献１（特開２００９−０６５３３２号公報）に記載された手法が適用可能である。
【０１６２】
このように、本願に従ったグローバル動きベクトル（ＧＭＶ）の算出処理においては、以下のような処理シーケンスで処理が実行される。
まず、図４に示すローカル動きベクトル算出部１０１が、画像フレームにブロックを設定し、設定したブロック対応のローカル動きベクトル（ＬＭＶ）を求める。
なお、設定するブロックは、図３に示すように隙間の内設定としてもよいし、図１１や図１２に示すように隙間を設定して離間して配置した離散的なブロックでもよい。
【０１６３】
次に、図４に示すブロック重み算出部１０２が、ブロック対応のＬＭＶ信頼度と、注目ブロックと近傍ブロックのＬＭＶ類似度を考慮した重み（Ｗｅｉｇｈｔ）を設定して、図４に示すグローバル動きベクトル算出部１０３に出力する。
【０１６４】
最後に、グローバル動きベクトル算出部１０３において、ブロック重み算出部１０２の算出したブロック重み（Ｗｅｉｇｈｔ）と、ローカル動きベクトル算出部（ＬＭＥ）１０１の算出した各ブロック対応のローカル動きベクトル（ＬＭＶ）を入力し、これらの入力データに基づいて、フレーム対応のグローバル動きベクトル（ＧＭＶ）を算出する。
【０１６５】
本願の処理では、例えば、信頼できるローカル動きベクトル（ＬＭＶ）が少ない場合に、類似したローカル動きベクトル（ＬＭＶ）に絞ってグローバル動きを推定（ＧＭＥ）することが可能となり、算出されるグローバル動きベクトル（ＧＭＶ）が安定するという効果がある。
例えば具体的には、信頼できるローカル動きベクトル（ＬＭＶ）が少なすぎるためにグローバル動きベクトル（ＧＭＶ）の推定を諦めるといったケースを減らすことができる。
【０１６６】
［７．画像処理装置の構成例について］
最後に、図１６、図１７を参照して、上述した処理を実行する画像処理装置の構成例について説明する。
図１６は、撮像装置としての装置構成例を示している。
図１６に示す撮像装置５００は、撮像部５０１、フレームメモリ５０２、グローバル動きベクトル生成部５０３、画像補正部５０４、記憶部５０５を有する。
【０１６７】
撮像部５０１は、画像の連続撮影を行う。この連続撮影画像に含まれる各撮影画像５２０はフレームメモリ５０２に順次格納される。
例えば、これらの連続撮影画像は、手ぶれ等の影響で、各画像フレーム間に画像ずれが発生している。
【０１６８】
グローバル動きベクトル生成部５０３は、フレームメモリ５０２に順次格納された画像を適用して、画像全体の動きを示すグローバル動きベクトル（ＧＭＶ）を算出する。
このグローバル動きベクトル生成部５０３は、先に説明した図４の構成を持つ。グローバル動きベクトル生成部５０３は、先に説明した図７に示すフローに従った処理を実行して画像全体の動きを示すグローバル動きベクトル（ＧＭＶ）を算出する。
生成したグローバル動きベクトル（ＧＭＶ）５２１は画像補正部５０４に入力される。
【０１６９】
画像補正部５０４は、グローバル動きベクトル生成部５０３の生成したグローバル動きベクトル（ＧＭＶ）５２１を適用して、画像の回転等の画像ずれを補正した補正画像５２２を生成して記憶部５０５に格納する。
【０１７０】
なお、画像補正部５０４において回転した画像を補正する際は、先に説明したように、撮像部の撮像素子から入力される画素情報が必要であり、回転量が大きいほど、必要となる画素ライン数が多くなる。
先に説明したように、このラインメモリの数に応じて許容回転量θが決定される。
【０１７１】
グローバル動きベクトル生成部５０２のブロック重み算出部（図４のブロック重み算出部１０２）は、このラインメモリの数に応じて決定される許容回転量θを考慮して隣接ブロック間のローカル動きベクトル（ＬＭＶ）の類似度判定を実行する。
グローバル動きベクトル生成部５０２は、信頼度が高く、かつ類似度ありの判定のなされたブロックのローカル動きベクトル（ＬＭＶ）の重みを高く設定してグローバル動きベクトル（ＧＭＶ）の算出処理を実行する。
【０１７２】
このように、本開示の構成を、動き補償（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）による手ぶれ補正（手ぶれスタビライザ）と組み合わせる場合、回転手ぶれの補正に使うことができるラインメモリの量に応じて回転θの許容範囲を定め、そのθの範囲で類似度を高く評価することで、補正可能なＧＭＶを安定して求めることができる。
【０１７３】
図１７は、上述した画像処理を実行する装置の１つのハードウェア構成例であるパーソナルコンピュータのハードウェア構成例を示している。
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２、または記憶部７０８に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明したグローバル動きベクトル（ＧＭＶ）を決定するプログラムを実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３には、ＣＰＵ７０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ７０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４により相互に接続されている。
【０１７４】
ＣＰＵ７０１はバス７０４を介して入出力インタフェース７０５に接続され、入出力インタフェース７０５には、キーボード、マウス、マイクロホンなどよりなる入力部７０６、ディスプレイ、スピーカなどよりなる出力部７０７が接続されている。ＣＰＵ７０１は、入力部７０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部７０７に出力する。
【０１７５】
入出力インタフェース７０５に接続されている記憶部７０８は、例えばハードディスクからなり、ＣＰＵ７０１が実行するプログラムや各種のデータを記憶する。通信部７０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１７６】
入出力インタフェース７０５に接続されているドライブ７１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１を駆動し、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部７０８に転送され記憶される。
【０１７７】
［８．本開示の構成のまとめ］
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１７８】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
（１）  フレーム画像の分割領域であるブロックをフレーム画像中に離間して設定し、設定した各ブロックに対応する動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）として算出するローカル動きベクトル算出部と、
前記ブロック各々に対応するローカル動きベクトル（ＬＭＶ）の信頼度指標としてのブロック重みを算出するブロック重み算出部と、
前記ローカル動きベクトル（ＬＭＶ）と、前記ブロック重みを入力し、フレーム画像に含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出するグローバル動きベクトル算出部を有し、
前記ブロック重み算出部は、
注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、
前記注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、
前記信頼度と類似度を適用した演算処理により、前記ブロック重みを算出する画像処理装置。
【０１７９】
（２）前記ブロック重み算出部は、前記信頼度の高い信頼される近傍ブロックを信頼近傍ブロックとして抽出し、さらに、前記信頼近傍ブロック中、前記類似度の高い類似ブロックを抽出し、前記信頼近傍ブロックに対する前記類似ブロックの比率を前記注目ブロックの重みとして設定する処理を実行する前記（１）に記載の画像処理装置。
（３）前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル（ＬＭＶ）によって対応付けられるブロック間の画素値差分絶対値和を適用して前記信頼度を算出する前記（１）または（２）に記載の画像処理装置。
【０１８０】
（４）前記ブロック重み算出部は、各ブロック対応のローカル動きベクトル（ＬＭＶ）によって対応付けられるブロックの分散値または特徴点数を適用して前記信頼度を算出する前記（１）〜（３）いずれかに記載の画像処理装置。
（５）前記ブロック重み算出部は、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）が１つのグローバル動き（ＧＭＶ）の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する前記（１）〜（４）いずれかに記載の画像処理装置。
（６）前記ブロック重み算出部は、画像処理装置内の画像補正部において回転補正可能な許容回転角度を考慮し、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）が前記許容回転角度以内のグローバル動き（ＧＭＶ）の回転に対応した動きベクトルに近いか否かを判定して前記類似度の算出を実行する前記（５）に記載の画像処理装置。
【０１８１】
（７）前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と、近傍ブロックの信頼度との乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果と、注目ブロックの信頼度を乗算して前記ブロック重みを算出する前記（１）〜（６）いずれかに記載の画像処理装置。
（８）前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度と近傍ブロックの信頼度の乗算値の加算結果を近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する前記（１）〜（７）いずれかに記載の画像処理装置。
【０１８２】
（９）前記ブロック重み算出部は、注目ブロックと各近傍ブロックの類似度の加算値を、近傍ブロックの信頼度の加算値で除算した結果を前記ブロック重みとして算出する前記（１）〜（８）いずれかに記載の画像処理装置。
（１０）前記グローバル動きベクトル算出部は、各ブロック対応のローカル動きベクトル（ＬＭＶ）と、各ブロック重みを適用したコスト演算式を適用して、コストを最小とするグローバル動きベクトル（ＧＭＶ）のパラメータを算出する前記（１）〜（９）いずれかに記載の画像処理装置。
【０１８３】
（１１）前記グローバル動きベクトル算出部は、並進および回転を考慮した３軸対応のグローバル動きベクトルのパラメータ、またはアフィン変換を考慮した６軸対応のグローバル動きベクトルのパラメータを算出する前記（１０）に記載の画像処理装置。
【０１８４】
さらに、上記した装置およびシステムにおいて実行する処理の方法や、処理を実行させるプログラムおよびプログラムを記録した記録媒体も本開示の構成に含まれる。
【０１８５】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１８６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１８７】
以上、説明したように、本開示の一実施例の構成によれば、信頼度の高いグローバル動きベクトル（ＧＭＶ）の算出を実行する装置および方法が実現される。
具体的には、ブロック対応のローカル動きベクトル（ＬＭＶ）と、ブロック各々のＬＭＶの信頼度指標としてのブロック重みを算出し、ブロック重みに応じてグローバル動きベクトル（ＧＭＶ）を算出する。注目ブロックと、該注目ブロックに近接する近傍ブロック各々のブロック対応のローカル動きベクトル（ＬＭＶ）の信頼度と、注目ブロックと近傍ブロックの各ローカル動きベクトル（ＬＭＶ）の類似度を算出し、信頼度と類似度を適用した演算処理により、ブロック重みを算出する。
本構成により、信頼度の高いグローバル動きベクトル（ＧＭＶ）を効率的に算出することが可能となる。
【符号の説明】
【０１８８】
１０，１１  フレーム画像
２１  動きベクトル
１０１  ローカル動きベクトル算出部（ＬＭＥ）
１０２  ブロック重み算出部
１０３  グローバル動きベクトル（ＧＭＶ）算出部
５００  撮像装置
５０１  撮像部
５０２  フレームメモリ
５０３  グローバル動きベクトル生成部
５０４  画像補正部
５０５  記憶部
７０１  ＣＰＵ
７０２  ＲＯＭ
７０３  ＲＡＭ
７０４  バス
７０５  入出力インタフェース
７０６  入力部
７０７  出力部
７０８  記憶部
７０９  通信部
７１０  ドライブ
７１１  リムーバブルメディア
【図３】
2013066164.tif 000016
【図４】
2013066164.tif 000017
【図５】
2013066164.tif 000018
【図６】
2013066164.tif 000019
【図７】
2013066164.tif 000020
【図８】
2013066164.tif 000021
【図９】
2013066164.tif 000022
【図１０】
2013066164.tif 000023
【図１１】
2013066164.tif 000024
【図１２】
2013066164.tif 000025
【図１３】
2013066164.tif 000026
【図１４】
2013066164.tif 000027
【図１５】
2013066164.tif 000028
【図１６】
2013066164.tif 000029
【図１７】
2013066164.tif 000030
【図１】
2013066164.tif 000031
【図２】
2013066164.tif 000032