(57)【要約】【課題】複数に分割した各エリアの動きベクトルから信頼性の高低を考慮して、全体の動きベクトルを適確に求める。【解決手段】各エリアの動きベクトルの平均値と標準偏差によって定まる範囲内のもののみを選択し、更に各エリアのコントラスト係数を求め、それをもとに重み付け係数を求めたのち重み付け平均を求めこれを全体の動きベクトルとする。これにより信頼性の高低を評価して全体の動きベクトルを適確に求める。【選択図】　　　　図１
2004015376.tif 000002
【特許請求の範囲】
【請求項１】
イメージセンサーを用いて像振れを検出し像ぶれを補正を行う装置において、画面を複数に分割した各エリアの動きベクトルを求めたのち、各エリアの動きベクトルの平均値と標準偏差を求め、平均値を標準偏差によって定まる範囲内のものを全体の動きベクトルを用いることを特徴とする像振れ防止装置およびカメラ。
【請求項２】
平均値を標準偏差によって定まる範囲内のもの選択する処理を複数回行うことを特徴とする１項記載の像振れ防止装置およびカメラ。
【請求項３】
イメージセンサーを用いて像振れを検出し像ぶれを補正を行う装置において、画面を複数に分割した各エリアの動きベクトルを求めたのち、各エリアのコントラストを評価する係数を求め、このコントラスト係数を評価する係数を用いて全体の動きベクトルを求めることを特徴とする像振れ防止装置およびカメラ。
【請求項４】
複数に分割した各エリアの動きベクトルをそのエリアのコントラストを評価する係数で重み付けした平均値を全体の動きベクトルとすることを特徴とする３項記載の像振れ防止装置およびカメラ。
【請求項５】
複数に分割した各エリアのコントラストを評価する係数は各エリアの射信号の最大値と最小値の差であることを特徴とする３項記載の像振れ防止装置およびカメラ。
【請求項６】
複数に分割した各エリアのコントラストを評価する係数は各エリアの射信号の最大値と最小値の差が一定値以上のもの重み付けは同等とすることを特徴とする４項記載の像振れ防止装置およびカメラ。
【請求項７】
複数に分割した各エリアのコントラストを評価する係数は各エリアの射信号の最大値と最小値の差一定値未満のもの重み付けは零とすることを特徴とする４項記載の像振れ防止装置およびカメラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は比較的低い振動を受ける機器の振動抑制の為に用いられる装置に関し、更には例えばカメラ等の機器に生ずる１０Ｈｚ程度以下の周波数の振動（手ブレ等）を検出してこれを像振れ防止の情報として像ブレ抑制を図るシステムに関するものである。
【０００２】
【従来の技術】
イメージセンサーを用いて像振れを検出する像振れ防止装置に関する従来の発明としては特開平５−１２２５９０号公報、特開平６−４６３１５号公報などがある。
【０００３】
特開平５−１２２５９０号公報には以下のような発明が開示されている。
【０００４】
発明の目的は手ブレ補正機能を持つビデオカメラの手ブレ検出動きベクトルを安定形成することである。そして以下のような構成である。ブロック別動きベクトル検出手段が発生するブロック別の動きベクトルを検出し、増加度検出手段にてブロック別動きベクトルの増加度を検出し、動きベクトル発生手段内にて増加度の小さい動きベクトルのみを選択して、選択した動きベクトルの平均値を手ブレ検出動きベクトルとする。
【０００５】
また特開平６−４６３１５号公報には以下のような発明が開示されている。
【０００６】
発明の目的は手ブレ補正機能を持つビデオカメラの手ブレ検出動きベクトルを安定形成することである。そして以下のような構成である。ブロック別動きベクトル検出手段が発生するブロック別の動きベクトルを検出し、平均演算手段にてブロック別動きベクトルの平均ベクトルを求め、偏差演算手段にてブロック別動きベクトルの偏差を検出し、孤立度演算手段にて偏差と平均ベクトルに基づき孤立度を求め、手ブレ検出動きベクトル発生手段にて求めた孤立度に応じて動きベクトルを選択的に演算処理してブレ検出動きベクトルを求める。
【０００７】
【発明が解決しようとしている課題】
しかしながら上述従来例では、増加度の小さい動きベクトルのみを選択して、選択した動きベクトルの平均値を手ブレ検出動きベクトルとしたり、偏差と平均ベクトルに基づき孤立度を求め、孤立度に応じて動きベクトルを選択的に演算処理してブレ検出動きベクトルを求めているため、コントラストが低いなどの理由により信頼性の低いブロックの情報も、信頼性の高い情報と同等に評価してしまうため複数に分割された各ブロックの動くベクトルから全体の動きベクトルを適確に求めることができないことがある。
【０００８】
【課題を解決するための手段】
これに対して本発明においては、複数に分割した各エリアの動きベクトルを求めたのち、各エリアの動きベクトルの平均値と標準偏差を求め、平均値を標準偏差によつて定まる範囲内のものを全体の動きベクトルを用いる。更に複数に分割した各エリアのコントラストを評価する係数を求め、求められた各エリアの動きベクトルをそのコントラスト係数で重み付けし平均値を全体の動きベクトルとする。
【０００９】
【発明の実施の形態】
（第一の実施形態）
図１に本発明の実施形態のブロック図を示す。１はＭＰＵ（マイクロプロセッシングユニット）、２はメモリー、３はＥＥＰＲＯＭ、４はイメージセンサーに画像を形成するための受光レンズ、５は像振れを検出するためのイメージセンサー、６はイメージセンサーの出力を増幅する増幅回路、７はピッチ方向に補正レンズを駆動するための補正レンズ駆動装置、８はヨー方向に補正レンズを駆動するための補正レンズ駆動装置、９は像振れを補正するための補正レンズである。図１においてイメージセンサー５の出力は増幅回路６を介してＭＰＵｌのＡ／Ｄ変換入力端子に接続されている。
【００１０】
またイメージセンサー５は自身の駆動回路機能を内蔵している。
【００１１】
本実施形態においては、イメージセンサー５上に形成された画像の水平方向・垂直方向の射影信号をイメージセンサー５における画像処理機能を用いて算出し、この射影信号をＭＰＵｌのＤＭＡ機能を用いてＡ／Ｄ変換端子からメモリー２に転送し、メモリー２に転送されたデータから動きベクトルを求めることによって像ぶれを検出し、これをもとに像振れを補正する方向に補正レンズを駆動する事で、像振れを補正している。
【００１２】
その補正のシーケンスを図２に示すフローチャートを用いて説明する。またタイミングチャートを図３に、センサーの構成の概略を図４に示す。図４において、５０１はイメージゾーン、５０２は画像処理回路、５０３はメモリーゾーン、５０４はメモリーゾーンに記憶された画像処理をしていない信号を読み出す際に用いる読み出し用のシフトレジスタ、５０５は画像処理回路で求められた射影信号を記憶するメモリー、５０６は画像処理回路で求められた水平方向の射影信号を読み出す際に用いる読み出し用のシフトレジスタ、５０７は画像処理回路で求められた垂直方向の射影信号を読み出す際に用いる読み出し用のシフトレジスタ、５０８は読み出す信号を選択するための切換スイッチ、５１０は増幅器、５２０はセンサーのドライバーである。
【００１３】
カメラの動作シーケンスの説明に先だち、センサーの射影信号算出機能について説明する。
【００１４】
図４に示すようにセンサーの画面を水平垂直方向に各々４分割した場合を例に説明する。水平方向の射影信号は、センサーの画面を４分割した水平方向に長い短冊状の領域においてセンサーにおける画像処理機能を用いて求められる。同様に垂直方向の射影信号は、センサーの画面を４分割した垂直方向に長い短冊状の領域においてセンサーにおける画像処理機能を用いて求められる。すなわち、水平方向の射影信号を求める領域と垂直方向の射影信号を求める領域はその一部が重なる異なる領域となる。それぞれ四角い枠で囲った部分が一番目の射影信号を求める際の領域となる。水平方向の射影信号は、領域内の水平方向位置の等しい各画素の輝度を垂直方向に足し合わせたものである。また垂直方向の射影信号は、領域内の垂直方向位置の等しい各画素の輝度を水平方向に足し合わせたものである。センサー５の画像処理回路５０２ではこの足し合わせの演算を行う。この足し合わせの演算はＭＰＵｌから送られる転送パルスに同期して行われる。そしてその結果はメモリー５０５の所定の領域に、ＭＰＵｌから送られる転送パルスに同期して記憶される。
【００１５】
例えば、１００×１００画素のセンサーを水平垂直に各々４分割した場合を考える。
【００１６】
水平方向の１列目にある２５画素（１行目から２５行目）の信号を足し合わせ、第−の領域の水平方向の射影信号の１番目の値を求める。同様に２列目以降の２５画素（１行目から２５行目）の信号を足し合わせ、第一の領域の水平方向の射影信号の２番目以降の値を求める。この様にして第一の領域の水平方向の射影信号を求める。
【００１７】
ついで水平方向の１列目にある２６行目から５０行目の２５画素の信号を足し合わせ、第二の領域の水平方向の射影信号の１番目の値を求める。同様に２列目以降にある２６行目から５０行目の２５画素の信号を足し合わせ、第二の領域の水平方向の射影信号の２番目以降の値を求める。この様にして第二の領域の水平方向の射影信号を求める。同様にして、５１行目から７５行目の２５画素の信号を足し合わせ第三の領域の水平方向の射影信号を、７６行目から１００行目の２５画素の信号を足し合わせ第四の領域の水平方向の射影信号を求める。
【００１８】
また垂直方向１行目にある２５画素（１列目から２５列目）の信号を足し合わせ、第−の領域の垂直方向の射影信号の１番目の値を求める。同様に２行目以降の２５画素（１列目から２５列目）の信号を足し合わせ、第一の領域の垂直方向の射影信号の２番目以降の値を求める。この様にして第一の領域の垂直方向の射影信号を求める。
【００１９】
同様にして、２６列目から５０列目の２５画素の信号を足し合わせ第二の領域の垂直方向の射影信号を、５１列目から７５列目の２５画素の信号を足し合わせ第三の領域の垂直方向の射影信号を、７６列目から１００列目の２５画素の信号を足し合わせ第四の領域の垂直方向の射影信号を求める。
【００２０】
以上のようにして水平方向・垂直方向に分割された各々の領域の射影信号を求める。
【００２１】
カメラのメインスイッチがオンするなどして、カメラのメインシーケンスが開始されると、ＭＰＵｌは初期処理の一連の動作の中でＥＥＰＲＯＭ３から、各種のパラメータを読み込み、メモリー２の所定のアドレスに格納する。
【００２２】
そしてＳｌ（ＳＷｌ）がオンされるなどして防振システムの一連の動作を撮影者が開始させる状態にしたなら（ｌＳスタート、ただしブレ補正は未だ行っていない）、処理で用いる変数の初期化、ＡＧＣなどの処理を行う。
【００２３】
ＡＧＣは像振れを検出するイメージセンサー５の蓄積時間、増幅回路６の増幅率を決定するための処理である。比較的短い一定時間イメージセンサー５の蓄積を行い、それにより形成された画像の射影信号をイメージセンサー５における画像処理機能を用いて算出し、この射影信号をＭＰＵｌのＡ／Ｄ変換端子から読み込み、その平均値を求める。この際に用いる射影信号は水平もしくは垂直方向の射影信号のうちどちらか一方を用いれば良い。４つの領域の射影信号をＭＰＵｌのＡ／Ｄ変換端子から読み込み、全ての信号値の平均値を求める。そしてその値からイメージセンサー５の蓄積時間、増幅回路６の増幅率を決定する。その決定はあらかじめ求められたテーブルを参照することにより行われる。なおこのテーブルはＥＥＰＲＯＭに記憶されており、初期化の際にメモリー２に転送されている。またここで決定される本蓄積（像振れを検出するための信号を得るための蓄積）の最長時間は１０ｍｓｅｃ程度が望ましい。
【００２４】
そののちＭＰＵｌは本蓄積（像振れを検出するための信号を得るための蓄積）を開始するとともに、本蓄積終了のタイミングを得るための第一のタイマーを起動する。
【００２５】
本蓄積は、イメージセンサー５のイメージゾーンの電荷をメモリーゾーンへ転送することによってクリアすることにより開始される。このタイマーは一定間経過時に割り込みを発生するものである。この一定時間が蓄積時間である。また次回以降の本蓄積開始タイミングを得るための第二のタイマーも同時に起動する。このタイマーは起動後は一定時間毎に割り込みを生じるものである。ＭＰＵｌはこの一定時間毎の割り込みが生じるたぴに本蓄積を開始することになる。この一定時間は像振れ補正の能力を左右するものであるが、蓄積時間などとの関係から通常は数１０ｍｓｅｃ程度となる。
【００２６】
ＭＰＵｌはこの第一のタイマーからの割り込みが発生したならば蓄積終了の処理を行う。これはイメージセンサー５のイメージゾーンからメモリーゾーンヘ電荷を転送することによって行われる。またこの転送の際にイメージセンサー５上に形成された画像の各々の領域における水平方向・垂直方向の射影信号をイメージセンサー５における画像処理機能を用いて算出し、イメージセンサー５の射影信号用のメモリー５０５に記憶する。
【００２７】
ＭＰＵｌはイメージセンサー５に対して与える指示信号により、メモリーゾーン５０３に転送された画像そのものを読み出すか、メモリー５０５に記憶された射影信号を読み出すかを選択できるが、ここでは射影信号を読み出すようにイメージセンサー５に指示を与える。それと同時にＤＭＡを行うための設定を行う。設定が終了したならば、ＭＰＵｌはイメージセンサー５に内蔵されたドライバーに対して読み出しパルスを出力する。いまイメージセンサー５は射影信号読み出しの状態に改定されているので、読み出しパルスが入力されるたびに、まず水平方向の四つの領域の射影信号を出力する。ついで、垂直方向の四つの領域の射影信号を出力する。ＭＰＵｌは読み出しパルスに同期してＡ／Ｄ変換を行い、その結果をＤＭＡ転送によりメモリー２に格納する。
【００２８】
ついで第二のタイマーによる割り込みが発生したならば、ＭＰＵｌは第一のタイマーを起動し、本蓄積（像振れを検出するための信号を得るための蓄積）を開始するとともに、動きベクトルを求める演算処理を行う。ただし、今回は一度目の第二のタイマーによる割り込みであるため、動きベクトルを求める際の相関演算の対象となる１フレーム前の射影信号のデータが無いので、ここでは現在メモリー２に格納されているデータを相関演算の対象データを格納するエリアに転送するなどの処理のみを行い、相関演算は行わない。この相関演算の対象データを格納するエリアヘの転送は次の様に行われる。相関演算は水平垂直に各々４分割された１６の領域について行うので、相関演算の対象となるのは、１６分割された領域の現在のデータの中央部の一部であるので、その中央部分の射影信号のデータのみを相関演算の対象データを格納するエリアヘ転送する。例えば、１００×１００画素のセンサーを用いていた場合は、各々の領域の射影信号として２５画素分のデータがあるので、その中央部分の１３画素、それぞれの領域の７画素目から１９画素目までが相関演算の対象データとなる。よって、この中央部分の射影信号のデータのみを相関演算の対象データを格納するエリアヘ転送する。この転送動作を１６個の領域について行う。
【００２９】
そして再び第一のタイマーからの割り込みが発生したならば前回と同一の処理を行う。まずは蓄籍終了の処理を行う。イメージセンサー５のイメージゾーン５０１からメモリーゾーン５０３へ電荷を転送し、この転送の際にイメージセンサー５上に形成された画像の各々の領域の水平垂直方向の射影信号をイメージセンサー５における画像処理機能を用いて算出し、イメージセンサー５の射影信号用のメモリー５０５に各々記憶するｏＭＰＵｌはイメージセンサー５に対して射影信号を読み出すように指示を与える。それと同時にＤＭＡを行うための設定を行う。設定が終了したならば、ＭＰＵｌはイメージセンサー５に内蔵されたドライバーに対して読み出しパルスを出力する。いまイメージセンサー５は射影信号読み出しの状態に設定されているので、読み出しパルスが入力されるたぴに、各々の領域の水平垂直方向の射影信号を出力する。ＭＰＵｌは読み出しパルスに同期してＡ／Ｄ変換を行い、その結果をＤＭＡ転送によりメモリー２に格納する。
【００３０】
さらに第二のタイマーによる割り込みが発生したならば、ＭＰＵｌは第一のタイマーを起動し、本蓄積（像振れを検出するための信号を得るための蓄積）を開始するとともに、動きベクトルを求める演算処理を行う。
【００３１】
この動きベクトルの算出は、相関演算の対象となる１フレーム前の射影信号データと現在の射影信号データの相関値を演算し、その値が最小となる点を見つけることで行われる。
相関値は、
相関値ｃｖ＝Σａｂｓ（ｄ［ｉ＋ｊ］−Ｐｄ［ｊ］）
ｊ
ｄ［ｉ］は現フレームの射影信号
Ｐｄ［ｊ］は１フレーム前の射影信号
と求められる。すなわち１画素づつずらしながら、上記の式を用い相関値を計算し、それが最小となるｉを求める。
【００３２】
さらに補間演算を行い、１画素以下の分解能で相関値が最小となる点を求める。この方法は直線補間などが知れれている。
【００３３】
例えば１００×１００画素のセンサーを水平垂直に各々４分割している場合は、射影信号として１００画素分のデータがあり、相関演算の対象データとして１３画素のデータがある。よってｊの範囲はそれぞれ、ｊ＝−６から、ｊ＝６となる。またｉの範囲は各領域で異なり、左側の領域からそれぞれ、ｉ＝−６から、ｉ＝８１まで、ｉ＝−３１から、ｉ＝５６まで、ｉ＝−５６から、ｉ＝３１まで、ｉ＝−８１から、ｉ＝−６までとなる。ただしこれでは相関演算の計算量が多いので、ｉの範囲は狭くしても構わない。
【００３４】
よって一番左側の領域札まずｉ＝−６としてｊを−６からまで＋１しながら相関値を計算しメモリに記憶する。ついでｉ＝−５とし相関値を計算し、その値をメモリに記憶する。同様にしてｉ＝８１まで相関値を計算しメモリに記憶する。全ての相関値が計算されたら、その値を比較し、最小になる座標を求める。さらに補間演算を行い、１画素以下の分解能で相関値が最小となる点を求める。
【００３５】
そしてこの処理の最後に現在メモリーに格納されているデータを相関演算の対象データを格納するエリアに転送する。この相関演算の対象データを格納するエリアヘの転送は上述の様に行われる。相関演算の対象となるのは、各々の領域のデータの中央部の一部である。例えば、各々の領域の射影信号として２５画素分のデータがあれば、その中央部分の１３画素、７画素目から１９画素目までが相関演算の対象データとなる。よって、この中央部分の射影信号のデータのみを相関演算の対象データを格納するエリアヘ転送する。
【００３６】
上記の処理を水平方向、垂直方向に関して行い、各々の領域の水平方向の動きベクトル、垂直方向の動きベクトルを求める。
【００３７】
この処理を全ての領域について行い、１６個の領域の水平方向の動きベクトル、垂直方向の動きベクトルを求める。
【００３８】
全ての領域の水平方向、垂直方向の動きベクトルが求まったならば、全体の水平方向、垂直方向の動きベクトルを求める。
【００３９】
まず各エリアの水平方向の動きベクトルの平均値と標準偏差を求める。そして平均値と標準偏差によって定められる次の範囲に入っていないものを排除する。
【００４０】
平均−標準偏差≦各動きベクトル≦平均＋標準偏差
そして、残った各動きベクトルの平均値と標準偏差を求め、もう一度同じ処理をする。すなわち再計算された値と標準偏差によって定められる次の範囲に入っていないものを排除する。
【００４１】
平均−標準偏差≦各動きベクトル≦平均＋標準偏差
そして残った各動きベクトルのコントラスト係数を求める。これは動きベクトルを求めるときに用いた各エリアの水平方向の射影の各エリアに相当する部分の最大値と最小値の差である。例えば、１００×１００画素のセンサーを用いていた場合は、各々の領域の射影信号として２５画素分のデータがあるので、一番左のエリアは水平方向の射影の左から１画素目から２５画素目までの最小値と最大値の差を求めれば良い。選択された各エリアのコントラスト係数が求まったならば、このコントラスト係数を用いた加重平均をとる。加重平均は以下の式により求める。
【００４２】
加重平均＝（Σコントラスト係数×選択された各エリアの動きベクトル）／（Σコントラスト係数）
そしてこの加重平均を全体の水平方向の動きベクトルとする。
【００４３】
ついで、同様にして全体の垂直方向の動きベクトルを求める。
【００４４】
全体の水平方向、垂直方向の動きベクトルを求まったならば、ＭＰＵは動きベクトルから補正レンズの駆動位置を求める。
【００４５】
本実施形態ではムービングマグネット（ＭＭ）を用いたコイルに流す電流に比例した位置に補正レンズが移動する駆動装置を用いている。
【００４６】
ＭＰＵは水平方向の動きベクトルからコイルに与える電流値を求める。いまはコイルに流す電流はアナログ主として与えるのではなく、ＰＷＭ（パルス幅変調）したものとディジタル量として与えるようにしている。これはＭＰＵを用いて電流を制御する際はコスト的に有利であるなどの理由による。よって水平方向の動きベクトルの値からＰＷＭのデュティーを求めるテーブルを用意しておき、ＭＰＵは水平方向の動きベクトルの値から該当するＰＷＭのデュティーの値が格納されているメモリのアドレスと求め、その値を読み込むことでＰＷＭのデュティーを設定する。なおこのテーブルはＥＥＰＲＯＭに設定しておくことがのぞましい。
【００４７】
このようにしてＰＷＭの周期、デュティーが求まったならばＭＰＵは所定のレジスタにこの値を設定する。これによりＰＷＭされた駆動信号が補正レンズ駆動装置７に与えられる。駆動信号を与えられた補正レンズ駆動装置７は、与えられた信号に比例する電流値をコイルに流し、補正レンズを水平方向の所定位置に駆動する。すなわち次の駆動信号が与えられるまでは、いま与えられた駆動信号に従って補正レンズを所定位置に保持する。
【００４８】
ついでＭＰＵは垂直方向の動きベクトルから補正レンズの駆動位置を求める。
【００４９】
ＭＰＵは垂直方向の動きベクトルの値からコイルに与える電流値を求める。いまはコイルに流す電流はアナログ量として与えるのではなく、ＰＷＭ（パルス幅変調）したものとディジタル量として与えるようにしている。よって垂直方向の動きベクトルの値からＰＷＭのデュティーを求めるテーブルを用意しておき、ＭＰＵは垂直方向の動きベクトルの値から該当するＰＷＭのデュティーの値が格納されているメモリのアドレスと求め、その値を読み込むことでＰＷＭのデュティーを設定する。なおこのテーブルはＥＥＰＲＯＭに設定しておくことがのぞましい。
【００５０】
このようにしてＰＷＭの周期、デュティーが求まったならばＭＰＵは所定のレジスタにこの値を設定する。これによりＰＷＭされた駆動信号が補正レンズ駆動装置８に与えられる。駆動信号を与えられた補正レンズ駆動装置８は、与えられた信号に比例する電流値をコイルに流し、補正レンズを水平方向の所定位置に駆動する。すなわち次の駆動信号が与えられるまでは、いま与えられた駆動信号に従って補正レンズを所定位置に保持する。
【００５１】
このように複数に分割した各エリアの動きベクトルを求めたのち、各エリアの動きベクトルの平均値と標準偏差を求め、平均値を標準偏差によって定まる範囲内のものを全体の動きベクトルを用いる。更に複数に分割した各エリアのコントラストを評価する係数を求め、求められた各エリアの動きベクトルをそのコントラスト係数から求めた重み付け係数で重み付けした平均値を全体の動きベクトルとすることで、信頼性の高い低いを評価して複数に分割された各ブロックの動くベクトルから全体の動きベクトルを適確に求めることができる。
【００５２】
（第二の実施形態）
第一実施形態が全体の動きベクトルを求める際の重み付け係数としてコントラスト係数をそのまま用いたのに対して、本実施形態ではある程度コントラストのあるものは同一の重み付けにしたことを特徴とする。
【００５３】
本実施形態においては各エリアの水平垂直方向の動きベクトルから以下のようにして全体の水平垂直方向の動きベクトルを求める。
【００５４】
まず各エリアの水平方向の動きベクトルの平均値と標準偏差を求める。そして平均値と標準偏差によって定められる次の範囲に入っていないものを排除する。
【００５５】
平均−標準偏差≦各動きベクトル≦平均＋標準偏差
そして、残った各動きベクトルの平均値と標準偏差を求め、もう一度同じ処理をする。すなわち再計算された値と標準偏差によって定められる次の範囲に入っていないものを俳除する。
【００５６】
平均−標準偏差≦各動きベクトル≦平均＋標準偏差
そして残った各動きベクトルのコントラスト係数を求める。これは動きベクトルを求めるときに用いた各エリアの水平方向の射影の各エリアに相当する部分の最大値と最小値の差である。例えば、１００×１００画素のセンサーを用いていた場合は、各々の領域の射影信号として２５画素分のデータがあるので、一番左のエリアは水平方向の射影の左から１画素目から２５画素目までの最小値と最大値の差を求めれば良い。選択された各エリアのコントラスト係数が求まったならば、このコントラスト係数から重み付け係数を求める。その関係を図５に示す。すなわち、コントラスト係数がある程度大きいものの重み付けは同等にする。ここでは、各々の領域の射影信号の最大値と最小値の差がＭＰＵｌのＡ／Ｄ変換レンジの半分以上のものを同等にし、それ以下のものはコントラスト係数（すなわち大値と最小値の差）を重み付け係数とすることにする。これはある程度コントラストのある領域は、その信頼性に差がないと考えられるからである。
【００５７】
選択された各エリアのコントラスト係数が求まったならばその重み付け係数を用いた加重平均をとる。加重平均は以下の式により求める。
【００５８】
加重平均＝（Σ重み付け係数×選択された各エリアの動きベクトル）／（Σ重み付け係数）
そしてこの加重平均を全体の水平方向の動きベクトルとする。
【００５９】
ついで、同様にして全体の垂直方向の動きベクトルを求める。
【００６０】
（第三の実施形態）
第一実施形態が全体の動きベクトルを求める際の重み付け係数としてコントラスト係数をそのまま用いたのに対して、本実施形態ではある程度コントラストのあるものは同−の重み付けにし、コントラストがある程度小さいものの重み付けを零にしたことを特徴とする。本実施形態においては各エリアの水平垂直方向の動きベクトルから以下のようにして全体の水平垂直方向の動きベクトルを求める。
【００６１】
まず各エリアの水平方向の動きベクトルの平均値と標準偏差を求める。そして平均値と標準偏差によって定められる次の範囲に入っていないものを排除する。
【００６２】
平均−標準偏差≦各動きベクトル≦平均＋標準偏差
そして、残った各動きベクトルの平均値と標準偏差を求め、もう一度同じ処理をする。すなわち再計算された値と標準偏差によって定められる次の範囲に入っていないものを排除する。
【００６３】
平均−標準偏差≦各動きベクトル≦平均＋標準偏差
そして残った各動きベクトルのコントラスト係数を求める。これは動きベクトルを求めるときに用いた各エリアの水平方向の射影の各エリアに相当する部分の最大値と最小値の差である。例えば、１００×１００画素のセンサーを用いていた場合は、各々の領域の射影信号として２５画素分のデータがあるので、一番左のエリアは水平方向の射影の左から１画素目から２５画素目までの最小値と最大値の差を求めれば良い。
【００６４】
選択された各エリアのコントラスト係数が求まったならば、このコントラスト係数から重み付け係数を求める。その関係を図６に示す。すなわち、コントラスト係数がある程度大きいものの重み付けは同等にし、コントラストがある程度小さいものの重み付けを零にする。ここでは、各々の領域の射影信号の最大値と最小値の差がＭＰＵｌのＡ／Ｄ変換レンジの３／４以上のものを同等にし、最大値と最小値の差がＭＰＵｌのＡ／Ｄ変換レンジの１／４未満のものの重み付けを零にし、それ以外のものはコントラスト係数（すなわち大値と最小値の差）を重み付け係数とすることにする。これはある程度コントラストのある領域はその信頼性に差がないと考えられ、コントラストがあるレベルより小さいものはその信頼性が低いと考えられるからである。
【００６５】
選択された各エリアのコントラスト係数が求まったならばその重み付け係数を用いた加重平均をとる。加重平均は以下の式により求める。
加重平均＝（Σ重み付け係数×選択された各エリアの動きベクトル）／（Σ
重み付け係数）
そしてこの加重平均を全体の水平方向の動きベクトルとする。
【００６６】
ついで、同様にして全体の垂直方向の動きベクトルを求める。
【００６７】
（変形例）
上記実施形態では各動きベクトルのコントラスト係数として各エリアの水平方向（もしくは垂直方向）の射影の各エリアに相当する部分の最大値と最小値の差を用いたが、コントラスト係数はこれに限定されるものではない。例えば、各エリアの水平方向（もしくは垂直方向）の射影の各エリアに相当する部分の隣接する画素との差の絶対値の和をコントラスト係数としてもよい。
【００６８】
【発明の効果】
以上説明してきたように本発明においては、複数に分割した各エリアの動きベクトルを求めたのち、各エリアの動きベクトルの平均値と標準偏差を求め、平均値を標準偏差によって定まる範囲内のものを全体の動きベクトルを用いる。更に複数に分割した各エリアのコントラストを評価する係数を求め、求められた各エリアの動きベクトルをそのコントラスト係数から求めた重み付け係数で重み付けした平均値を全体の動きベクトルとすることで、信頼性の高い低いを評価して複数に分割された各ブロックの動くベクトルから全体の動きベクトルを適確に求めることができる。
【図面の簡単な説明】
【図１】本発明の第一第二第三実施形態のブロック図。
【図２】第一第二第三実施形態の動作の説明図。
【図３】第一第二第三実施形態の動作のタイミングの説明図。
【図４】本発明第一第二第三実施形態のセンサーの構成の概略を示す図。
【図５】第二実施形態のコントラスト係数と重み付け係数の関係を示す図。
【図６】第三実施形態のコントラスト係数と重み付け係数の関係を示す図。
【符号の説明】
１　ＭＰＵ（マイクロプロセッシングユニット）
２　メモリー
３　ＥＥＰＲＯＭ
４　イメージセンサーに画像を形成するための受光レンズ
５　像振れを検出するためのイメージセンサー
６　イメージセンサーの出力を増幅する増幅回路
７　ピッチ方向に補正レンズを駆動するための補正レンズ駆動装置
８　ヨー方向に補正レンズを駆動するための補正レンズ駆動装置
９　像振れを補正するための補正レンズである
【図１】
2004015376.tif 000003
【図２】
2004015376.tif 000004
【図３】
2004015376.tif 000005
【図４】
2004015376.tif 000006
【図５】
2004015376.tif 000007
【図６】
2004015376.tif 000008