(57)【特許請求の範囲】
【請求項１】
光学系に起因する歪曲収差を有する第１の原画像と、前記第１の原画像とは時間的に異なる第２の原画像とに対し、前記歪曲収差に応じた大きさのブロックを設定するブロック設定部と、
前記第２の原画像に設定された前記ブロックと、前記第１の原画像に設定された前記ブロックとの各画素の差分の絶対値の総和を演算し、この演算結果に基づき、前記ブロックに係る動きベクトルを得る相関演算部とを有する動きベクトル検出装置。
【請求項２】
前記ブロック設定部は、前記歪曲収差を補正した後の前記ブロックの大きさが略同一となるよう前記ブロックを設定することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
前記ブロック設定部は、前記ブロックを、前記歪曲収差の収差量が略等しい位置に設定することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項４】
前記ブロックに係る、光学的な中心位置からの距離、座標、又は重み係数の内の、少なくとも１つのパラメータを算出するパラメータ算出部と、
前記ブロックに係る動きベクトルと前記パラメータとに基づき、画像全体としての動きベクトルを検出する手振れ検出部とを有することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項５】
前記光学系は、共軸レンズ群よりなることを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項６】
前記光学系は、非共軸レンズ群を含むことを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項７】
光学系に起因する歪曲収差を有する第１の原画像と、前記第１の原画像とは時間的に異なる第２の原画像とに対し、前記歪曲収差に応じた大きさのブロックを設定する第１のステップと、
前記第２の原画像に設定された前記ブロックと、前記第１の原画像に設定された前記ブロックとの各画素の差分の絶対値の総和を演算する第２のステップと、
この演算結果に基づき、前記ブロックに係る動きベクトルを求める第３のステップと、
を有することを特徴とする動きベクトル検出方法。
【請求項８】
前記第１のステップにおいて、前記歪曲収差を補正した後の前記ブロックの大きさが略同一となるよう前記ブロックを設定することを特徴とする請求項７に記載の動きベクトル検出方法。
【請求項９】
前記第１のステップにおいて、前記ブロックを、前記歪曲収差の収差量が略等しい位置に設定することを特徴とする請求項７に記載の動きベクトル検出方法。
【請求項１０】
前記ブロックに係る、光学的な中心位置からの距離、座標、又は重み係数の内の、少なくとも１つのパラメータを算出し、前記ブロックに係る動きベクトルと前記パラメータとに基づき、画像全体としての動きベクトルを検出する第４のステップをさらに有することを特徴とする請求項７に記載の動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置及び方法に関し、特に、デジタルカメラ等の電子的撮像装置に用いて、手ぶれ等による画質の劣化防止に好適な動きベクトル検出装置及び方法に関する。
【背景技術】
【０００２】
従来から、デジタルカメラ等においては、手ぶれ等による画質劣化を防止する方法が種々提案されている。その代表的なものとしては、例えば、レンズを移動して補正するもの、ＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）を移動して補正するもの、撮像された画像を複数のフレームメモリに蓄積し、前後のフレーム間で画像を比較して動きベクトルを算出するとともに、手ぶれを相殺するように画像の読み出し位置を調整するもの（以下、電子手ぶれ補正という）等がある。
【０００３】
また、電子手ぶれ補正を実行するためには、前のフレームに対して画像がどの方向にどれだけずれたかを検出する動きベクトル検出部が必要であるが、その方法の一つとしてブロックマッチングがある（例えば、特許文献１参照。）。以下に、ブロックマッチングの一例を説明する。
【０００４】
ブロックマッチングの手法では、複数フレーム（一般には、現フレームとその一つ前のフレーム）の画像をＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリに格納しておく。そして、現フレームの画像の一部（現フレームの評価ブロック、図２０の黒四角部）と、前フレームのほぼ同じ位置にある同じ大きさの画像（前フレームの評価ブロック、図２１の網掛け部）とを切り出し、各画素の差分の絶対値の総和（相関値）を計算する。
【０００５】
図２２は、図２１の拡大図であり、点線で囲まれた部分は現フレームの評価ブロックの位置に対応し、矢印はその相関値を得るベクトルを示す。この図に示すように、処理としては、現フレームの評価ブロックに対して、前フレームの評価ブロックの位置を１画素ずつ変えて、各画素の差分の絶対値の総和（相関値）計算を繰り返し、相関値が最小になる画像の位置関係（動きベクトル）をメモリに記憶する。なお、メモリに記憶する動きベクトルは、その最小値だけでなく、小さいものからn個を記憶しても良い。そして、フレーム内のすべての評価ブロックに対して、こうした処理を繰り返し、このようにして取得した動きベクトルを元に、フレーム全体でどの方向にどれだけ動いたかをＣＰＵ等で算出し、その動いた量を相殺する様に画像の読み出しアドレスを調整する。
【０００６】
図１９に、手ぶれ補正機能の一部として動きベクトル検出機能を利用する画像処理装置の従来例を示す。図１９において、ＣＣＤで撮像された画像は、プリプロセス1に入力され、ＡＥ（Ａｕｔｏｍａｔｉｃ  Ｅｘｐｏｓｕｒｅ）、ＡＦ（Ａｕｔｏ  Ｆｏｃｕｓ）、ＡＷＢ（Ａｕｔｏ  Ｗｈｉｔｅ  Ｂａｌａｎｃｅ）のための評価値を取得しながらＳＤＲＡＭ３に画像を格納する。なお、このとき格納された画像はベイヤ画像であり、歪曲収差で歪んでいる。
【０００７】
ＣＰＵ２は、上記のＡＥ，ＡＦ，ＡＷＢの値を参照して、露出、フォーカス、ＲＧＢゲイン、ホワイトバランス係数を算出し、イメージプロセス４へパラメータを設定する。また、その他の画像処理用のパラメータもＣＰＵ２から設定される。ＣＰＵ２は、イメージプロセス４が動作する前に、動きベクトル検出部７へのパラメータ設定を行って、先に動きベクトル検出部７を起動する。
【０００８】
次に、ソート部７５から手ぶれ検出制御部７１にトリガをかける。評価ブロック位置算出部７１１は、評価ブロックの位置を、例えば、図２０に示すように正方格子状に並んだ位置に設定する。ＤＭＡパラメータ算出部７１２は、評価ブロックの位置がＳＤＲＡＭ３上のどのアドレスにあるかを算出し、ＤＭＡ７２に設定する。ＤＭＡ７２は、ＳＤＲＡＭ３から画像データを取得し、メモリ７３に格納する。ここで、メモリ７３には現フレームの評価ブロックと前フレームの評価ブロック画像が格納されている。
【０００９】
相関演算部７４は、メモリ７３のデータから相関値の演算を行い、相関値と動きベクトルをソート部７５に出力する。ソート部７５は、ひとつの評価ブロックからの動きベクトルと相関値を取得すると、相関値の低い順にこれらをソートし、上位n個の動きベクトルを局所的な動きベクトルとしてメモリ７６に格納する。
【００１０】
ＣＰＵ２は、メモリ７６に格納された動きベクトルから最も出現頻度の高いベクトルや分散の大きさ等に基づいて手ぶれが生じたかを判別し、フレーム全体でどの方向に手ぶれが生じたのかを演算したのち、イメージプロセス４へのパラメータに反映させる。イメージプロセス４は、上記手ブレを補正するために反映されたパラメータを元に、ＳＤＲＡＭ３上に格納されている画像データを少しずつ切り出して画像処理を行い、再びＳＤＲＡＭ３へ格納する。
【特許文献１】特開２０００−２６１７５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、一般的に、カメラの光学系においては歪曲収差が現れる。この歪曲収差は、例えば格子状の被写体を撮影する場合、樽型・糸巻き型として観測される。図１７、図１８は、樽型（共軸系）歪の例であり、図１７の画像が図１８に示すようにレンズの光学中心を原点として半径方向に離れるに従って縮小される様に歪曲する。
【００１２】
ところが、上述の従来技術における動きベクトル検出においては、このような歪曲収差の影響が何ら考慮されていない。したがって、例えば、図１３に示すような位置（図中の網掛け部分）からそれぞれ評価ブロックを切り出したとすると、歪曲収差が補正された後の画像上で見れば、図１４のように外側にいくほど評価ブロックのサイズが大きくなる。なお、図１３は、図中、左下が光学的中心の座標で、その第１象限だけを図示したものである。
【００１３】
つまり、図１４のような場合には、画像の中央付近と外側とで、検出できる動きベクトルの大きさが異なってしまう。ここで、手ぶれ補正処理とは、画像全体の動きベクトルを検出する処理であることから、図１４のような場合には、動きベクトルの大きさが評価ブロックサイズが最も小さい中央付近において検出可能な動きベクトルの大きさで制限されてしまうことになり、周辺部でより大きい動きベクトルが検出できても主要被写体が通常位置する中央部では、大きいベクトル量を検出できないため、あまり効果が無く、かえって無駄な計算をしてしまうことになる。
【００１４】
また、図１４では評価ブロックを正方格子状に配置しているが、光学的な中心位置からの距離で考えると、評価ブロック毎に距離が異なるため、歪曲収差を考慮しようとすると演算が複雑になる。さらに、図１４に示すように、歪曲収差が補正された後の画像上では光学的中心付近の画像は縮小され、外側は拡大されている。仮に、光学的中心付近で０．８倍、一番外側の部分で１．５倍、中央部分で１．０倍の拡大率であるとすると、画像の手ぶれによる動きベクトルが４である場合、中心付近で検出された動きベクトルは横方向に５（４÷０．８）、中央では４（４÷１）、外側では３（４÷１．５。小数部四捨五入）と検出される。
【００１５】
このとき仮に、後処理で歪曲収差による動きベクトルの調整が行われたとすると、中心付近および中央部は動きベクトル４（５×０．８、４×１．０）と復元できるが、外側は４．５（３×１．５）となり、中央より大きな動きベクトルを有している手ぶれが生じたと判断されてしまう。つまり、中央付近は動きベクトルの検出精度が高く、外側に行くに従って精度が低くなってしまう。この現象は、図１１、図１２に示す非共軸系の場合も同様である。
【００１６】
また、通常の同心円状のレンズで歪曲収差の大きい画像を取得すると、例えば図１８の左右両端のように、ＣＣＤが存在しているのにもかかわらず、処理に利用できない部分が存在し、有効に画角を使用できないという問題がある。そこで、図１０に示すシリンドリカル型レンズのように水平、垂直方向に独立な歪曲を発生させるレンズ群で光学系を構成し、ＣＣＤを有効に使うための歪を発生させる方法がある。この方法では、歪曲収差が生じても、図１５の格子縞が図１６のように変形されることになるため、ＣＣＤ全体を有効に利用できる。しかし、これらのレンズ群においても、これまで説明したような問題が同様に発生してしまう。
【００１７】
そこで、本発明は、上述の課題を鑑みてなされたものであり、光学系における歪曲収差を考慮しつつ、演算量を低減するとともに、精度の高い手ぶれ補正を実現するための動きベクトル検出装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
請求項１の発明は、光学系に起因する歪曲収差を有する第１の原画像と、前記第1の原画像とは時間的に異なる第２の原画像とに対し、前記歪曲収差に応じた大きさのブロックを設定するブロック設定部と、前記第２の原画像に設定された前記ブロックと、前記第１の原画像に設定された前記ブロックとの各画素の差分の絶対値の総和を演算し、この演算結果に基づき、前記ブロックに係る動きベクトルを得る相関演算部とを有する動きベクトル検出装置を提案している。
【００１９】
請求項７に係る発明は、光学系に起因する歪曲収差を有する第１の原画像と、前記第1の原画像とは時間的に異なる第２の原画像とに対し、前記歪曲収差に応じた大きさのブロックを設定する第１のステップと、前記第２の原画像に設定された前記ブロックと、前記第１の原画像に設定された前記ブロックとの各画素の差分の絶対値の総和を演算する第２のステップと、この演算結果に基づき、前記ブロックに係る動きベクトルを求める第３のステップと、を有することを特徴とする動きベクトル検出方法を提案している。
【００２０】
これらの発明によれば、ブロック設定部が、又は第１のステップで、光学系に起因する歪曲収差を有する第１の原画像と、第1の原画像とは時間的に異なる第２の原画像とに対し、歪曲収差に応じた大きさのブロックを設定する。そして、相関演算部が、又は第２及び第３のステップで、第２の原画像に設定された前記ブロックと、前記第１の原画像に設定された前記ブロックとの各画素の差分の絶対値の総和を演算し、この演算結果に基づき、前記ブロックに係る動きベクトルを得る。したがって、ブロック設定部が歪曲収差に応じた大きさのブロックを設定するため、従来のように、無駄な計算処理の発生を防止して、演算処理の高速化および消費電力の低減を図ることができる。
【００２１】
請求項２の発明は、請求項１に記載の動きベクトル検出装置について、前記ブロック設定部は、前記歪曲収差を補正した後の前記ブロックの大きさが略同一となるよう前記ブロックを設定することを特徴とする動きベクトル検出装置を提案している。
【００２２】
請求項８に係る発明は、請求項７に記載の動きベクトル検出方法について、前記第１のステップにおいて、前記歪曲収差を補正した後の前記ブロックの大きさが略同一となるよう前記ブロックを設定することを特徴とする動きベクトル検出方法を提案している。
【００２３】
これらの発明によれば、ブロック設定部又は第１のステップが、歪曲収差を補正した後のブロックの大きさが略同一となるようブロックを設定する。したがって、従来のように、光学中心からの距離に応じて、評価ブロックのサイズが大きくなることを防止することができる。
【００２４】
請求項３の発明は、請求項１に記載の動きベクトル検出装置について、前記ブロック設定部は、前記ブロックを、前記歪曲収差の収差量が略等しい位置に設定することを特徴とする動きベクトル検出装置を提案している。
【００２５】
請求項９に係る発明は、前請求項７に記載の動きベクトル検出方法について、記第１のステップにおいて、前記ブロックを、前記歪曲収差の収差量が略等しい位置に設定することを特徴とする動きベクトル検出方法を提案している。
【００２６】
これらの発明によれば、ブロック設定部又は第１のステップは、ブロックを、歪曲収差の収差量が略等しい位置に設定する。したがって、光学中心からの距離に依存するパラメータを多くの評価ブロックで共有できるため、パラメータの設定が容易になり、パラメータとして保存するデータ量の削減を図ることができる。
【００２７】
請求項４の発明は、請求項１に記載の動きベクトル検出装置について、前記ブロックに係る、光学的な中心位置からの距離、座標、又は重み係数の内の、少なくとも１つのパラメータを算出するパラメータ算出部と、前記ブロックに係る動きベクトルと前記パラメータとに基づき、画像全体としての動きベクトルを検出する手振れ検出部とを有することを特徴とする動きベクトル検出装置を提案している。
【００２８】
請求項１０に係る発明は、請求項７に記載の動きベクトル検出方法について、前記ブロックに係る、光学的な中心位置からの距離、座標、又は重み係数の内の、少なくとも１つのパラメータを算出し、前記ブロックに係る動きベクトルと前記パラメータとに基づき、画像全体としての動きベクトルを検出する第４のステップをさらに有することを特徴とする動きベクトル検出方法を提案している。
【００２９】
これらの発明によれば、パラメータ算出部がブロックに係る、光学的な中心位置からの距離、座標、又は重み係数の内の、少なくとも１つのパラメータを算出する。そして、手振れ検出部又は第１のステップが、ブロックに係る動きベクトルとパラメータとに基づき、画像全体としての動きベクトルを検出する。したがって、各評価ブロックから出力される動きベクトルに対して、その精度に応じた重みを与えて動きベクトルを算出することにより、さらに精度の高い動きベクトルを取得することができる。
【００３０】
請求項５の発明は、請求項１に記載の動きベクトル検出装置について、前記光学系は、共軸レンズ群よりなることを特徴とする動きベクトル検出装置を提案している。
【００３１】
請求項６の発明は、請求項１に記載の動きベクトル検出装置について、前記光学系は、非共軸レンズ群を含むことを特徴とする動きベクトル検出装置を提案している。
【発明の効果】
【００３２】
本発明によれば、光学系における歪曲収差を考慮して、動きベクトルの演算量を低減するとともに、精度の高い手ぶれ補正を実現できるという効果がある。
【発明を実施するための最良の形態】
【００３３】
＜第１の実施形態＞
本実施形態は、特に、図１３のように、光学系に共軸系の歪曲収差を有するデジタルカメラ等において好適な動きベクトル検出装置である。以下、図１から図５を用いて、その内容を詳細に説明する。
【００３４】
本実施形態に係る動きベクトル検出装置は、図１に示すように、プリプロセス部１と、ＣＰＵ２と、ＳＤＲＡＭ３と、イメージプロセス部４と、動きベクトル検出部５とから構成されており、動きベクトル検出部５は、さらに、動きベクトル検出制御部５１と、ＤＭＡ５２と、メモリ５３、５６と、相関演算部５４と、ソート部５５とから構成されている。また、動きベクトル検出制御部５１は、評価ブロック位置算出部（ブロック設定部）５１１と、評価ブロック距離算出部（パラメータ算出部）５１２と、重み係数算出部（パラメータ算出部）５１３と、評価ブロックサイズ算出部（ブロック設定部）５１４と、ＤＭＡパラメータ算出部５１５と、相関演算パラメータ算出部５１６とから構成されている。なお、プリプロセス部１、ＣＰＵ２、ＳＤＲＡＭ３、イメージプロセス部４、ＤＭＡ５２、メモリ５３、相関演算部５４の主たる機能については、上述の従来技術と同様であるため、ここでの詳細な説明は省略する。
【００３５】
評価ブロック位置算出部５１１は、評価ブロックの位置を算出する。具体的には、図２に示すように、光学的中心（図中、Ｘ軸とＹ軸とが交わる点）からの距離ｒが一様になるように、すなわち、評価ブロックが同心円状に配置されるよう評価ブロックの位置を算出する。
【００３６】
評価ブロック距離算出部５１２は、評価ブロックが光学的中心からどれくらいの距離にあるかを算出する。具体的には、光学的中心（図２におけるＸ軸とＹ軸とが交わる点）を        原点とし、評価ブロックの位置を（Ｘ，Ｙ）としたときに、その距離ｒを
ｒ＝（Ｘ＾２＋Ｙ＾２）＾０．５のように求めるが、回路規模を削減するため、ｒ＾２の値を算出してもよい。
【００３７】
重み係数算出部５１３は、評価ブロック距離算出部５１２において算出された、例えば、Ｒ＝ｒ＾２の値を入力して、その評価ブロックから得られた動きベクトルの重要度を重み係数ｋ（０から１までの値）として出力する。なお、重み係数は、画像の中心部ほど高く、周辺部になるほど低くなる。
【００３８】
評価ブロックサイズ算出部５１４は、歪曲収差補正後の評価ブロックの大きさがほぼ同じになるように評価ブロックサイズを算出する。具体的には、図３に示すように、設定された３つの評価ブロックのサイズが、図４に示すように、歪曲収差補正後の画像上でほぼ同じ大きさＬになる様に、光学中心からの距離に応じて、評価ブロックサイズを算出し、この値Ｌを相関演算パラメータ算出部５１６、ＤＭＡパラメータ算出部５１５に出力する。
【００３９】
ＤＭＡパラメータ算出部５１５は、評価ブロックサイズ算出部５１４から入力したＬと、評価ブロック位置算出部５１１から入力した（Ｘ、Ｙ）に基づいて、評価ブロックの位置がＳＤＲＡＭ３上のどのアドレスにあるかを算出し、ＤＭＡ５２にそのアドレスを設定する。相関演算パラメータ算出部５１６は、評価ブロックのサイズＬの変化に応じて、相関演算を何回実行するのかを相関演算部５４に設定する。
【００４０】
ソート部５５は、相関演算部５４から出力される相関値と動きベクトルおよび重み係数算出部５１３から出力される重み係数ｋをソートしてメモリ５６に格納する。メモリ５６は、ソート部５５から出力される動きベクトルと重み係数情報とを所定のアドレスに格納する。そして、ＣＰＵ２が手ぶれ補正を実行する場合には、メモリ５６に格納された動きベクトルとその重み係数ｋを考慮し、その出現頻度の係数等を用いて処理を行う。
【００４１】
次に、図５を用いて、本実施形態における動きベクトルの検出方法について説明する。
動きベクトル検出部５は、メモリ５３に現フレームである第一フレーム画像を取り込み（ステップ１０１）、続いて、前フレームである第二フレーム画像を取り込む（ステップ１０２）。ソート部５５が動きベクトル検出制御部５１にトリガをかけると、評価ブロック位置算出部５１１は、評価ブロックの位置を、例えば、図２に示すように、光学中心から同心円状に並んだ位置に設定し、その座標情報（Ｘ，Ｙ）を評価ブロック距離算出部５１２、ＤＭＡパラメータ算出部５１５に出力する（ステップ１０３）。
【００４２】
次に、評価ブロック距離算出部５１２は、評価ブロック位置算出部５１１から出力された評価ブロックの座標情報（Ｘ，Ｙ）を入力し、光学中心から距離Ｒ＝ｒ＾２を算出する（ステップ１０４）。評価ブロック距離算出部５１２で求められた距離情報Ｒは、評価ブロックサイズ算出部５１４に出力され、評価ブロックサイズ算出部５１４において、歪曲収差補正後の評価ブロックの大きさがほぼ同じになるような評価ブロックサイズＬが算出され、その値Ｌは、ＤＭＡパラメータ算出部５１５に出力される（ステップ１０５）。また、評価ブロック距離算出部５１２で求められた距離情報Ｒは、重み係数算出部５１３にも出力され、その評価ブロックから得られた動きベクトルの重要度を重み係数ｋとしてソート部５５に出力する（ステップ１０６）。
【００４３】
次に、例えば、図２２の左上に位置するブロックを初期値としたときに、ソート部５５が動きベクトルを検出する（ステップ１０７）。検出された動きベクトルに基づいて、相関演算部５４は、相関演算を実行し、その結果をソート部５５に出力する（ステップ１０８）。ソート部５５は、メモリ５６にすでに相関演算結果が１０個格納されている場合には、相関演算部５４から入力した相関演算結果をすでに格納されている相関演算結果と比較して（ステップ１０９）、この相関演算結果の相関値が格納されている相関値のいずれかよりも小さい値であるときには、格納されている最下位の相関値を消去して、この相関値を記憶する（ステップ１１０）。
【００４４】
次に、相関値を演算するためのブロックを１画素分移動させて（ステップ１１１）、動きベクトルを順次検出し、値を更新して相関演算を実行する（ステップ１１２）。一方で、相関演算部５４から入力した相関演算結果をすでに格納されている相関値のいずれよりも大きい値であるときには、相関演算部５４から入力した相関演算結果を破棄して、ステップ１１１の処理に移行する（ステップ１０９）。
【００４５】
そして、ある評価ブロックについて、上記ステップ１１１までの処理を終了すると、評価ブロックを更新してステップ１０３の処理に戻る（ステップ１１４）。そして、すべての評価ブロックについて、上記一連の処理を終了すると（ステップ１１３）、メモリ５６に格納された動きベクトルをＣＰＵ２に出力して動作を終了する（ステップ１１５）。
【００４６】
したがって、本実施形態によれば、光学系に共軸系の歪曲収差がある場合においても、評価ブロックのサイズを光学的な中心からの距離に基づいて、適宜、調整を行うため、動きベクトルによる手ぶれ補正等を精度よく実行することができる。
【００４７】
＜第２の実施形態＞
本実施形態は、特に、図１０のように、水平、垂直方向に独立した歪曲収差を発生させる光学系によって構成されるデジタルカメラ等において好適な動きベクトル検出装置である。この場合には、図７に示すように、歪曲収差をＸ方向とＹ方向にそれぞれ独立して考えることができるため、第１の実施形態のように、光学的中心からの距離を求めることなく、座標から直接求めることができる。以下、図６から図９を用いて、その内容を詳細に説明する。
【００４８】
本実施形態に係る動きベクトル検出装置は、図６に示すように、プリプロセス部１と、ＣＰＵ２と、ＳＤＲＡＭ３と、イメージプロセス部４と、動きベクトル検出部６とから構成されており、動きベクトル検出部６は、さらに、動きベクトル検出制御部６１と、ＤＭＡ６２と、メモリ６３、６６と、相関演算部６４と、ソート部６５とから構成されている。また、動きベクトル検出制御部６１は、評価ブロック位置算出部（ブロック設定部）６１１と、評価ブロック距離算出部（パラメータ算出部）６１２と、重み係数算出部（パラメータ算出部）６１３と、評価ブロックサイズ算出部（ブロック設定部）６１４と、ＤＭＡパラメータ算出部６１５と、相関演算パラメータ算出部６１６とから構成されている。なお、プリプロセス部１、ＣＰＵ２、ＳＤＲＡＭ３、イメージプロセス部４、ＤＭＡ６２、メモリ６３、相関演算部６４の主たる機能については、上述の従来技術と同様であるため、ここでの詳細な説明は省略する。
【００４９】
評価ブロック距離算出部６１２は、評価ブロックの座標情報（Ｘ、Ｙ）をそのまま重み係数算出部６１３と評価ブロックサイズ算出部６１４とに出力する。評価ブロックサイズ算出部６１４は、評価ブロック距離算出部６１２から入力した評価ブロックの座標情報（Ｘ、Ｙ）に基づいて、Ｘ方向、Ｙ方向それぞれの評価ブロックサイズ（Ｌｘ、Ｌｙ）を算出し、この情報をＤＭＡパラメータ算出部６１５および相関演算パラメータ算出部６１６に出力する。
【００５０】
具体的には、歪曲収差補正後の評価ブロックの大きさがほぼ同じになるように、例えば、図８に示すように設定された３つの評価ブロックのサイズが、図９に示すように、歪曲収差補正後の画像上において、ほぼ同じ大きさになるように、入力した評価ブロックの座標情報（Ｘ、Ｙ）に応じて、評価ブロックサイズ（Ｌｘ、Ｌｙ）を算出する。重み係数算出部６１３は、入力した座標情報（Ｘ、Ｙ）から、Ｘ座標に基づいて得られる重みとＹ座標に基づいて得られる重みとを乗算してその値ｋをソート部６５に出力する。
【００５１】
ＤＭＡパラメータ算出部６１５は、評価ブロックサイズ算出部６１４から入力した（Ｌｘ、Ｌｙ）と、評価ブロック位置算出部６１１から入力した座標情報（Ｘ、Ｙ）に基づいて、評価ブロックの位置がＳＤＲＡＭ３上のどのアドレスにあるかを算出し、ＤＭＡ６２にそのアドレスを設定する。相関演算パラメータ算出部６１６は、評価ブロックのサイズ（Ｌｘ、Ｌｙ）の変化に応じて、相関演算を何回実行するのかを相関演算部６４に設定する。
【００５２】
ソート部６５は、相関演算部６４から出力される相関値と動きベクトルおよび重み係数算出部６１３から出力される重み係数ｋをソートしてメモリ６６に格納する。メモリ６６は、ソート部６５から出力される動きベクトルと重み係数情報とを所定のアドレスに格納する。そして、ＣＰＵ２が手ぶれ補正を実行する場合には、メモリ６６に格納された動きベクトルとその重み係数ｋを考慮し、その出現頻度の係数等を用いて処理を行う。
【００５３】
したがって、本実施形態によれば、光学系に非共軸系の歪曲収差がある場合においても、評価ブロックのサイズを光学的な中心からの座標情報に基づいて、適宜、調整を行うため、動きベクトルによる手ぶれ補正等を精度よく実行することができる。
【００５４】
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【図面の簡単な説明】
【００５５】
【図１】第１の実施形態に係る動きベクトル検出装置の構成図である。
【図２】第１の実施形態に係る評価ブロックの配置を示した図である。
【図３】第１の実施形態に係る歪曲収差補正前の評価ブロックサイズを示した図である。
【図４】第１の実施形態に係る歪曲収差補正後の評価ブロックサイズを示した図である。
【図５】第１の実施形態に係る動きベクトル検出装置の処理フローである。
【図６】第２の実施形態に係る動きベクトル検出装置の構成図である。
【図７】第２の実施形態に係る評価ブロックの配置を示した図である。
【図８】第２の実施形態に係る歪曲収差補正前の評価ブロックサイズを示した図である。
【図９】第２の実施形態に係る歪曲収差補正後の評価ブロックサイズを示した図である。
【図１０】共軸系の歪曲収差を補正するために光学系に用いられるシリンドリカル型レンズを示した図である。
【図１１】非共軸系の歪曲収差を有する光学系において、同じサイズの評価ブロックを配置した例を示した図である。
【図１２】非共軸系の歪曲収差を有する光学系に配置された同じサイズの評価ブロックに対して歪曲収差補正を行った例を示した図である。
【図１３】共軸系の歪曲収差を有する光学系において、同じサイズの評価ブロックを配置した例を示した図である。
【図１４】共軸系の歪曲収差を有する光学系に配置された同じサイズの評価ブロックに対して歪曲収差補正を行った例を示した図である。
【図１５】図１６の元画像を示す図である。
【図１６】非共軸系の歪曲収差を有する光学系で図１５の元画像を撮像した例を示す図である。
【図１７】図１６の元画像を示す図である。
【図１８】共軸系の歪曲収差を有する光学系で図１７の元画像を撮像した例を示す図である。
【図１９】従来の動きベクトル検出装置の構成を示す図である。
【図２０】現フレームの評価ブロックを示す図である。
【図２１】前フレームの評価ブロックを示す図である。
【図２２】図２１の拡大図である。
【符号の説明】
【００５６】
１  プリプロセス部
２  ＣＰＵ
３  ＳＤＲＡＭ
４  イメージプロセス部
５、６  動きベクトル検出部
５１、６１  動きベクトル検出制御部
５２、６２  ＤＭＡ
５３、５６、６３、６６  メモリ
５４、６４  相関演算部
５５、６５  ソート部
５１１、６１１  評価ブロック位置算出部（ブロック設定部）
５１２、６１２  評価ブロック距離算出部（パラメータ算出部）
５１３、６１３  重み係数算出部（パラメータ算出部）
５１４、６１４  評価ブロックサイズ算出部（ブロック設定部）
５１５、６１５  ＤＭＡパラメータ算出部
５１６、６１６  相関演算パラメータ算出部
【図１】
0004658711.tif 000002
【図２】
0004658711.tif 000003
【図３】
0004658711.tif 000004
【図４】
0004658711.tif 000005
【図５】
0004658711.tif 000006
【図６】
0004658711.tif 000007
【図７】
0004658711.tif 000008
【図８】
0004658711.tif 000009
【図９】
0004658711.tif 000010
【図１０】
0004658711.tif 000011
【図１１】
0004658711.tif 000012
【図１２】
0004658711.tif 000013
【図１３】
0004658711.tif 000014
【図１４】
0004658711.tif 000015
【図１５】
0004658711.tif 000016
【図１６】
0004658711.tif 000017
【図１７】
0004658711.tif 000018
【図１８】
0004658711.tif 000019
【図１９】
0004658711.tif 000020
【図２０】
0004658711.tif 000021
【図２１】
0004658711.tif 000022
【図２２】
0004658711.tif 000023