(57)【要約】【課題】電子的手振れ補正を行う２画面間の移動ベクトル検出に要する演算負荷の軽減，演算処理時間の短縮を図る。【解決手段】  撮像素子により撮像されフレームメモリに格納されたＮフレーム目の画像データに対するＮ＋１フレーム目の画像データの手振れによる移動ベクトルを算出する電子的手振れ補正において、Ｎ−１フレーム目の画像データとＮフレーム目の画像データとから求めた移動ベクトルに基づき今回求める移動ベクトルを予測し、Ｎフレーム目の画像データから切り出した基準画像に対しＮ＋１フレーム目の画像データから切り出す比較画像の探索範囲を、本来の探索範囲Ａに対し、前記予測に基づき探索範囲Ａ’に制限する。【選択図】図４
2007267232.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子により撮像されフレームメモリに格納されたＮフレーム目の画像データに対するＮ＋１フレーム目の画像データの手振れによる移動ベクトルを算出する電子的手振れ補正方法において、Ｎ−１フレーム目の画像データとＮフレーム目の画像データとから求めた移動ベクトルに基づき今回求める移動ベクトルを予測し、Ｎフレーム目の画像データから切り出した基準画像に対しＮ＋１フレーム目の画像データから切り出す比較画像の探索範囲を前記予測に基づき制限したことを特徴とする電子的手振れ補正方法。
【請求項２】
前記Ｎ―１フレーム目の画像データと前記Ｎフレーム目の画像データから求めた移動ベクトルの他に該移動ベクトルより過去に求めた移動ベクトルも参照して前記予測を行うことを特徴とする請求項１に記載の電子的手振れ補正方法。
【請求項３】
撮像素子により撮像されフレームメモリに格納されたＮフレーム目の画像データに対するＮ＋１フレーム目の画像データの手振れによる移動ベクトルを算出する電子的手振れ補正装置において、Ｎ−１フレーム目の画像データとＮフレーム目の画像データとから求めた移動ベクトルに基づき今回求める移動ベクトルを予測する手段と、Ｎフレーム目の画像データから切り出した基準画像に対しＮ＋１フレーム目の画像データから切り出す比較画像の探索範囲を前記予測に基づき制限する手段とを備えることを特徴とする電子的手振れ補正装置。
【請求項４】
前記Ｎ―１フレーム目の画像データと前記Ｎフレーム目の画像データから求めた移動ベクトルの他に該移動ベクトルより過去に求めた移動ベクトルも参照して前記予測を行うことを特徴とする請求項３に記載の電子的手振れ補正装置。
【請求項５】
撮像素子と、該撮像素子から出力される画像データを格納するフレームメモリと、請求項３または請求項４に記載の電子的手振れ補正装置とを搭載したことを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子的手振れ補正方法及びその装置並びに撮像装置に関する。
【背景技術】
【０００２】
例えば、動画撮影機能を有するデジタルスチルカメラやデジタルビデオカメラ等を手に持ち動画を撮影する場合、カメラを持つ手が振れると、あるフレームの画像中に映っている静止物画像の位置が次フレームの画面では移動してしまい、見づらい動画になってしまう。そこで、あるフレームの画像に対して次フレームの画像の移動ベクトルを検出し、画像が揺れない様に手ぶれ補正を行うことが行われている。
【０００３】
図５は、電子的手振れ補正を行うときの移動ベクトルを検出する原理を示す説明図である。図５（ａ）に示すＮフレーム目の画像１中の所定アドレスで示されるブロック２内の画像を基準画像とすると、（Ｎ＋１）フレーム目の画像３中の同一所定アドレスで示されるブロック４によって切り出された画像が基準画像と同一であれば、画像１に対して画像３は振れていないことになる。
【０００４】
しかし、手振れが発生していれば、ブロック２内の基準画像とブロック４で切り出された画像は一致しない。そこで、画像３中のブロック４を、４ａ，４ｂ，４ｃ，…と、Ｘ方向（水平方向），Ｙ方向（垂直方向）にずらしながら、各ブロック４ａ，４ｂ，４ｃ，…内の夫々の画像を基準画像と比較し、基準画像と最も相関性が高い比較画像を切り出したブロック位置を求める。
【０００５】
基準画像と比較画像の相関性を求める演算は、基準画像と比較画像の１画素１画素を比較し、各差分の絶対値を求め、この絶対値のブロック内総画素の総和（積算値）を求めることで行う。この積算値（総和）が相関性を示し、積算値が最も小さいとき即ち不一致量が最も小さいとき、相関性が最も高いことになる。
【０００６】
図５（ｂ）に示す例で、ブロック２の基準画像に対し最も相関性が高い比較画像がブロック４ｃで切り出されたとすると、画像１に対する画像３の位置の差は「Ｋ」となる。このＫが電子的手振れ補正用の移動ベクトルであり、画像１を表示した次に、画像３を移動ベクトルＫだけ同方向に移動させて表示すれば、手振れの無い画像を表示することができる。
【０００７】
尚、電子的手振れ補正に関連する従来技術として、下記特許文献１，２がある。
【０００８】
【特許文献１】特開２００３―３３１２９２号公報
【特許文献２】特開２００４―１４６９９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
基準画像と比較画像の相関性を求める演算は、基準画像と比較画像とを１画素１画素比較し、画素データ間の差分の絶対値の総和を算出することで行う。しかも、この演算を、図５に示す例でいえば、比較画像を切り出すブロック４の位置を、画面３の全範囲でＸ方向またはＹ方向に１画素づつ移動させる毎に行うため、演算負荷が高く演算に時間がかかってしまうという問題がある。
【００１０】
本発明の目的は、電子的手振れ補正を行う２画面間の移動ベクトル検出に要する演算負荷の軽減，演算処理時間の短縮を図ることができる電子的手振れ補正方法及びその装置並びに撮像装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の電子的手振れ補正方法は、撮像素子により撮像されフレームメモリに格納されたＮフレーム目の画像データに対するＮ＋１フレーム目の画像データの手振れによる移動ベクトルを算出する電子的手振れ補正方法において、Ｎ−１フレーム目の画像データとＮフレーム目の画像データとから求めた移動ベクトルに基づき今回求める移動ベクトルを予測し、Ｎフレーム目の画像データから切り出した基準画像に対しＮ＋１フレーム目の画像データから切り出す比較画像の探索範囲を前記予測に基づき制限したことを特徴とする。
【００１２】
本発明の電子的手振れ補正方法は、前記Ｎ―１フレーム目の画像データと前記Ｎフレーム目の画像データから求めた移動ベクトルの他に該移動ベクトルより過去に求めた移動ベクトルも参照して前記予測を行うことを特徴とする。
【００１３】
本発明の電子的手振れ補正装置は、撮像素子により撮像されフレームメモリに格納されたＮフレーム目の画像データに対するＮ＋１フレーム目の画像データの手振れによる移動ベクトルを算出する電子的手振れ補正装置において、Ｎ−１フレーム目の画像データとＮフレーム目の画像データとから求めた移動ベクトルに基づき今回求める移動ベクトルを予測する手段と、Ｎフレーム目の画像データから切り出した基準画像に対しＮ＋１フレーム目の画像データから切り出す比較画像の探索範囲を前記予測に基づき制限する手段とを備えることを特徴とする。
【００１４】
本発明の電子的手振れ補正装置は、前記Ｎ―１フレーム目の画像データと前記Ｎフレーム目の画像データから求めた移動ベクトルの他に該移動ベクトルより過去に求めた移動ベクトルも参照して前記予測を行うことを特徴とする。
【００１５】
本発明の撮像装置は、撮像素子と、該撮像素子から出力される画像データを格納するフレームメモリと、上記のいずれかに記載の電子的手振れ補正装置とを搭載したことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、過去の２画面間の移動ベクトルから今回の移動ベクトルを予測し、この予測結果に応じて今回の移動ベクトルを算出する比較画像の探索範囲を制限したため、演算負荷が軽減すると共に演算処理時間の短縮を図ることが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１８】
図１は、本発明の一実施形態に係る撮像装置、例えば動画撮影機能付デジタルスチルカメラの要部構成図である。この撮像装置は、撮像部本体１０と、電子的手振れ補正部２０とでなる。
【００１９】
撮像部本体１０は、被写体画像を撮像する固体撮像素子１１と、固体撮像素子１１から出力される画像データを格納するフレームメモリ１２と、フレームメモリ１２から読み出された所要範囲の画像データに対してホワイトバランス補正処理やガンマ補正処理，ＲＧＢ／ＹＣ変換処理等の各種信号処理を施す画像処理部１３と、信号処理後の画像データたとえばＪＰＥＧ圧縮，ＭＰＥＧ圧縮された画像データを記録メディアに格納したりモニタ表示する画像出力部１４とを備えてなる。
【００２０】
電子的手振れ補正部２０は、フレームメモリ１２の格納画像データから電子的手ぶれ補正処理を行う画像部分を切り出す前処理部２１と、前処理部２１で切り出された画像データを保存する２つのメモリ２２，２３と、２つのメモリ２２，２３の一方を前処理部２１に切替接続するスイッチ２４とを備える。
【００２１】
本実施形態では、図２に示す様に、１画面の画像データ１１ａの全てを用いて電子的手振れ補正の移動ベクトルを算出するのではなく、１画面の４隅に夫々探索範囲Ａ，Ｂ，Ｃ，Ｄを設定し、各探索範囲Ａ，Ｂ，Ｃ，Ｄにおける夫々の基準画像２―１，２―２，２―３，２―４に対する移動ベクトルＫ―１，Ｋ―２，Ｋ―３，Ｋ―４を求め、この中から略同一方向同一長さの移動ベクトルの平均値を求め、この平均値Ｋを２画面間の移動ベクトルＫとする。
【００２２】
このため、前処理部２１は、Ｎフレームメモリ１２に格納された全画像データ１１ａのうち、探索範囲Ａ，Ｂ，Ｃ，Ｄ部分の画像を切り出してこれをメモリ２２に格納し、Ｎ＋１フレームメモリ１２に格納された全画像データ１１ａのうち、探索範囲Ａ，Ｂ，Ｃ，Ｄ部分の画像を切り出してメモリ２３に格納する。
【００２３】
２画面間の移動ベクトルの分解能が１画素単位でなく、例えば２画素単位でよければ、前処理部２１は、フレームメモリ１２から切り出した画像データをＸ方向，Ｙ方向共に夫々１／２に間引き処理した縮小画像データを生成し、これをメモリ２２，２３に格納する。そして、以後、縮小画像データを用いて２画面間の移動ベクトル算出処理を行うことで、演算処理時間の短縮を図ることが可能となる。
【００２４】
この電子的手振れ補正部２０は更に、基準画像切出回路２６と、比較画像切出回路２７と、基準画像切出回路２６及び比較画像切出回路２７とメモリ２２，２３との間に設けられメモリ２２，２３の一方を基準画像切出回路２６に接続したときメモリ２２，２３の他方を比較画像切出回路２７に接続する接続切替回路２８と、両切出回路２６，２７の出力画像データを比較して相関性の演算処理等を行い手振れ補正の移動ベクトルを求め画像処理部１３に出力する比較演算処理部２９とを備える。
【００２５】
尚、本実施形態で探索範囲Ａ，Ｂ，Ｃ，Ｄを画面の４隅に設定したのは、次の理由による。撮影者が動画をカメラで撮影する場合、動く主要被写体を画面の中央に捕らえるのが普通であり、このため、４隅の画像は静止物の画像となる蓋然性が高く、２画面間の移動ベクトル算出に好適なためである。
【００２６】
斯かる撮像装置では、Ｎフレーム目の画像データ，Ｎ＋１フレーム目の画像データ，Ｎ＋２フレーム目の画像データ，……が次々と入力してくる。前処理部２１は、各フレームの画像データの中から図２の探索範囲Ａ，Ｂ，Ｃ，Ｄの画像データを切り出し、スイッチ２４はフレーム切替信号によって切り替え制御される。
【００２７】
これにより、Ｎフレーム目の探索範囲Ａ，Ｂ，Ｃ，Ｄの画像データがメモリ２２に格納され、Ｎ＋１フレーム目の探索範囲Ａ，Ｂ，Ｃ，Ｄの画像データがメモリ２３に格納されると、メモリ２２の格納画像データ（今回の基準画像データ）に対するメモリ２３の格納画像データ（今回の比較画像データ）の移動ベクトルが後述する様にして算出される。
【００２８】
次にＮ＋２フレーム目の探索範囲Ａ，Ｂ，Ｃ，Ｄの画像データがメモリ２２に上書きされると、メモリ２３の格納画像データ（Ｎ＋１フレーム目の画像データ：次回の基準画像データ）に対するメモリ２２の格納画像データ（次回の比較画像データ）の移動ベクトルが後述する様にして算出され、以後、同様の処理が繰り返される。
【００２９】
接続切換回路２８は、フレーム切替信号により、基準画像とする方の画像データを格納したメモリ２２，２３の一方を選択して基準画像切出回路２６に接続し、メモリ２２，２３の他方を比較画像切出回路２７に接続する。
【００３０】
基準画像切出回路２６は、最初は、探索範囲ＡのＮフレーム画像データの中からブロック２―１（図２参照）によって基準画像を切り出し、比較演算処理部２９に出力する。同様に、比較画像切出回路２７は、比較画像側とする探索範囲ＡのＮ＋１フレーム画像データの中からブロック２―１と同一大きさの比較画像切出ブロック４―１によって比較画像を切り出し、比較演算処理部２９に出力する。
【００３１】
比較演算処理部２９は、切出回路２６，２７から取り込んだ両画像を１画素単位に比較して各画素毎の差分（輝度の差分，色差の差分，原色系フィルタの場合はＲＧＢ色毎の差分，補色系フィルタの場合は補色毎の差分等）を求め、各差分の絶対値のブロック内総画素の積算値（この値が大きいほど、不一致量が大きいことを意味する。）を算出し、自身内の内部メモリ（図示せず）に保存しておく。
【００３２】
積算値が算出された後、比較演算処理部２９は比較画像切出回路２７に移動指令を出力する。これにより、比較画像切出ブロックが探索範囲Ａ内で次位置に移動し、次の比較画像が切り出され、比較演算処理部２９はこの比較画像と基準画像との比較演算を行い、各画素の差分の上記積算値を同様にして求める。
【００３３】
以下同様にして、次々と探索範囲Ａ内の比較画像を切り出し、各比較画像毎の積算値を求め、各積算値のうちの最小値（相関性の最高値）を求める。そして、最小値を示す比較画像を切り出したブロック位置と基準画像を切り出したブロック位置との差を探索範囲Ａの移動ベクトルとする。
【００３４】
１つの探索範囲における処理が終了した後は、次に、基準画像切出回路２６と比較画像切出回路２７に探索範囲切替指示を出力する。これにより、次の探索範囲Ｂについて上記の処理を繰り返す。尚、探索範囲Ａにおける演算処理と、探索範囲Ｂにおける演算処理と、探索範囲Ｃにおける演算処理と、探索範囲Ｄにおける演算処理とを並列処理する構成としても良い。
【００３５】
探索範囲Ａの移動ベクトルＫ―１、探索範囲Ｂの移動ベクトルＫ―２、探索範囲Ｃの移動ベクトルＫ―３、探索範囲Ｄの移動ベクトルＫ―４が求まると、これら移動ベクトルの中の略同一方向同一長さの移動ベクトルの平均値Ｋを算出する。例えば、１つの移動ベクトルＫ―３が他の移動ベクトルＫ―１，Ｋ―２，Ｋ―４と異なる方向を向いている場合、探索範囲Ｃ内の画像は動体の画像が大半である判断できるので、２画面間の移動ベクトル算出から除外する。
【００３６】
算出された平均値Ｋは、電子的手振れ補正用の２画面間の移動ベクトルＫであり、この移動ベクトルＫの値を内部メモリに保存すると共に、画像処理部１３に出力する。
【００３７】
画像処理部１３は、Ｎフレームメモリ１２から切り出した画像データを信号処理して出力した後、次に出力する画像データをＮ＋１フレームメモリ１３から切り出し信号処理するが、このとき、移動ベクトルＫと同方向にずらした位置から画像データをＮ＋１フレームメモリ１３から切り出すことで、手振れ補正された画像を出力することが可能となる。出力画像をモニタ表示する場合、手振れの無い画像が表示されることになる。
【００３８】
以上述べた説明は、本実施形態の電子的手振れ補正に用いる２画面間の移動ベクトル算出のための基本動作である。しかし、演算負荷の更なる軽減と演算処理時間の更なる短縮を図るために、本実施形態では以下の処理を行う。
【００３９】
即ち、本実施形態では、探索範囲Ａから比較画像を切り出すブロック４―１の移動範囲を探索範囲Ａ内の全範囲とするのではなく、探索範囲Ａより狭い範囲に限定する。同様に、探索範囲Ｂから比較画像を切り出すブロック４―２の移動範囲を探索範囲Ｂより狭い範囲に限定し、探索範囲Ｃ，Ｄでも同様とする。
【００４０】
図３は、比較演算処理部２９が実行する探索範囲限定処理の処理手順を示すフローチャートである。以下、探索範囲Ａを例に説明する。
【００４１】
先ず、２画面間の移動ベクトルの過去データが存在するか否かを判定する（ステップＳ１）。カメラを用いた動画撮影の最初には、過去の移動ベクトルデータは存在しない。このため、ステップＳ２に進み、探索範囲Ａの全範囲を探索範囲とする。そして、ステップＳ３で探索範囲Ａ内の比較画像切出位置を決定し、この比較画像切出位置への移動指示を図１の比較画像切出回路２７に出力する（ステップＳ４）。これにより、このブロックにより切り出された比較画像と基準画像との比較演算処理が行われ、上記の積算値が算出される。
【００４２】
次のステップＳ５では、探索範囲Ａの全範囲での探索が終了したか否かを判定し、終了していない場合にはステップＳ３に戻る。比較画像切出ブロックを１画素づつ移動させながら上記処理を繰り返し、探索範囲Ａの全範囲における探索が終了した場合には、このステップＳ５における判定結果が肯定（Ｙｅｓ）となり、この処理を終了する。
【００４３】
カメラによる動画撮影の最初に２画面間の移動ベクトルが算出されると、次に図３の処理を行うとき、ステップＳ１における判定結果は「過去データ有り」となり、ステップＳ６に進む。
【００４４】
ステップＳ６では、移動ベクトルの過去データに基づき、今回求める移動ベクトルを予測し、その予測に応じて、探索範囲Ａより狭い探索範囲Ａ’を設定する。
【００４５】
例えば、図４に示す様に、基準画像２の位置に対し最も相関性の高い比較画像４が見つかり、その移動ベクトルＫが算出されているため、この比較画像４（今回の基準画像となる。）の位置を中心とする探索範囲Ａ’を探索範囲Ａ内に設定する。探索範囲Ａ’の大きさは、中心の基準画像４を移動ベクトルＫの所定数倍（例えば、５倍とか１０倍）移動させても内側に入る大きさとする。
【００４６】
利用できる移動ベクトルの過去データ量が多ければ、それだけ、過去の移動ベクトルの方向，長さ，変化の周期等をより詳しく解析でき、今回求める移動ベクトルをより精度良く予測することが可能となる。そして、その探索範囲Ａ’を更に狭く制限することができる。
【００４７】
次のステップＳ７では、探索範囲Ａ’の中から比較画像を切り出すブロック位置を決定し、次のステップＳ８で、このブロック位置を移動指令として図１の比較画像切出回路２７に出力する。これにより、このブロックにより切り出された比較画像と基準画像との比較演算処理が行われ、上記の積算値が算出される。
【００４８】
次のステップＳ９では、探索範囲Ａ’の全範囲での探索が終了したか否かを判定し、終了していない場合にはステップＳ７に戻る。比較画像切出ブロックを１画素づつ移動させながら上記処理を繰り返し、探索範囲Ａ’の全範囲における探索が終了した場合には、この処理を終了する。
【００４９】
以上述べた実施形態では、探索範囲Ａより狭い探索範囲Ａ’を設定してこの探索範囲Ａ’内の全範囲を探索する構成としたが、所定大きさの探索範囲Ａ’を設定することはせずに、探索範囲の制限を行う構成とすることも可能である。
【００５０】
例えば、過去の移動ベクトルにより今回求める移動ベクトルを予測し、最も予測値の高い比較画像切出位置を決定する。図４で、手振れの方向，長さが同じであると予測したのであれば、画像４を移動ベクトルＫで更に同方向同一距離に移動させた位置を比較画像切出位置とする。過去の移動ベクトルにより移動ベクトルが振動的であり今回の移動ベクトルは−Ｋになる予測した場合には、画像２の位置を比較画像切出位置とする。
【００５１】
そして、この比較画像切出位置を中心にその周辺から探索を始める。そして、上記積算値の極小値を示す比較画像の切出位置が求められたとき、探索を打ち切り、この極小値を示す比較画像の切出位置と基準画像との位置の差から移動ベクトルを算出する。
【００５２】
本実施形態では４つの領域Ａ，Ｂ，Ｃ，Ｄで手振れによる移動ベクトルを算出するのであるが、２画面間の移動ベクトルは、領域Ａ，Ｂ，Ｃ，Ｄで略同一になる。このため、４つの領域Ａ，Ｂ，Ｃ，Ｄにおける演算処理を並列に行い、各領域で上記極小値から求めた移動ベクトルのうち複数が略同一となった時点で探索を終了すれば、精度良く２画面間の移動ベクトルを算出することが可能となる。
【００５３】
以上述べた様に、本実施形態によれば、過去の移動ベクトルにより今回の移動ベクトルを予測しその探索範囲を狭く制限したため、演算負荷が軽減し、演算処理時間の短縮を図ることが可能となる。
【００５４】
尚、上述した実施形態では、電子的手振れ補正の移動ベクトルを、画像の４隅の探索範囲で検出したが、４つに限定する必要はなく、それ以上の探索範囲たとえば１画面を４行４列の計１６個に分割し各分割範囲を夫々探索範囲としても良い。あるいは、より少ない数の探索範囲を設けることでも良い。
【産業上の利用可能性】
【００５５】
本発明に係る電子的手振れ補正方法等は、低コストで演算処理能力の小さい演算処理装置でも短時間に精度良く２画面間の移動ベクトルを算出できるため、動画撮影機能付デジタルスチルカメラ等に適用すると有用である。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態に係る電子的手振れ補正機能付デジタルスチルカメラの要部構成図である。
【図２】図１に示す比較演算処理部が移動ベクトルを算出する探索範囲を例示する図である。
【図３】図１に示す比較演算処理部が行う探索範囲制限処理手順を示すフローチャートである。
【図４】図３に示す探索範囲制限処理の説明図である。
【図５】２画面間の移動ベクトル算出原理の説明図である。
【符号の説明】
【００５７】
１０  撮像部本体
１１  撮像素子
１２  フレームメモリ
１３  画像処理部
１４  画像出力部
２０  電子的手振れ補正部
２１  前処理部
２２，２３  移動ベクトル算出用画像の格納メモリ
２６  基準画像切出回路
２７  比較画像切出回路
２８  接続切換回路
２９  比較演算処理部
【図１】
2007267232.tif 000003
【図２】
2007267232.tif 000004
【図３】
2007267232.tif 000005
【図４】
2007267232.tif 000006
【図５】
2007267232.tif 000007