(57)【要約】【課題】移動ベクトルの算出解像度を、切出ブロックのずらし画素数より高めると共に演算処理の高速化を図る。【解決手段】第１画面画像から基準画像を切り出し、切出ブロックを所定複数画素数ｎづつずらしながら第２画面画像から比較画像を切り出し、各比較画像と基準画像との相関性を演算し第２画面画像の第１画面画像に対する移動ベクトルを求めるとき、第２画面画像を画素数ｎより少ない画素数ｍ（＜ｎ）づつずらした複数の第２画像（以下、第２―１画像，第２―２画像，…という。）を作成してメモリに格納し、比較画像を切り出すとき、第２―１画像，第２―２画像，…の各画像から複数の比較画像を切り出し、各比較画像と基準画像との相関性を求める演算を並列処理する。【選択図】図１
2007195143.tif 000002
【特許請求の範囲】
【請求項１】
第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出方法において、前記比較画像を切り出す前記第２画像を前記所定画素数ｎより少ない所定画素数ｍ（＜ｎ）づつずらした複数の第２画像（以下、第２―１画像，第２―２画像，…という。）を作成してメモリに格納し、前記比較画像を前記比較画像切出ブロックで切り出すとき、同一比較画像切出ブロックにより前記第２―１画像，第２―２画像，…の各画像から複数の比較画像を切り出し、各比較画像と前記基準画像との相関性を求める演算を並列処理することを特徴とする２画面間の移動ベクトル算出方法。
【請求項２】
第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出方法において、前記第１画像，第２画像を夫々同一複数領域の部分画像（以下、第１ａ画像，第１ｂ画像，…、第２ａ画像，第２ｂ画像，…という。）に分割すると共に、前記第２画像をメモリに格納するとき第２ａ画像，第２ｂ画像，…を夫々前記所定画素数ｎより少ない異なる画素数づつずらしてメモリに格納し、前記第２ａ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ａ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、前記第２ｂ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ｂ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、以下同様にして前記複数領域数と同数の部分画像の移動ベクトルを求め、該複数領域数の移動ベクトルから前記第２画像の前記第１画像に対する画面間の移動ベクトルを求めることを特徴とする２画面間の移動ベクトル算出方法。
【請求項３】
前記第１画像の部分画像である第１ａ画像，第１ｂ画像，…も夫々前記所定画素数ｎより少ない異なる画素数づつずらしてメモリに格納し、各部分画像から基準画像を切り出すことを特徴とする請求項２に記載の２画面間の移動ベクトル算出方法。
【請求項４】
前記部分画像の移動ベクトルの中から異常値を示す移動ベクトルを除外し、残りの部分画像の移動ベクトルを重み付き平均することで前記画面間の移動ベクトルを求めることを特徴とする請求項２または請求項３に記載の２画面間の移動ベクトル算出方法。
【請求項５】
連続するフレーム画像として前記第１画像，第２画像が順に取り込まれ前記第１画像に対する前記第２画像の移動ベクトルが前記算出方法により算出された後の次フレームとして第３画像が取り込まれたとき、前記第２画像から基準画像を切り出し、前記第３画像から比較画像を切り出して前記算出方法と同一方法により前記第３画像の前記第２画像に対する画面間の移動ベクトルを算出することを特徴とする請求項１乃至請求項４のいずれかに記載の２画面間の移動ベクトル算出方法。
【請求項６】
前記メモリには元画像を縦および／または横に縮小した画像として格納し、該縮小画像上で１画素づつずらして前記比較画像を切り出し、同一縮小倍率で縮小した第１画像から切り出された基準画像と該比較画像とを比較し相関性を求めることを特徴とする請求項１乃至請求項５のいずれかに記載の２画面間の移動ベクトル算出方法。
【請求項７】
前記縮小画像は、縦横共に１／ｎに縮小することを特徴とする請求項６に記載の２画面間の移動ベクトル算出方法。
【請求項８】
第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出装置において、前記比較画像を切り出す前記第２画像を前記所定画素数ｎより少ない所定画素数ｍ（＜ｎ）づつずらした複数の第２画像（以下、第２―１画像，第２―２画像，…という。）を格納するメモリと、前記比較画像を前記比較画像切出ブロックで切り出すとき同一比較画像切出ブロックにより前記第２―１画像，第２―２画像，…の各画像から複数の比較画像を切り出す切出回路と、各比較画像と前記基準画像との相関性を求める演算を並列処理する演算手段とを備えることを特徴とする２画面間の移動ベクトル算出装置。
【請求項９】
第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出装置において、前記第１画像，第２画像を夫々同一複数領域の部分画像（以下、第１ａ画像，第１ｂ画像，…、第２ａ画像，第２ｂ画像，…という。）に分割すると共に前記第２画像をメモリに格納するとき第２ａ画像，第２ｂ画像，…を夫々前記所定画素数ｎより少ない異なる画素数づつずらして格納するメモリと、前記第２ａ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ａ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求めると共に、前記第２ｂ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ｂ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、以下同様にして前記複数領域数と同数の部分画像の移動ベクトルを求める第１演算手段と、該複数領域数の移動ベクトルから前記第２画像の前記第１画像に対する画面間の移動ベクトルを求める第２演算手段とを備えることを特徴とする２画面間の移動ベクトル算出装置。
【請求項１０】
前記第１画像の部分画像である第１ａ画像，第１ｂ画像，…を夫々前記所定画素数ｎより少ない異なる画素数づつずらして格納するメモリを備え、各部分画像から基準画像を切り出すことを特徴とする請求項９に記載の２画面間の移動ベクトル算出装置。
【請求項１１】
前記第２演算手段は、前記部分画像の移動ベクトルの中から異常値を示す移動ベクトルを除外し、残りの部分画像の移動ベクトルを重み付き平均することで前記画面間の移動ベクトルを求めることを特徴とする請求項９または請求項１０に記載の２画面間の移動ベクトル算出装置。
【請求項１２】
連続するフレーム画像として前記第１画像，第２画像が順に取り込まれ前記第１画像に対する前記第２画像の移動ベクトルが算出された後の次フレームとして第３画像が取り込まれたとき、前記第２画像から基準画像を切り出し、前記第３画像から比較画像を切り出す切出回路スイッチ手段を備え、前記第３画像の前記第２画像に対する画面間の移動ベクトルを算出させることを特徴とする請求項８乃至請求項１１のいずれかに記載の２画面間の移動ベクトル算出装置。
【請求項１３】
前記メモリに元画像を縦および／または横に縮小した画像として格納する画素間引手段を備え、該縮小画像上で１画素づつずらして前記比較画像を切り出し、同一縮小倍率で縮小した第１画像から切り出された基準画像と該比較画像とを比較し相関性を求めることを特徴とする請求項８乃至請求項１２のいずれかに記載の２画面間の移動ベクトル算出装置。
【請求項１４】
前記縮小画像は、縦横共に１／ｎに縮小することを特徴とする請求項１３に記載の２画面間の移動ベクトル算出装置。
【請求項１５】
第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める計算処理をコンピュータに行わせる２画面間の移動ベクトル算出プログラムにおいて、前記比較画像を切り出す前記第２画像を前記所定画素数ｎより少ない所定画素数ｍ（＜ｎ）づつずらした複数の第２画像（以下、第２―１画像，第２―２画像，…という。）を作成するステップと、前記比較画像を前記比較画像切出ブロックで切り出すとき同一比較画像切出ブロックにより前記第２―１画像，第２―２画像，…の各画像から複数の比較画像を切り出すステップと、各比較画像と前記基準画像との相関性を求める演算を並列処理するステップとを備えることを特徴とする２画面間の移動ベクトル算出プログラム。
【請求項１６】
第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める計算処理をコンピュータに行わせる２画面間の移動ベクトル算出プログラムにおいて、
前記第１画像を複数領域に分割した部分画像（以下、第１ａ画像，第１ｂ画像，…という。）を生成するステップと、
前記第２画像を前記複数領域と同一複数領域に分割すると共に各分割領域毎に前記所定画素数ｎより少ない異なる画素数づつずらした部分画像（以下、第２ａ画像，第２ｂ画像，…という。）を生成するステップと、
前記第２ａ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ａ画像から切り出された各基準画像との相関性から該部分画像の移動ベクトルを求め、前記第２ｂ画像から前記所定画素数ｎづつずらしながら切り出された各比較画像と前記第１ｂ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、以下同様にして前記複数領域数と同数の部分画像の移動ベクトルを求めるステップと、
該複数領域数の移動ベクトルから前記第２画像の前記第１画像に対する画面間の移動ベクトルを求めるステップ
とを備えることを特徴とする２画面間の移動ベクトル算出プログラム。
【請求項１７】
前記第１画像の部分画像である第１ａ画像，第１ｂ画像，…も夫々前記所定画素数ｎより少ない異なる画素数づつずらした部分画像とし、各部分画像から基準画像を切り出すことを特徴とする請求項１６に記載の２画面間の移動ベクトル算出プログラム。
【請求項１８】
前記部分画像の移動ベクトルの中から異常値を示す移動ベクトルを除外し、残りの部分画像の移動ベクトルを重み付き平均することで前記画面間の移動ベクトルを求めることを特徴とする請求項１６または請求項１７に記載の２画面間の移動ベクトル算出プログラム。
【請求項１９】
連続するフレーム画像として前記第１画像，第２画像が順に取り込まれ前記第１画像に対する前記第２画像の移動ベクトルが算出された後の次フレームとして第３画像が取り込まれたとき、前記第２画像から基準画像を切り出し、前記第３画像から比較画像を切り出して前記第３画像の前記第２画像に対する画面間の移動ベクトルを算出することを特徴とする請求項１５乃至請求項１８のいずれかに記載の２画面間の移動ベクトル算出プログラム。
【請求項２０】
前記基準画像を切り出す元画像と前記比較画像を切り出す元画像とが夫々縦および／または横に縮小された画像であり、縮小された元画像から切り出される前記比較画像が縮小画像上で１画素づつずらしながら切り出され同一縮小倍率で縮小された元画像から切り出された前記基準画像と比較され相関性が演算されることを特徴とする請求項１５乃至請求項１９のいずれかに記載の２画面間の移動ベクトル算出プログラム。
【請求項２１】
前記縮小画像は、縦横共に１／ｎに縮小されることを特徴とする請求項２０に記載の２画面間の移動ベクトル算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手振れ等の移動ベクトル（移動量及び移動方向）を検出する２画面間の移動ベクトル算出方法及びその装置並びに２画面間の移動ベクトル算出プログラムに関する。
【背景技術】
【０００２】
例えば、動画撮影機能を有するデジタルスチルカメラやビデオカメラ等を手に持ち動画を撮影する場合、カメラを持つ手が振れると、あるフレームの画像中に映っている静止物画像の位置が次フレームの画面では移動してしまい、見づらい動画になってしまう。そこで、あるフレームの画像に対して次フレームの画像の移動ベクトルを検出し、画像が揺れない様に手ぶれ補正を行うことが行われている。
【０００３】
図１２は、手振れ補正を行うときの移動ベクトルを検出する原理を示す説明図である。図１２（ａ）に示すＮフレーム目の画像１中の所定アドレスで示されるブロック２内の画像を基準画像とすると、（Ｎ＋１）フレーム目の画像３中の同一所定アドレスで示されるブロック４によって切り出された画像が基準画像と同一であれば、画像１に対して画像３は振れていないことになる。
【０００４】
しかし、手振れが発生していれば、ブロック２内の基準画像とブロック４で切り出された画像は一致しない。そこで、画像３中のブロック４を、４ａ，４ｂ，４ｃ，…と、Ｘ方向（水平方向），Ｙ方向（垂直方向）に１画素づつずらしながら、各ブロック４ａ，４ｂ，４ｃ，…内の夫々の画像を基準画像と比較し、基準画像と最も相関性が高い比較画像を切り出したブロック位置を求める。
【０００５】
図１２（ｂ）に示す例で、ブロック２の基準画像に対し最も相関性の高い比較画像がブロック４ｃで切り出されたとすると、画像１に対する画像３の差は「ｋ」となる。このｋが２画面間の移動ベクトルであり、画像１を表示した次に、画像３を移動ベクトルｋだけ逆方向に移動させて表示すれば、手振れの無い画像を表示することができる。
【０００６】
基準画像と比較画像の相関性を求める演算は、基準画像と比較画像の１画素１画素を比較し各差分のブロック内総画素の総和の最小値を求めることで行うため、演算負荷が高く、演算に要する時間も長くなり、次フレームの表示までに移動ベクトル算出が間に合わなくなってしまう。そこで、ブロック４ａ，４ｂ，４ｃ，…を１画素づつずらすのではなく、例えば８画素づつずらし、演算処理の負荷軽減を図ると共に、演算時間の短縮を図るようにしている。
【０００７】
尚、手振れ補正に関連する従来技術として、下記特許文献１，２等がある。
【０００８】
【特許文献１】特開２００３―３３１２９２号公報
【特許文献２】特開２００４―１４６９９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
２画面間の手振れ等の移動ベクトルを検出するために、基準画像と比較する比較画像の切り出しブロックを画面内で複数画素（例えば８画素）単位でずらせば、演算負荷の軽減と演算時間の短縮を図ることができる。
【００１０】
しかし、上記例の様に、切出ブロックの移動量を８画素単位にするということは、図１３に示すように、移動量の検出最小単位（解像度すなわち分解能）が、Ｘ方向，Ｙ方向ともに８画素単位に量子化されるということを意味し、量子化誤差が発生してしまう。つまり、移動量の解像度を８画素以下にできないため、２画面間の揺れを８画素以下に抑制することができないという問題が生じる。
【００１１】
本発明の目的は、比較画像の切出ブロックのずらし単位を複数画素単位としたとき移動ベクトル（移動量及び移動方向）の解像度を切出ブロックのずらし単位以下にすることができる２画面間の移動ベクトル算出方法及びその装置並びに２画面間の移動ベクトル算出プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の２画面間の移動ベクトル算出方法は、第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出方法において、前記比較画像を切り出す前記第２画像を前記所定画素数ｎより少ない所定画素数ｍ（＜ｎ）づつずらした複数の第２画像（以下、第２―１画像，第２―２画像，…という。）を作成してメモリに格納し、前記比較画像を前記比較画像切出ブロックで切り出すとき、同一比較画像切出ブロックにより前記第２―１画像，第２―２画像，…の各画像から複数の比較画像を切り出し、各比較画像と前記基準画像との相関性を求める演算を並列処理することを特徴とする。
【００１３】
本発明の２画面間の移動ベクトル算出方法は、第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出方法において、前記第１画像，第２画像を夫々同一複数領域の部分画像（以下、第１ａ画像，第１ｂ画像，…、第２ａ画像，第２ｂ画像，…という。）に分割すると共に、前記第２画像をメモリに格納するとき第２ａ画像，第２ｂ画像，…を夫々前記所定画素数ｎより少ない異なる画素数づつずらしてメモリに格納し、前記第２ａ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ａ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、前記第２ｂ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ｂ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、以下同様にして前記複数領域数と同数の部分画像の移動ベクトルを求め、該複数領域数の移動ベクトルから前記第２画像の前記第１画像に対する画面間の移動ベクトルを求めることを特徴とする。
【００１４】
本発明の２画面間の移動ベクトル算出方法は、前記第１画像の部分画像である第１ａ画像，第１ｂ画像，…も夫々前記所定画素数ｎより少ない異なる画素数づつずらしてメモリに格納し、各部分画像から基準画像を切り出すことを特徴とする。
【００１５】
本発明の２画面間の移動ベクトル算出方法は、前記部分画像の移動ベクトルの中から異常値を示す移動ベクトルを除外し、残りの部分画像の移動ベクトルを重み付き平均することで前記画面間の移動ベクトルを求めることを特徴とする。
【００１６】
本発明の２画面間の移動ベクトル算出方法は、連続するフレーム画像として前記第１画像，第２画像が順に取り込まれ前記第１画像に対する前記第２画像の移動ベクトルが前記算出方法により算出された後の次フレームとして第３画像が取り込まれたとき、前記第２画像から基準画像を切り出し、前記第３画像から比較画像を切り出して前記算出方法と同一方法により前記第３画像の前記第２画像に対する画面間の移動ベクトルを算出することを特徴とする。
【００１７】
本発明の２画面間の移動ベクトル算出方法は、前記メモリには元画像を縦および／または横に縮小した画像として格納し、該縮小画像上で１画素づつずらして前記比較画像を切り出し、同一縮小倍率で縮小した第１画像から切り出された基準画像と該比較画像とを比較し相関性を求めることを特徴とする。
【００１８】
本発明の２画面間の移動ベクトル算出方法における前記縮小画像は、縦横共に１／ｎに縮小することを特徴とする。
【００１９】
本発明の２画面間の移動ベクトル算出装置は、第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出装置において、前記比較画像を切り出す前記第２画像を前記所定画素数ｎより少ない所定画素数ｍ（＜ｎ）づつずらした複数の第２画像（以下、第２―１画像，第２―２画像，…という。）を格納するメモリと、前記比較画像を前記比較画像切出ブロックで切り出すとき同一比較画像切出ブロックにより前記第２―１画像，第２―２画像，…の各画像から複数の比較画像を切り出す切出回路と、各比較画像と前記基準画像との相関性を求める演算を並列処理する演算手段とを備えることを特徴とする。
【００２０】
本発明の２画面間の移動ベクトル算出装置は、第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める２画面間の移動ベクトル算出装置において、前記第１画像，第２画像を夫々同一複数領域の部分画像（以下、第１ａ画像，第１ｂ画像，…、第２ａ画像，第２ｂ画像，…という。）に分割すると共に前記第２画像をメモリに格納するとき第２ａ画像，第２ｂ画像，…を夫々前記所定画素数ｎより少ない異なる画素数づつずらして格納するメモリと、前記第２ａ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ａ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求めると共に、前記第２ｂ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ｂ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、以下同様にして前記複数領域数と同数の部分画像の移動ベクトルを求める第１演算手段と、該複数領域数の移動ベクトルから前記第２画像の前記第１画像に対する画面間の移動ベクトルを求める第２演算手段とを備えることを特徴とする。
【００２１】
本発明の２画面間の移動ベクトル算出装置は、前記第１画像の部分画像である第１ａ画像，第１ｂ画像，…を夫々前記所定画素数ｎより少ない異なる画素数づつずらして格納するメモリを備え、各部分画像から基準画像を切り出すことを特徴とする。
【００２２】
本発明の２画面間の移動ベクトル算出装置の前記第２演算手段は、前記部分画像の移動ベクトルの中から異常値を示す移動ベクトルを除外し、残りの部分画像の移動ベクトルを重み付き平均することで前記画面間の移動ベクトルを求めることを特徴とする。
【００２３】
本発明の２画面間の移動ベクトル算出装置は、連続するフレーム画像として前記第１画像，第２画像が順に取り込まれ前記第１画像に対する前記第２画像の移動ベクトルが算出された後の次フレームとして第３画像が取り込まれたとき、前記第２画像から基準画像を切り出し、前記第３画像から比較画像を切り出す切出回路スイッチ手段を備え、前記第３画像の前記第２画像に対する画面間の移動ベクトルを算出させることを特徴とする。
【００２４】
本発明の２画面間の移動ベクトル算出装置は、前記メモリに元画像を縦および／または横に縮小した画像として格納する画素間引手段を備え、該縮小画像上で１画素づつずらして前記比較画像を切り出し、同一縮小倍率で縮小した第１画像から切り出された基準画像と該比較画像とを比較し相関性を求めることを特徴とする。
【００２５】
本発明の２画面間の移動ベクトル算出装置の前記縮小画像は、縦横共に１／ｎに縮小することを特徴とする。
【００２６】
本発明の２画面間の移動ベクトル算出プログラムは、第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める計算処理をコンピュータに行わせる２画面間の移動ベクトル算出プログラムにおいて、前記比較画像を切り出す前記第２画像を前記所定画素数ｎより少ない所定画素数ｍ（＜ｎ）づつずらした複数の第２画像（以下、第２―１画像，第２―２画像，…という。）を作成するステップと、前記比較画像を前記比較画像切出ブロックで切り出すとき同一比較画像切出ブロックにより前記第２―１画像，第２―２画像，…の各画像から複数の比較画像を切り出すステップと、各比較画像と前記基準画像との相関性を求める演算を並列処理するステップとを備えることを特徴とする。
【００２７】
本発明の２画面間の移動ベクトル算出プログラムは、第１画面の全体画像（以下、第１画像という。）から基準画像切出ブロックにより基準画像を切り出し、前記基準画像切出ブロックと同一大きさの比較画像切出ブロックを所定複数画素（以下、画素数ｎとする。）づつずらしながら第２画面の全体画像（以下、第２画像という。）から比較画像を切り出し、前記所定画素数ｎづつずらしながら切り出された各比較画像と前記基準画像との相関性を夫々演算し該相関性が最も高い比較画像を切り出した比較画像切出ブロックの位置と前記基準画像切出ブロックの位置とから前記第２画像の前記第１画像に対する移動ベクトルを求める計算処理をコンピュータに行わせる２画面間の移動ベクトル算出プログラムにおいて、
前記第１画像を複数領域に分割した部分画像（以下、第１ａ画像，第１ｂ画像，…という。）を生成するステップと、
前記第２画像を前記複数領域と同一複数領域に分割すると共に各分割領域毎に前記所定画素数ｎより少ない異なる画素数づつずらした部分画像（以下、第２ａ画像，第２ｂ画像，…という。）を生成するステップと、
前記第２ａ画像から前記所定画素数ｎづつずらしながら切り出された比較画像と前記第１ａ画像から切り出された各基準画像との相関性から該部分画像の移動ベクトルを求め、前記第２ｂ画像から前記所定画素数ｎづつずらしながら切り出された各比較画像と前記第１ｂ画像から切り出された基準画像との相関性から該部分画像の移動ベクトルを求め、以下同様にして前記複数領域数と同数の部分画像の移動ベクトルを求めるステップと、
該複数領域数の移動ベクトルから前記第２画像の前記第１画像に対する画面間の移動ベクトルを求めるステップ
とを備えることを特徴とする。
【００２８】
本発明の２画面間の移動ベクトル算出プログラムは、前記第１画像の部分画像である第１ａ画像，第１ｂ画像，…も夫々前記所定画素数ｎより少ない異なる画素数づつずらした部分画像とし、各部分画像から基準画像を切り出すことを特徴とする。
【００２９】
本発明の２画面間の移動ベクトル算出プログラムは、前記部分画像の移動ベクトルの中から異常値を示す移動ベクトルを除外し、残りの部分画像の移動ベクトルを重み付き平均することで前記画面間の移動ベクトルを求めることを特徴とする。
【００３０】
本発明の２画面間の移動ベクトル算出プログラムは、連続するフレーム画像として前記第１画像，第２画像が順に取り込まれ前記第１画像に対する前記第２画像の移動ベクトルが算出された後の次フレームとして第３画像が取り込まれたとき、前記第２画像から基準画像を切り出し、前記第３画像から比較画像を切り出して前記第３画像の前記第２画像に対する画面間の移動ベクトルを算出することを特徴とする。
【００３１】
本発明の２画面間の移動ベクトル算出プログラムは、前記基準画像を切り出す元画像と前記比較画像を切り出す元画像とが夫々縦および／または横に縮小された画像であり、縮小された元画像から切り出される前記比較画像が縮小画像上で１画素づつずらしながら切り出され同一縮小倍率で縮小された元画像から切り出された前記基準画像と比較され相関性が演算されることを特徴とする。
【００３２】
本発明の２画面間の移動ベクトル算出プログラムの前記縮小画像は、縦横共に１／ｎに縮小されることを特徴とする。
【発明の効果】
【００３３】
本発明によれば、画素がずらされた複数の第２画像から比較画像を切り出して基準画像と比較し相関性を並列処理により求めるため、解像度の高い移動ベクトルを高速に求めることが可能となる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の一実施形態について、図面を参照して説明する。
【００３５】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る２画面間の移動ベクトル算出装置の構成図である。比較画像を切り出すブロックのずらし単位は任意の２のｎ乗数でよいが、説明を明確にするため、以下の説明では８画素とする。
【００３６】
図１において、本実施形態に係る移動ベクトル算出装置は、第１画面の画像を取り込み格納するメモリ１０と、該メモリ１０の格納データから所定アドレス位置の基準画像を切り出す基準画像切出回路１１と、第１画面と比較する第２画面の画像を取り込み−２画素ずらして格納するメモリ１２と、前記第２画面の画像を取り込み＋２画素ずらして格納するメモリ１３とを備える。
【００３７】
本実施形態の移動ベクトル算出装置は更に、メモリ１２の格納データから指定ブロック位置の比較画像Ａを切り出す切出回路１４と、メモリ１３の格納データから指定ブロック位置の比較画像Ｂを切り出す切出回路１５と、比較画像Ａと基準画像とを比較演算して両者の相関量を算出する比較演算回路１６と、比較画像Ｂと基準画像とを比較演算して両者の相関量を算出する比較演算回路１７と、比較演算回路１６，１７から出力される相関量を取り込み第１画面に対する第２画面の移動ベクトルを求める移動量演算回路１８とを備える。
【００３８】
斯かる移動ベクトル算出装置に第１画面の画像が入力されると、この画像データはメモリ１０に取り込まれ格納される。切出回路１１は、このメモリ１０内の画像データから、所定アドレスのブロックにより基準画像を切り出し、基準画像を比較演算回路１６，１７に出力する。
【００３９】
次に、第１画面と比較する第２画面の画像が入力されると、この画像データは２つのメモリ１２，１３に並列に格納される。メモリ１２には、入力画像を水平方向に−２画素ずらしながら格納され、メモリ１３には、入力画像を水平方向に＋２画素ずらしながら格納される。
【００４０】
切出回路１４は、メモリ１２の格納データを切り出して比較演算回路１６に出力し、切出回路１５は、メモリ１３の格納データを切り出して比較演算回路１７に出力する。両切出回路１５は、同一の指定切出位置（ブロック）から比較画像を切り出す。
【００４１】
切出回路１４は、図２に示す様に、切出ブロック２０によってメモリ１３の画像データを切り出すが、この画像データ自体が予め−２画素分だけＸ方向にずらされているため、実際に切り出される比較画像Ａは、元画像上では、指定ブロック２０の位置から＋２画素だけずれた画像となっている。同様に、切出回路１５によって切り出される比較画像Ｂは、元画像上では、指定ブロック２０の位置から−２画素だけずれた画像となっている。
【００４２】
比較演算回路１６は基準画像と比較画像Ａとの相関量を求め、比較演算回路１７は基準画像と比較画像Ｂとの相関量を求める。この両者の演算は、並列処理で行われる。切出回路１４，１５は、８画素単位に次々とずらされる指令ブロック位置の比較画像Ａ，Ｂを切り出し、比較演算回路１６，１７は夫々のブロック位置における相関量を算出し、移動量演算回路１８は、比較演算回路１６，１７から出力される多数の相関量算出結果を取り込み、第２画面の第１画面に対する移動ベクトルを求め出力する。
【００４３】
この様に、本実施形態では、８画素単位で比較画像切出ブロック位置を移動させるが、実際には、４画素単位でずれた比較画像Ａ，Ｂを基準画像と比較するため、移動量の量子化は、図３に示す様に、４画素単位となる。つまり、４画素ずれた比較画像Ａと比較画像Ｂとが、８画素単位で移動される結果、求まる移動量の解像度は４画素になる。
【００４４】
尚、上記実施形態では、説明を簡単にするため水平方向のみ−２画素，＋２画素ずらしたが、Ｙ方向の解像度を４画素に上げるためには、垂直方向にも−２画素，＋２画素ずらす必要があり、それらに対応したメモリや切出回路，比較演算回路を追加する必要がある。勿論、これらをソフトウェア的に行うことも可能であるが、処理時間の短縮を図るには、ハードウェアで行った方が良いことはいうまでもない。
【００４５】
（第２の実施形態）
図４は、本発明の第２の実施形態に係る２画面間の移動ベクトル算出装置のブロック構成図である。この図４の実施形態を説明する前に、本実施形態の移動ベクトル算出原理を図５〜図８を用いて説明する。
【００４６】
第１の実施形態では、第１画面の中に１つの大きなブロックを定め、このブロック内の基準画像と、第２画面のブロック内比較画像とを比較演算して移動ベクトルを求めている。しかし、これだと、ブロック内の画像のうちの一部が大きく動いた場合、例えば、動物が走っている動画を撮像した場合、画面全体の手振れと、画面の一部に写っている動物の動きとの区別ができないため、動物の動きに引きずられて、画面全体の手振れ移動ベクトルの算出誤差が大きくなってしまう。
【００４７】
そこで、本実施形態では、画面を複数領域に分割し、各分割領域（部分領域）内にブロックを定める。例えば、図５に示す様に、画面２１を４×４＝１６の部分領域２２に分け、各部分領域２２内に夫々ブロック２３を定める。そして、ブロック２３を部分領域２２内で動かし（すなわち、各ブロック２３による探索範囲を、夫々のブロック２３が属する部分領域２２内とする。）て比較画像を切り出し、各部分領域毎に、移動ベクトルを算出する。
【００４８】
即ち、図５に示す実施形態では、１６個の移動ベクトルが算出され、この１６個の移動ベクトルによって、画面全体の移動ベクトルを求める。画面全体の手振れ移動ベクトルは、個々の１６個の部分領域における移動ベクトルと同じになるはずであるが、一部の部分領域で動物が動き回っていれば、その部分領域の移動ベクトルだけが、他の部分領域の移動ベクトルに対して異常値を示す。このため、この異常値を排除した残りの移動ベクトルから、画面全体の移動ベクトルを精度良く算出することが可能となる。
【００４９】
また、第１の実施形態では、８画素単位に比較画像切出ブロックを移動させ、−２画素ずらした画像と＋２画素ずらした画像をメモリに格納し、求める移動ベクトルの解像度を４画素単位にした。この手法を用い、図６に示す様に、水平方向に−１画素，−３画素，＋１画素，＋３画素ずらせば、水平方向の解像度を２画素単位にすることができる。同様に図示は省略するが、垂直方向にも−１画素，−３画素，＋１画素，＋３画素ずらすと、垂直方向の解像度を２画素単位にすることができる。本実施形態では、垂直方向，水平方向共に解像度２画素の移動ベクトルを算出する構成となっている。
【００５０】
本実施形態では、２画面間の移動ベクトルつまり１個の移動ベクトルを算出すればよいため、２画素単位の解像度を持つ移動ベクトルを高速に求める構成になっている。この原理は以下の通りである。
【００５１】
解像度を２画素単位にするには、上述した様に、水平方向，垂直方向ともに−１画素，−３画素，＋１画素，＋３画素づつずらした画像をメモリに格納する必要がある。そして、基準画像に対して、夫々画素ズラシした比較画像を比較演算することで２画素単位の移動ベクトルの算出が可能となる。
【００５２】
斯かる方法を、図５に示す１６個の部分領域毎に夫々適用しても良いが、演算時間が長くなるため、図７，図８に示す方法を採用する。
【００５３】
図７はＮフレーム目の画像を示し、図８は、Ｎ＋１フレーム目の画像を示す。両方とも、図５と同様に４×４＝１６の部分領域に分けられている。
【００５４】
画像データは、水平走査されながら入力されてくるため、先ず、第１行（図５参照）の４つの部分領域の画像データがメモリ内に格納される。このとき、Ｎフレーム目の画像の場合、図７に示す様に、第１行の部分領域の入力画像データをＸ方向に−１画素ずらしながらメモリに格納する。次の第２行の入力画像データは、Ｘ方向に＋３画素ずらしながらメモリに格納し、第３行の入力画像データは、Ｘ方向に＋１画素ずらしながらメモリに格納し、第４行の入力画像データは、Ｘ方向に−３画素ずらしながらメモリに格納する。
【００５５】
次に入力されるＮ＋１フレーム目の画像データをメモリに格納する場合は、図８に示す様にする。即ち、第１行第１列の部分領域の入力画像データは、Ｙ方向に−１画素ずらしながらメモリに格納し、第１行第２列の部分領域の入力画像データは、Ｙ方向に＋３画素ずらしながらメモリに格納し、第１行第３列の部分領域の入力画像データは、Ｙ方向に＋１画素ずらしながらメモリに格納し、第１行第４列の部分領域の入力画像データは、Ｙ方向に−３画素ずらしながらメモリに格納する。以下、同様に、第２行，第３行，第４行の各部分領域の画像データをメモリに格納する。これにより、第１列，第２列，第３列，第４列の各部分領域の画像データは、Ｙ方向に−１，＋３，＋１，−３画素づつずれた画像となる。
【００５６】
そして、図７に示す画像を基準画像とする場合には、例えば図７の第１行第１列の部分領域の中央ブロック（点線で示したブロック）から基準画像を切り出し、これと比較する図８の第１行第１列の部分領域の中央に示した切出ブロック（点線で示したブロック）から比較画像を切り出し、比較演算を行う。この比較演算の次に、切出ブロックを水平方向または垂直方向に８画素ずらし、同様に基準画像との比較演算を行い、更に切出ブロックを８画素ずらして比較演算を行うという処理を繰り返し、基準画像と相関性の最も高い切出ブロック位置を求め、第１行第１列の部分領域における移動ベクトルを求める。
【００５７】
第１行第２列の部分領域においても上記と同様にして比較演算を行いながら、第１行第２列の部分領域における移動ベクトルを求め、以下同様にして、１６個の移動領域毎の移動ベクトルを求める。そして、１６個の移動ベクトルを求めた後に、画面全体の移動ベクトルを算出する。
【００５８】
この様にして算出される部分領域（部分画像）毎の移動ベクトルは、８画素単位の分解能（解像度）しかないが、部分領域毎に比較する画像が少しずつずれているため、１６個の部分領域毎に求まる移動ベクトルを平均して画面間の移動ベクトルを求めると、この画面間の移動ベクトルは２画素単位となる。
【００５９】
Ｎフレーム目の画像に対してＮ＋１フレーム目の画像の移動ベクトルが算出された後は、次に、Ｎ＋１フレーム目の画像に対するＮ＋２フレーム目の画像の移動ベクトルを同様に算出する。この場合には、図８に示す画像が基準画像切出用の画像となり、図７に示す画像が比較画像切出用の画像となる。
【００６０】
上述した原理に基づき構成された本実施形態に係る２画面間の移動ベクトル算出装置は、図４に示す様に、例えば動画撮影機能を搭載したデジタルスチルカメラに設けられる。
【００６１】
このデジタルスチルカメラは、表示装置３０と、撮像された画像データのうち偶数フレーム画像と奇数フレーム画像を交互に書き換えながら格納する２面のフレームメモリ３１，３２と、フレームメモリ３１，３２内の格納画像データを読み出し表示装置３０に表示制御する表示制御装置３３とを備える。
【００６２】
図示するデジタルスチルカメラに搭載される本実施形態の移動ベクトル算出装置は、フレームメモリ３１，３２に格納される入力画像データを並行して取り込み、Ｎフレーム画像に対する（Ｎ＋１）フレーム画像の画面間の移動ベクトルを算出し、算出した画面間の移動ベクトルを表示制御装置３３に出力する様になっている。
【００６３】
この移動ベクトル算出装置は、奇数フレームの画像データを取り込みＸ方向の画素ズラシ（上述した−１，＋３，＋１，−３の画素ズラシ）を行う画素ずらし回路３５と、画素ずらし回路３５の出力画像データをＸ方向，Ｙ方向共に１／８に縮小（８×８＝６４画素を１画素に縮小）する画素間引回路３６と、画素間引きされた奇数フレームの画像データを格納するメモリ３７とを備える。
【００６４】
また、この移動ベクトル算出装置は、偶数フレームの画像データを取り込みＹ方向の画素ズラシ（上述した−１，＋３，＋１，−３の画素ズラシ）を行う画素ずらし回路３８と、画素ずらし回路３８の出力画像データをＸ方向，Ｙ方向共に１／８に縮小（８×８＝６４画素を１画素に縮小）する画素間引回路３９と、画素間引きされた偶数フレームの画像データを格納するメモリ４０とを備える。
【００６５】
本実施形態では、画素間引回路３６，３９を設け、Ｘ方向，Ｙ方向を夫々１／８に間引きしている。切出ブロックを元画像で８画素単位に移動させることは、縮小画像で１画素づつ移動させることに相当する。また、比較画像，基準画像共に縮小された画像を用いるため、１画素毎に行う比較演算処理の負荷が軽減されると共に処理時間の短縮が図れ、また、メモリ３７，３９の容量削減を図ることができる。尚、縦横共に同一倍率で縮小する必要はなく、また、縦だけまたは横だけ縮小するだけでも良い。
【００６６】
更にこの移動ベクトル算出装置は、所定アドレスのブロックによって基準画像を切り出す基準画像切出回路４１と、切出ブロックによって比較画像を切り出す比較画像切出回路４２と、メモリ３７，４０と切出回路４１，４２との接続をフレーム切替信号によって切り替えるスイッチ回路４３と、切出回路４１，４２の出力画像データを取り込み基準画像と比較画像との比較演算処理を行い後述する部分領域毎の移動ベクトルを算出すると共に比較画像切出回路４２に対して切出ブロックの切出位置移動指令を出力する比較演算器４４と、各部分領域毎の移動ベクトルから画面間の移動ベクトルを算出して表示制御装置３３に出力する移動量演算器４５とを備える。
【００６７】
斯かる構成の移動ベクトル算出装置では、Ｎフレーム目の画像が入力してくると、図７に示す様に、第１行の４つの部分領域の画像データに対しては画素ずらし回路３５がＸ方向に−１画素分だけ画素ズラシを行い、画素間引回路３６が画像縮小を行い、メモリ３７に縮小画像が格納される。同様に、第２行の４つの部分領域の画像データに対しては、画素ずらし回路３５がＸ方向に＋３画素分だけ画素ずらしを行い、画素間引回路３６が画像縮小を行い、メモリ３７に縮小画像が格納される。以下、同様にして、Ｎフレーム目の、画素ズラシ及び画素間引きされた縮小画像データがメモリ３７に格納される。
【００６８】
Ｎ＋１フレーム目の画像が入力してくると、図８で説明した様に、今度はＹ方向に画素ズラシされ更に画素間引きされた縮小画像データがメモリ４０に格納される。図８の第１行の４つの部分領域の縮小画像がメモリ４０に格納されると、この４つの部分領域における移動ベクトル算出の比較演算処理が実行可能となるため、第２行以下の部分領域の縮小画像のメモリ４０への格納と並行して、４つの部分領域の移動ベクトル算出処理が同時並列的に実行される。
【００６９】
即ち、基準画像切出回路４１がメモリ３７内の４つの部分領域から夫々の基準画像を切り出して比較演算器４４に出力すると共に、比較画像切出回路４２がメモリ４０内の４つの部分領域から比較画像を切り出して比較演算器４４に出力し、比較演算器４４は、４つの部分領域毎に、基準画像と比較画像との相関量を算出する。１つの比較画像との比較演算が終了すると、縮小画像で１画素づれた比較画像を比較画像切出回路４２に要求する。
【００７０】
各部分領域毎に、相関量の最も高い切出ブロック位置が求まると、夫々の部分領域における基準画像切出ブロックとの差が部分領域の移動ベクトルとなり、これが移動量演算器４５に出力される。
【００７１】
第１行の４つ部分領域の移動ベクトルが求まると、次に第２行の４つ部分領域の移動ベクトルを並列処理で求め、更に第３行，第４行と同様に進めると、移動量演算器４５には、１６個の部分領域移動ベクトルが入力される。移動量演算器４５は、この１６個の移動ベクトルを後述するように処理して画面間の移動ベクトルを算出し、この画面間の移動ベクトルを表示制御装置３３に出力する。
【００７２】
表示制御装置３３は、例えば奇数フレームの画像をフレームメモリ３２から読み出して表示装置３０に表示した後、偶数フレームの画像をフレームメモリ３１から読み出して表示装置３０に表示するとき、画面間の移動ベクトルを用いて偶数フレームの画像をずらした後、表示装置３０に表示する。
【００７３】
偶数フレームの画像をずらして表示装置３０に表示するとき、次の奇数フレームの画像データが入力され、奇数フレームメモリ３１が書き換えられる。これと同時に奇数フレームの画像がＸ方向画素ずらし回路３５，画素間引回路３６と通って新たな縮小画像がメモリ３７に書き込まれる。また、このとき、スイッチ回路４３にフレーム切替信号が入力するため、メモリ４０が基準画像切出回路４１に接続替えされ、メモリ３７が比較画像切出回路４２に接続替えされる。
【００７４】
以後、メモリ４０内の画像が基準画像となり、メモリ３７内の画像が切り出されて、次フレーム画像の画面間の移動ベクトルが算出され、表示制御装置３３は、次フレームの画像をこの移動ベクトルによってずらし、表示装置３０に表示する。この様な制御を行うことで、表示装置３０の画面に表示される動画は、手振れの無い画像となる。
【００７５】
図９は、１６個の部分領域移動ベクトルから画面間の移動ベクトルを算出する原理説明図である。基準画像（元画像）に対して比較画像（元画像）を１画素単位にずらして相関量を求め、部分領域毎の移動ベクトルを求めた場合、各移動ベクトル間に誤差が生じていると、それは１画素単位のバラバラな誤差となる。これを図に例示すると、図９（ａ）に示す様になる（移動ベクトルの先端を点で示す。）。
【００７６】
これに対し、基準画像（縮小画像）に対して比較画像（縮小画像）を縮小画像の１画素単位にずらして相関量を求め、部分領域毎の移動ベクトルを求めた場合、各移動ベクトル間に誤差が生じていると、それは元画像では８画素単位のバラバラな誤差となる。つまり、図９（ｂ）に示す４つの座標点（Ｘ，Ｙ）、（Ｘ＋８，Ｙ）、（Ｘ，Ｙ＋８）、（Ｘ＋８，Ｙ＋８）のいずれかにばらける。
【００７７】
ここで、ある部分領域で上述した様に動物が動いていたとき、この部分領域の移動ベクトルは、この４つの座標点から大きく外れた座標点Ｃを示すことになる。画面間の移動ベクトルを算出する場合、このような異常値を示す移動ベクトルは除外する。そこで、残りの部分領域の移動ベクトルを用いて画面間の移動ベクトルを算出する。
【００７８】
画面中の画像に動きが無い場合には、移動ベクトルは画面間の移動ベクトルだけとなり、各部分領域毎の移動ベクトルは同一となるはずであるが、本実施形態では、各部分領域で比較演算する基準画像，比較画像を±１，±３と画素ずらししているため、部分領域の移動ベクトルは、真の移動ベクトル位置Ｄ点の周りの４つの座標点にばらける。
【００７９】
移動量演算回路４５は、１６個の移動ベクトルを解析して上記の４座標点に集約している移動ベクトルだけを取り出し（４座標点以外の座標点にばらける移動ベクトルＣは異常ベクトルとして除外する）、各座標点の移動ベクトル数で重み付けした移動ベクトルの平均値を求め、これを画面間の移動ベクトルとして算出する。この算出された画面間の移動ベクトルは、図９（ｂ）にＤ点として示す真の移動ベクトルに対して、誤差２画素以内となる。
【００８０】
（第３実施形態）
図１０は、本発明の第３実施形態に係る２画面間の移動ベクトル算出プログラムの処理手順を示すフローチャートである。デジタルカメラ等で動画を撮像し記録メディアに蓄積された動画像データをパーソナルコンピュータ等に取り込み、このコンピュータの演算処理装置に２画面間の移動ベクトル算出プログラムを実行させることで、手振れが除去された動画像データが生成される。
【００８１】
この第３実施形態に係る２画面間の移動ベクトル算出プログラムは、前述した第１実施形態の処理内容と同一の処理をコンピュータに行わせるものであり、記録メディアからコンピュータのハードディスク等に移された動画像データから第１画像データを取り出し（ステップＳ１）、次に第２画像データを取り出す（ステップＳ２）。このステップＳ１とステップＳ２とは並列処理で行うことができる。
【００８２】
次に、第２画像データを−２画素分ずらした第２―１画像データを生成する（ステップＳ３）と共に、第２画像データを＋２画素分ずらした第２―２画像データを生成する（ステップＳ４）。このステップＳ３とステップＳ４は並列処理で行うことができる。
【００８３】
次に、第１画像データから基準画像を切り出す（ステップＳ５）。そして、第２―１画像から８画素単位に切出ブロックを移動させながら各比較画像を切り出して各比較画像の基準画像に対する相関性の演算を行う（ステップＳ６）と共に、第２―２画像から８画素単位に切出ブロックを移動させながら各比較画像を切り出して各比較画像の基準画像に対する相関性の演算を行う（ステップＳ７）。このステップＳ６とステップＳ７とは並列処理で行うことができる。
【００８４】
最後に、ステップＳ６，ステップＳ７で算出された各相関性の演算結果から、２画面間の移動ベクトルを求める（ステップＳ８）。
【００８５】
第１画面の画像に対する第２画面の画像の移動ベクトルが算出された後は、ステップＳ１〜Ｓ８を繰り返すことで、今度は、第２画面の画像に対する第３画面の画像の移動ベクトルを算出する、という処理を繰り返す。
【００８６】
（第４実施形態）
図１１は、本発明の第４実施形態に係る２画面間の移動ベクトル算出プログラムの処理手順を示すフローチャートである。第３実施形態と同様に、デジタルカメラ等で撮像し記録メディアに蓄積された動画像データをパーソナルコンピュータ等に取り込み、手振れを除去した動画像データを生成するのに用いられる。
【００８７】
本実施形態は、第２実施形態と同一処理内容を実現するものであり、先ず、ステップＳ１１で、第１画像，第２画像の取り出しと、部分画像１ａ，１ｂ，…，２ａ，２ｂの生成を行う。
【００８８】
第１画像，第２画像の取り出し処理とは、動画像データを記録した記録メディアからコンピュータのハードディスク等に移された動画像データから或るＮフレームの画像（第１画像）とそれに連続するＮ＋１フレームの画像（第２画像）とをコンピュータのメインメモリに読み出す処理である。
【００８９】
部分画像１ａ，１ｂ，…の生成処理とは、図７に示す４行４列の計１６の部分領域における１６個の部分画像（水平方向に−１画素ずらした画像，＋３画素ずらした画像，＋１画素ずらした画像，−３画素ずらした画像）を生成する処理であり、部分画像２ａ，２ｂ，…の生成処理とは、図８に示す４行４列の計１６の部分領域における１６個の部分画像（垂直方向に−１画素ずらした画像，＋３画素ずらした画像，＋１画素ずらした画像，−３画素ずらした画像）を生成する処理である。
【００９０】
次のステップＳ１２では、相関性の演算処理（基準画像，比較画像の切出処理，比較処理等）を行う。この演算処理では、第２実施形態で説明した様に、部分画像１ａ，２ａ間の相関性を演算して部分画像１ａ，２ａ間の移動ベクトルを算出し、部分画像１ｂ，２ｂ間の相関性を演算して部分画像１ｂ，２ｂ間の相関性を演算する。この演算処理は、図７，図８に示す１６個の部分領域について行う。
【００９１】
次のステップＳ１３では、ステップＳ１２で算出された計１６個の部分画像間の移動ベクトルから、図９で説明した方法により、２画面間の移動ベクトルの算出処理を行う。
【００９２】
Ｎフレームの画像に対するＮ＋１フレームの画像の移動ベクトルが算出された後は、同様の処理を繰り返し、次にＮ＋１フレームの画像に対するＮ＋２フレームの画像の移動ベクトルを算出する。
【００９３】
尚、本実施形態でも、第２実施形態と同様に、ステップＳ１１の第１画像，第２画像，部分画像１ａ，１ｂ，…，２ａ，２ｂ，…を縮小画像データとすることで、高速に２画面間の移動ベクトル算出処理が可能となる。
【００９４】
尚、上述した実施形態では、８画素単位に切出ブロックを移動させたが、これに限る訳ではない。例えば、切出ブロックを３２画素単位で移動させる場合、−８画素と＋８画素づつずらした画像を用いれば解像度を１６画素にすることができる。また、−１２画素，−４画素，＋４画素，＋１２画素づつずらした画像を用いることで、解像度を８画素にすることができ、−１４画素，−１０画素，−６画素，−２画素，＋２画素，＋６画素，＋１０画素，＋１４画素づつづらした画像を用いることで、解像度を４画素にすることができる。更に同様に画像のずらし単位を２画素とすることで、解像度を２画素にすることもできる。
【００９５】
以上述べた様に、実施形態によれば、画面間の移動ベクトルを、比較画像を抽出する切出ブロックの移動量以下の精度で高速に算出することができるという効果が得られる。
【００９６】
上述した実施形態では、動画を例に説明したが、あるフレームの画像と、次フレームの画像とを合成して静止画像を生成する場合にも、適用可能である。例えば、低感度撮影と高感度撮影を連続して行い、両フレームの画像を合成することでダイナミックレンジの広い静止画像を撮像することがあるが、この場合にも上述した実施形態を適用して両フレームの画像がずれないように合成することができる。
【産業上の利用可能性】
【００９７】
本発明に係る２画面間の移動ベクトル算出方法及びその装置並びに２画面間の移動ベクトル算出プログラムは、高精度の移動ベクトルの算出処理を高速にできるため、動画撮影機能をもったデジタルカメラや、２枚の画像を合成して１枚の画像を生成するデジタルカメラ等に適用したり、デジタルカメラ等で撮影した画像をコンピュータで高速処理するのに有用である。
【図面の簡単な説明】
【００９８】
【図１】本発明の第１実施形態に係る２画面間の移動ベクトル算出装置の機能構成図である。
【図２】本発明の第１実施形態の原理説明図である。
【図３】本発明の第２実施形態に係る解像度アップ説明図である。
【図４】本発明の第２実施形態に係る２画面間の移動ベクトル算出装置の機能構成図である。
【図５】本発明の第２実施形態で演算する４×４＝１６の部分領域の分割例を示す図である。
【図６】本発明の第２実施形態の原理説明図である。
【図７】本発明の第２実施形態に係るＮフレーム画像の１６部分領域毎の画像の画素ずらし量，画素ずらし方向を示す図である。
【図８】本発明の第２実施形態に係るＮ＋１フレーム画像の１６部分領域毎の画像の画素ずらし量，画素ずらし方向を示す図である。
【図９】本発明の第２実施形態に係る１６部分領域毎の移動ベクトルから画面間の移動ベクトルを求める原理説明図である。
【図１０】本発明の第３実施形態に係る移動ベクトル算出プログラムの処理手順を示すフローチャートである。
【図１１】本発明の第４実施形態に係る移動ベクトル算出プログラムの処理手順を示すフローチャートである。
【図１２】従来の一般的に手振れ検出方法の説明図である。
【図１３】従来の一般的な手振れ検出時の解像度の説明図である。
【符号の説明】
【００９９】
１０  第１画面の画像格納用メモリ
１１，４１  基準画像切出回路
１２，１３，３７，４０  画素ずらしした第２画面の画像格納用メモリ
１４，１５，４２  比較画像切出回路
１６，１７，４４  比較演算回路
１８，４５  移動量演算回路
３５，３８  画素ずらし回路
３６，３９  画素間引回路（画像縮小回路）
４３  スイッチ回路
【図１】
2007195143.tif 000003
【図２】
2007195143.tif 000004
【図３】
2007195143.tif 000005
【図４】
2007195143.tif 000006
【図５】
2007195143.tif 000007
【図６】
2007195143.tif 000008
【図７】
2007195143.tif 000009
【図８】
2007195143.tif 000010
【図９】
2007195143.tif 000011
【図１０】
2007195143.tif 000012
【図１１】
2007195143.tif 000013
【図１２】
2007195143.tif 000014
【図１３】
2007195143.tif 000015