| 【発明の名称】 |
動き検出装置及び方法並びに撮像装置 |
| 【発明者】 |
【氏名】畑中 晴雄
【氏名】飯田 崇
|
| 【要約】 |
【課題】画像の輝度が比較的低い場合などにおける、画像間の動きの検出精度を向上させる。
【構成】代表点マッチング法により異なる評価画像間で算出した複数の累積相関値に基づき、前記異なる評価画像間の動きを検出する動き検出装置において、前記複数の累積相関値の中から、最小の累積相関値、又は、最小の累積相関値を所定の規則に従って増加させた値以下の累積相関値を、候補相関値として特定する。そして、前記候補相関値が複数ある場合、前記候補相関値ごとに、前記候補相関値と近傍の累積相関値との平均値を算出し、最小の平均値に対応する候補相関値の位置をマッチング位置として検出して前記異なる評価画像間の動きを検出する。 |
【特許請求の範囲】
【請求項1】 代表点マッチング法により互いに異なる評価画像間で算出した複数の累積相関値に基づき、前記異なる評価画像間の動きを検出する動き検出装置において、 前記複数の累積相関値の中から、最小の累積相関値、又は、最小の累積相関値を所定の規則に従って増加させた値以下の累積相関値を、候補相関値として特定する候補相関値特定手段と、 前記候補相関値が複数ある場合、前記候補相関値ごとに、 前記候補相関値に対応する画素を基準とし、その基準の画素の近傍画素に対応する累積相関値を近傍累積相関値として特定して前記近傍累積相関値に応じた評価値を算出し、 前記候補相関値ごとに算出された前記評価値に基づいて複数の候補相関値の内の1つを採用相関値として選択する選択手段と、を備え、 前記採用相関値に対応する画素の画像上の位置情報に基づいて、前記異なる評価画像間の動きを検出する ことを特徴とする動き検出装置。 【請求項2】 各評価値は、 その評価値に対応する前記候補相関値と前記近傍累積相関値の、総和、平均値若しくは加重平均値、または、 その評価値に対応する前記近傍累積相関値の、総和、平均値若しくは加重平均値 に応じた値であり、 前記選択手段は、前記複数の候補相関値について算出された複数の評価値の内、最小の評価値に対応する候補相関値を前記採用相関値として選択する ことを特徴とする請求項1に記載の動き検出装置。 【請求項3】 前記選択手段は、 前記最小の評価値と他の評価値との差が全て所定の差分閾値以下の場合は、 前記近傍画素の位置及び個数の少なくとも一方を変化させてから改めて各評価値を算出し、改めて算出した各評価値に基づいて前記採用相関値を選択する ことを特徴とする請求項2に記載の動き検出装置。 【請求項4】 前記選択手段は、 前記最小の評価値と他の評価値との差が全て所定の差分閾値以下の場合は、 前記近傍画素の個数を増加させることにより各評価値の算出に参照する前記近傍累積相関値の個数を増加させてから改めて各評価値を算出し、改めて算出した各評価値に基づいて前記採用相関値を選択する ことを特徴とする請求項2に記載の動き検出装置。 【請求項5】 撮影によって得られた画像データを順次出力する撮像手段と、 互いに異なる前記画像データによって表される、互いに異なる評価画像間の動きを検出する請求項1〜請求項4の何れかに記載の動き検出装置と、備えた ことを特徴とする撮像装置。 【請求項6】 代表点マッチング法により互いに異なる評価画像間で算出した複数の累積相関値に基づき、前記異なる評価画像間の動きを検出する動き検出方法において、 前記複数の累積相関値の中から、最小の累積相関値、又は、最小の累積相関値を所定の規則に従って増加させた値以下の累積相関値を、候補相関値として特定する候補相関値特定ステップと、 前記候補相関値が複数ある場合、前記候補相関値ごとに、 前記候補相関値を基準とし、その基準の画素の近傍画素に対応する累積相関値を近傍累積相関値として特定して前記近傍累積相関値に応じた評価値を算出し、 前記候補相関値ごとに算出された前記評価値に基づいて複数の候補相関値の内の1つを採用相関値として選択する選択ステップと、を有し、 前記採用相関値に対応する画素の画像上の位置情報に基づいて、前記異なる評価画像間の動きを検出する ことを特徴とする動き検出方法。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、画像間の動きを検出する動き検出装置及び動き検出方法に関する。また、本発明は、そのような動き検出装置又は動き検出方法を採用した撮像装置に関する。 【背景技術】 【0002】 手ぶれ補正技術は、カメラ撮影における手ぶれを軽減する技術であり、近年において盛んに研究されている。手ぶれ補正技術は、補正対象が静止画像であるか動画像であるかに関わらず、手ぶれを検出する要素技術と、その検出結果に基づいて画像を補正する要素技術と、に分けて考えることができる。 【0003】 手ぶれを検出する方法には、センサ(角速度センサ)を用いる方法と、画像を解析して検出する電子式の方法とがある。画像の補正には、光学系の駆動により補正を行う光学式手ぶれ補正と、画像処理により補正を行う電子式手ぶれ補正とがある。 【0004】 静止画像又は動画像に対して手ぶれ補正を行う方法として、センサで手ぶれを検出しその検出結果に基づいて光学式手ぶれ補正を行う方法と、センサで手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行う方法と、画像を解析して手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行う方法と、がある。 【0005】 画像を解析して手ぶれを検出しその検出結果に基づいて電子式手ぶれ補正を行う方法は、完全電子式の手ぶれ補正と呼ばれている。完全電子式の手ぶれ補正で実用化されている方式として、静止画像用、動画像用に関わらず、隣接する画像間の動きを画像処理で検出し、画像間の動きがキャンセルされるように画像の位置補正(幾何変換)を行う方式がある。 【0006】 動画像用としては、隣接するフレーム画像間の動きがキャンセルされるようにフレームの切り出し枠を変えることでフレーム間のぶれを低減する方式が知られている(図17参照)。静止画像用としては、通常の露光時間T1を分割して得られる露光時間がT2の複数の分割露光画像(短時間露光画像)G1〜G4を、各分割露光画像間の動きがキャンセルされるように位置合わせした上で加算合成することで、手ぶれの少ない1枚の静止画像を生成する方式(加算式手ぶれ補正)が知られている(図18参照)。 【0007】 画像処理による画像間の動きを検出するための手法として、代表点マッチング法、特徴点マッチング法、勾配法などがある。代表点マッチング法は、ハードウェアによる実装が容易であり且つ実用的な検出精度を得ることができることから、デジタルビデオカメラ等の撮像装置において広く用いられている。 【0008】 代表点マッチング法では、複数の検出ブロック(小領域)の夫々にて第1画像の代表点(固定座標点)の画素値と第2画像のサンプリング点の画素値の差が算出され、その差の総和が累積相関値(マッチング誤差とも呼ばれる)とされる。そして、第1画像と第2画像の相対位置をずらしながら複数の累積相関値(マッチング誤差)を計算し、最小の累積相関値を与える相対位置のずれを両画像間の動きとして検出する。 【0009】 尚、下記特許文献1には、代表点マッチング法による画像間の動きベクトル検出において、累積相関値の最小値が代表点の周囲に3個以上存在するか或いは隣り合わない同一の最小値が1つ以上存在する場合は、動き検出を無効にする手法が開示されている。また、下記特許文献2には、撮像装置がパン又はチルトしている状態にあるかを判定する手法が開示されている。また、下記非特許文献1には、代表点マッチング法の基本的な原理とビデオカメラにおける電子式手ぶれ補正に関する説明が記載されている。 【0010】 【特許文献1】特開平6−121218号公報 【特許文献2】特開2006−74261号公報 【非特許文献1】魚森,他2名,「ビデオカメラの自動電子手ゆれ補正方式」,1989年第20回画像工学コンファレンス,p.177−180 【発明の開示】 【発明が解決しようとする課題】 【0011】 代表点マッチング法を用いて画像間の動き検出を行う場合において、累積相関値の最小値が複数存在することがある。この場合、どちらの最小値が正しい動きに対応するものであるかが不明であるため、従来は、動き検出を無効として動きの誤検出を抑制していた。 【0012】 累積相関値の最小値が複数存在するという状況は、画像内に互いに類似した模様が複数存在する場合に特によく発生するが、画像の輝度(平均輝度)が低い場合は、類似模様が存在していなくても比較的頻繁に発生することが本出願人らの研究にて判明した。これは、画像の輝度が低い場合、ノイズの影響が比較的大きくなることに由来する。 【0013】 第1画像と第2画像の間で、ノイズに由来して累積相関値の最小値が複数存在してしまう状況を、図19及び図20を用いて説明する。画像は2次元配列された各画素にて構成されるが、説明の簡略化上、1次元で並んだ(例えば、水平方向に1次元配列された)画素にのみ着目する。 【0014】 図19において、グラフ201は第1画像の輝度分布を表し、グラフ202は第2画像の輝度分布を表す。グラフ201及び202の夫々において、横軸は一次元配列された画素の位置を表し、縦軸は輝度値を表す。また、第1画像と第2画像の撮影間に手ぶれは存在しなかったものとする。 【0015】 今、第1画像と第2画像の双方において、画素位置P1で最大の輝度値Y1を有する特徴部203が表れていたとする。また、第1画像に、画素位置P2を中心としてピークの輝度値をY1とする3つのスパイク状ノイズが乗ったとする。そして、第2画像には、画素位置P2よりも画素位置P1に近い画素位置P3を中心として上記と同一の3つのスパイク状ノイズが乗ったとする。 【0016】 このような第1画像と第2画像の間で算出された累積相関値の分布を、図20に示す。図20において、横軸は第1画像と第2画像との間の偏移(相対的な位置のずれ)を表し、縦軸は累積相関値を表す。図20に示す如く、特徴部203の存在に由来する偏移0に対応する累積相関値と、ノイズの存在に由来する偏移(P2−P3)に対応する累積相関値は、略同じ値となり、共に累積相関値の最小値となりうる。 【0017】 このような状況は画像の輝度(平均輝度)が低いほど頻発し、その度に動き検出を無効としていたのでは手ぶれ補正が効きにくくなってしまう。仮に、複数存在する累積相関値の最小値の何れか1つを何ら根拠無く選択して動き検出を行うと、動き検出の精度が劣化し、手ぶれ補正の特性劣化を招く。特に、加算式手ぶれ補正を用いる場合においては、分割露光が実施されるため、分割露光数が多いほど画像の輝度が低下してノイズの影響を受けやすくなり、この問題が顕著に表れる。 【0018】 そこで本発明は、特に画像の輝度が比較的低い場合などにおいて、画像間の動きの検出精度の向上に寄与する動き検出装置及び動き検出方法を提供することを目的とする。また本発明は、そのような動き検出装置を備えた撮像装置を提供することを目的とする。 【課題を解決するための手段】 【0019】 上記目的を達成するために本発明に係る動き検出装置は、代表点マッチング法により互いに異なる評価画像間で算出した複数の累積相関値に基づき、前記異なる評価画像間の動きを検出する動き検出装置において、前記複数の累積相関値の中から、最小の累積相関値、又は、最小の累積相関値を所定の規則に従って増加させた値以下の累積相関値を、候補相関値として特定する候補相関値特定手段と、前記候補相関値が複数ある場合、前記候補相関値ごとに、前記候補相関値に対応する画素を基準とし、その基準の画素の近傍画素に対応する累積相関値を近傍累積相関値として特定して前記近傍累積相関値に応じた評価値を算出し、前記候補相関値ごとに算出された前記評価値に基づいて複数の候補相関値の内の1つを採用相関値として選択する選択手段と、を備え、前記採用相関値に対応する画素の画像上の位置情報に基づいて、前記異なる評価画像間の動きを検出することを特徴とする。 【0020】 候補相関値の近傍累積相関値を参照することにより、累積相関値の最小値が複数存在する場合などであっても、画像間の動きを精度良く検出することが可能となる。ノイズ等に由来して偶発的に候補相関値が生じても、近傍累積相関値を参照することにより、ノイズ等に由来する候補相関値が採用相関値として選択されにくくなり、動きの誤検出が抑制される。 【0021】 このため、例えば、当該動き検出装置の検出結果を手ぶれ補正に利用する場合においては、暗い場面でも手ぶれ補正を有効に機能させることが可能となる。更に、当該動き検出装置の検出結果を利用して加算式手ぶれ補正を行う場合においては、動き検出の精度が確保される露光分割数の増加が見込めるため、加算合成された画像における手ぶれ量の低減が期待できる。 【0022】 尚、「前記採用相関値に対応する画素の画像上の位置情報」とは、代表点マッチング法における代表点を基準とした、その画素の画像上の位置を特定する情報である。該位置情報は、後述の実施例における、画像上の位置PA等を特定する情報(画素位置(iA,jA)等を特定する情報)に対応する。 【0023】 具体的には例えば、各評価値は、その評価値に対応する前記候補相関値と前記近傍累積相関値の、総和、平均値若しくは加重平均値、または、その評価値に対応する前記近傍累積相関値の、総和、平均値若しくは加重平均値に応じた値であり、前記選択手段は、前記複数の候補相関値について算出された複数の評価値の内、最小の評価値に対応する候補相関値を前記採用相関値として選択する。 【0024】 そして例えば、前記選択手段は、前記最小の評価値と他の評価値との差が全て所定の差分閾値以下の場合は、前記近傍画素の位置及び個数の少なくとも一方を変化させてから改めて各評価値を算出し、改めて算出した各評価値に基づいて前記採用相関値を選択するようにするとよい。 【0025】 また例えば、前記選択手段は、前記最小の評価値と他の評価値との差が全て所定の差分閾値以下の場合は、前記近傍画素の個数を増加させることにより各評価値の算出に参照する前記近傍累積相関値の個数を増加させてから改めて各評価値を算出し、改めて算出した各評価値に基づいて前記採用相関値を選択するようにしてもよい。 【0026】 また例えば、前記異なる評価画像を第1評価画像及び第2評価画像とした場合、各累積相関値は、前記第1評価画像と前記第2評価画像との間の偏移に対する、両評価画像内に設けられた検出領域の画像の相関を表し、各累積相関値は、その相関が高くなるに従って小さくなる。 【0027】 そして、本発明に係る撮像装置は、撮影によって得られた画像データを順次出力する撮像手段と、互いに異なる前記画像データによって表される、互いに異なる評価画像間の動きを検出する上記動き検出装置と、備えたことを特徴とする。 【0028】 また上記目的を達成するために本発明に係る動き検出方法は、代表点マッチング法により互いに異なる評価画像間で算出した複数の累積相関値に基づき、前記異なる評価画像間の動きを検出する動き検出方法において、前記複数の累積相関値の中から、最小の累積相関値、又は、最小の累積相関値を所定の規則に従って増加させた値以下の累積相関値を、候補相関値として特定する候補相関値特定ステップと、前記候補相関値が複数ある場合、前記候補相関値ごとに、前記候補相関値を基準とし、その基準の画素の近傍画素に対応する累積相関値を近傍累積相関値として特定して前記近傍累積相関値に応じた評価値を算出し、前記候補相関値ごとに算出された前記評価値に基づいて複数の候補相関値の内の1つを採用相関値として選択する選択ステップと、を有し、前記採用相関値に対応する画素の画像上の位置情報に基づいて、前記異なる評価画像間の動きを検出することを特徴とする。 【発明の効果】 【0029】 本発明は、特に画像の輝度が比較的低い場合などにおいて、画像間の動きの検出精度の向上に寄与する。 【発明を実施するための最良の形態】 【0030】 以下、図面を参照して、本発明の実施形態について説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。 【0031】 本発明を撮像装置に適用した場合の実施例を説明する。図1は、本発明の実施例に係る撮像装置の全体的構成図である。図1の撮像装置は、デジタルスチルカメラ又はデジタルビデオカメラなどであり、少なくとも静止画像を撮影可能となっている。図1の撮像装置は、符号1〜12、21及び22、30が付された各部位を備えて構成される。符号30が付された手ぶれ補正回路は、輝度調節回路31、動き検出回路32、座標変換回路33、画像加算回路34及び画像メモリ35を備えている。座標変換回路33と画像加算回路34と画像メモリ35は画像合成回路36を形成している。以下、単に「撮像装置」といった場合、それは、図1に示す撮像装置を指すものとする。 【0032】 CCD(Charge Coupled Devices)或いはC−MOSイメージセンサ(Complementary Metal Oxide Semiconductor)等から成る撮像素子2は、レンズ1を通して入射した光学像を光電変換し、該光学像を電気信号として出力する。撮像素子2の出力信号は、例えばRGB信号によって表され、該出力信号はCDS(Correlated Double Sampling)回路とAGC(Auto Gain Control)回路とを備えたカメラ回路3に送られる。カメラ回路3において、撮像素子2の出力信号は、CDS回路で相関二重サンプリング処理された後、AGC回路で最適な振幅にゲイン調整される。カメラ回路3の出力信号は、A/D変換器4によってデジタル映像信号としての画像データに変換される。A/D変換器4からの画像データは、画像メモリ5に書き込まれる。撮影制御回路11は、被写体の明るさを測定する測光回路(不図示)から得られた明るさの情報に基づいて、撮像素子2の最適な露光時間を設定する。 【0033】 尚、画像メモリ5は、メモリ制御回路12を介してマイコン(マイクロコンピュータ)10によって制御される。また、撮影制御回路11は、マイコン10によって制御される。マイコン10には、シャッタボタン21及び手ぶれ補正ON/OFFスイッチ22に対する操作を特定する操作情報が送られる。撮像装置の撮影時の動作モードには、「通常撮影モード」と「手ぶれ補正撮影モード」とが含まれる。手ぶれ補正ON/OFFスイッチ22に対する操作に応じて、「通常撮影モード」と「手ぶれ補正撮影モード」の切替え設定が行われる。 【0034】 まず、通常撮影モードが設定されている場合における、撮像装置の動作について説明する。シャッタボタン21が押下げられていない場合には、一定間隔(例えば1/60秒)の撮影によって得られた画像データが、画像メモリ5に書き込まれた後、NTSC(National Television Standards Committee)エンコーダ6によりNTSC信号に変換されて、液晶ディスプレイ等から成るモニタ7に送られる。これにより、各画像データによって表される画像がモニタ7に表示される。このような、画像メモリ5に書き込まれた画像データをそのままNTSCエンコーダ6に送ることによる表示を、「スルー表示」という。 【0035】 シャッタボタン21が押下げられると、静止画像の撮影を開始し、そのタイミングの撮影によって得られた画像データが画像メモリ5に書き込まれる。その後、該画像データにて表される画像がモニタ7に表示されると共に、該画像データは画像圧縮回路8によってJPEG(Joint Photographic Experts Group)などの所定の圧縮データ形式にエンコードされ、画像ファイルとしてメモリカード9に保存される。 【0036】 次に、手ぶれ補正撮影モードが設定されている場合における、撮像装置の動作について説明する。以下の説明は、特に記述しない限り、手ぶれ補正撮影モードにおける動作の説明である。 【0037】 手ぶれ補正撮影モードが設定されている場合においては、画像メモリ5に書き込まれた画像データは、手ぶれ補正回路30に転送される。 【0038】 シャッタボタン21が押下げられていない場合には、一定間隔(例えば1/60秒)の撮影によって得られた画像データが、画像メモリ5に書き込まれた後、手ぶれ補正回路30に転送される。シャッタボタン21が押下げられていない場合において手ぶれ補正回路30に転送された画像データは、NTSCエンコーダ6を介してモニタ7に送られてスルー表示がなされると共に、輝度調節回路31に送られる。輝度調節回路31は、後述する分割露光画像を模擬するべく、入力された画像(画像データ)の輝度が分割露光画像の輝度と同程度となるように入力された画像データの輝度レベルを低下させ、輝度レベル低下後の画像データを動き検出回路32に出力する。 【0039】 動き検出回路32は、入力された、異なる画像間の動きベクトルの算出等を行う。シャッタボタン21が押下げられていない場合には、動き検出回路32は、前回に入力された画像データにて表される画像と今回に入力された画像データにて表される画像との間に関する、動きベクトルの算出等を行う。尚、シャッタボタン21が押下されていない時において順次算出される動きベクトルは、後に示す図10のステップS48の処理(パン・チルト状態判定処理)などに利用される。 【0040】 シャッタボタン21が押下げられた場合、マイコン10は、撮影制御装置11に対して、上記の最適な露光時間を複数個(例えば、4個や8個)に分割して露光するように指示する。これにより、最適な露光時間をT1且つ露光分割数をNとした場合、T1/Nの露光時間で次々と連続的にN回撮影が行われる。以下、このT1/Nの露光時間の撮影によって得られた画像を「分割露光画像」といい、分割露光画像を表す画像データを「分割露光画像データ」という。 【0041】 分割露光によって得られた複数の分割露光画像データは、それぞれ画像メモリ5に記憶され、順次、手ぶれ補正回路30に転送される。具体的には、各分割露光画像データは、順次、手ぶれ補正回路30内の動き検出回路32および座標変換回路33に送られる。 【0042】 動き検出回路32では、分割露光によって得られた複数の分割露光画像の内の、最初に入力された1番目の分割露光画像と、それ以降に入力される各分割露光画像との間の動きベクトルが順次算出されるとともに、算出された動きベクトルが有効か無効かも順次判定される。詳細は後述するが、画像間の動きを表すベクトルとしてある程度信頼できると判断された動きベクトルは有効とされ、信頼できないと判断された動きベクトルは無効とされる。 【0043】 尚、ここで議論する動きベクトルは、画像の全体の動きベクトル(後述する「全体動きベクトル」)に対応している。また、動き検出回路32は、マイコン10によって制御され、動き検出回路32にて算出された各値は必要に応じてマイコン10に送られる。 【0044】 動きベクトル(全体動きベクトル)が有効と判定された場合、2番目以降に手ぶれ補正回路30に入力された各分割露光画像は、1番目の分割露光画像との間の動きベクトルに基づいて、1番目の分割露光画像とのずれがなくなるように、座標変換回路33で1番目の分割露光画像の座標に座標変換される(即ち、1番目の分割露光画像を基準として位置合わせされる)。そして、画像加算回路34において、座標変換された各分割露光画像の各画素値は、1番目の分割露光画像又はそれまでに合成された画像の各画素値に対して加算され、その加算結果が画像メモリ35に記憶される。つまり、分割露光画像間の位置ずれを補正した上で加算合成することにより得られる合成画像が画像メモリ35に格納される。 【0045】 各分割露光画像は、露光時間が通常露光の1/Nと短いため、手ぶれ量も通常露光の1/Nとなる。そして、分割露光画像間の位置ずれが補正された後に分割露光画像が加算合成されるので、合成画像の手ぶれ量は、通常露光の1/Nに低減される。この合成画像は、シャッタボタン21の押下に応じて撮影された静止画像を表しており、合成画像としての該静止画像は、NTSCエンコーダ6を介してモニタ7に表示されると共に画像圧縮回路8を介してメモリカード9に保存される。 【0046】 一方、動きベクトル(全体動きベクトル)が無効と判定された場合、2番目以降に手ぶれ補正回路30に入力された各分割露光画像に対して、座標変換回路33での位置ずれ補正は行われない。そして、位置ずれ補正が施されていない各分割露光画像は、画像加算回路34で1番目の分割露光画像またはそれまでに合成された画像に加算合成される。このように加算合成することで、信頼性のない動きベクトルで位置合わせしたことに由来する画像のぶれの増加を抑制することが可能となる。 【0047】 尚、或る画像に関し、画素値とは、その画像を形成する画素に対する映像信号の値(例えば、輝度信号の値、色差信号の値)を表す。 【0048】 [動き検出回路の説明] 次に、図1の動き検出回路32について詳細に説明する。図2は、動き検出回路32の内部ブロック図である。動き検出回路32は、代表点マッチング回路41と、領域動きベクトル算出回路42と、検出領域有効性判定回路43と、全体動きベクトル算出回路44と、を有して構成される。符号42〜44で表される部位の機能については後に示す図9及び図10のフローチャートの説明の中で行うとして、まず、代表点マッチング回路41について詳細に説明する。図3は、代表点マッチング回路41の内部ブロック図である。代表点マッチング回路41は、フィルタ51と、代表点メモリ52と、減算回路53と、累積加算回路54と、演算回路55と、を有して構成される。 【0049】 動き検出回路32は、周知の代表点マッチング法に基づいて、動きベクトル等を検出する。動き検出回路32には次々と画像(画像データ)が入力されるが、基準画像と現画像(今回入力された画像)との間の動きベクトル等を検出する場合を例にとって、代表点マッチング法について説明する。典型的には例えば、基準画像は、前回に(直前に)入力された画像である。 【0050】 図4に、動き検出回路32に与えられる画像データによって表される画像100を示す。画像100は、例えば上述の分割露光画像であり、上記の基準画像又は現画像を表す。画像100内に、複数の動きベクトル検出領域が設けられる。以下、動きベクトル検出領域を、単に、「検出領域」と略記する。説明の具体化のため、9つの検出領域E1〜E9が設けられている場合を考える。各検出領域E1〜E9の大きさは同じである。 【0051】 検出領域E1〜E9の夫々は、更に、複数の小領域(検出ブロック)eに分割されている。図4に示す例では、各検出領域が、48個の小領域eに分割されている(垂直方向に6分割され且つ水平方向に8分割されている)。各小領域eは、例えば、32×32の画素(垂直方向に32画素且つ水平方向に32画素の二次元配列された画素)で構成される。そして、図5に示すように、各小領域eに、複数のサンプリング点Sと1つの代表点Rが設定される。或る1つの小領域eに関し、複数のサンプリング点Sは、例えば当該小領域eを構成する画素の全てに対応する(但し、代表点Rを除く)。 【0052】 現画像における小領域e内の各サンプリング点Sの輝度値と、基準画像における対応する小領域e内の代表点Rの輝度値との差の絶対値(各サンプリング点Sにおける相関値)が、各検出領域E1〜E9ごとに、全ての小領域eに対して求められる。そして、各検出領域E1 〜E9 ごとに、検出領域内の全ての小領域e間において、代表点Rに対する偏移が同じサンプリング点S同士の相関値が累積加算される(本実施例では、48個の相関値が累積加算される)。換言すれば、各検出領域E1 〜E9 において、各小領域e内の同じ位置(小領域内座標における同じ位置)の画素について求めた輝度差の絶対値が48個の小領域e分、累積加算される。この累積加算によって得られる値を、「累積相関値」とよぶ。累積相関値は、一般に、マッチング誤差とも呼ばれる。各検出領域E1 〜E9 ごとに、1つの小領域e内のサンプリング点Sの個数と同じ個数の累積相関値が求められることになる。 【0053】 そして、各検出領域E1 〜E9 内において、代表点Rと累積相関値が最小となるサンプリング点Sとの偏移、すなわち相関性が最も高い偏移が検出される(一般的には、その偏移が当該検出領域の動きベクトルとして抽出される)。このように、或る検出領域に関し、代表点マッチング法に基づいて算出される累積相関値は、基準画像に対して現画像に所定の偏移(基準画像と現画像との相対的な位置のずれ)を加えた時の、基準画像内の検出領域の画像と現画像内の検出領域の画像との相関(類似性)を表し、その値は該相関が高くなるに従って小さくなる。 【0054】 図3を参照して、代表点マッチング回路41の動作をより具体的に説明する。フィルタ51には、図1の画像メモリ5から転送されてきた画像データが順次入力され、各画像データはフィルタ51を介して代表点メモリ52と減算回路53に与えられる。フィルタ51は、ローパスフィルタであり、S/N比を改善して少ない代表点で十分な動きベクトル検出精度を確保するために用いられる。代表点メモリ52は、各検出領域E1 〜E9 の小領域eごとに、代表点Rの画像上の位置を特定する位置データと代表点Rの輝度値を特定する輝度データとを記憶する。 【0055】 尚、代表点メモリ52の記憶内容の更新タイミングは任意である。代表点メモリ52に画像が入力される度に該記憶内容を更新することもできるし、基準画像を定めて該基準画像が入力されたときにのみ該記憶内容を更新するようにしてもよい。また、或る画素(代表点R又はサンプリング点S)に関し、輝度値は、その画素の輝度を表し、輝度値が増加するに従って該輝度は増加するものとする。また、輝度値は、8ビット(0〜255)のデジタル値として表現されるとする。勿論、輝度値を8ビットと異なるビット数で表現しても良い。 【0056】 減算回路53は、代表点メモリ52から与えられる基準画像の代表点Rの輝度値と現画像の各サンプリング点Sの輝度値との減算を行い、その減算結果の絶対値を出力する。減算回路53の出力値は、各サンプリング点Sにおける相関値を表し、該出力値は、順次、累積加算回路54に与えられる。累積加算回路54は、減算回路53から出力される相関値を累積加算することにより上述の累積相関値を算出及び出力する。 【0057】 演算回路55は、累積加算回路54から与えられる累積相関値を受け、図8に示すようなデータを算出及び出力する。基準画像と現画像との対比に関し、各検出領域E1 〜E9 ごとに、1つの小領域e内のサンプリング点Sの個数に応じた複数の累積相関値(以下、この複数の累積相関値を「演算対象累積相関値群」という)が演算回路55に与えられるが、演算回路55は、各検出領域E1 〜E9 ごとに、 「演算対象累積相関値群を形成する全ての累積相関値の平均値Vaveと、 演算対象累積相関値群を形成する全ての累積相関値の内の最小値(最小の累積相関値)と、 その最小値を示す画素の位置PAと、 位置PAの画素の近傍画素に対応する累積相関値(以下、近傍累積相関値と呼ぶことがある)」を算出する。 【0058】 各小領域eに着目し、以下のように画素位置等を定義する。各小領域eにおいて、代表点Rの画素位置を(0,0)にて表す。位置PAは、代表点Rの画素位置(0,0)を基準とした、上記最小値を与えるサンプリング点Sの画素位置であり、これを、(iA,jA)にて表す(図6参照)。位置PAの画素の近傍画素とは、位置PAの画素に隣接する画素を含む位置PAの画素の周辺画素であり、本実施例では、位置PAの画素を中心とする24個の近傍画素を想定する。図7に示す如く、位置PAの画素と該24個の近傍画素は5×5の行列配列された画素群を形成する。その画素群の各画素の画素位置を、(iA+p,jA+q)にて表す。該画素群の中心に、位置PAの画素が存在する。p及びqは整数であり、−2≦p≦2且つ−2≦q≦2、が成立する。pが−2から2に増加するにつれて画素位置は位置PAを中心として上から下へと向かい、qが−2から2に増加するにつれて画素位置は位置PAを中心として左から右へと向かう。そして、画素位置(iA+p,jA+q)に対応する累積相関値を、V(iA+p,jA+q)にて表すものとする。 【0059】 一般的には、最小の累積相関値の位置PAが真のマッチング位置に対応するものとして動きベクトルが算出されるが、本実施例では、最小の累積相関値は、真のマッチング位置に対応する累積相関値の候補として捉えられる。位置PAにて得られる最小の累積相関値をVAにて表し、それを「候補最小相関値VA」とよぶ。従って、V(iA,jA)=VAである。 【0060】 他の候補を特定すべく、演算回路55は、各検出領域E1 〜E9 ごとに、最小の累積相関値VAに近い累積相関値が演算対象累積相関値群に含まれているかを検索し、検索されたVAに近い累積相関値も候補最小相関値として特定する。「最小の累積相関値VAに近い累積相関値」とは、VAを所定の規則に従って増加させた値以下の累積相関値であり、例えば、VAに所定の候補閾値(例えば2)を加えた値以下の累積相関値、或いは、VAに1より大きい係数を乗じて得られる値以下の累積相関値である。候補最小相関値は、上記の候補最小相関値VAを含めて、例えば最大4つ特定される。 【0061】 以下、説明の便宜上、検出領域E1 〜E9 の夫々について、候補最小相関値VAの他に候補最小相関値VB、VC及びVDが特定された場合を考えるものとする。尚、最小の累積相関値VAに近い累積相関値を検索することによって他の候補最小相関値を特定すると述べたが、VB、VC及びVDの何れか又は全部は、VAと等しい場合もある。この場合、或る検出領域に関し、演算対象累積相関値群に最小の累積相関値が2以上含まれることになる。 【0062】 演算回路55は、候補最小相関値VAと同様、各検出領域E1 〜E9 ごとに、 「候補最小相関値VBを示す画素の位置PBと位置PBの画素の24個の近傍画素に対応する合計24個の累積相関値(以下、近傍累積相関値と呼ぶことがある)、 候補最小相関値VCを示す画素の位置PCと位置PCの画素の24個の近傍画素に対応する合計24個の累積相関値(以下、近傍累積相関値と呼ぶことがある)、及び 候補最小相関値VDを示す画素の位置PDと位置PDの画素の24個の近傍画素に対応する合計24個の累積相関値(以下、近傍累積相関値と呼ぶことがある)」を検出する(図8参照)。 【0063】 各小領域eに着目し、以下のように画素位置等を定義する。位置PB、PC及びPDは、それぞれ、位置PAと同様、代表点Rの画素位置(0,0)を基準とした、候補最小相関値VB、VC及びVDを与えるサンプリング点Sの画素位置であり、これを、(iB,jB)、(iC,jC)及び(iD,jD)にて表す。 位置PAと同様、位置PBの画素とそれの近傍画素は5×5の行列配列された画素群を形成し、その画素群の各画素の画素位置を(iB+p,jB+q)にて表す。 位置PAと同様、位置PCの画素とそれの近傍画素は5×5の行列配列された画素群を形成し、その画素群の各画素の画素位置を(iC+p,jC+q)にて表す。 位置PAと同様、位置PDの画素とそれの近傍画素は5×5の行列配列された画素群を形成し、その画素群の各画素の画素位置を(iD+p,jD+q)にて表す。 ここで、位置PAと同様、p及びqは整数であり、−2≦p≦2且つ−2≦q≦2、が成立する。pが−2から2に増加するにつれて画素位置は位置PB(又はPC又はPD)を中心として上から下へと向かい、qが−2から2に増加するにつれて画素位置は位置PB(又はPC又はPD)を中心として左から右へと向かう。そして、画素位置(iB+p,jB+q)、(iC+p,jC+q)及び(iD+p,jD+q)に対応する累積相関値を、夫々、V(iB+p,jB+q)、V(iC+p,jC+q)及びV(iD+p,jD+q)にて表す。 【0064】 演算回路55は、更に、各検出領域E1 〜E9 ごとに、候補最小相関値の個数Nfを算出及び出力する。今の例の場合、検出領域E1 〜E9 の夫々について、Nfは4である。以下、各検出領域E1 〜E9 ごとに、演算回路55にて算出され且つ出力される、 「候補最小相関値VA、位置PA及び近傍累積相関値V(iA+p,jA+q)」を特定するデータを総称して「第1の候補データ」と呼び、 「候補最小相関値VB、位置PB及び近傍累積相関値V(iB+p,jB+q)」を特定するデータを総称して「第2の候補データ」と呼び、 「候補最小相関値VC、位置PC及び近傍累積相関値V(iC+p,jC+q)」を特定するデータを総称して「第3の候補データ」と呼び、 「候補最小相関値VD、位置PD及び近傍累積相関値V(iD+p,jD+q)」を特定するデータを総称して「第4の候補データ」と呼ぶ。 【0065】 [動き検出回路の動作フロー] 次に、図9及び図10のフローチャートを参照して、動き検出回路32の処理手順を説明する。また、図13に、動き検出回路32内部の各データの流れをも表した、動き検出回路32の詳細内部ブロック図を示す。図13に示す如く、検出領域有効性判定回路43は、コントラスト判定部61と、複数動き有無判定部62と、類似模様有無判定部63を含み、全体動きベクトル算出回路44は、全体動きベクトル有効性判定部70を含む。全体動きベクトル有効性判定部70は、更に、パン・チルト判定部71、領域動きベクトル類似性判定部72及び検出領域有効数算出部73を含む。 【0066】 概略的に動作を説明すると、動き検出回路32は、検出領域ごとに、候補最小相関値の中から真のマッチング位置に対応する相関値を採用最小相関値Pminとして特定し、代表点Rの位置から採用最小相関値Vminを示す位置(PA、PB、PC又はPD)に向かう偏移を当該検出領域の動きベクトル(検出領域の動きベクトルを、以下、「領域動きベクトル」という)とする。そして、各領域動きベクトルの平均を画像全体の動きベクトル(以下、「全体動きベクトル」という)として出力する。 【0067】 但し、平均化によって全体動きベクトルを算出する際、各検出領域の有効又は無効を評価し、無効な検出領域に対応する領域動きベクトルを無効として除外する。そして、有効な領域動きベクトルの平均ベクトルを(原則として)全体動きベクトルとして算出すると共に、算出した全体動きベクトルが有効であるか或いは無効であるかを評価する。 【0068】 尚、図9に示されるステップS12〜S18の処理は、図2の代表点マッチング回路41にて実施される。ステップS24の処理は、図2の領域動きベクトル算出回路42によって実施される。ステップS21〜S23並びにS25及びS26の処理は、図2の検出領域有効性判定回路43によって実施される。図10に示されるステップS41〜S49の処理は、図2の全体動きベクトル算出回路44によって実施される。 【0069】 図9及び図10は、或る1つの基準画像と或る1つの非基準画像(例えば現画像)との間における処理手順を示している。動き検出回路32は、手ぶれ補正撮影モードにおいてシャッタボタン21が押下げられた際、1番目の分割露光画像を基準画像、2番目以降の各分割露光画像を非基準画像として、図9及び図10に示す各ステップの処理を実施する(但し、2番目以降の何れかの分割露光画像を基準画像とすることも可能である)。また、手ぶれ補正撮影モードでは、シャッタボタン21が押下されたか否かに関わらず、動き検出回路32に対して前回に入力された画像(画像データ)を基準画像とし且つ今回に入力された画像を非基準画像として、図9及び図10に示す各ステップの処理が実施される。 【0070】 まず、ステップS11において、9つある検出領域E1〜E9の何れか1つを特定するための変数kを1とする。k=1、2、・・・9の場合、それぞれ、検出領域E1、E2、・・・E9についての処理が行われる。 【0071】 ステップS11に続くステップS12において、検出領域Ekについての累積相関値が算出され、更に、ステップS13において、検出領域Ekについての累積相関値の平均値Vaveが算出される。そして、真のマッチング位置に対応する累積相関値の候補として候補最小相関値が特定される(ステップS14)。今、上述したように、候補最小相関値として4つの候補最小相関値VA、VB、VC又はVDが特定されたとする。続くステップS15では、ステップS14にて特定された各候補最小相関値に対応する「位置と近傍累積相関値」が検出される。更にステップS16で、ステップS14にて特定された候補最小相関値の個数Nfが算出される。ステップS11〜S16の処理により、図8に示す、検出領域Ekについての「平均値Vave、第1〜第4候補データ及び個数Nf」が算出される。 【0072】 ステップS16に続くステップS17では、検出領域Ekについての候補最小相関値の中から、真のマッチング位置に対応する相関値が採用最小相関値Vminとして選択される。 【0073】 このステップS17の処理は、本実施例の特徴的な処理であり、図11及び図12を参照して詳細に説明する。図11(a)〜(e)では、ステップS17の処理にて参照される累積相関値の対応画素を斜線を用いて表している。図12は、ステップS17の処理を細分化したフローチャートである。ステップS17は、ステップS101〜S112から形成される。 【0074】 ステップS17に移行すると、まず、図12のステップS101において、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図11(a)のパターンに対応するような「候補最小相関値と4個の近傍累積相関値」の平均値(選択用評価値)を計算する。即ち、(p,q)=(0,−1)、(−1,0)、(0,1)、(1,0)、(0,0)である場合における、 「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。 【0075】 そして、ステップS102において、ステップS101で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS101で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS103に移行し、そうでない場合はステップS112に移行して、ステップS101で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。例えば、VA_ave<VB_ave<VC_ave<VD_ave、が成立する場合、候補最小相関値VAが採用最小相関値Vminとして選択される。 【0076】 以後、採用最小相関値Vminを選択するに当たって参照される累積相関値の位置及び個数を変化させつつ、ステップS101及びS102と同様の処理が実施される。 【0077】 即ち、ステップS103では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図11(b)のパターンに対応するような「候補最小相関値と8個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−1,−1)、(−1,0)、(−1,1)、(0,−1)、(0,0)、(0,1)、(1,−1)、(1,0)、(1,1)である場合における、 「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。 【0078】 そして、ステップS104において、ステップS103で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS103で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS105に移行し、そうでない場合はステップS112に移行して、ステップS103で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。 【0079】 ステップS105では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図11(c)のパターンに対応するような「候補最小相関値と12個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−1,−1)、(−1,0)、(−1,1)、(0,−1)、(0,0)、(0,1)、(1,−1)、(1,0)、(1,1)、(−2,0)、(2,0)、(0,2)、(0,−2)である場合における、 「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。 【0080】 そして、ステップS106において、ステップS105で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS105で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS107に移行し、そうでない場合はステップS112に移行して、ステップS105で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。 【0081】 ステップS107では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図11(d)のパターンに対応するような「候補最小相関値と20個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−2,−1)、(−2,0)、(−2,1)、(−1,−2)、(−1,−1)、(−1,0)、(−1,1)、(−1,2)、(0,−2)、(0,−1)、(0,0)、(0,1)、(0,2)、(1,−2)、(1,−1)、(1,0)、(1,1)、(1,2)、(2,−1)、(2,0)、(2,1)である場合における、 「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。 【0082】 そして、ステップS108において、ステップS107で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS107で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS109に移行し、そうでない場合はステップS112に移行して、ステップS107で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。 【0083】 ステップS109では、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図11(e)のパターンに対応するような「候補最小相関値と24個の近傍累積相関値」の平均値を計算する。即ち、(p,q)=(−2,−2)、(−2,−1)、(−2,0)、(−2,1)、(−2,2)、(−1,−2)、(−1,−1)、(−1,0)、(−1,1)、(−1,2)、(0,−2)、(0,−1)、(0,0)、(0,1)、(0,2)、(1,−2)、(1,−1)、(1,0)、(1,1)、(1,2)、(2,−2)、(2,−1)、(2,0)、(2,1)、(2,2)である場合における、 「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。 【0084】 そして、ステップS110において、ステップS109で算出された平均値に基づいて採用最小相関値Vminを選択可能であるかを判定する。具体的には、ステップS109で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合は、選択不可(選択の信頼性がない)と判定してステップS111に移行し、そうでない場合はステップS112に移行して、ステップS109で算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択する。 【0085】 ステップS111に移行した場合は、最終的に、採用最小相関値Vminを選択不可と判断する。即ち、マッチング位置を検出不可と判断する。尚、候補最小相関値が複数ある場合の処理について説明したが、候補最小相関値が1つしかない場合は、その1つの候補最小相関値がそのまま採用最小相関値Vminとされる。 【0086】 ステップS17にて採用最小相関値Vminが選択されると、ステップS18にて採用最小相関値Vminを示す画素の位置Pminが特定される。例えば、採用最小相関値Vminとして候補最小相関値VAが選択された場合は、位置PAが位置Pminとなる。 【0087】 ステップS17及びS18で採用最小相関値Vmin及び位置Pminが特定されると、ステップS21に移行する。ステップS21〜S26では、検出領域Ekの有効又は無効が判定されると共に検出領域Ekの領域動きベクトルMkが算出される。各ステップの処理内容を詳細に説明する。 【0088】 ステップS21では、類似模様有無判定部63(図13参照)が、検出領域Ek内に類似した模様が存在していないかを判定する。類似模様が存在している場合は、当該検出領域Ekについて算出される領域動きベクトルの信頼性は低い(即ち、領域動きベクトルMkは検出領域Ek内の画像の動きを精度良く表していない)。従って、この場合は、検出領域Ekを無効とする(ステップS26)。ステップS21の判定は、ステップS17の処理結果に基づいて実施される。即ち、図12のステップS112に至って採用最小相関値Vminが選択された場合は、類似模様は存在していないと判断してステップS21からステップS22に移行する。一方、図12のステップS111に至って採用最小相関値Vminが選択されなかった場合は、類似模様が存在していると判断してステップS21からステップS26に移行し、検出領域Ekを無効とする。 【0089】 ステップS22では、コントラスト判定部61(図13参照)が、検出領域Ek内の画像のコントラストが低いか否かを判定する。コントラストが低い場合は、正確な領域動きベクトルの検出は困難であるため、検出領域Ekを無効とする。具体的には、累積相関値の平均値Vaveが所定の閾値TH1以下であるかを判断する。そして、不等式「Vave≦TH1」が成立する場合はコントラストが低いと判断してステップS26に移行し検出領域Ekを無効とする。この判断は、画像のコントラストが低い場合(例えば、画像全体が白い場合)には、輝度差が小さいので累積相関値が全体的に小さくなるという原理に基づいている。一方、不等式「Vave≦TH1」が成立しない場合は、コントラストは低くないと判断してステップS23に移行する。尚、閾値TH1は、実験を介して適切な値に設定される。 【0090】 ステップS23では、複数動き有無判定部62(図13参照)が、検出領域Ek内に複数の動きがあるか否かを判定する。検出領域Ek内に手ぶれとは関係のない動く物体等が存在する場合は、検出領域Ek内に複数の動きがあると判断されることになる。複数の動きがある場合は、正確な領域動きベクトルの検出は困難であるため、検出領域Ekを無効とする。具体的には、不等式「Vave/Vmin≦TH2」が成立するか否かを判断し、該不等式が成立する場合は複数の動きがあると判断してステップS26に移行し検出領域Ekを無効とする。この判断は、複数の動きがある場合には完全なマッチング位置がないため、累積相関値の最小値が大きくなるという原理に基づいている。また、平均値Vaveを除算することによって、この判断が被写体のコントラストに依存しないようにしている。一方、不等式「Vave/Vmin≦TH2」が成立しない場合は、複数の動きがないと判断してステップS24に移行する。尚、閾値TH2は、実験を介して適切な値に設定される。 【0091】 ステップS24では、図2(図13)に示す領域動きベクトル算出回路42が、真のマッチング位置を表す位置Pminに基づいて、領域動きベクトルMkを算出する。例えば、位置PAが位置Pminである場合は、画像上の位置PAを特定する位置情報(画素位置(iA,jA)を特定する情報)に基づいて領域動きベクトルMkを算出する。より具体的には、検出領域Ekの任意の小領域eにおいて、代表点Rの位置から採用最小相関値Vminを示す位置Pmin(PA、PB、PC又はPD)に向かう偏移の向き及び大きさを、領域動きベクトルMkの向き及び大きさとする。 【0092】 そして、ステップS24に続くステップS25では、検出領域Ekを有効とし、ステップS31に移行する。他方、ステップS21等から移行しうるステップS26では、上述の如く検出領域Ekを無効とし、ステップS31に移行する。ステップS31では、変数kに1が加算され、続いてステップS32で変数kが9より大きくなっているかが判断される。「k>9」が成立しない場合はステップS12に移行し、他の検出領域に関してステップS12等の処理が繰り返される。「k>9」が成立する場合は、検出領域E1〜E9の全てに関してステップS12等の処理が実施されたことになるため、図10のステップS41に移行する。 【0093】 図10のステップS41〜S49では、領域動きベクトルMk(1≦k≦9)に基づく全体動きベクトルMを算出処理及び全体動きベクトルMの有効性判定処理が行われる。 【0094】 ステップS41では、図9のステップS25及びS26の処理結果に基づき、有効とされた検出領域(以下、「有効領域」という)の数が0であるか否かを判定する。有領領域が1以上存在する場合にはステップS42に移行して、有効領域の領域動きベクトルMkを抽出し、更にステップS43にて、有効領域の領域動きベクトルMkを平均化することにより、それらの平均ベクトルMaveを算出する。 【0095】 ステップS43に続くステップS44では、領域動きベクトル類似性判定部72(図13参照)が、有効領域の領域動きベクトルMkの類似性を判定する。換言すれば、有効領域間での領域動きベクトルMkのばらつきAを評価することにより、有効領域間で動きの異なる物体が存在していないかを判定する。具体的には、下式(1)に基づいて、ばらつきAを算出する。 【0096】 A=[{|Mk−Mave|/(Maveのノルム)}の総和]/(有効領域の数) ・・・(1) 【0097】 そして、ばらつきAが閾値TH3以上であるか否かを判定する。ばらつきAが閾値TH3未満であればステップS45に移行し、画像全体の動きベクトル(全体動きベクトル)MをステップS43で算出された平均ベクトルMaveとしてステップS47に移行する。 【0098】 尚、式(1)において、[{|Mk−Mave|/(Maveのノルム)}の総和]は、有効領域ごとに算出された{|Mk−Mave|/(Maveのノルム)}を、全ての有効領域について合算した値に相当する。また、図13に示す検出領域有効数算出部73は、有効領域の数を算出する。 【0099】 ばらつきAが閾値TH3以上の場合は、有効領域の領域動きベクトルMkの類似性が低く、それに基づいて算出される全体動きベクトルの信頼性は低いと考えられる。このため、ばらつきAが閾値TH3以上の場合は(ステップS44のN)、ステップS46に移行し、全体動きベクトルMを0としてステップS47に移行する。また、ステップS41において有効領域の数が0であると判定された場合もステップS46にて全体動きベクトルMが0とされ、ステップS47に移行する。 【0100】 ステップS47では、全体動きベクトルの履歴データMnに今回得られた全体動きベクトルMを追加する。上述したように、図9及び図10に示す各処理は、シャッタボタン21が押下されたか否かに関わらず、手ぶれ補正撮影モードにおいて逐次行われており、ステップS45又はS46にて得られた全体動きベクトルMは、順次、全体動きベクトルの履歴データMnに格納されていく。尚、シャッタボタン21の1回の押下に対して、複数の分割露光画像と複数の全体動きベクトルMが得られるが、後述のパン・チルト判定処理の便宜上、履歴データMnに追加されるのは、その複数の全体動きベクトルMの内の1つだけとする(但し、その複数の動きベクトルMの全てを履歴データMnに追加することも可能である)。 【0101】 ステップS47に続くステップS48では、パン・チルト判定部73(図13参照)が、履歴データMnに基づいて撮像装置がパン・チルト状態にあるかを判定する。「パン・チルト状態」とは、撮像装置がパン又はチルトしている状態、を意味する。パン(パンニング)とは、撮像装置の筐体(不図示)を左右方向に振ることを意味し、チルト(チルティング)とは、撮像装置の筐体を上下方向に振ることを意味する。撮像装置がパン又はチルトしている状態にあるかを判定する手法としては、例えば、上記特許文献2に記載の手法又は本出願人が提案する特願2006−91285号に記載の手法を用いればよい。 【0102】 例えば、次の第1条件又は第2条件を満たした場合に、「手ぶれ状態」から「パン・チルト状態」へ遷移したと判断する(「手ぶれ状態」は、「パン・チルト状態」に含まれない)。 第1条件は、「全体動きベクトルMが垂直方向(上下方向)又は水平方向(左右方向)の同一方向に連続している回数が所定回数以上である」という条件である。 第2条件は、「上記同一方向に連続している全体動きベクトルMの大きさの積分値が撮像装置の画角の一定割合以上である」という条件である。 【0103】 そして例えば、次の第3条件又は第4条件を満たした場合に、「パン・チルト状態」から「手ぶれ状態」へ遷移したと判断する。 第3条件は、「全体動きベクトルの大きさが0.5画素以下である状態が連続して所定回数(例えば10回)以上継続した」という条件である 第4条件は、「「手ぶれ状態」から「パン・チルト状態」へ遷移したときの全体動きベクトルMに対して方向が反対の全体動きベクトルMが所定回数(例えば10回)以上連続して得られた」という条件である。 【0104】 第1〜第4条件の成立/不成立は、履歴データMnに含まれる今回得られた全体動きベクトルMと過去の全体動きベクトルMと、に基づいて判断される。「パン・チルト状態」にあるか否かの判定結果は、図1のマイコン10に伝達される。 【0105】 ステップS48の判定処理を終えると、ステップS49に移行する。ステップS49では、全体動きベクトル有効性判定部70(図13参照)が、ステップS41〜S48の処理結果に基づいて、今回得られた全体動きベクトルMが有効であるか否かを判定する。 【0106】 具体的には、「ステップS41で有効領域の数が0であると判定されてステップS46に至った場合」、或いは、「ステップS44で有効領域の領域動きベクトルMkの類似性が低いと判定されてステップS46に至った場合」、或いは、「ステップS48でパン・チルト状態にあると判定された場合」は、今回得られた全体動きベクトルMは無効とされ、そうでない場合は、今回得られた全体動きベクトルMは有効とされる。 【0107】 パン又はチルト操作時には、手ぶれ量が大きく対比する画像間の偏移が小領域eのサイズに応じた動き検出範囲を超えてしまうため、正確な動きベクトルを検出することができない。このため、パン・チルト状態にあると判定された場合には全体動きベクトルMを無効とする。 【0108】 上述のようにして求められた全体動きベクトルM及び該全体動きベクトルMが有効であるか或いは無効であるかを特定する情報は、図1の座標変換回路33に与えられる。 【0109】 手ぶれ補正撮影モードにおいてシャッタボタン21が押下げられた際においては、図9及び図10の処理を繰り返すことにより、各分割露光画像について全体動きベクトルMが検出されると共に各全体動きベクトルMの有効/無効が評価され、その有効/無効の評価に従って、上述の如く各分割露光画像が加算合成される。 【0110】 [近傍累積相関値を用いた選択処理の意義について] 本実施例では、累積相関値の最小値が複数存在する場合、或いは、累積相関値の最小値に近い累積相関値がある場合は、それらを複数の候補最小相関値として特定し、その複数の候補最小相関値の中から真のマッチング位置に対応する採用最小相関値Vminを近傍累積相関値に基づいて選択する。図19及び図20を用いて従来技術の問題を説明したが、この図19及び図20を用いて示した状況を例にとり、近傍累積相関値に基づいて選択を行うことの意義について考察する。 【0111】 候補最小相関値VAとVBにのみ着目する。今、VAが真のマッチング位置に対応し、VBがノイズに由来して候補となった累積相関値であるとする。図14を参照する。図14は、図20と同様の図に、候補最小相関値VA及びVBに対応するプロットと、それらの近傍累積相関値に対応するプロットを追加した図である。上述の如く、図20は、1次元で並んだ(例えば、水平方向に1次元配列された)画素にのみ着目しており、図14も同様である。図11(a)に対応する4近傍画素に着目した場合、1次元では、近傍累積相関値は各候補最小相関値について2つずつとなる。 【0112】 ノイズは、通常、極めて狭い画像領域にスパイク状に発生し、その輝度勾配は、高輝度被写体などに応じた特徴部203(図19参照)に比べて急峻である。従って、ノイズの影響による偽のマッチング位置に対応する累積相関値(VB)の近傍累積相関値は、その累積相関値(VB)を中心として急激に大きくなる。このため、候補最小相関値ごとに、候補最小相関値と近傍累積相関値の平均値を算出した場合、ノイズに対応する平均値は真のマッチング位置に対応する平均値よりも大きくなるという傾向がある。図15に、各累積相関値を隣接する2つの近傍累積相関値で平均化した場合における、平均化後の累積相関値の分布を示す。 【0113】 図9のステップS17等は、この特性を考慮して実施されるものであり、これにより、従来のように動き検出を無効とすることなく、真のマッチング位置を検出することが可能となる。従って、S/N比が低い画像でも高精度に画像間の動き検出が可能となり、暗い場面でも手ぶれ補正を有効に機能させることが可能となる。また、本実施例の如く加算式手ぶれ補正(加算式静止画手ぶれ補正)を行う場合にあっては、動き検出の精度が確保される露光分割数を増加させることができるようになるため、加算合成された静止画像における手ぶれ量を低減することが可能である。 【0114】 また、画像の平均輝度が十分に大きく且つノイズの影響も軽微である場合、通常、最小の累積相関値は1つのサンプリング点S(1つの画素)にて得られ、その場合は、近傍累積相関値を参照する必要はない。逆に、そのような場合に近傍累積相関値を過度に考慮すると、真のマッチング位置の検出の正確性が損なわれる(動き検出の精度が劣化する)惧れがある。このような事情を考慮し、本実施例では、図11及び図12を参照して説明したように、真のマッチング位置を定めきれない場合に参照する近傍累積相関値の個数を段階的に増加させるようにしている。これにより、近傍累積相関値を参照したことに由来する動き検出の精度の劣化が抑制される。 【0115】 <<変形等>> 上述した説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。 【0116】 上述の撮像装置は本発明の実施例に過ぎず、本発明は、様々な変形例(又は他の実施例)を含む。以下に、本発明に含まれる変形例(又は他の実施例)として、変形例1〜変形例8を例示する。各変形例に記載した内容は、矛盾なき限り、任意に組み合わせることが可能である。 【0117】 [変形例1] 真のマッチング位置を定めきれない場合、参照する近傍累積相関値のパターンを、図11(a)から同図(b)、(c)、(d)、(e)に示すパターンへと順次変更していく実施例を上述したが、何れかのパターンを用いた処理を省略するようにしても構わない。 【0118】 例えば、図11(a)→(c)→(e)でもよい。即ち、図12のステップS102にて選択不可と判定した場合は(ステップS102のN)、ステップS103及びS104の処理を省略して直接ステップS105に移行し、且つ、図12のステップS106にて選択不可と判定した場合は(ステップS106のN)、ステップS107及びS108の処理を省略して直接ステップS109に移行するようにしてもよい。同様に例えば、図11(b)→(e)でもよい。 【0119】 [変形例2] 真のマッチング位置を定めきれない場合に参照する近傍累積相関値の個数を段階的に増加させるようにする実施例を上述したが(図11及び図12参照)、そのような場合における個数の増加は必須ではない。 【0120】 例えば、ステップS101で算出された4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合、ステップS102からステップS103に移行する前に以下の第1ステップ及び第2ステップの処理を行うようにしてもよい。 【0121】 第1ステップでは、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、図16のパターンに対応するような「候補最小相関値と4個の近傍累積相関値」の平均値(選択用評価値)を計算する。即ち、(p,q)=(−1,−1)、(−1,1)、(1,−1)、(1,1)、(0,0)である場合における、 「累積相関値V(iA+p,jA+q)の平均値VA_aveと、累積相関値V(iB+p,jB+q)の平均値VB_aveと、累積相関値V(iC+p,jC+q)の平均値VC_aveと、累積相関値V(iD+p,jD+q)の平均値VD_ave」を算出する。 【0122】 そして、第2ステップにおいて、第1ステップで算出された4つの平均値を比較し、その4つの平均値の内、最小の平均値と他の平均値との差が全て所定の差分閾値(例えば2)以下の場合はステップS103に移行し、そうでない場合はステップS112に移行して、第1ステップで算出された4つの平均値の内、最小の平均値に対応する候補最小相関値を採用最小相関値Vminとして選択するようにする。 【0123】 図11(a)に対応する4つの近傍累積相関値を参照して真のマッチング位置を定めきれなかったとしても、図16に対応する4つの近傍累積相関値を参照すれば、真のマッチング位置を検出することができる場合がある。これを考慮して、上述の如く処理する。 【0124】 [変形例3] 候補最小相関値(VA等)を示す位置(PA等)を中心とした、最大(5×5)画素の領域内の近傍累積相関値を参照する例を示したが(図11及び図12参照)、これは単なる一例であり、これを様々に変形することが可能である。例えば、採用最小相関値Vminを選択するために、候補最小相関値(VA等)を示す位置(PA等)を中心とした、最大(7×7)画素の領域内の近傍累積相関値を参照するようにしてもよい。 【0125】 [変形例4] また、第1〜第4の候補データの夫々について(即ち、候補最小相関値ごとに)、「候補最小相関値と近傍累積相関値」の平均値を選択用評価値として算出し、算出された各選択用評価値の比較を介して採用最小相関値Vminを選択する例を図12を示して上述したが、選択用評価値として算出される平均値を、総和(合算値)又は加重平均値に変更しても良い。 【0126】 即ち、例えば、図12のステップS101において、(p,q)=(0,−1)、(−1,0)、(0,1)、(1,0)、(0,0)である場合における、合計5個の累積相関値V(iA+p,jA+q)の総和を選択用評価値として算出しても構わない。 【0127】 また、選択用評価値を加重平均値とする場合、例えば、図12のステップS101において、 VA_ave=k1・V(iA,jA−1)+k2・V(iA−1,jA)+ k3・V(iA,jA+1)+k4・V(iA+1,jA)+ k0・V(iA,jA) 、を算出すればよい。ここで、k0〜k4は、加重平均値を算出するための係数であり、例えば、k1=k2=k3=k4<k0、が成立する。 【0128】 [変形例5] また、第1〜第4の候補データの夫々について、「候補最小相関値と近傍累積相関値」の平均値(又は総和又は加重平均値)を選択用評価値として算出し、算出された各選択用評価値の比較を介して採用最小相関値Vminを選択する例を示したが、各選択用評価値を、候補最小相関値を除外して算出するようにしても構わない。 【0129】 即ち、例えば、図12のステップS103において、(p,q)=(−1,−1)、(−1,0)、(−1,1)、(0,−1)、(0,1)、(1,−1)、(1,0)、(1,1)である場合における、合計8個の累積相関値V(iA+p,jA+q)の平均値(又は総和又は加重平均値)をVA_aveとするようにしても構わない。 【0130】 [変形例6] 各画像(各分割露光画像など)に検出領域(E1〜E9)が9つある場合を例示したが、各画像に設けられる検出領域の個数は任意である。各画像に設ける検出領域の個数は、1つであってもよい。 【0131】 [変形例7] 加算式手ぶれ補正を行う場合に特に着目して上述の実施例を説明したが、動き検出回路32は、動画像撮影時にも有効に機能する。動画像撮影時には、図1の輝度調節回路31を介することなく、画像メモリ5からの画像データを動き検出回路32に直接入力するようにしてもよい。手ぶれ補正撮影モードにて動画像を撮影する場合、動き検出回路32は、所定のフレーム周期(例えば1/60秒)で順次入力される画像データに基づき、図9及び図10を参照して説明した動作に従って、隣接するフレーム画像(前回に得られた画像と今回に得られた画像)間の全体動きベクトルを検出する。そして、検出された全体動きベクトルに基づき、図1の手ぶれ補正回路30は、隣接するフレーム画像間の動きがキャンセルされるように、各フレーム画像に必要な画像処理を施す。 【0132】 [変形例8] また、図1の撮像装置は、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって実現可能である。特に、図1の手ぶれ補正回路30の機能、それに含まれる動き検出回路32、座標変換回路33、画像加算回路34の各機能は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせによって実現可能である。 【0133】 ソフトウェアを用いて動き検出回路32の機能を実現する場合、図2、図3及び図13は、動き検出回路32の一部又は全部の機能ブロック図を表すことになる。また、動き検出回路32(又は手ぶれ補正回路30)にて実現される機能の全部または一部を、プログラムとして記述し、該プログラムをコンピュータ上で実行することによって、その機能の全部または一部を実現するようにしてもよい。 【0134】 <<注記>> 尚、図3において、代表点マッチング回路41は、累積加算回路54によって算出された複数の累積相関値の中から候補最小相関値(候補相関値)を特定する候補相関値特定手段としての機能と、候補最小相関値が複数個ある場合、複数の候補最小相関値の内の1つを採用最小相関値(採用相関値)として選択する選択手段としての機能と、を実現する。上述の実施例では、候補相関値特定手段の機能は、図3の演算回路55によって実現される。 【図面の簡単な説明】 【0135】 【図1】本発明の実施例に係る撮像装置の全体的構成図である。 【図2】図1の動き検出回路の内部ブロック図である。 【図3】図2の代表点マッチング回路の内部ブロック図である。 【図4】図3の代表点マッチング回路にて定義される、各動きベクトル検出領域と各小領域を示す図である。 【図5】図4に示す各領域における、代表点とサンプリング点を示す図である。 【図6】図4に示す各領域における、代表点と最小の累積相関値に対応するサンプリング点の画素位置を表す図である。 【図7】最小の累積相関値に対応する画素とその近傍画素の各画素位置を表す図である。 【図8】図3の演算回路の出力データを表としてまとめた図である。 【図9】図1の動き検出回路の動作手順を表すフローチャートである。 【図10】図1の動き検出回路の動作手順を表すフローチャートである。 【図11】図9のステップS17における採用最小相関値の選択処理に参照される累積相関値のパターンを表す図である。 【図12】図9のステップS17における採用最小相関値の選択処理を詳細に表したフローチャートである。 【図13】図1の動き検出回路の詳細内部ブロック図である。 【図14】図9のステップS17等の処理の意義を説明するための図である。 【図15】図9のステップS17等の処理の意義を説明するための図である。 【図16】図11(a)等に示すパターンの変形例を示す図である。 【図17】従来技術に係る、動画像用の手ぶれ補正の原理を表す図である。 【図18】従来技術に係る、静止画用の加算式手ぶれ補正の原理を表す図である。 【図19】従来技術の問題点を説明するための図である。 【図20】従来技術の問題点を説明するための図である。 【符号の説明】 【0136】 30 手ぶれ補正回路 32 動き検出回路 41 代表点マッチング回路 42 領域動きベクトル算出回路 43 検出領域有効性判定回路 44 全体動きベクトル算出回路
|
| 【出願人】 |
【識別番号】000001889 【氏名又は名称】三洋電機株式会社
|
| 【出願日】 |
平成18年8月31日(2006.8.31) |
| 【代理人】 |
【識別番号】100085501 【弁理士】 【氏名又は名称】佐野 静夫
【識別番号】100128842 【弁理士】 【氏名又は名称】井上 温
【識別番号】100129562 【弁理士】 【氏名又は名称】山本 昌則
|
| 【公開番号】 |
特開2008−60892(P2008−60892A) |
| 【公開日】 |
平成20年3月13日(2008.3.13) |
| 【出願番号】 |
特願2006−235168(P2006−235168) |
|