(57)【要約】【課題】処理量が少なく高精度な手ぶれ量検出を実施できる手ぶれ量検出装置、手ぶれ補正装置、撮像装置及び手ぶれ量検出方法を提供する。【解決手段】データ間引き部３１は、基準画像及び参照画像の生データの内１つの成分のみを抽出し、間引き画像を作成し、ブロック抽出部３３が、残差を求めるための探索ブロックとテンプレートブロックを抽出し、輝度差比較部３４は、各ブロックの輝度値の最大値と最小値との差をとり、しきい値より小さい場合には、残差を取得する対象から除外する。除外されなかったブロックから残差取得部３５が残差を取得し、ブロック選出部３６が、小さい残差を有するブロックを１０個抽出し、残差取得部３５が間引いていないデータを基に再度残差を算出し、手ぶれ量算出部３７が残差の最小となるテンプレートブロックＴの位置を求め、全位置の中央値を算出して手ぶれ量とする。【選択図】図１
2007281831.tif 000002
【特許請求の範囲】
【請求項１】
露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出装置であって、
前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割するマクロブロック分割手段と、
前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記マクロブロック分割手段が分割した参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出するブロック抽出手段と、
前記ブロック抽出手段が抽出した前記第１のブロック及び第２のブロックの残差を算出する残差取得手段と、
粗サーチにて残差積分値が小さいマクロブロックを所定数選出するブロック選出手段と、
該選出したブロックの最小となった画素の近傍の所定の範囲のみで精サーチを行い、該結果から手ぶれ量を算出する算出手段と、
を有することを特徴とする手ぶれ量検出装置。
【請求項２】
前記ブロック抽出手段は、前記参照画像を基に、隣接する複数のマクロブロックの中央に位置する所定の大きさのブロックを抽出して前記第２のブロックとし、前記基準画像を基に、前記参照画像の隣接する複数のマクロブロックに対応する隣接する複数のマクロブロック分のブロックを抽出して前記第１のブロックとする
ことを特徴とする請求項１に記載の手ぶれ量検出装置。
【請求項３】
前記残差取得手段が前記残差を算出するより前に、前記各マクロブロックに対して輝度値の最大値と最小値との差を算出し、当該差が所定のしきい値よりも小さいと判定した場合に、当該差を有するマクロブロックを前記残差取得手段が残差を取得する対象から除外する輝度差比較手段
を更に有することを特徴とする請求項２に記載の手ぶれ量検出装置。
【請求項４】
前記ブロック選出手段が前記所定数の前記マクロブロックを選出した後に、輝度値の最大値と最小値との差を算出し、当該差が所定のしきい値よりも小さいと判定した場合に、当該差を有するマクロブロックを前記残差取得手段が残差を取得する対象から除外する輝度差比較手段
を更に有することを特徴とする請求項２に記載の手ぶれ量検出装置。
【請求項５】
前記基準画像及び参照画像のＲＡＷデータの所定の成分のみを抽出し、間引いて間引き画像を生成するデータ間引き部
を更に有し、
前記マクロブロック分割手段及び前記ブロック抽出手段は、前記基準画像及び前記参照画像の代わりに、前記データ間引き部が生成した前記間引き画像を使用する
ことを特徴とする請求項１から４のいずれか一項に記載の手ぶれ量検出装置。
【請求項６】
前記残差取得手段は、前記ブロック抽出手段が抽出した前記第１のブロック及び第２のブロックの残差を算出する際に、全ての範囲の残差を算出せず、所定の範囲のみの残差を算出する
ことを特徴とする請求項１から５のいずれか一項に記載の手ぶれ量検出装置。
【請求項７】
露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出し当該手ぶれ量を基に手ぶれ補正を行う手ぶれ補正装置であって、
前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割するマクロブロック分割手段と、
前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記マクロブロック分割手段が分割した参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出するブロック抽出手段と、
前記ブロック抽出手段が抽出した前記第１のブロック及び第２のブロックの残差を算出する残差取得手段と、
粗サーチにて残差積分値が小さいマクロブロックを所定数選出するブロック選出手段と、
該選出したブロックの最小となったポイントの近傍のサーチエリアのみで精サーチを行い、該結果から手ぶれ量を算出する算出手段と、
前記手ぶれ量算出手段の求めた前記手ぶれ量を基に、前記複数枚の画像を合成する画像合成手段と
を有することを特徴とする手ぶれ補正装置。
【請求項８】
光学系を通して被写体像を撮影する撮像装置であって、
露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出装置を有し、
当該手ぶれ量検出装置は、
露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出装置であって、
前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割するマクロブロック分割手段と、
前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記マクロブロック分割手段が分割した参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出するブロック抽出手段と、
前記ブロック抽出手段が抽出した前記第１のブロック及び第２のブロックの残差を算出する残差取得手段と、
粗サーチにて残差積分値が小さいマクロブロックを所定数選出するブロック選出手段と、
該選出したブロックの最小となったポイントの近傍のサーチエリアのみで精サーチを行い、該結果から手ぶれ量を算出する算出手段と、
を有することを特徴とする撮像装置。
【請求項９】
露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出方法であって、
前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割する第１の工程と、
前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記第１の工程において分割された参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出する第２の工程と、
前記第２の工程において抽出された前記第１のブロック及び第２のブロックの残差を算出する第３の工程と、
粗サーチにて残差積分値が小さいマクロブロックを所定数選出する第４の工程と、
前記第４の工程において選出されたブロックの最小となったポイントの近傍のサーチエリアのみで精サーチを行い、該結果から手ぶれ量を算出する第５の工程と、
を有することを特徴とする手ぶれ量検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手ぶれ補正を行う手ぶれ量検出装置、手ぶれ補正装置、撮像装置及び手ぶれ量検出方法に関する。
【背景技術】
【０００２】
近年、撮像装置としてカメラの小型化が進み、手ぶれ補正技術が注目されてきている。
カメラの小型化により、写真撮影においてホールド製の低下や、携帯電話搭載のカメラなど撮影方法として、片手での撮影など従来の撮影形態と比べ自由度が広がっている。
【０００３】
このように、撮影する際に、種々の方法や安定性のない状態で撮影する場合、シャッターボタンを押した際にカメラがブレて手ぶれが発生してしまう。
例えば、露出時間の長い安条件での撮影となるとシャッター速度が遅くなりブレてしまうケースが多々ある。
また露出条件で感度を上げて露出時間を短くし撮影した場合は、ノイズがのってしまい粗い画像となってしまう。
【０００４】
この問題を解消すべく、手ぶれ補正を行う装置が、一眼レフや最近ではコンパクトカメラにも搭載されている。
例えば、ブレに合わせてレンズを傾斜させ補正する、光学式手ぶれ補正装置が製品化されているが、近年の小型化や携帯電話カメラへの搭載を考慮するとスペース的に非常に困難である。
【０００５】
また、他の方法として、画像処理により複数枚の画像からぶれの無い画像を得ることができる撮像装置などが種々提案されている。
【０００６】
例えば、特許文献１には、露光条件が異なる撮像画像情報を合成してダイナミックレンジを拡大した画像を得る際に、露光条件が異なる画素で得られたほぼ同時刻の撮像画像情報の合成に際し、少なくとも一方の露光条件の撮像画像情報を重複して使用する撮像装置が開示されている。
【０００７】
特許文献２には、カメラに備えた角度検出センサの検出情報と、カメラの焦点距離情報及び絞り情報とにより、撮影者特有の手ぶれ限界露光時間をあらかじめ記憶しておき、適正露光時間が手ぶれ限界露光時間より長くなる場合には、それより短い露光時間で複数回の撮影を行い画像を合成して手ぶれ補正を行う補正装置が開示されている。
【０００８】
特許文献３には、レンズからの光束を２つに分離し、一方の光束を減衰させて得た輝度差のある２つの被写体像を撮像素子の撮像面上の異なる領域に生成し、これら２枚の画像データは電荷蓄積時間及び電荷蓄積スタート時刻を互いに等しくすることによって、拡大されたダイナミックレンジを有する新たな画像データを得る撮像装置が開示されている。
【０００９】
特許文献４には、間引いたブロックごとに動きベクトルを検出し、検出された動きベクトルから内挿補間することによって、検出を行っていないブロックに動きベクトルを与え、最終の動きベクトル検出においてはブロックごとに検出を行う動きベクトル検出方法が開示されている。
【００１０】
特許文献５には、画像評価を行い、重要と判断された部分は高精細度に、動きが少ない或いは静止している部分は粗い精細度でデータを送信する画像圧縮方式が開示されている。
【００１１】
【特許文献１】特開平１０−１０８０７９号公報
【特許文献２】特開２００４−２７９５１４号公報
【特許文献３】特開２００３−３２５５９号公報
【特許文献４】特開平７−１７７５１９号公報
【特許文献５】特開平６−１６９４５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、上述した手ぶれ補正方法においては、多くの撮影枚数を必要とし、撮影間に生じる画像間の位置ズレを補正するため処理時間が長くなってしまうという不利益がある。
本発明は、上述した不利益を解消するために、処理量が少なく高精度な手ぶれ量検出を実施できる手ぶれ量検出装置、手ぶれ補正装置、撮像装置及び手ぶれ量検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の手ぶれ量検出装置は、露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出装置であって、前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割するマクロブロック分割手段と、前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記マクロブロック分割手段が分割した参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出するブロック抽出手段と、前記ブロック抽出手段が抽出した前記第１のブロック及び第２のブロックの残差を算出する残差取得手段と、粗サーチにて残差積分値が小さいマクロブロックを所定数選出するブロック選出手段と、該選出したブロックの最小となったポイントの近傍のサーチエリアのみで精サーチを行い、該結果から手ぶれ量を算出する算出手段と、を有する。
【００１４】
本発明の手ぶれ補正装置は、露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出し当該手ぶれ量を基に手ぶれ補正を行う手ぶれ補正装置であって、前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割するマクロブロック分割手段と、前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記マクロブロック分割手段が分割した参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出するブロック抽出手段と、前記ブロック抽出手段が抽出した前記第１のブロック及び第２のブロックの残差を算出する残差取得手段と、粗サーチにて残差積分値が小さいマクロブロックを所定数選出するブロック選出手段と、該選出したブロックの最小となったポイントの近傍のサーチエリアのみで精サーチを行い、該結果から手ぶれ量を算出する算出手段と、前記手ぶれ量算出手段の求めた前記手ぶれ量を基に、前記複数枚の画像を合成する画像合成手段と、を有する。
【００１５】
本発明の撮像装置は、光学系を通して被写体像を撮影する撮像装置であって、露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出装置を有し、当該手ぶれ量検出装置は、露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出装置であって、前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割するマクロブロック分割手段と、前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記マクロブロック分割手段が分割した参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出するブロック抽出手段と、前記ブロック抽出手段が抽出した前記第１のブロック及び第２のブロックの残差を算出する残差取得手段と、粗サーチにて残差積分値が小さいマクロブロックを所定数選出するブロック選出手段と、該選出したブロックの最小となったポイントの近傍のサーチエリアのみで精サーチを行い、該結果から手ぶれ量を算出する算出手段と、を有する。
【００１６】
本発明の手ぶれ量検出方法は、露出条件の異なる基準画像と参照画像を基に、マッチング処理を行い手ぶれ量を検出する手ぶれ量検出方法であって、前記基準画像及び参照画像をそれぞれ複数のマクロブロックに分割する第１の工程と、前記マクロブロック分割手段が分割した前記基準画像から１または複数で形成される所定の大きさのマクロブロックによって構成される第１のブロックを抽出し、前記第１の工程において分割された参照画像のマクロブロックから１または複数で形成される所定の大きさのマクロブロックによって構成される第２のブロックを抽出する第２の工程と、前記第２の工程において抽出された前記第１のブロック及び第２のブロックの残差を算出する第３の工程と、粗サーチにて残差積分値が小さいマクロブロックを所定数選出する第４の工程と、前記第４の工程において選出されたブロックの最小となったポイントの近傍のサーチエリアのみで精サーチを行い、該結果から手ぶれ量を算出する第５の工程と、を有する。
【発明の効果】
【００１７】
処理量が少なく高精度な手ぶれ量検出を実施できる手ぶれ量検出装置、手ぶれ補正装置、撮像装置及び手ぶれ量検出方法を提供する。
【発明を実施するための最良の形態】
【００１８】
以下、本実施形態の撮像装置について説明する。
図１は、本実施形態の撮像装置１の構成を示すブロック図である。
図１に示すように、本実施形態の撮像装置１は、カメラ２、手ぶれ量検出部３、画像合成部４、バッファメモリ５を有する。
【００１９】
カメラ２は、レンズ、及びＣＣＤ（Charged Coupled Device）或いはＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子からなり、レンズを通過した光を撮像素子が光電変換し、カラーフィルタによって色情報を取得して画像データ（ＲＡＷデータ）として出力するデジタルカメラモジュールである。カメラ２は、画像の撮影時に手ぶれ補正を行う場合には、連続して撮影した、露出条件が異なる複数の画像を撮影する。手ぶれ量検出のために、この複数の画像の内１枚を基準画像とし、残りのその他の画像を参照画像として使用する。なお、基準画像と参照画像とは露出条件が異なる。基準画像は露光時間が短く、解像度は高いがノイズが多い画像であり、参照画像は、露光時間が長く、解像度が低くノイズの少ない画像である。カメラ２が撮影した画像は手ぶれ補正処理のために一時的にバッファメモリ５に記憶される。
【００２０】
手ぶれ量検出部３は、カメラ２が撮影しバッファメモリ５に記憶した基準画像及び参照画像を基に、画像の手ぶれ量を検出する。
手ぶれ量検出部３は、手ぶれ量検出のための構成として、データ間引き部３１、マクロブロック分割部３２、ブロック抽出部３３、輝度差比較部３４、残差取得部３５、ブロック選出部３６、手ぶれ量算出部３７を更に有する。
【００２１】
データ間引き部３１は、カメラ２が撮影した基準画像及び参照画像の生データ（ＲＡＷデータ）のデータを間引いて、動き量検出に使用する間引き基準画像および間引き参照画像を作成する。
ＲＡＷデータは、カメラ２の撮像素子から得られた信号そのままのデータであり、例えば、原色カラーフィルタを有するカメラにより撮影したＲＡＷデータは、図２に示すように、Ｇｒ（緑）、Ｒ（赤）、Ｂ（青）、Ｇｂ（緑）の４種類の色データによって構成されている。
データ間引き部３１は、カメラ２が撮影した基準画像及び参照画像それぞれのＲＡＷデータを１／２或いは１／８に間引いた間引き画像を作成する。１／２間引き画像は、縦横それぞれの画素のうち２つに１つの画素のみを抽出して作成された間引き画像であり、１／８間引き画像は縦横それぞれの画素のうち８つに１つの画素のみを抽出して作成された間引き画像である。
【００２２】
間引く方法は本発明では限定しない。例えば、１／２間引きの方法としては、カメラ２が撮影した基準画像及び参照画像それぞれのＲＡＷデータを基に、この４種類の色データのうち先頭の緑のデータ（Ｇｒ）のみを抽出する方法等がある。更に、本実施形態ではＧｒのみを抽出しているが、本発明はこれに限定されず、Ｒ、Ｂ、Ｇｂのいずれか１つを抽出してもよい。また、１／２間引き画像の代わりに、間引かないＲＡＷデータを使用してもよい。
【００２３】
マクロブロック分割部３２は、データ間引き部３１がＲＡＷデータの一部を間引いて作成した１／８の基準画像及び参照画像を、それぞれ複数個のマクロブロックに分割する。本実施形態では、例えば、マクロブロック分割部３２は、それぞれの画像を例えば１０×１０のマクロブロックに分割する。
【００２４】
ブロック抽出部３３および残差取得部３５は、残差逐次検定法（ＳＳＤＡ：Sequential Similarity Detection Algorithms）により、基準画像内のブロックと対応する参照画像内のブロックとの各画素値の差の絶対値の和（残差）を求め、テンプレートマッチングを行う。
テンプレートマッチングとは、探索対象パターン（探索ブロックＩ）と事前に用意したテンプレート（テンプレートブロックＴ）との類似度や相違度を求める手法であり、残差逐次検定法はその手法の１つである。
残差逐次検定法とは、図３に示すように、基準画像からＭ×Ｎ個の画素で構成される探索ブロックＩを、参照画像からｍ×ｎ個の画素で構成されるテンプレートブロックＴを抽出し、探索ブロックＩ上でテンプレートブロックＴを動かして比較を行い、テンプレートブロックＴと一致する探索ブロックＩ上の位置を探し出す方法である。なお、Ｍ＞ｍ、Ｎ＞ｎであり、テンプレートブロックＴの左上の座標を（ｘ，ｙ）としたとき、残差、すなわち探索ブロックＩとテンプレートブロックＴとの画素値の差の累積残差Ｅ（ｘ，ｙ）、すなわち、残差を基にマクロブロック毎にマクロブロック内の全画素を足し合わせた残差積分値Ｅ（ｘ，ｙ）は、（ｘ，ｙ）の関数であり、数式（１）で与えられる。
【００２５】
【数１】
2007281831.tif 000003
【００２６】
残差積分値Ｅ（ｘ，ｙ）が最小になる（ｘ，ｙ）の位置が、テンプレートブロックＴと探索ブロックＩとが一致する位置である。
【００２７】
本実施形態では、ブロック抽出部３３は、図４（ａ）に示すように、基準画像の１０×１０のマクロブロックから２×２＝４ブロックの探索ブロックＩを抽出し、更に、ブロック抽出部３３は、図４（ｂ）に示す、対応する参照画像の２×２ブロックの中心部に位置するマクロブロックの縦横２辺のそれぞれ１／４の長さを有する２辺により構成されたブロックが４つ集まって構成されるテンプレートブロックＴを抽出する。
次に、残差取得部３５が、まず１／８間引き画像の探索ブロックＩ及びテンプレートブロックＴを使用し、上述した残差逐次検定法により残差を取得する（粗サーチ）。残差取得時の探索ブロックＩとテンプレートブロックＴを図５に示す。
図５は、探索ブロックＩがテンプレートブロックＴに探索される様子を示した図である。図５に示すように、テンプレートブロックＴは１画素ずつ移動しながら探索ブロック内をサーチしていく。
【００２８】
なお、残差逐次検定法では、Ｅ（ｘ，ｙ）を算出するために画素値の差を累積している間に、Ｅ（ｘ，ｙ）の値が所定のしきい値Ａを超えた場合は、探索ブロックＩとテンプレートブロックＴとが全く一致しないことを意味するため、その時点でその位置（ｘ，ｙ）に対する残差積分値Ｅ（ｘ，ｙ）の算出処理を止め、他の位置（ｘ，ｙ）に対する残差の算出に移行する。これにより、残差逐次検定法によるテンプレートマッチングは、処理時間の短縮と処理量の低減が可能である。所定のしきい値Ａの大きさについては、本発明では限定しない。
【００２９】
また、ブロック抽出部３３は基準画像の１０×１０のマクロブロックから２×２＝４ブロックの探索ブロックＩを抽出し、更に、ブロック抽出部３３は、図４（ｂ）に示す、対応する参照画像の２×２ブロックの中心部に位置するマクロブロックの縦横２辺のそれぞれ１／４の長さを有する２辺により構成されたブロックが４つ集まって構成されるテンプレートブロックＴを抽出するとしたが、ここで説明した抽出するマクロブロックの数は一例であり、本発明はこれには限定されない。すなわち、ブロック抽出部３３は、１つのみのマクロブロックで構成される探索ブロックＩ及びテンプレートブロックＴを抽出し、残差算出部３５はこれを使用して残差を算出してもよい。
【００３０】
更に、本実施形態では、ブロック抽出部３３が探索ブロックＩ及びテンプレートブロックＴを抽出してから残差取得部３５が残差を取得するまでの間に、輝度差比較部３４が、各マクロブロックに対し、輝度値の最大値と最小値との差をとり、所定のしきい値Ｂよりこの差が小さい場合には、そのマクロブロックを残差取得部３５が残差を取得する対象から除外する処理を行う。なお、しきい値Ｂは、基準画像の全画素または参照画像の全画素の輝度値の最大値と最小値との差の所定割合、或いは基準画像と参照画像との全画素の輝度値の最大値と最小値との差の平均値の所定割合とすればよい。
すなわち、輝度値の最大値と最小値との差が小さいブロックは、例えば真っ白な部分等、コントラストが低いブロックであり、こうしたブロックでは手ぶれ量が検出しにくいため、動き量検出処理から除外してしまうのである。
なお、所定のしきい値Ｂの大きさについては、本発明では限定しない。
【００３１】
ブロック選出部３６は、輝度差比較部３４が、各マクロブロックに対し、輝度値の最大値と最小値との差をとり、所定のしきい値Ｂよりこの差が小さい場合には、そのマクロブロックを残差取得部３５が残差を取得する対象から除外し、残差取得部３５が取得した、全ての探索ブロックＩにおける残差積分値Ｅ（ｘ，ｙ）の最小値を比較した後、最小値が小さい残差積分値を有する探索ブロックＩの小さいものを所定の数だけ抽出する。或いは、所定の数のブロックを抽出する代わりに、全ブロック数の所定の割合のブロックを抽出してもよい。
本実施形態では、例えば、９個のブロックを抽出する。
【００３２】
ここで、残差積分値算出部３５は、探索ブロックＩ内でブロック選出部３６が選出した９個のマクロブロックに対して、１／２間引き画像で積分値Ｅ（ｘ，ｙ）を求める（精サーチ）。
１／２間引き画像の残差積分値を求める際には、上述したブロック抽出部３３、残差取得部３５及びブロック選出部３６が１／８間引き画像に対して求めた残差積分値が小さい画素の近傍の画素のみに対して残差積分値の算出を行えばよいので、手ぶれ量算出部の計算量は従来に比べ格段に少なくなる。
【００３３】
ここで、図６と関連付けて１／８間引き画像と、１／２間引き画像との関係について説明する。
図６に示す○印は、１／８間引き画像において残差積分値算出が行われる画素を表しており、図６に示す×印は、１／２間引き画像において残差積分値算出が行われる画素を示している。１／２間引き画像における残差積分値算出が行われる画素の内縦横それぞれ４個毎に１／８間引き画像において残差積分値算出が行われる画素があることがわかる。
すなわち、１／８間引き画像において、図６のａの画素がそのブロックにおける残差積分値最小となる画素であったとすると、１／２間引き画像においては、図６の点線で囲まれた範囲内に残差積分値が最小となる画素が存在していることがわかる。
【００３４】
手ぶれ量算出部３７は、以上のようにして求めた１／２間引き画像での残差積分値Ｅ（ｘ，ｙ）を小さいものから順に並べた時の中央値を算出して、この画像の手ぶれ量とする。なお、本実施形態では中央値としたが、本発明はこれに限定されず、所定順位のものであればよい。
手ぶれ量検出部３は、上述した方法で手ぶれ量を検出する。
【００３５】
画像合成部４は、手ぶれ量検出部３が検出した手ぶれ量を基に、カメラ２が撮影した（間引いていない）基準画像と参照画像を合成し、手ぶれ補正を行った補正画像を作成する。
バッファメモリ５は、手ぶれ補正処理に使用される補正前の画像データを一時的に記憶しておくＲＡＭ（Random Access Memory）である。
【００３６】
以下、本実施形態の撮像装置１の撮影時の動作例について説明する。
図７は、撮像装置１の動作例を示すフローチャートである。
【００３７】
ステップＳＴ１：
カメラ２は、露出条件を変えて１枚の基準画像と、１または複数枚の参照画像とを撮影する。
ステップＳＴ２：
データ間引き部３１は、ステップＳＴ１においてカメラ２が撮影した基準画像及び参照画像の生データから１／８間引き画像および１／２間引き画像を作成する。
ステップＳＴ３：
マクロブロック分割部３２は、ステップＳＴ２においてデータ間引き部３１が作成した１／８間引き画像の基準画像及び参照画像を、１０×１０個のマクロブロックに分割する。
【００３８】
ステップＳＴ４：
ブロック抽出部３３が、ステップＳＴ３においてマクロブロック分割部３２が１０×１０個のマクロブロックに分割した１／８間引き画像の基準画像及び参照画像から、図４（ａ）に示すように、基準画像の１０×１０のマクロブロックからは２×２＝４ブロックの探索ブロックＩを抽出し、図４（ｂ）に示すように、参照画像からは、対応する２×２ブロックの中心部に位置するマクロブロックの縦横２辺のそれぞれ１／４の長さを有する２辺により構成されたブロックが４つ集まって構成されるテンプレートブロックＴを抽出する。
【００３９】
ステップＳＴ５：
輝度差比較部３４は、各画素の輝度値の最大値と最小値との差をとり、所定のしきい値Ｂよりこの差が小さい場合には、そのマクロブロックを残差取得部３５が残差を取得する対象から除外する。
ステップＳＴ６：
残差取得部３５は、ステップＳＴ５において輝度差比較部３４が除外しなかった探索ブロックＩ及びテンプレートブロックＴを使用し、上述した残差逐次検定法により残差を取得する。
【００４０】
ステップＳＴ７：
ブロック選出部３６は、残差取得部３５が取得した、全ての探索ブロックＩにおける残差積分値Ｅ（ｘ，ｙ）が小さいマクロブロックを９個選出する。
ステップＳＴ８：
残差取得部３５は、１／２間引き画像の基準画像及び参照画像を、ステップＳＴ７においてブロック選出部が選出したマクロブロックに対して、再度残差積分値を算出する。
このステップにおける残差取得部３５の処理は、手ぶれ量検出部３の手ぶれ量検出処理全体の精度を上げるためになされる。
【００４１】
ステップＳＴ９：
手ぶれ量算出部３７は、探索ブロックＩ内で残差が最小値をとるテンプレートブロックＴの位置を、ステップＳＴ８において残差取得部３５が取得した、１／２間引き画像に対する残差積分値を基に求め、ブロック選出部３６が選出したマクロブロックにおいて１／２間引き画像の残差積分値Ｅ（ｘ，ｙ）を求めて小さいものから順に並べたときの中央値を抽出する。
【００４２】
ステップＳＴ１０：
画像合成部４は、ステップＳＴ９において手ぶれ量算出部３７が算出した手ぶれ量を基に、カメラ２が撮影した（間引いていない）基準画像と参照画像を合成し、手ぶれ補正を行った補正画像を作成する。
【００４３】
以上説明したように、本実施形態の撮像装置１によれば、手ぶれ量を検出する際に、ブロック選出部３６が小さい残差積分値を有するブロックの小さいものを所定の数或いは割合だけ選出し、当該所定の数のブロックを基に残差積分値が最小となるテンプレート画像の位置を求め、それを基に手ぶれ量を検出しているので、手ぶれ量検出処理全体の処理量が少なくて済み、処理にかかる時間も短くて済む。
【００４４】
更に、本実施形態の撮像装置１によれば、データ間引き部３１が基準画像及び参照画像の生データから１／８間引き画像および１／２間引き画像を作成し、後の処理においてまず１／８間引き画像を使用して残差積分値を求め（粗サーチ）た後、残差積分値が小さいブロックを所定数抽出してその中で１／２間引き画像に対して再度残差積分値も求め（精サーチ）ているので、手ぶれ量検出処理全体の処理量が少なくて済み、処理にかかる時間も短くて済む。また、残差取得部３５は、１／８間引き画像を基に残差積分値を取得した後、１／２間引き画像を基に再度残差積分値を取得しているので、精度の高い手ぶれ量検出処理を行うことができる。
【００４５】
また、本実施形態の撮像装置１によれば、ブロック抽出部３３が探索ブロックＩ及びテンプレートブロックＴを抽出してから残差取得部３５が残差積分値を取得するまでの間に、輝度差比較部３４が、各マクロブロックに対し、輝度値の最大値と最小値との差をとり、所定のしきい値Ｂよりこの差が小さい場合には、そのマクロブロックを残差取得部３５が残差を取得する対象から除外しているので、コントラストが低く残差積分値を取得できないと予測されるブロックを予め残差取得部３５が残差積分値を取得する処理から除外しているので、手ぶれ量検出処理全体の処理量が少なくて済み、処理にかかる時間も短くて済む。
【００４６】
また、本実施形態の撮像装置１によれば、残差積分値の計算を行う際に累積値が所定の値を超えた時点で残差計算を止める残差逐次検定法によってパターンマッチングを行っているので、手ぶれ量検出処理全体の処理量が少なくて済み、処理にかかる時間も短くて済む。
【００４７】
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
【００４８】
また、本実施形態においては、ブロック抽出部３３が探索ブロックＩ及びテンプレートブロックＴを抽出してから残差取得部３５が残差積分値を取得するまでの間に、輝度差比較部３４が、各マクロブロックに対し、輝度値の最大値と最小値との差をとり、所定のしきい値Ｂよりこの差が小さい場合には、そのマクロブロックを残差取得部３５が残差積分値を取得する対象から除外しているが、本発明はこれには限定されず、例えば、輝度差比較部３４は、ブロック選出部３６が、全ての探索ブロックＩにおける残差積分値Ｅ（ｘ，ｙ）の最小値を比較し、最小値が小さい残差積分値を有する探索ブロックＩの小さいものを所定数抽出した直後に（すなわち、図５におけるステップＳＴ９とＳＴ１０の間で）、輝度差を取得し、輝度差がしきい値以下のブロックに対しては残差積分値を取得する対象から除外する処理を行ってもよい。
【００４９】
また、本実施形態においては、１／８間引き画像及び１／２間引き画像を作成して粗サーチと精サーチを行ったが、間引き率については本発明では限定しない。例えば、１／１６間引き画像で粗サーチを行い、間引いていない画像で精サーチを行ってもよい。
【００５０】
本実施形態において、手ぶれ検出部３は手ぶれ量検出のための構成として、データ間引き部３１、マクロブロック分割部３２、ブロック抽出部３３、輝度差比較部３４、残差取得部３５、ブロック選出部３６、手ぶれ量算出部３７とを更に有していたが、これら手ぶれ検出部３の各構成は、それらの処理を行うためのハードウェアとして撮像装置１に組み込まれていてもよいし、手ぶれ検出部３の制御に従い処理を行うソフトウェアであってもよい。
【００５１】
また、本実施形態においては、手ぶれ量検出処理はカメラ２が撮像したＲＡＷデータ（ＲＧＢベイヤー配列のデータ）に対して行うが、本発明はこれに限定されない。たとえば、画像を信号処理後に、ＹＵＶ形式における輝度信号Ｙを用いて手ぶれ量検出処理を行うこともできる。
【００５２】
また、上述した実施形態では、残差算出部３５が１／８間引き画像を使用して残差積分値を求める際（粗サーチ）の残差を算出する範囲については特に指定しなかったが、例えば、粗サーチ時に残差算出部３５が所定の範囲のみの画素に対して残差の検出を行っても良い。
以下、残差算出部３５が粗サーチ時に所定の範囲のみの画素に対して残差の検出を行う場合について図８に関連付けて説明する。
図８に示すように、残差算出部３５は、１／８に間引いた画像の、例えば画像全体に対して５％の画素が存在する範囲のみに対して残差算出を行う。すなわち、当該画像が３メガピクセル（２０４８画素×１５３６画素）であったならば、水平方向には２０４８／５／２０＝約１３（画素）のみ残差算出を行い、垂直方向には１５３５／８／２０＝約１０（画素）に対してのみ残差算出を行う。従って、所定の範囲のみの画素に対して残差を検出する場合は、上述した実施形態よりも更に残差算出に要する時間が短縮される。
なお、５％という値は一例であり、本発明はこれには限定されない。５％という値は、手ぶれを検出するために最低限必要であるという、経験から導かれた値である。
【図面の簡単な説明】
【００５３】
【図１】図１は、本実施形態の撮像装置１の構成を示すブロック図である。
【図２】図２は、ＲＡＷ画像データの構成の一例を示す図である。
【図３】図３は、残差逐次検定法について説明するための図である。
【図４】図４は、本実施形態におけるブロック抽出部３３のブロック抽出の具体例を示す図である。
【図５】図５は、テンプレートブロックＴが探索ブロックＩを探索する様子を示した図である。
【図６】図６は、１／８間引き画像と１／２間引き画像における残差積分値最小の画素がある範囲を示した図である。
【図７】図７は、本実施形態の撮像装置１の撮影時の動作例を示すフローチャートである。
【図８】図８は、残差算出部３５が粗サーチ時に所定の範囲のみ残差を算出する場合について説明するための図である。
【符号の説明】
【００５４】
１…撮像装置、２…カメラ、３…手ぶれ量検出部、３１…データ間引き部、３２…マクロブロック分割部、３３…ブロック抽出部、３４…輝度差比較部、３５…残差取得部、３６…ブロック選出部、３７…手ぶれ量算出部、４…画像合成部、５…バッファメモリ
【図１】
2007281831.tif 000004
【図２】
2007281831.tif 000005
【図３】
2007281831.tif 000006
【図４】
2007281831.tif 000007
【図５】
2007281831.tif 000008
【図６】
2007281831.tif 000009
【図７】
2007281831.tif 000010
【図８】
2007281831.tif 000011