(57)【要約】【課題】演算負荷が小さく短時間に移動ベクトルを高精度に算出することができる移動ベクトル算出装置を提供する。【解決手段】Ｎフレーム目の第１画像から切り出した基準画像とＮ＋１フレーム目の第２画像から切り出した比較画像との相関性を求める演算処理を該比較画像を前記第２画像からｎ画素単位にずらしながら切り出して繰り返し、ずらした位置毎に求めた相関性の値の中から最高値Ｖ２を示す比較画像を切り出した第１位置ｘ２と第１位置ｘ２に対してずらし方向で前，後に夫々ｎ画素づつずらした第２位置ｘ１，第３位置ｘ３を求め位置ｘ１，ｘ２，ｘ３及び夫々の相関性の値Ｖ１，Ｖ２，Ｖ３からずらし位置毎の最高値Ｖ２より更に高い相関性の最高値Ｖ０を示す位置ｘ０を算出し位置ｘ０と基準画像の切り出し位置との差を移動ベクトルとする。【選択図】図４
2007267240.tif 000002
【特許請求の範囲】
【請求項１】
演算処理装置が実行する移動ベクトル算出プログラムであって、
Ｎフレーム目の第１画像から切り出した基準画像とＮ＋１フレーム目の第２画像から切り出した比較画像との相関性を求める演算処理を、該比較画像を前記第２画像からｎ画素単位にずらしながら切り出して繰り返す第１ステップと、
前記ずらした位置毎に求めた相関性の値の中から最高値を示す比較画像を切り出した第１位置と、該第１位置に対して前記ずらし方向で前，後に夫々前記ｎ画素づつずらした第２位置，第３位置とを求める第２ステップと、
前記第１位置，第２位置，第３位置及び夫々の位置の相関性の値から、前記ずらし位置毎の前記最高値より更に高い相関性の最高値を示す位置を算出する第３ステップと、
該第３ステップで求めた位置と前記基準画像の切り出し位置との差を移動ベクトルとする第４ステップと、
を備えることを特徴とする移動ベクトル算出プログラム。
【請求項２】
前記第３ステップで算出する最高値を、前記第１位置，第２位置，第３位置の夫々の相関性の値を直線補間して算出することを特徴とする請求項１に記載の移動ベクトル算出プログラム。
【請求項３】
前記第３ステップで算出する最高値を、前記第１位置，第２位置，第３位置の夫々の相関性の値を二次関数で近似し算出することを特徴とする請求項１に記載の移動ベクトル算出プログラム。
【請求項４】
Ｎフレーム目の第１画像から切り出した基準画像とＮ＋１フレーム目の第２画像から切り出した比較画像との相関性を求める演算処理を該比較画像を前記第２画像からｎ画素単位にずらしながら切り出して繰り返す手段と、
前記ずらした位置毎に求めた相関性の値の中から最高値を示す比較画像を切り出した第１位置と該第１位置に対して前記ずらし方向で前，後に夫々前記ｎ画素づつずらした第２位置，第３位置とを求め該第１位置，第２位置，第３位置及び夫々の位置の相関性の値から前記ずらし位置毎の前記最高値より更に高い相関性の最高値を示す位置を算出し該位置と前記基準画像の切り出し位置との差を移動ベクトルとする手段とを備えることを特徴とする移動ベクトル算出装置。
【請求項５】
前記第１位置，第２位置，第３位置の夫々の相関性の値を直線補間して前記ずらし位置毎の最高値より更に高い前記最高値が得られる位置を算出することを特徴とする請求項４に記載の移動ベクトル算出装置。
【請求項６】
前記第１位置，第２位置，第３位置の夫々の相関性の値を二次関数で近似して前記ずらし位置毎の最高値より更に高い前記最高値が得られる位置を算出することを特徴とする請求項４に記載の移動ベクトル算出装置。
【請求項７】
撮像素子と、該撮像素子から出力される画像データを画像処理する画像処理部と、前記画像データに対し前記移動ベクトルの算出処理を行い算出された移動ベクトルを前記画像処理部に出力する請求項４乃至請求項６のいずれかに記載の移動ベクトル算出装置とを搭載したことを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルカメラ等の撮像装置等に係り、特に、動体画像の移動や画面の振れを移動ベクトルとして算出する移動ベクトル算出プログラム及び算出装置並びに撮像装置に関する。
【背景技術】
【０００２】
例えば、動画撮影機能を有するデジタルスチルカメラやデジタルビデオカメラ等を手に持ち動画を撮影する場合、カメラを持つ手が振れると、あるフレームの画像中に映っている静止物画像の位置が次フレームの画面では移動してしまい、見づらい動画になってしまう。そこで、あるフレームの画像に対して次フレームの画像の移動ベクトルを検出し、画像が揺れない様に電子的に手ぶれ補正を行うことが行われている。
【０００３】
また、動画像データを記録メディアに格納する場合、格納容量を小さくするためにＭＰＥＧ形式等でデータ圧縮することが行われる。この場合にも、画像中の動体画像の移動ベクトルを検出し、動体画像の移動ベクトルに基づいて画像データの圧縮処理が行われる。
【０００４】
電子的手振れ補正を行うときに必要となる移動ベクトルも、動体画像の移動ベクトルも、その検出原理は同じである。以下、電子的手振れ補正の場合の移動ベクトルを例に説明する。
【０００５】
図６は、移動ベクトルを検出する原理を示す説明図である。図６（ａ）に示すＮフレーム目の画像１中の所定アドレスで示されるブロック２内の画像を基準画像とすると、図６（ｂ）に示す（Ｎ＋１）フレーム目の画像３中の同一所定アドレスで示されるブロック４によって切り出された画像が基準画像と同一であれば、画像１に対して画像３は振れていないことになる。
【０００６】
しかし、手振れが発生していれば、ブロック２内の基準画像とブロック４で切り出された画像は一致しない。そこで、画像３中のブロック４を、４ａ，４ｂ，４ｃ，…と、Ｘ方向（水平方向），Ｙ方向（垂直方向）に１画素づつずらしながら、各ブロック４ａ，４ｂ，４ｃ，…内の夫々の画像を基準画像と比較し、基準画像と最も相関性が高い比較画像を切り出したブロック位置を求める。
【０００７】
基準画像と比較画像の相関性を求める演算は、基準画像と比較画像の１画素１画素を比較し、各差分の絶対値を求め、この絶対値のブロック内総画素の総和（積算値）を求めることで行う。この積算値（総和）が相関性を示し、積算値が最も小さいとき即ち不一致量が最も小さいとき、相関性が最も高いことになる。
【０００８】
図６（ｂ）に示す例で、ブロック２の基準画像に対し最も相関性が高い比較画像がブロック４ｃで切り出されたとすると、画像１に対する画像３の位置の差は「Ｋ」となる。このＫが電子的手振れ補正用の移動ベクトルであり、画像１を表示した次に、画像３を移動ベクトルＫだけ同方向に移動させて表示すれば、手振れの無い画像を表示することができる。
【０００９】
上述した様に、相関性を求める演算は、比較画像切出ブロックを１画素単位にずらしながら行うため、移動ベクトルの分解能は１画素が単位となり、それ以下の分解能では検出できないことになる。
【００１０】
そこで、例えば図７に示す様に、実画素６の間に虚画素７を設け、虚画素７の画素データを周りの実画素６の画素データを補間演算することで求め、この虚画素を含めて相関性の演算を行えば、１画素の１／２の分解能を得ることができる。
【００１１】
尚、従来技術に関連するものとして、下記の特許文献１がある。
【００１２】
【特許文献１】特開平５―４１８６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図７に示す様に、ｙ方向に並ぶ実画素６間を虚画素７で埋めることで、移動ベクトルのｙ方向の分解能を１／２にすることができる。しかし、虚画素７の画素データを求める演算処理が移動ベクトル算出処理に加わるため演算負荷が増大し、短時間で移動ベクトル算出処理を行うには高性能な演算処理装置が必要になる。
【００１４】
デジタルスチルカメラ等の小型の撮像装置で動画処理や電子的手ぶれ補正処理を行う場合、撮像装置に搭載できる演算処理装置の能力には限りがある。このため、演算負荷が小さくて済み短時間に移動ベクトルを高精度に算出できる移動ベクトル算出装置の実現が望まれる。
【００１５】
本発明の目的は、演算負荷が小さく短時間に移動ベクトルを高精度に算出することができる移動ベクトル算出プログラム及び算出装置並びに撮像装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明の移動ベクトル算出プログラムは、演算処理装置が実行する移動ベクトル算出プログラムであって、
Ｎフレーム目の第１画像から切り出した基準画像とＮ＋１フレーム目の第２画像から切り出した比較画像との相関性を求める演算処理を、該比較画像を前記第２画像からｎ画素単位にずらしながら切り出して繰り返す第１ステップと、
前記ずらした位置毎に求めた相関性の値の中から最高値を示す比較画像を切り出した第１位置と、該第１位置に対して前記ずらし方向で前，後に夫々前記ｎ画素づつずらした第２位置，第３位置とを求める第２ステップと、
前記第１位置，第２位置，第３位置及び夫々の位置の相関性の値から、前記ずらし位置毎の前記最高値より更に高い相関性の最高値を示す位置を算出する第３ステップと、
該第３ステップで求めた位置と前記基準画像の切り出し位置との差を移動ベクトルとする第４ステップと、
を備えることを特徴とする。
【００１７】
本発明の移動ベクトル算出プログラムは、前記第３ステップで算出する最高値を、前記第１位置，第２位置，第３位置の夫々の相関性の値を直線補間して算出することを特徴とする。
【００１８】
本発明の移動ベクトル算出プログラムは、前記第３ステップで算出する最高値を、前記第１位置，第２位置，第３位置の夫々の相関性の値を二次関数で近似し算出することを特徴とする。
【００１９】
本発明の移動ベクトル算出装置は、Ｎフレーム目の第１画像から切り出した基準画像とＮ＋１フレーム目の第２画像から切り出した比較画像との相関性を求める演算処理を該比較画像を前記第２画像からｎ画素単位にずらしながら切り出して繰り返す手段と、前記ずらした位置毎に求めた相関性の値の中から最高値を示す比較画像を切り出した第１位置と該第１位置に対して前記ずらし方向で前，後に夫々前記ｎ画素づつずらした第２位置，第３位置とを求め該第１位置，第２位置，第３位置及び夫々の位置の相関性の値から前記ずらし位置毎の前記最高値より更に高い相関性の最高値を示す位置を算出し該位置と前記基準画像の切り出し位置との差を移動ベクトルとする手段とを備えることを特徴とする。
【００２０】
本発明の移動ベクトル算出装置は、前記第１位置，第２位置，第３位置の夫々の相関性の値を直線補間して前記ずらし位置毎の最高値より更に高い前記最高値が得られる位置を算出することを特徴とする。
【００２１】
本発明の移動ベクトル算出装置は、前記第１位置，第２位置，第３位置の夫々の相関性の値を二次関数で近似して前記ずらし位置毎の最高値より更に高い前記最高値が得られる位置を算出することを特徴とする。
【００２２】
本発明の撮像装置は、撮像素子と、該撮像素子から出力される画像データを画像処理する画像処理部と、前記画像データに対し前記移動ベクトルの算出処理を行い算出された移動ベクトルを前記画像処理部に出力する上記のいずれかに記載の移動ベクトル算出装置とを搭載したことを特徴とする。
【発明の効果】
【００２３】
本発明によれば、相関性の演算処理を行うときの比較画像の切り出し位置のずらし量（ｎ画素単位）より小さな分解能で移動ベクトルが算出できるため、演算負荷を軽減するために縮小画像を用いて相関性の演算を行っても分解能の高い移動ベクトルを高速に算出することが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の一実施形態について、図面を参照して説明する。
【００２５】
図１は、本発明の一実施形態に係る撮像装置、例えば動画撮影機能付デジタルスチルカメラの要部構成図である。この撮像装置は、撮像部本体１０と、電子的手振れ補正部２０とでなる。
【００２６】
撮像部本体１０は、被写体画像を撮像する固体撮像素子１１と、固体撮像素子１１から出力される画像データを格納するフレームメモリ１２と、フレームメモリ１２から読み出された所要範囲の画像データに対してホワイトバランス補正処理やガンマ補正処理，ＲＧＢ／ＹＣ変換処理等の各種信号処理を施す画像処理部１３と、信号処理後の画像データたとえばＪＰＥＧ圧縮された画像データやＭＰＥＧ圧縮された画像データを記録メディアに格納したりモニタ表示する画像出力部１４とを備えてなる。
【００２７】
電子的手振れ補正部２０は、フレームメモリ１２の格納画像データを取り込み間引き処理する前処理部２１と、前処理部２１で間引き処理され生成された縮小画像データを保存する２つのメモリ２２，２３と、２つのメモリ２２，２３の一方を前処理部２１に切替接続するスイッチ２４とを備える。
【００２８】
この電子的手振れ補正部２０は更に、基準画像切出回路２６と、比較画像切出回路２７と、基準画像切出回路２６及び比較画像切出回路２７とメモリ２２，２３との間に設けられメモリ２２，２３の一方を基準画像切出回路２６に接続したときメモリ２２，２３の他方を比較画像切出回路２７に接続する接続切替回路２８と、両切出回路２６，２７の出力画像データを比較して相関性の演算処理等を行い手振れ補正の移動ベクトルを求め画像処理部１３に出力する比較演算処理部２９とを備える。
【００２９】
斯かる撮像装置では、Ｎフレーム目の画像データ，Ｎ＋１フレーム目の画像データ，Ｎ＋２フレーム目の画像データ，……が次々と入力してくる。前処理部２１は、各フレームの画像データを次々と間引き処理して縮小画像データを生成して出力し、スイッチ２４はフレーム切替信号によって切り替え制御される。
【００３０】
これにより、Ｎフレーム目の縮小画像データがメモリ２２に格納され、Ｎ＋１フレーム目の縮小画像データがメモリ２３に格納されると、メモリ２２の格納画像データ（今回の基準画像データ）に対するメモリ２３の格納画像データ（今回の比較画像データ）の移動ベクトルが後述する様にして算出される。
【００３１】
次にＮ＋２フレーム目の縮小画像データがメモリ２２に上書きされると、メモリ２３の格納画像データ（Ｎ＋１フレーム目の縮小画像データ：次回の基準画像データ）に対するメモリ２２の格納画像データ（次回の比較画像データ）の移動ベクトルが後述する様にして算出され、以後、同様の処理が繰り返される。
【００３２】
接続切換回路２８は、フレーム切替信号により、基準画像とする方の縮小画像データを格納したメモリ２２，２３の一方を選択して基準画像切出回路２６に接続し、メモリ２２，２３の他方を比較画像切出回路２７に接続する。
【００３３】
基準画像切出回路２６は、基準画像側とするＮフレームの縮小画像データの中からブロック２（図６参照）によって基準画像を切り出し、比較演算処理部２９に出力する。同様に、比較画像切出回路２７は、比較画像側とするＮ＋１フレームの縮小画像データの中からブロック２と同一大きさの比較画像切出ブロックによって比較画像を切り出し、比較演算処理部２９に出力する。
【００３４】
比較演算処理部２９は、切出回路２６，２７から取り込んだ両縮小画像を１画素単位に比較して各画素毎の差分（輝度の差分，色差の差分，原色系フィルタの場合はＲＧＢ色毎の差分，補色系フィルタの場合は補色毎の差分等）を求め、各差分の絶対値のブロック内総画素の積算値（この値が大きいほど、不一致量が大きいことを意味する。）を算出し、自身内の内部メモリ（図示せず）に保存しておく。
【００３５】
積算値が算出された後、比較演算処理部２９は比較画像切出回路２７に移動指令を出力する。これにより、比較画像切出ブロックが縮小画像上を１画素単位で次位置に移動し、次の比較画像が切り出され、比較演算処理部２９はこの比較画像と基準画像との比較演算を行い、各画素の差分の上記積算値を同様にして求める。
【００３６】
以下同様にして、次々と比較画像が切り出され、各比較画像毎の積算値が算出される。そして、各積算値のうちの最小値を示す積算値と、該最小値を示す比較画像を切り出したブロック位置から１画素ずれた位置の比較画像の各積算値を用い、詳細は後述する様にして移動ベクトルを算出し、画像処理部１３に出力する。
【００３７】
画像処理部１３は、Ｎフレームメモリ１２から切り出した所要範囲（出力する範囲）の画像データを信号処理して出力した後、次に出力する所要範囲の画像データをＮ＋１フレームメモリ１３から切り出し信号処理するが、このとき、移動ベクトルと同方向にずらした位置から所要範囲の画像データをＮ＋１フレームメモリ１３から切り出すことで、手振れ補正された画像を出力することが可能となる。出力画像をモニタ表示する場合、手振れの無い画像が表示されることになる。
【００３８】
上述した様に、本実施形態の比較演算処理部２９は、縮小画像データを用いて相関性の演算処理を行っている。元画像データを用いずに縮小画像データを用いているため、それだけ演算負荷が小さく演算時間も短時間で済む。
【００３９】
しかし、例えば縮小画像データが元画像データに対して１／８に間引き処理された画像データであれば、この縮小画像データを用いて算出された移動ベクトルの分解能は縮小画像データ上での１画素となり、これは、元画像データ上では８画素となる。
【００４０】
そこで、本実施形態の移動ベクトル算出装置を内蔵する比較演算処理部２９は、基準画像と各比較画像とを比較演算処理することで得られた各積算値に基づき、次のいずれかの演算処理を行うプログラムを実行し、縮小画像上の１画素より小さい分解能を持つ移動ベクトルを算出する。
【００４１】
（第１実施例）
図２は、比較画像を切り出すブロックを縮小画像上でｘ方向（水平方向）に１画素づつずらしたときに得られる上記積算値の最小値とその前後の積算値を示すグラフである。位置ｘ１での積算値をＶ１，位置ｘ２での積算値をＶ２，位置ｘ３での積算値をＶ３としている。図示する例では、ずらし位置ｘ２での積算値Ｖ２が３点の中で最小値を示している。
【００４２】
しかし、位置ｘ２での積算値Ｖ２が真の最小値であるか否かは不明であり、位置ｘ１とｘ２との間またはｘ２とｘ３との間のどこかに真の最小値が存在するかも知れない。以下、真の最小値を「Ｖ０」とし、その位置を「ｘ０」とする。
【００４３】
図２は、Ｖ１＜Ｖ３となっている。この場合には、Ｖ３とＶ２を結ぶ線を延長し、積算値＝０となる軸との交点がｘ０であると判断できる。即ち、比例計算により、
ｘ０＝｛Ｖ３・ｘ２−Ｖ２・ｘ３｝／（Ｖ３−Ｖ２）
として算出できる。
【００４４】
Ｖ１＞Ｖ３となった場合には、同様の計算により、Ｖ１とＶ２を結ぶ線を延長することで、ｘ２とｘ３の間のｘ０を算出できる。
【００４５】
以上は、ｘ方向の真のずらし位置ｘ０を判断する方法であり、同様にｙ方向（垂直方向）についても判断し、両者を合成した位置が真の座標位置となる（以下、同様）。
【００４６】
（第２実施例）
図３に示す例では、最小値を示すＶ２の前後の積算値Ｖ１，Ｖ３がＶ１＝Ｖ３の関係にある。この場合には、Ｖ０＝Ｖ２すなわちＶ２が真の積算値であり、その位置ｘ２が真の積算値を与えるずらし位置ｘ０であると判断できる。
【００４７】
（第３実施例）
図４は、真の最小値の前後における積算値変化の割合が同じなるという前提で位置ｘ０を算出する例である。
【００４８】
図示する例では、Ｖ１＜Ｖ３であるため、Ｖ２とＶ３を結ぶ線の延長上に真の最小値が存在すると判断できる。第１実施例では、この直線ｆ１を積算値＝０の軸まで延長した交点をｘ０としたが、本実施例では、この直線ｆ１の傾きθ１を（−１）倍した直線ｆ２をＶ１上に引き、両直線ｆ１，ｆ２の交点をＶ０としている。
【００４９】
即ち、
ｘ０＝｛（ｘ１＋ｘ２）／２｝＋｛（Ｖ１−Ｖ２）／（Ｖ３−Ｖ２）｝・（ｘ３−ｘ２）
として算出できる。
【００５０】
Ｖ１＞Ｖ３となった場合には、同様の計算により、ｘ２とｘ３の間のｘ０を計算できる。
【００５１】
（第４実施例）
以上は、直線ｆ１，ｆ２を用いてｘ０を算出したが、直線ではなく、図５に示す様に、二次関数ｆ（ｘ）を用い、真の最小値Ｖ０を与える位置ｘ０を算出することも可能である。
【００５２】
Ｖ１，Ｖ２，Ｖ３の３点を結ぶ二次曲線ｆ（ｘ）は、次の数１によって与えることができる。
【００５３】
【数１】
2007267240.tif 000003
【００５４】
そして、位置ｘ０は、次の数２によって算出できる。
【００５５】
【数２】
2007267240.tif 000004
【００５６】
以上述べた各実施例のいずれかにより、縮小画像上の１画素より小さい分解能で真の最小値Ｖ０を与えるずらし位置（ｘ０，ｙ０）を算出でき、この位置（ｘ０，ｙ０）と、基準画像の位置との位置差から、高分解能の移動ベクトルを算出することが可能となる。
【００５７】
この移動ベクトルを用いて手振れ補正を行えば、例えば１／８に縮小した画像で移動ベクトル算出のための相関性演算を行っても、画像処理部１３がフレームメモリ１２から切り出す出力画像範囲が８画素単位に移動することがなくなり、見易い画像となる。
【００５８】
尚、以上述べた実施形態は電子的手振れ補正の例であるが、上記と同様にして画面中の動体画像の移動ベクトルを縮小画像を用いて高精度に算出することができることはいうまでもない。
【産業上の利用可能性】
【００５９】
本発明の移動ベクトル算出処理によれば、１画素以下の分解能で移動ベクトルを算出できるため、縮小画像を用いた相関性の演算処理を行うことが可能となり、演算負荷の軽減，演算時間の短縮化を図れると共に精度の高い移動ベクトルを算出することができる。このため、大型で高性能の演算処理装置を搭載することができない撮像装置でも高速且つ高精度に移動ベクトルの算出が可能となり、デジタルカメラ等に適用すると有用である。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施形態に係る電子的手振れ補正機能付デジタルスチルカメラの要部構成図である。
【図２】本発明の第１実施例に係る移動ベクトル算出処理の説明図である。
【図３】本発明の第２実施例に係る移動ベクトル算出処理の説明図である。
【図４】本発明の第３実施例に係る移動ベクトル算出処理の説明図である。
【図５】本発明の第４実施例に係る移動ベクトル算出処理の説明図である。
【図６】移動ベクトルを算出する原理説明図である。
【図７】移動ベクトルの分解能を向上させるために設けた虚画素の説明図である。
【符号の説明】
【００６１】
１０  撮像部本体
１１  撮像素子
１２  フレームメモリ
１３  画像処理部
１４  画像出力部
２０  電子的手振れ補正部
２１  前処理部
２２，２３  移動ベクトル算出用画像の格納メモリ
２６  基準画像切出回路
２７  比較画像切出回路
２８  接続切換回路
２９  比較演算処理部
【図１】
2007267240.tif 000005
【図２】
2007267240.tif 000006
【図３】
2007267240.tif 000007
【図４】
2007267240.tif 000008
【図５】
2007267240.tif 000009
【図６】
2007267240.tif 000010
【図７】
2007267240.tif 000011