(57)【要約】【課題】撮像装置と被写体との相対的な動きが画像の直線パターンと略同一の方向の場合でも、誤検出が生じにくい動き検出を行う撮像装置、画像処理方法、及び、コンピュータプログラムを提供すること。【解決手段】被写体を光電変換して画像を得る撮像手段と、前記画像が有する領域毎に、動き検出の適否に係る特徴量を算出する特徴量算出手段と、前記領域毎の動きベクトルを検出する領域動き検出手段と、前記特徴量と前記動きベクトルとから、前記画像の全体の動き量を算出する全体動き算出手段と、を有する撮像装置。【選択図】図２
2011135553.tif 000002
【特許請求の範囲】
【請求項１】
被写体を光電変換して画像を得る撮像手段と、
前記画像が有する領域毎に、動き検出の適否に係る特徴量を算出する特徴量算出手段と、
前記領域毎の動きベクトルを検出する領域動き検出手段と、
前記特徴量と前記動きベクトルとから、前記画像の全体の動き量を算出する全体動き算出手段と、
を有することを特徴とする撮像装置。
【請求項２】
前記特徴量は、コーナー部の領域と、直線パターンの領域と、パターンのない領域とを識別可能な特徴量であることを特徴とする請求項１記載の撮像装置。
【請求項３】
前記特徴量は、前記領域毎の勾配共分散行列の固有値であることを特徴とする請求項１記載の撮像装置。
【請求項４】
前記固有値は、勾配共分散行列の２つの固有値のうち、小さなほうの固有値であることを特徴とする請求項３記載の撮像装置。
【請求項５】
前記領域動き検出手段は、前記特徴量に基づいて、動き検出の対象となる範囲を設定することを特徴とする請求項１ないし４何れか一項に記載の撮像装置。
【請求項６】
前記全体動き算出手段は、前記動き量を算出する際に、前記特徴量又は前記特徴量に係る値に基づいて重み付けされた前記動きベクトルを用いることを特徴とする請求項１ないし５何れか一項に記載の撮像装置。
【請求項７】
算出される前記動き量に基づいて、前記撮像手段を制御する制御手段を有することを特徴とする請求項１ないし６何れか一項に記載の撮像装置。
【請求項８】
前記制御手段は、前記撮像手段により撮影される画像においてブレが無くなるための制御を前記撮像手段に対して行うことを特徴とする請求項７記載の撮像装置。
【請求項９】
被写体を光電変換して画像を得る撮像ステップと、
前記画像が有する領域毎に、動き検出の適否に係る特徴量を算出する特徴量算出ステップと、
前記領域毎の動きベクトルを検出する領域動き検出ステップと、
前記特徴量と前記動きベクトルとから、前記画像の全体の動き量を算出する全体動き算出ステップと、
を有することを特徴とする画像処理方法。
【請求項１０】
被写体を光電変換して画像を得る撮像ステップと、
前記画像が有する領域毎に、動き検出の適否に係る特徴量を算出する特徴量算出ステップと、
前記領域毎の動きベクトルを検出する領域動き検出ステップと、
前記特徴量と前記動きベクトルとから、前記画像の全体の動き量を算出する全体動き算出ステップと、
を有する画像処理方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、画像処理方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、デジタルカメラの手ぶれ補正等を行うために、画像全体の動きベクトルを検出する技術がある。例えば、特開２００６−２８７８１４号公報（特許文献１）には、被写体のフレームをマトリクス状に分割して得られる領域毎の動きベクトルを評価する際に、各領域のＡＦ値を用いる撮像装置等の発明が開示されている。
【０００３】
特許文献１に開示の撮像装置等の発明では、撮影する被写体とは無関係な物体が、動きベクトル決定に悪影響を与えないようにするために、合焦している物体を含む領域のＡＦ評価値を、合焦していない領域のＡＦ評価値より高くして、領域毎の動きベクトルに対して重み付けを行う。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に開示の撮像装置等の発明では、領域に物体等のエッジ部が含まれている場合については、考慮されていない。ＡＦ評価値は、画像のコントラストを示す値であり、エッジを含む領域では大きな値となる。
【０００５】
ところで、エッジを含む領域の動きを検出する際には、画像全体の動き方向と、エッジの伸張方向とが同一の場合に、そのエッジを含む領域の動きが検出されないことがある。また、その領域の動きが無いにも関わらず、エッジの伸張方向等に動きが検出されることもある。
【０００６】
したがって、ＡＦ評価値を領域毎の動きベクトルの重み付けに用いると、エッジ方向に、撮像装置と被写体との相対的な動きが生じた場合に、誤検出が生じやすい。
【０００７】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、撮像装置と被写体との相対的な動きが画像の直線パターンと略同一の方向の場合でも、誤検出が生じにくい動き検出を行う撮像装置、画像処理方法、及び、コンピュータプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の撮像装置は次の如き構成を採用した。本発明の撮像装置は、被写体を光電変換して画像を得る撮像手段と、前記画像が有する領域毎に、動き検出の適否に係る特徴量を算出する特徴量算出手段と、前記領域毎の動きベクトルを検出する領域動き検出手段と、前記特徴量と前記動きベクトルとから、前記画像の全体の動き量を算出する全体動き算出手段と、を有する構成とすることができる。
【０００９】
これにより、撮像装置と被写体との相対的な動きが画像の直線パターンと略同一の方向の場合でも、誤検出が生じにくい動き検出を行う撮像装置を提供することができる。
【００１０】
なお、上記課題を解決するため、本発明は、上記撮像装置における画像処理方法、又は、その画像処理方法をコンピュータに実行させるためのコンピュータプログラムとしてもよい。
【発明の効果】
【００１１】
本発明の撮像装置、及び、画像処理方法によれば、撮像装置と被写体との相対的な動きが画像の直線パターンと略同一の方向の場合でも、誤検出が生じにくい動き検出を行う撮像装置、画像処理方法、及び、コンピュータプログラムを提供することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施形態に係る撮像装置によって得られる画像の例を示す図である。
【図２】図２は、本実施の形態に係る撮像装置の機能構成を示すブロック図である。
【図３】図３は、領域特徴量を算出する画素について説明する図である。
【図４】図４は、画像領域Ｐの画素のパターンの一例を示す図である。
【図５】図５は、識別の場合分けの一例を示す図である。
【図６】図６は、ブロックマッチング法を説明する図である。
【図７】図７は、本実施の形態に係る撮像装置のハードウェア構成を示す図である。
【図８】図８は、本実施形態に係る画像処理方法を説明するフロー図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態を図面に基づき説明する。なお、以下の実施の形態において、「直線パターン」とは、画像に含まれるオブジェクト等のエッジ部により形成される直線状のパターンをいう。
【００１４】
〔本実施の形態〕
図１は、本実施形態に係る撮像装置によって得られる画像の例を示す図である。図１の画像は、縦方向にｉ＝１から４の４つ、横方向にｊ＝１から５の５つに分割され、計２０個の領域を有する。
【００１５】
図１の画像において、例えば、（ｉ＝３、ｊ＝４）の領域ａは、直線パターンを含む。領域ａに対する動き検出では、直線の伸張方向と同一の方向に、撮像装置と被写体との相対的な動きがある場合に、動きを検出しない、又は、実際に相対的な動きがない場合に、動きを検出する等の不具合が生じることがある。
【００１６】
本実施の形態では、領域ａのような直線パターンを含む領域の動きベクトルに対しても、好適な重み付けを行うことにより、画像全体の動き量をより正確に検出することのできる撮像装置について、説明する。
【００１７】
図２は、本実施の形態に係る撮像装置の機能構成を示すブロック図である。図２の撮像装置１は、画像入力部１０、領域特徴量算出部２０、動きベクトル検出部３０、フレーム動きベクトル算出部４０、カメラ制御部５０、及び、制御対象部６０を有する。
【００１８】
画像入力部１０は、入力される光から画像データを生成して出力する。画像入力部１０は、例えば、図示しないレンズ及びシャッターを含む光学系を通過した光が入射される。入射される光は、感光素子が平面状に配列される撮像素子に入射され、入射光量に応じた信号電荷に変換され、画像データとして出力される。
【００１９】
領域特徴量算出部２０は、画素毎の領域特徴量を算出する。図３は、領域特徴量を算出する画素について説明する図である。いま、縦３画素、横３画素の画像領域Ｐに含まれるパターンの識別を考える。パターンの識別のために画像領域Ｐについての勾配共分散行列Ｚを算出する。勾配共分散行列Ｚは以下の式（１）により表される。
【数１】
2011135553.tif 000003
【００２０】
式（１）において、Ｐ（０，１）、Ｐ（１，０）、Ｐ（１，４）などの値が必要となるが、実際の画像では画像領域Ｐの外側にも画像が存在するのでそれらの値を用いればよい。領域のサイズが横３画素、縦３画素でない場合にも、式（１）のΣの範囲をその領域のサイズに合わせることで同様に算出できる。
【００２１】
次に、画像領域Ｐに含まれるパターンと勾配共分散行列Ｚの関係について述べる。いま、図４に示すように、３つのパターンを考える。図４の（ａ）、（ｂ）、（ｃ）はそれぞれコーナー部、直線パターン、パターンなしを示す。各パターンに対して勾配共分散行列Ｚを求めると、（ａ）コーナー部は、対角要素が正の大きな値、非対角要素が小さな値となる。（ｂ）直線パターンは、対角要素の一方が正の大きな値、もう一方は小さな値、非対角要素も小さな値となる。（ｃ）パターンなしの場合は、対角要素、非対角要素とも小さな値となる。
【００２２】
また、ある行列Ａの固有値とは、行列Ａの座標系を回転させて非対角要素をゼロにした行列Ｂの対角成分といえる。また、画像の回転と行列の座標系の回転は等しい。
【００２３】
以上より、画像中の任意の領域Ｗの勾配共分散行列Ｚの固有値ｄ１、ｄ２（ただしｄ１≦ｄ２）を求めることで、領域Ｗに含まれているパターンが、コーナー、エッジ（直線パターン）あるいはパターンなしかを識別できることがわかる。識別の場合分けを図５に示す。
【００２４】
勾配共分散行列Ｚの固有値ｄ１、ｄ２は、以下の式（２−１）および（２−２）で表される。
【数２】
2011135553.tif 000004
【００２５】
いま、動き検出に適したコーナーを含む領域を識別して利用したいので、ｄ１を特徴量ｄとして採用する。なお、動き検出に適しているとは、誤検出が少なく信頼性の高い検出が可能であることをいう。
【００２６】
直線部を含む領域、又は、テクスチャのほとんど無い領域では、特徴量ｄは、小さな値となる。これらの領域では、誤検出が生じやすいため、検出される結果の信頼性が低い。
【００２７】
したがって、画像中の任意の領域について、動き検出の適否を識別する特徴量を算出することが可能である。例えば、図１に示す、２０個の各領域において、特徴量ｄｉｊを算出することにより、各領域が、動き検出に適した領域か否かを、定量的に把握し、後段の動き検出やフレーム全体の動きベクトル算出に利用する。
【００２８】
なお、図１において、（ｉ，ｊ）＝（４，５）の領域は、テクスチャがないので、特徴量ｄは、小さくなる。また、（ｉ，ｊ）＝（３，４）の領域は、テクスチャはあるが、直線部のみなので、この領域の特徴量ｄも小さな値となる。一方で、（ｉ，ｊ）＝（４，４）や、（ｉ，ｊ）＝（１，４）の領域は、動き検出に適したコーナー部があるので、特徴量ｄは、大きな値を示す。
【００２９】
図２に戻り、動きベクトル検出部３０は、領域毎の動きベクトルを検出する。動きベクトル検出部３０は、図１の画像において、２０個の領域全てについて、動き検出を行ってもよく、また、動き検出を行わない領域を設けてもよい。
【００３０】
例えば、ｉ及びｊがともに奇数の領域と、ｉ及びｊがともに偶数の領域とを動き検出の対象とすれば、対象領域が画像全体に対して市松模様となり、画像全体をまんべんなく動き検出の対象としつつ、処理時間の短縮をはかることができる。
【００３１】
また、例えば、領域特徴量算出部２０が算出した特徴量ｄｉｊの値を閾値処理して、動き検出の対象となる領域を選択してもよい。より詳細には、閾値Ｄを設定し、ｄｉｊ＞Ｄの領域において、動き検出を行い、ｄｉｊ≦Ｄの領域は、動き検出を行わない。
【００３２】
ｄｉｊは、その領域（ｉ，ｊ）が、動き検出に適している度合いを示すので、検出した動きベクトルの信頼性向上と、処理時間の短縮とをはかることができる。
【００３３】
動きベクトル検出部３０は、領域毎の動きベクトルＶｉｊを、以下の手順で検出する。画像による動きベクトルの算出方法は、例えば、差分画像を用いる方法、時空間微分を用いる方法、及び、テンプレートを用いるブロックマッチング法等がある。ここでは、一例として、ブロックマッチング法について、説明する。
【００３４】
異なる時刻に撮影された２枚の画像間で、同じ対象の対応付けを行い、その移動量として、動きベクトルを検出する。図６は、ブロックマッチング法を説明する図である。図６において、画像１００は、ある時刻ｔ０において撮影された画像であり、画像２００は、時刻ｔ０とは異なる時刻ｔ１において撮影された画像である。
【００３５】
ここでは、画像１００中の位置（ｉ，ｊ）の領域１０１の動きベクトルを検出する。領域１０１は、横方向にＭ画素、縦方向にＮ画素の計（Ｍ×Ｎ）画素を含む。この領域１０１をテンプレートとし、画像２００中における領域１０１と同じ位置の領域２０１の近傍領域２１０において、類似度演算を行い、類似度が最も高い位置又は相違度が最も低い位置を対応領域とする。
【００３６】
テンプレートの対応領域が、図中の領域２０２の場合には、動きベクトルは、領域２０１の中心から領域２０２の中心へと向かうベクトル２０５となる。これを、動きベクトルＶｉｊとする。
【００３７】
類似度（又は相違度）を表す指標は、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を用いるとよい。ＳＡＤは、次式（３）により表される。ＳＡＤは、相違度である。
【数３】
2011135553.tif 000005
【００３８】
ここで、Ｒは、ＳＡＤで算出した相違度、Ｉは、ｘ＝ｙ＝０のときに領域２０１と一致する画像２００の部分領域、Ｔは、テンプレート領域１０１である。近傍領域２１０内で、ｘ及びｙを変化させてＳＡＤを算出し、値の最も低いときのｘの値ｘｍｉｎ及びｙの値ｙｍｉｎから対応する領域２０２を決定する。すなわち、Ｖｉｊ＝（ｘｍｉｎ，ｙｍｉｎ）で表される。
【００３９】
図２に戻り、フレーム動きベクトル算出部４０は、フレーム全体の動きベクトルＶを算出する。フレーム全体の動きベクトルＶは、例えば、次式（４）により算出することができる。
【数４】
2011135553.tif 000006
【００４０】
式（４）で表されるベクトルＶは、重み付けベクトルから算出するため、直線領域などで生じやすい誤検出の影響が小さいか、又は、そのような誤検出の影響が除外されている。そのため、単純なコントラスト検出結果であるＡＦ評価値の重み付けにより得られるベクトルよりも、高精度であることが期待できる。
【００４１】
なお、式（４）では、動きベクトルの重み付けに、特徴量ｄｉｊを用いているが、必ずしもこの例に限らず、特徴量ｄｉｊと正の相関を有する他の重み付け係数を用いてもよい。
【００４２】
カメラ制御部５０は、フレーム動きベクトル算出部４０が算出したフレーム全体の動きベクトルＶの値に応じて、カメラを制御する。より詳細には、撮像装置と被写体との相対的な動きにより生じるブレを押さえた画像を撮影する。
【００４３】
制御対象部６０は、シャッターや撮像素子であり、カメラ制御部５０からの制御信号に基づく、シャッタースピードや撮像素子の感度により、画像データを取得する。
【００４４】
図７は、本実施の形態に係る撮像装置のハードウェア構成を示す図である。図７の撮像装置は、レンズ５００、シャッター５０１、撮像素子５０２、撮像ボタン５０６、及び、制御部５０９を有する。
【００４５】
レンズ５００を通過した光は、シャッター５０１を通過し、撮像素子５０２で光電変換され、デジタルの画像データとして、制御部５０９に入力される。
【００４６】
制御部５０９は、画像処理回路５０３、ＣＰＵ５０４、及び、メモリ５０５を有する。画像処理回路５０３は、画像データに対して、領域毎の特徴量算出、動きベクトル検出、及び、フレーム全体の動きベクトル検出を行う。
【００４７】
ＣＰＵ５０４は、メモリ５０５等に格納されているコンピュータプログラムを実行することにより、撮像装置全体の制御を行う。メモリ５０５は、ＣＰＵ５０４が実行するプログラムを格納し、また、画像処理回路５０３によって処理される画像データ、及び、画像処理回路５０３が処理した画像データ等を格納する。
【００４８】
撮像ボタン５０６を、ユーザが押し下げることにより、レンズ５００を通過した光は、撮像素子５０２で光電変換され、制御部５０９で処理され、ユーザに提供される画像データが生成される。なお、レンズ５００及び撮像素子５０２から制御部５０９への画像データの入力は、連続的に実行され、ユーザが撮像ボタン５０６を押し下げることにより、画像データがメモリ５０５に格納される。
【００４９】
なお図２に示す各機能ブロックと図７のハードウェア構成との対応は、以下の通りである。画像処理回路５０３は、領域特徴量算出部２０、動きベクトル検出部３０、及び、フレーム動きベクトル算出部４０に対応する。ＣＰＵ５０４は、カメラ制御部５０に対応する。制御対象部６０は、レンズ５００、シャッター５０１、及び、撮像素子５０２に対応する。
【００５０】
図８は、本実施形態に係る画像処理方法を説明するフロー図である。図８の画像処理方法は、入力される画像データに対し、フレーム全体の動きベクトルＶが検出され、画像のブレ等を抑制した画像データが、メモリに格納される。
【００５１】
図８のステップＳ１では、制御部５０９にデジタルの画像データが入力される。ステップＳ１に続いてステップＳ２に進み、領域特徴量算出部２０が、領域毎の特徴量ｄｉｊを算出する。ステップＳ２に続いてステップＳ３に進み、動きベクトル検出部３０が、領域毎の動きベクトルＶｉｊを算出する。ステップＳ３に続いてステップＳ４に進み、フレーム動きベクトル算出部４０が、フレーム全体の動きベクトルＶを算出する。
【００５２】
ステップＳ４に続いてステップＳ５に進み、ＣＰＵ５０４が、ステップＳ４で算出されたフレーム全体の動きベクトルＶに基づいて、制御対象部６０に対する制御パラメータを設定し、制御信号を送信する。
【００５３】
より詳細には、例えば、フレーム全体の動きベクトルＶの値が大きければ、シャッター５０１のシャッタースピードを速くし、撮像素子の感度を高める。これにより、撮像装置と被写体との相対的な動きがある場合でも、ブレのない画像を撮像することができる。また、フレーム全体の動きベクトルＶの値が小さければ、シャッター５０１のシャッタースピードを遅くする。これにより、ノイズの少ない画像を撮像することができる。
【００５４】
ステップＳ５に続いてステップＳ６に進み、ＣＰＵ５０４が、ユーザが撮像ボタン５０６を押し下げたか否かを判断する。撮像ボタン５０６が押し下げられていれば、ステップＳ７に進み、撮像ボタン５０６が押し下げられていなければ、ステップＳ１に戻って処理を繰り返す。
【００５５】
ステップＳ６に続くステップＳ７では、設定されたシャッタースピードと撮像素子の感度とにより、撮像素子５０２から出力される画像データが、ＣＰＵ５０４によりメモリ５０５に格納される。
【００５６】
（コンピュータ等による実現）
なお、本発明の実施の形態に係る画像処理方法は、例えばパーソナルコンピュータ（ＰＣ）等で実行されてもよい。例えば、ＣＰＵがＲＯＭやハードディスク装置等に記憶されたプログラムに従い、ＲＡＭ等のメインメモリをワークエリアとして使用し、実行される。
【００５７】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【産業上の利用可能性】
【００５８】
以上のように、本発明にかかる撮像装置は、撮像される画像におけるブレの抑制に有用であり、特に、デジタルカメラに適している。
【符号の説明】
【００５９】
１     撮像装置
１０   画像入力部
２０   領域特徴量算出部
３０   動きベクトル検出部
４０   フレーム動きベクトル算出部
５０   カメラ制御部
６０   制御対象部
５００ レンズ
５０１ シャッター
５０２ 撮像素子
５０３ 画像処理回路
５０５ メモリ
５０６ 撮像ボタン
５０９ 制御部
【先行技術文献】
【特許文献】
【００６０】
【特許文献１】特開２００６−２８７８１４号公報
【図１】
2011135553.tif 000007
【図２】
2011135553.tif 000008
【図３】
2011135553.tif 000009
【図４】
2011135553.tif 000010
【図５】
2011135553.tif 000011
【図６】
2011135553.tif 000012
【図７】
2011135553.tif 000013
【図８】
2011135553.tif 000014