(57)【特許請求の範囲】
【請求項１】
１つの画像を原画像とし、当該原画像の後で撮影の結果得られた画像を参照画像として、前記原画像および前記参照画像を縮小処理する縮小手段と、
前記原画像と参照画像の撮影の際のシャッタースピードに応じて前記縮小手段によって縮小処理を行う際の縮小率を決定する決定手段と、
前記縮小処理が行われた原画像および参照画像に基づいて前記原画像と前記参照画像との間における動きベクトルを検出する検出手段と、
を有し、
前記決定手段は、前記シャッタースピードが遅くなるにつれて画像サイズが大きくなるように前記縮小率を決定することを特徴する画像処理装置。
【請求項２】
前記原画像および前記参照画像を記憶するメモリ手段を有し、
前記縮小手段は、前記メモリ手段から前記原画像および前記参照画像を読み込んで前記縮小処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記縮小処理が行われた原画像および参照画像を記憶するメモリ手段と、
前記撮影の際に前記シャッタースピードに応じた縮小率が変化すると、前記縮小処理が行われた原画像および参照画像の縮小率を同一とするためのリサイズ処理を行うリサイズ手段とを有することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記動きベクトルに基づいて前記原画像と前記参照画像との間のぶれを幾何変形パラメータとして求める算出手段と、
前記幾何変形パラメータに基づいて撮影の結果得られた画像を幾何変形して当該画像のぶれを補正する補正手段とを有することを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記原画像と前記参照画像を撮像する撮像手段と、
請求項１〜４のいずれか１項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項６】
１つの画像を原画像とし、当該原画像の後で撮影の結果得られた画像を参照画像として、前記原画像および前記参照画像を縮小処理する縮小ステップと、
前記原画像と参照画像の撮影の際のシャッタースピードに応じて前記縮小ステップで縮小処理を行う際の縮小率を決定する決定ステップと、
前記縮小処理が行われた原画像および参照画像に基づいて前記原画像と前記参照画像との間における動きベクトルを検出する検出ステップと、
を有し、
前記決定ステップにおいて、前記シャッタースピードが遅くなるにつれて画像サイズが大きくなるように前記縮小率を決定することを特徴する画像処理装置の制御方法。
【請求項７】
画像処理装置で用いられる制御プログラムであって、
前記画像処理装置に備えられたコンピュータに、
１つの画像を原画像とし、当該原画像の後で撮影の結果得られた画像を参照画像として、前記原画像および前記参照画像を縮小処理する縮小ステップと、
前記原画像と参照画像の撮影の際のシャッタースピードに応じて前記縮小ステップで縮小処理を行う際の縮小率を決定する決定ステップと、
前記縮小処理が行われた原画像および参照画像に基づいて前記原画像と前記参照画像との間における動きベクトルを検出する検出ステップと、
を実行させるものであって、
前記決定ステップにおいて、前記シャッタースピードが遅くなるにつれて画像サイズが大きくなるように前記縮小率を決定することを特徴する制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法、および制御プログラム、並びに撮像装置に関し、特に、撮像装置の動き（振れ）に起因する画像のぶれを低減する防振処理技術に関する。
【背景技術】
【０００２】
一般に、デジタルスチルカメラ又はデジタルビデオカメラなどの撮像装置の振れに起因する画像のぶれを低減する電子的な防振処理を施すことが行われている。そして、防振処理を施すためには、フレーム間における動き量を検出して複数枚の画像の位置合わせ処理を行う必要がある。
【０００３】
フレーム間における動き量を検出する手法においては、例えば、ジャイロセンサなどの外部機器で得られた振れ情報が用いられる。さらには、撮影の結果得られた画像から動き量を推定することも行われている。例えば、画像から動き量を推定する手法として、テンプレートマッチングを用いて動きベクトルを検出する手法がある。
【０００４】
テンプレートマッチングにおいては、例えば、２枚の画像の一方を原画像とし、他方の画像を参照画像とする。原画像に配置した所定の大きさの矩形領域をテンプレートブロックとして、参照画像においてテンプレートブロックの輝度値分布との相関を求める。そして、参照画像において最も相関値が高くなる領域をテンプレートブロックの移動先とし、原画像におけるテンプレートブロックの位置を基準とした場合の移動先に対する向きおよび移動量を動きベクトルとする。
【０００５】
次に、上述のようにして求めた複数の動きベクトルを用いて統計的な処理などを行って、画像間の動きを幾何変形量として求める。この際、画像全域から多数の動きベクトルを精度よく求めることができれば、正確に画像間の幾何変形量を求めることができる。
【０００６】
ところが、処理時間およびリソースを抑制しようとすると高精度で多数の動きベクトルを得ることは困難である。
【０００７】
一方、画像が不明瞭（つまり、不鮮明）であると、画像間の相関を求めることが困難となって動きベクトル精度が低下してしまう。なお、ここでは、不鮮明な画像とは、エッジなどの高周波成分が減衰した画像をいう。
【０００８】
例えば、夜間など暗い場所で撮影する場合には、撮像センサに入射する光量を多くするため、シャッタースピードを遅くして撮影することがある。このような場合には、撮影の結果得られた画像に動きぶれが生じて不鮮明な画像となってしまう。これによって、動きベクトルの精度が低下する。よって、シャッタースピードを遅くしても、動きベクトルの精度を保証できるように撮影の制御を行う必要がある。
【０００９】
動きベクトルの精度を保証するため、例えば、動きベクトルの精度に応じて動きベクトルを検出する際に用いるパラメータを変更する手法がある。例えば、動きベクトルの誤検出が画像にどのような影響を与えるかを示す影響パラメータを生成して、当該影響パラメータに応じて原画像および参照画像の縮小率を制御するようにしたものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−２５２２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところが、上述の特許文献１に記載の手法では、テンプレートブロックにおける輝度値の分散値および平均値に基づいて画像の縮小率を変更するようにしており、シャッタースピードに応じて画像の縮小率を調整することは行われていない。このため、特許文献１に記載の手法では、シャッタースピードによっては精度よく動きベクトルを検出することができないことがある。
【００１２】
よって、本発明の目的は、シャッタースピードに拘わらず精度よく動きベクトルを検出することのできる画像処理装置、その制御方法、および制御プログラム、並びに撮像装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記の目的を達成するため、本発明による画像処理装置は、１つの画像を原画像とし、当該原画像の後で撮影の結果得られた画像を参照画像として、前記原画像および前記参照画像を縮小処理する縮小手段と、前記原画像と参照画像の撮影の際のシャッタースピードに応じて前記縮小手段によって縮小処理を行う際の縮小率を決定する決定手段と、前記縮小処理が行われた原画像および参照画像に基づいて前記原画像と前記参照画像との間における動きベクトルを検出する検出手段と、を有し、前記決定手段は、前記シャッタースピードが遅くなるにつれて画像サイズが大きくなるように前記縮小率を決定することを特徴する。
【００１４】
本発明による画像処理装置の制御方法は、１つの画像を原画像とし、当該原画像の後で撮影の結果得られた画像を参照画像として、前記原画像および前記参照画像を縮小処理する縮小ステップと、前記原画像と参照画像の撮影の際のシャッタースピードに応じて前記縮小ステップで縮小処理を行う際の縮小率を決定する決定ステップと、前記縮小処理が行われた原画像および参照画像に基づいて前記原画像と前記参照画像との間における動きベクトルを検出する検出ステップと、を有し、前記決定ステップにおいて、前記シャッタースピードが遅くなるにつれて画像サイズが大きくなるように前記縮小率を決定することを特徴する。
【００１５】
本発明による制御プログラムは、画像処理装置で用いられる制御プログラムであって、前記画像処理装置に備えられたコンピュータに、１つの画像を原画像とし、当該原画像の後で撮影の結果得られた画像を参照画像として、前記原画像および前記参照画像を縮小処理する縮小ステップと、前記原画像と参照画像の撮影の際のシャッタースピードに応じて前記縮小ステップで縮小処理を行う際の縮小率を決定する決定ステップと、前記縮小処理が行われた原画像および参照画像に基づいて前記原画像と前記参照画像との間における動きベクトルを検出する検出ステップと、を実行させるものであって、前記決定ステップにおいて、前記シャッタースピードが遅くなるにつれて画像サイズが大きくなるように前記縮小率を決定することを特徴する。
【発明の効果】
【００１６】
本発明によれば、シャッタースピードに応じて動きベクトルの検出に用いられる画像の縮小率を決定するようにしたので、シャッタースピードに拘わらず精度よく動きベクトルを検出して、画像におけるぶれを良好に補正することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態による画像処理装置を備える撮像装置の一例についてその構成を示すブロック図である。
【図２】図１に示すカメラで行われる撮影処理の一例を説明するためのフローチャートである。
【図３】画像の縮小率と動きベクトルの検出数との関係についてその一例を示す図である。
【図４】画像の縮小率と動きベクトルの精度との関係についてその一例を示す図である。
【図５】図３および図４に基づいた縮小率と残動きベクトル数およびベクトル精度との関係を示す図である。
【図６】シャッタースピードと縮小率との関係の一例を説明するための図であり、（ａ）は第１の例を示す図、（ｂ）は第２の例を示す図である。
【図７】撮影シーンの一例を説明するための図であり、（ａ）はシャッタースピードが速い場合の画像を示す図、（ｂ）はシャッタースピードが遅い場合の画像を示す図である。
【図８】シャッタースピードと縮小率との関係の他の例を説明するための図である。
【図９】図１に示す動きベクトル検出回路で行われるテンプレートマッチングを説明するための図であり、（ａ）は原画像の一例を示す図、（ｂ）は参照画像の一例を示す図である。
【図１０】本発明の第２の実施形態によるカメラの一例についてその構成を示すブロック図である。
【図１１】図１０に示すカメラで行われる撮影処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１８】
以下に、本発明の実施の形態による画像処理装置の一例について図面を参照して説明する。
【００１９】
［第１の実施形態］
図１は、本発明の第１の実施形態による画像処理装置を備える撮像装置の一例についてその構成を示すブロック図である。
【００２０】
図示の撮像装置は、例えば、デジタルカメラ（以下単にカメラと呼ぶ）であり、撮像光学系（以下単に光学系と呼ぶ）を有している。撮像素子１０２には光学系１０１を介して被写体像（光学像）が結像する。撮像素子１０２は、ＣＣＤセンサ又はＣＭＯＳセンサであり、光電変換によって光学像に応じた電気信号（アナログ信号）を出力する。
【００２１】
カメラ信号処理回路１０３は撮像素子１０２の出力であるアナログ信号に応じた画像信号（カメラ信号ともいう）を生成する。カメラ信号処理回路１０３は、例えば、Ａ／Ｄ変換回路、オートゲイン制御回路（ＡＧＣ）、およびオートホワイトバランス回路（ＡＷＢ）を有しており、アナログ信号に対して所定の画像処理を行ってデジタル信号であるカメラ信号を出力する。
【００２２】
カメラ信号処理回路１０３の出力であるカメラ信号は一旦メモリ１０４に記録される。メモリ１０４はカメラ信号の１フレーム又は複数のフレームを記録するためのメモリである。なお、以下の説明では、１フレームの画像をフレーム画像と呼ぶ。また、図示の例では撮像素子１０２およびカメラ信号処理回路１０３によって、画像を取得するための撮像系が構成される。
【００２３】
縮小率決定回路１０６は、マイコン１１２の制御下で、撮影の際のシャッタースピードに応じてフレーム画像を縮小する際の縮小率を決定する。画像縮小回路１０７および１０８の各々は、縮小率決定回路１０６で決定された縮小率に基づいてメモリ１０４に記録されたフレーム画像に対して縮小処理を施す。
【００２４】
動きベクトル検出回路１０９は、画像縮小回路１０７および１０８の出力である縮小後の２枚のフレーム画像間における動きベクトルを検出する。幾何変形パラメータ推定回路１１０は、動きベクトル検出回路１０９で得られた動きベクトルを用いて、フレーム画像間のぶれの補正量を幾何変形パラメータとして出力する。幾何変形回路１１１は幾何変形パラメータに基づいてフレーム画像のぶれを補正するための幾何変形処理を行う。なお、マイコン１１２はカメラ全体の制御を司る。
【００２５】
図２は、図１に示すカメラで行われる撮影処理の一例を説明するためのフローチャートである。なお、図示のフローチャートに係る処理は、マイコン１１２の制御下で行われる。
【００２６】
撮影が開始されると、マイコン１１２の制御下で、カメラ信号処理回路１０３は撮像素子１０２の出力であるアナログ信号に対して処理の画像処理を行って、カメラ信号を生成する（画像入力：ステップＳ２０１）。ここでは、カメラ信号処理回路１０３は、例えば、１２ビットのデジタル信号をカメラ信号として出力する。この際、カメラ信号処理回路１０３はＡＧＣおよびＡＷＢによって信号レベル補正および白レベル補正を行って、カメラ信号（つまり、フレーム画像）をメモリ１０４に記録する。
【００２７】
図示のカメラにおいては、所定のフレームレートで順次フレーム画像を生成して、メモリ１０４にフレーム画像を記録する。そして、メモリ１０４に記録された等倍サイズのフレーム画像は画像縮小回路１０７および１０８に入力される。なお、メモリ１０４に記録されたフレーム画像は順次更新される。
【００２８】
続いて、縮小率決定回路１０６は、マイコン１１２の制御下で、後述するようにして、フレーム画像の縮小率を決定して、当該縮小率を画像縮小回路１０７および１０８に設定する（ステップＳ２０２）。
【００２９】
図３は、画像の縮小率と動きベクトルの検出数との関係についてその一例を示す図である。
【００３０】
図３において、横軸は縮小率を示し、縮小率が大きくなる程、縮小後の画像サイズは大きく、縮小率が小さくなる程、縮小後の画像サイズは小さくなる。そして、縮小率＝１においては、画像の縮小は行われない。また、縦軸は検出された動きベクトルにおいて信頼度が高いと判定された動きベクトルの数（残動きベクトル数）を示す。
【００３１】
ここで、動きベクトルの信頼度は、例えば、どのようなテクスチャを有する領域から検出された動きベクトルであるかに応じて決定される。つまり、低コントラストの領域および繰り返しパターンを含む領域は、テンプレートマッチングによる動きベクトルの検出が難しい領域であるので、当該領域においては精度よく動きベクトルが検出される可能性は低い。
【００３２】
テクスチャ判定を行うためには、テンプレートにおける画素の輝度値についてその平均値および分散値を求めて、平均値および分散値に応じて当該領域が低コントラスト領域又は繰り返しパターン領域であるか否かを判定する。そして、低コントラスト領域又は繰り返しパターン領域であると判定されると、その領域で検出された動きベクトルは信頼度が低いとして除外される。このような判定を全ての動きベクトルについて行って、最終的に残った信頼度の高い動きベクトルの数が残動きベクトル数とされる。
【００３３】
図３に示すように、縮小率が１に近い程、つまり、動きベクトルの検出に用いる画像サイズが大きい程、テンプレートとの相関が高い箇所が複数発生する傾向が強くなって、動きベクトルを誤検出することが多くなる。そして、誤検出された動きベクトルは誤差の要因となるので使用することはできない。
【００３４】
さらに、縮小率が１に近い程、テンプレートにおけるテクスチャが乏しくなって、低コントラスト領域と判定される結果、除外される動きベクトルの数が増加する。このため、縮小率が１に近い程、残動きベクトル数は減少する。
【００３５】
一方、縮小率が０に近い程、つまり、動きベクトルの検出に用いる画像サイズが小さい程、テンプレートに画像の広い領域におけるテクスチャが入ることになる。これによって、低コントラストおよび繰り返し判定によって除外される動きベクトルが少なくなって、残動きベクトル数が増加する。
【００３６】
図４は、画像の縮小率と動きベクトルの精度との関係についてその一例を示す図である。
【００３７】
図４において、横軸は縮小率を示し、縦軸は動きベクトルの検出精度を示す。図示のように、縮小率が１に近い程、つまり、動きベクトルの検出に用いる画像サイズが大きい程、画像が明瞭であるため動きベクトルの精度が向上する。一方、縮小率が０に近い程、縮小処理によるローパスフィルタ効果に起因して画像が不鮮明になって、動きベクトルの検出精度が低下する。
【００３８】
よって、画像を縮小処理する際には、縮小率を０に近づけるには限界があり、動きベクトルの検出精度が低下しても検知限以上の精度を保つことができるように、縮小率制限５０１が設定される。なお、検知限とは正確な動きベクトルと同一とみなすことが可能な精度の限界をいう。例えば、検知限とは、ある動きベクトルを用いて画像の幾何変形を行った際に、正確な動きベクトルを用いて幾何変形を行った画像との相違が目視では分からない程度の検出精度のことをいう。
【００３９】
また、幾何変形パラメータを求める際には、並進成分の動きのみではなく、回転成分およびあおり成分の動きを推定する必要がある。このためには、画像全体から多くの動きベクトルを検出する必要がある。よって、ここでは、縮小率が０に近い状態を標準状態とする。
【００４０】
図５は、図３および図４に基づいた縮小率と残動きベクトル数およびベクトル精度との関係を示す図である。
【００４１】
図５に示すように、標準の精度で多数の動きベクトルを検出したい場合（つまり、残動きベクトル数を多くする場合）には縮小率を０に近づけることになる。反対に、少数であっても高精度の動きベクトルを検出したい場合（つまり、残動きベクトル数が少なくともよい場合）には縮小率を１に近づけることになる。つまり、動きベクトルの検出精度に応じて画像サイズが変更される。
【００４２】
図６は、シャッタースピードと縮小率との関係の一例を説明するための図である。そして、図６（ａ）は第１の例を示す図であり、図６（ｂ）は第２の例を示す図である。
【００４３】
図６において、横軸はシャッタースピードを示し、シャッタースピードが遅くなると、カメラの動き（つまり、振れ）によるぶれが大きくなる。縦軸は縮小率を示し、縮小率が大きくなる程、画像サイズが大きくなる。
【００４４】
図６（ａ）に示す例では、シャッタースピードと縮小率との関係は線型的（一次関数的）に変化し、シャッタースピードが遅くなるにつれて縮小率を１に近づける。つまり、シャッタースピードが遅くなるにつれて画像サイズを大きくする。図６（ｂ）に示す例では、シャッタースピードと縮小率との関係は指数関数的に変化し、ここでもシャッタースピードが遅くなるにつれて縮小率を１に近づける。
【００４５】
図６に示す関係を用いる際には、縮小率が１に近い、つまり、動きベクトルの検出に用いる画像のサイズが大きい場合には、明瞭な画像で動きベクトルの検出を行うことになる。このため、検出された動きベクトルの精度は向上する一方、テンプレートとの相関が高い箇所が複数発生する傾向が強くなって、動きベクトルの誤検出が生じ易い。そして、誤った動きベクトルは誤差の要因となるため使用することはできない。
【００４６】
さらに、明瞭な画像で動きベクトルの検出を行うと、テンプレート内のテクスチャが乏しくなって、低コントラスト領域と判定されて除外される動きベクトルが増加する。このため、残動きベクトル数が減少する。
【００４７】
一方、縮小率が０に近い、つまり、動きベクトルの検出に用いる画像のサイズが小さい場合には、不明瞭な画像でベクトル検出を行うことになる。よって、検出される動きベクトルの精度が低下する一方、テンプレート内に画像の広い領域におけるテクスチャが入ることになるので、低コントラストおよび繰り返しパターン判定によって除外されにくくなる。その結果、残動きベクトル数が増加する。
【００４８】
図７は、撮影シーンの一例を説明するための図である。そして、図７（ａ）はシャッタースピードが速い場合の画像を示す図であり、図７（ｂ）はシャッタースピードが遅い場合の画像を示す図である。
【００４９】
ここでは、シャッタースピードに拘わらず、撮影対象物およびカメラの動き（振れ）は同様であるものとする。図７（ｂ）に示す例では、図７（ａ）に示す例に比べてシャッタースピードが遅いため、カメラの動きが同様であったとしても、画像にぶれが生じ易い。
【００５０】
図７（ａ）に示す画像を得た際のシャッタースピードは速いので、画像は明瞭となる。そのため、テンプレートの相関が高い箇所が複数発生する傾向が強くなる。よって、図７（ａ）に示す画像において動きベクトルを検出する際には、縮小率を０に近づける、つまり、動きベクトルの検出に用いる画像サイズを小さくすれば、残動きベクトル数が向上して、良好に防振処理を行うことができる（標準状態）。
【００５１】
一方、図７（ｂ）に示す画像を得た際のシャッタースピードは遅いので、画像はカメラの動き（振れ）によって不明瞭となる。よって、標準状態と同様の縮小率で画像を縮小すると、さらに不明瞭な画像となって、動きベクトルの精度が標準状態で得られる動きベクトルの精度未満となってしまう。従って、図７（ｂ）に示す画像については、縮小率を１に近づけて、つまり、動きベクトルの検出に用いる画像サイズを大きくして、画像が不明瞭になることを抑えた状態で動きベクトルを検出する。これによって、標準状態と同程度の精度で動きベクトルの検出を行えるようにする。
【００５２】
但し、図３に関連して説明したように、画像サイズを大きくすれば、残動きベクトル数は減少するので、前述のように、縮小率をシャッタースピードに応じて変化させる必要がある。
【００５３】
上述のようにして得られた動きベクトルを用いれば、撮影の結果得られた画像に生じるぶれを正確に示す幾何変形パラメータを推定することが可能となって、画像に対して精度よく防振処理を施すことができる。
【００５４】
なお、シャッタースピードは、プログラムＡＥモード、絞り優先ＡＥモード、シャッター優先ＡＥモード、およびマニュアルモードなどのモード毎に異なる。例えば、プログラムＡＥモードおよび絞り優先ＡＥモードの場合には、カメラによって適切なシャッタースピードが設定される。プログラムＡＥモードの場合には、カメラによって被写体の明るさに応じた絞りとともにシャッタースピードが自動的に設定される。また、絞り優先ＡＥモードの場合には、絞りが決定された後、適正露出となるようにシャッタースピードが自動的に設定される。
【００５５】
一方、マニュアルモード又はシャッター優先ＡＥモードの場合には、撮影者によって任意にシャッタースピードが設定される。マニュアルモードにおいては、絞りおよびシャッタースピードともに撮影者が決定するが、シャッター優先ＡＥモードの場合には、シャッタースピードを撮影者が決定した後、カメラによって適正露出になるように絞りが設定される。
【００５６】
シャッタースピードと縮小率との関係は図６に示す例に限定されない。例えば、「１／焦点距離」秒よりも遅いシャッタースピードに設定されると、画像にぶれが生じやすい。
【００５７】
図８は、シャッタースピードと縮小率との関係の他の例を説明するための図である。
【００５８】
図８において、シャッタースピードが「１／焦点距離」秒以下であると、撮影の結果得られた画像にカメラの動きに起因するぶれが生じにくい。よって、この場合には、前述の標準状態の縮小率で画像を縮小して動きベクトルを検出する。一方、シャッタースピードが「１／焦点距離」秒を超えた場合には、縮小率を大きして、つまり、画像サイズを大きくして動きベクトルを検出する。
【００５９】
このようにして、縮小率決定回路１０６は、マイコン１１２の制御下でシャッタースピードに応じて画像の縮小率を決定して、当該縮小率を画像縮小回路１０７および１０８に送る。
【００６０】
再び図２を参照して、画像縮小回路１０７および１０８の各々は、縮小率決定回路１０６で決定された縮小率に応じて画像を縮小する（ステップＳ２０３）。ここでは、ステップＳ２０１においてメモリ１０４に等倍サイズで記憶された複数のフレーム画像から動きベクトルの検出に用いる原画像および参照画像が選択されて、画像縮小回路１０７および１０８に入力される。そして、画像縮小回路１０７および１０８は、縮小率決定回路１０６で決定された画像縮小率に基づいてそれぞれ原画像および参照画像を縮小処理する。
【００６１】
なお、画像縮小の手法については、例えば、縮小率が１／８であれば、８×８の矩形領域における画素値の平均値を算出して、画像を縮小する画素平均法を用いるようにしてもよい。あるいは、中央部に位置する画素値を重み付けする所謂縮小フィルタを用いて、画像を縮小するようにしてもよい。
【００６２】
続いて、動きベクトル検出回路１０９は画像縮小回路１０７および１０８から入力された２枚のフレーム画像（縮小処理済みの画像）において動きベクトルを検出する（ステップＳ２０４）。例えば、動きベクトル検出回路１０９はテンプレートマッチングを用いて動きベクトルを検出する。
【００６３】
図９は、図１に示す動きベクトル検出回路１０９で行われるテンプレートマッチングを説明するための図である。そして、図９（ａ）は原画像の一例を示す図であり、図９（ｂ）は参照画像の一例を示す図である。なお、図９においては、メモリ１０４に記憶された等倍サイズのフレーム画像を縮小処理した画像が示されている。
【００６４】
動きベクトル検出回路１０９は、原画像において任意の位置にテンプレートブロック９０１を配置する。そして、動きベクトル検出回路１０９はテンプレートブロック９０１によって参照画像についてテンプレートマッチングを行って、参照画像の各ブロック領域において相関値を算出する。この際、参照画像の全てのブロック領域について相関値を算出するとその演算量が膨大なものとなる。このため、動きベクトル検出回路１０９は参照画像において相関値を算出する矩形領域をサーチ範囲９０２として設定する。ここでは、サーチ範囲９０２の位置および大きさについては特に制限はないものの、サーチ範囲９０２内にテンプレートブロック９０１の移動先に相当するブロック領域が含まれていないと、正しく動きベクトルを検出することができない。
【００６５】
図示の例では、相関値の算出手法として、差分絶対値和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ、以下ＳＡＤと呼ぶ）手法が用いられる。
【００６６】
相関値Ｓ＿ＳＡＤを求める際には、動きベクトル検出回路１０９は、次の式（１）を用いる。
【００６７】
【数１】
0006548409.tif 000002
【００６８】
式（１）において、ｆ（ｉ，ｊ）はテンプレートブロック９０１の座標（ｉ，ｊ）における輝度値を示し、ｇ（ｉ，ｊ）はサーチ範囲９０２において相関値算出の対象となるブロック領域９０３の輝度値を示す。そして、ＳＡＤ手法においては、テンプレートブロック９０１の輝度値ｆ（ｉ，ｊ）とブロック領域９０３の輝度値ｇ（ｉ，ｊ）との差の絶対値を求めて、その総和を算出することによって相関値Ｓ＿ＳＡＤを得る。
【００６９】
よって、相関値Ｓ＿ＳＡＤが小さい程、テンプレートブロック９０１とブロック領域９０３との輝度値の差分が小さい。つまり、テンプレートブロック９０１とブロック領域９０３とのテクスチャが類似することになる。
【００７０】
なお、ここでは、ＳＡＤ手法によって相関値を求めるようにしたが、例えば、差分二乗和（ＳＳＤ）又は正規化相互相関（ＮＣＣ）などを用いるようにしてもよい。但し、ＳＡＤ以外の手法を用いる際には、相関値が小さい程類似度が高い場合と相関値が大きい程類似度が高い場合とがあるので、相関値と類似度との関係に応じて以降の処理も変更する必要がある。
【００７１】
動きベクトル検出回路１０９はサーチ範囲９０２の全領域についてブロック領域９０３を移動させて、サーチ範囲９０２の全領域についてテンプレートブロック９０１と相関値を算出する。そして、動きベクトル検出回路１０９は相関値が最も小さくなる位置（つまり、ブロック領域）を判定して、原画像上のテンプレートブロックが参照画像においていずれの位置に移動したか、つまり、原画像と参照画像と間の動きベクトルを検出する。
【００７２】
このようにして、動きベクトル検出回路１０９はフレーム画像間の複数の領域について動きベクトルを検出する。つまり、原画像において別の位置にテンプレートブロックを設定して、同様にして、動きベクトルを検出して、動きベクトル群を得る。そして、動きベクトル検出回路１０９は当該動きベクトル群を幾何変形パラメータ推定回路１１０に送る。
【００７３】
続いて、幾何変形パラメータ推定回路１１０は動きベクトル群に応じてフレーム画像間における幾何変形パラメータを推定する（ステップＳ２０５）。ここでは、幾何変形のモデルの一例として、ホモグラフィ行列を画像変形量とした場合について説明する。
【００７４】
いま、１つのフレーム（画像）上のある点ａを式（２）で示し、当該点ａが次のフレームにおいて、式（３）で示す点ａ’に移動したとする。
【００７５】
【数２】
0006548409.tif 000003
【００７６】
なお、式（２）および式（３）において、添え字Ｔは転置行列であること示す。
【００７７】
式（２）で示す点ａと式（３）で示す点ａ’との対応関係は、ホモグラフィ行列Ｈを用いて、式（４）で表される。
【００７８】
【数３】
0006548409.tif 000004
【００７９】
ホモグラフィ行列Ｈは画像間の並進、回転、変倍、せん断、およびあおりによる変形量を示す行列式であって、次の式（５）で表される。
【００８０】
【数４】
0006548409.tif 000005
【００８１】
ホモグラフィ行列Ｈの各要素は、ステップＳ２０４の処理で得られた動きベクトル群、つまり、フレーム画像間における代表点の対応関係に応じて、最小二乗法などの統計的処理を行うことによって算出される。但し、縮小処理が施されたフレーム画像から検出された動きベクトルは、縮小画像における動きベクトルであるので、幾何変形パラメータを推定する際には、動きベクトルを等倍サイズのものに変換する必要がある。
【００８２】
上述のようにして求めたホモグラフィ行列Ｈは、カメラのぶれに起因する画像の変形量を示す。よって、画像のぶれを補正する際には、当該ぶれによる変形を打ち消す画像変形量となるようにホモグラフィ行列Ｈを変換する必要がある。つまり、ホモグラフィ行列Ｈを逆行列Ｈに変換することによって、点ａ’と点ａとの対応関係は、次の式（６）で表される。
【００８３】
【数５】
0006548409.tif 000006
【００８４】
式（６）によって、ぶれが生じた後の点ａ’をぶれが生じる前の点ａと同一の座標に戻すことが可能となる。
【００８５】
図示の例では、フレーム画像間のぶれ量を表すモデルとしてホモグラフィ行列を用いたが、例えば、ヘルマート行列又はアフィン行列などの他のモデルを用いるようにしてもよい。さらには、主被写体を防振対象に設定した場合には、並進のぶれ補正量だけを求めればよく、この場合には、動きベクトル群の平均値を求めればよいので、統計的な推定を行う必要がなく演算量を削減することができる。
【００８６】
次に、マイコン１１２は、上述のようにして求められた幾何変形パラメータを幾何変形回路１１１に与える。幾何変形回路１１１は幾何変形パラメータを用いて、メモリ１０４に記憶されたフレーム画像に幾何変換処理を施して防振処理を行う（ステップＳ２０６）。そして、幾何変形回路１１１は防振処理が施された画像を記憶装置（図示せず）に記憶するとともに、表示装置（図示せず）に表示する。その後、マイコン１１２は撮影処理を終了する。
【００８７】
このように、本発明の第１の実施形態では、シャッタースピードに応じて動きベクトルの検出に用いる画像の縮小率を変更する。これによって、シャッタースピードに拘わらず精度よく動きベクトルを検出して、画像におけるぶれを良好に補正することができる。
【００８８】
［第２の実施形態］
続いて、本発明の第２の実施形態によるカメラの一例について説明する。
【００８９】
図１０は、本発明の第２の実施形態によるカメラの一例についてその構成を示すブロック図である。なお、図１０において、図１に示すカメラと同一の構成要素については同一の参照番号を付して説明を省略する。
【００９０】
図示のカメラは、画像縮小回路１０８の代わりに画像リサイズ回路１００１を備えている。
【００９１】
図１１は、図１０に示すカメラで行われる撮影処理の一例を説明するためのフローチャートである。なお、図示のフローチャートにおいて、図２に示すフローチャートと同一のステップについては同一の参照符号を付して説明を省略する。
【００９２】
撮影が開始されると、マイコン１１２の制御下で、カメラ信号処理回路１０３はメモリ１０４にフレーム画像を記録するとともに、フレーム画像を画像縮小回路１０７に送る（ステップＳ１１０１）。ステップＳ２０２においては、縮小率決定回路１０６は、前述のようにして、画像の縮小率を決定して、当該縮小率を画像縮小回路１０７および画像リサイズ回路１００１に設定する。
【００９３】
続いて、画像縮小回路１０７はカメラ信号処理回路１０３から送られるフレーム画像を、縮小率設定回路１０６によって設定された縮小率に基づいて縮小処理する（ステップＳ１１０３）。そして、画像縮小回路１０７は、縮小処理したフレーム画像をメモリ１０４に記憶する。
【００９４】
画像リサイズ回路１００１は、メモリ１０４に記憶された縮小処理済みのフレーム画像をリサイズ処理する（ステップＳ１１０４）。
【００９５】
ところで、メモリ１０４に記憶された縮小処理済みのフレーム画像は、撮影した時点において縮小率決定回路１０６で決定された縮小率に応じて縮小処理されている。ところが、撮影シーンの時間的変動に応じて縮小率が変更されると、既にメモリ１０４に記憶された縮小処理済みのフレーム画像と縮小率が変更された後に縮小処理が行われたフレーム画像との間で画像サイズに相違が生じる。そして、原画像および参照画像において画像サイズが異なっていると、動きベクトルを検出することができない。よって、原画像および参照画像の双方の画像サイズを合わせるために、画像リサイズ回路１００１は、メモリ１０４に記憶された縮小処理済みの画像をリサイズ処理する。
【００９６】
例えば、あるフレーム画像に対する撮影時点（つまり、入力時点）における縮小率が１／８であったとする。そして、撮影シーンの時間的変動に伴って縮小率が１／４に変更されると、画像リサイズ回路１００１はメモリ１０４に記憶された１／８縮小のフレーム画像を２倍に拡大処理して原画像として動きベクトル検出回路１０９に送る。一方、１／４縮小のフレーム画像は参照画像として画像縮小回路１０７から動きベクトル検出回路１０９に送られるとともに、メモリ１０４に記憶される。
【００９７】
この結果、原画像および参照画像はともに１／４縮小サイズとなるので、動きベクトル検出回路１０９は同一の画像サイズの原画像および参照画像を用いて動きベクトルの検出を行うことが可能となる。
【００９８】
なお、画像リサイズ回路１００１で行われるリサイズ処理の手法はどのような手法であってもよく、例えば、バイリニア又はバイキュービックのような補間処理を用いればよい。
【００９９】
その後、図２で説明したステップＳ２０４〜Ｓ２０７の処理を行った後、マイコン１１２は撮影処理を終了する。
【０１００】
このように、本発明の第２の実施形態では、撮影時点における縮小率でフレーム画像を縮小してメモリ１０４に記憶する。そして、縮小率の変化に応じてメモリ１０４に記憶された縮小処理済みのフレーム画像をリサイズ処理する。前述の第１の実施形態では、等倍サイズのフレーム画像のみをメモリ１０４に記憶しており、このため、縮小率の変動があると画像縮小回路はメモリ１０４から等倍サイズのフレーム画像を読み込んで画像縮小処理を行うことになる。よって、伝送のための帯域が大きくなってしまう。一方、第２の実施形態では、撮影時点における縮小率でフレーム画像を縮小してメモリ１０４に記憶して、縮小率の変化に応じてメモリ１０４に記憶された縮小処理済みのフレーム画像をリサイズ処理する結果、伝送のための帯域を削減することができる。
【０１０１】
上述の説明から明らかなように、図１および図１０に示す例では、画像縮小回路１０７および１０８が縮小手段として機能し、マイコン１１２および縮小率決定回路１０６が決定手段として機能する。また、動きベクトル検出回路１０９、幾何変形パラメータ推定回路１１０、幾何変形回路１１１、および画像リサイズ回路１００１はそれぞれ検出手段、算出手段、補正手段、およびリサイズ手段として機能する。
【０１０２】
また、上記実施の形態では、撮像装置の内部で防振処理を行う例をあげて説明を行ったが、これに限られるものではない。撮像装置が、撮影された画像に対応するシャッタースピードを関連付けて出力し、これらを受け取ったパーソナルコンピュータなどで、画像の縮小と動きベクトルの検出を行うようにしてもよい。つまり、シャッタースピードに応じて複数の画像を縮小し、これらを用いて動きベクトルを検出する機能を有する画像処理装置であればよい。
【０１０３】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０１０４】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を画像処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを画像処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１０５】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０６】
１０２  撮像素子
１０３  カメラ信号処理回路
１０４  メモリ
１０６  縮小率決定回路
１０７，１０８  画像縮小回路
１０９  動きベクトル検出回路
１１０  幾何変形パラメータ推定回路
１１１  幾何変形回路
１１２  マイコン
１００１  画像リサイズ回路
【図１】
0006548409.tif 000007
【図２】
0006548409.tif 000008
【図３】
0006548409.tif 000009
【図４】
0006548409.tif 000010
【図５】
0006548409.tif 000011
【図６】
0006548409.tif 000012
【図７】
0006548409.tif 000013
【図８】
0006548409.tif 000014
【図９】
0006548409.tif 000015
【図１０】
0006548409.tif 000016
【図１１】
0006548409.tif 000017