(57)【特許請求の範囲】
【請求項１】
第１の撮像手段と第２の撮像手段でそれぞれ生成された第１の画像データと第２の画像データを取得する取得手段と、
前記第１の画像データと前記第２の画像データの各々から動きベクトルを検出する動きベクトル検出手段と、
前記第１の画像データの画像のぶれを補正するぶれ補正手段と、
前記第１の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御する制御手段と、
を備え、
前記制御手段は、前記第２の画像データから検出された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルから所定の動きベクトルを識別し、識別の結果に従って前記ぶれ補正手段を制御し、
前記第１の撮像手段及び第２の撮像手段のあおり方向のぶれを検出するあおり検出手段をさらに備え、前記制御手段は、前記あおり方向のぶれの大きさに従って、前記第２の画像データから検出された動きベクトルを補正し、
前記第２の画像データから顔を検出する顔検出手段をさらに備え、前記動きベクトル検出手段は、前記検出された顔の情報に従って、前記第２の画像データから動きベクトルを検出し、
前記顔検出手段は、前記検出された顔の情報に従って、前記第２の画像データにおける前記顔の領域を設定し、前記顔の領域に重み付けをし、前記動きベクトル検出手段は、前記重み付けに従って前記第２の画像データから動きベクトルを検出する、
ことを特徴とするぶれ補正装置。
【請求項２】
第１の撮像手段と第２の撮像手段でそれぞれ生成された第１の画像データと第２の画像データを取得する取得手段と、
前記第１の画像データと前記第２の画像データの各々から動きベクトルを検出する動きベクトル検出手段と、
前記第１の画像データの画像のぶれを補正するぶれ補正手段と、
前記第１の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御する制御手段と、
を備え、
前記制御手段は、前記第２の画像データから検出された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルから所定の動きベクトルを識別し、識別の結果に従って前記ぶれ補正手段を制御し、
前記第１及び第２の撮像手段のあおり方向のぶれを検出するあおり検出手段をさらに備え、前記制御手段は、前記あおり方向のぶれの大きさに従って、前記第２の画像データから検出された動きベクトルに基づいた前記第１の画像データから検出された動きベクトルの識別をせず、
前記第２の画像データから顔を検出する顔検出手段をさらに備え、前記動きベクトル検出手段は、前記検出された顔の情報に従って、前記第２の画像データから動きベクトルを検出し、
前記顔検出手段は、前記検出された顔の情報に従って、前記第２の画像データにおける前記顔の領域を設定し、前記顔の領域に重み付けをし、前記動きベクトル検出手段は、前記重み付けに従って前記第２の画像データから動きベクトルを検出する、
ことを特徴とするぶれ補正装置。
【請求項３】
前記識別された所定の動きベクトルは、前記第１および第２の撮像手段のぶれの動きベクトルであり、前記制御手段は、前記第２の画像データから検出された動きベクトルの向きおよび大きさの範囲に基づいて、前記第１の画像データから検出された動きベクトルから前記所定の動きベクトルを識別することを特徴とする請求項１又は２に記載のぶれ補正装置。
【請求項４】
前記制御手段は、前記第１および第２の画像データからそれぞれ検出された動きベクトルの向きと大きさに従ってヒストグラムを生成し、前記制御手段は、前記第２の画像データから検出された動きベクトルのヒストグラムにおける動きベクトルの分布に基づいて前記向きおよび大きさの範囲を決定することを特徴とする請求項３に記載のぶれ補正装置。
【請求項５】
前記制御手段は、前記第２の画像データから検出された動きベクトルに基づいて、前記第２の画像データから検出された動きベクトルから前記所定の動きベクトルを識別できない場合は、前記第２の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御することを特徴とする請求項１から４のいずれか１項に記載のぶれ補正装置。
【請求項６】
前記制御手段は、前記第２の画像データから検出された動きベクトルの大きさを前記第１の撮像手段の焦点距離と前記第２の撮像手段の焦点距離の比率に従って補正し、前記補正された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルを識別することを特徴とする請求項５に記載のぶれ補正装置。
【請求項７】
前記検出された顔の情報は、少なくとも前記顔の大きさおよび位置の情報を含むことを特徴とする請求項１から６のいずれか１項に記載のぶれ補正装置。
【請求項８】
ぶれ補正手段により画像のぶれを補正するぶれ補正方法において、
第１の撮像手段と第２の撮像手段でそれぞれ生成された第１の画像データと第２の画像データを取得する取得工程と、
前記第１の画像データと前記第２の画像データの各々から動きベクトルを検出する動きベクトル検出工程と、
前記ぶれ補正手段により、前記第１の画像データの画像のぶれを補正するぶれ補正工程と、
前記第１の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御する制御工程と、
を備え、
前記制御工程は、前記第２の画像データから検出された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルから所定の動きベクトルを識別し、識別の結果に従って前記ぶれ補正手段を制御し、
前記第１の撮像手段及び第２の撮像手段のあおり方向のぶれを検出するあおり検出工程をさらに備え、前記制御工程は、前記あおり方向のぶれの大きさに従って、前記第２の画像データから検出された動きベクトルを補正し、
前記第２の画像データから顔を検出する顔検出工程をさらに備え、前記動きベクトル検出工程は、前記検出された顔の情報に従って、前記第２の画像データから動きベクトルを検出し、
前記顔検出工程は、前記検出された顔の情報に従って、前記第２の画像データにおける前記顔の領域を設定し、前記顔の領域に重み付けをし、前記動きベクトル検出工程は、前記重み付けに従って前記第２の画像データから動きベクトルを検出する、
ことを特徴とするぶれ補正方法。
【請求項９】
ぶれ補正手段により画像のぶれを補正するぶれ補正方法において、
第１の撮像手段と第２の撮像手段でそれぞれ生成された第１の画像データと第２の画像データを取得する取得工程と、
前記第１の画像データと前記第２の画像データの各々から動きベクトルを検出する動きベクトル検出工程と、
前記ぶれ補正手段により、前記第１の画像データの画像のぶれを補正するぶれ補正工程と、
前記第１の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御する制御工程と、
を備え、
前記制御工程は、前記第２の画像データから検出された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルから所定の動きベクトルを識別し、識別の結果に従って前記ぶれ補正手段を制御し、
前記第１及び第２の撮像手段のあおり方向のぶれを検出するあおり検出工程をさらに備え、前記制御工程は、前記あおり方向のぶれの大きさに従って、前記第２の画像データから検出された動きベクトルに基づいた前記第１の画像データから検出された動きベクトルの識別をせず、
前記第２の画像データから顔を検出する顔検出工程をさらに備え、前記動きベクトル検出工程は、前記検出された顔の情報に従って、前記第２の画像データから動きベクトルを検出し、
前記顔検出工程は、前記検出された顔の情報に従って、前記第２の画像データにおける前記顔の領域を設定し、前記顔の領域に重み付けをし、前記動きベクトル検出工程は、前記重み付けに従って前記第２の画像データから動きベクトルを検出する、
ことを特徴とするぶれ補正方法。
【請求項１０】
ぶれ補正手段により画像のぶれを補正するぶれ補正装置を制御するためのプログラムであり、
コンピュータを、
第１の撮像手段と第２の撮像手段でそれぞれ生成された第１の画像データと第２の画像データを取得する取得手段、
前記第１の画像データと前記第２の画像データの各々から動きベクトルを検出する動きベクトル検出手段、
前記第１の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御する制御手段であって、前記第２の画像データから検出された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルから所定の動きベクトルを識別し、識別の結果に従って前記ぶれ補正手段を制御する制御手段、
前記第１及び第２の撮像手段のあおり方向のぶれを検出するあおり検出手段であって、前記制御手段は、前記あおり方向のぶれの大きさに従って、前記第２の画像データから検出された動きベクトルを補正する、あおり検出手段、及び、
前記第２の画像データから顔を検出し、該検出された顔の情報に従って前記第２の画像データにおける前記顔の領域を設定し、且つ該顔の領域に重み付けをする、顔検出手段であって、前記動きベクトル検出手段は、前記検出された顔の情報に従って、前記第２の画像データから動きベクトルを検出する、顔検出手段、
として機能させることを特徴とするプログラム。
【請求項１１】
ぶれ補正手段により画像のぶれを補正するぶれ補正装置を制御するためのプログラムであり、
コンピュータを、
第１の撮像手段と第２の撮像手段でそれぞれ生成された第１の画像データと第２の画像データを取得する取得手段、
前記第１の画像データと前記第２の画像データの各々から動きベクトルを検出する動きベクトル検出手段、
前記第１の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御する制御手段であって、前記第２の画像データから検出された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルから所定の動きベクトルを識別し、識別の結果に従って前記ぶれ補正手段を制御する制御手段、
前記第１及び第２の撮像手段のあおり方向のぶれを検出するあおり検出手段であって、前記制御手段は、前記あおり方向のぶれの大きさに従って、前記第２の画像データから検出された動きベクトルに基づいた前記第１の画像データから検出された動きベクトルの識別をせず、
前記第２の画像データから顔を検出し、該検出された顔の情報に従って前記第２の画像データにおける前記顔の領域を設定し、且つ該顔の領域に重み付けをする、顔検出手段であって、前記動きベクトル検出手段は、前記検出された顔の情報に従って、前記第２の画像データから動きベクトルを検出する、顔検出手段、
として機能させることを特徴とするプログラム。
【請求項１２】
請求項１０又は１１に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【請求項１３】
第１の撮像光学系で形成された第１の被写体の光学像を撮像して第１の画像データを生成する第１の撮像手段と、
第２の撮像光学系で形成された第２の被写体の光学像を撮像して第２の画像データを生成する第２の撮像手段と、
請求項１から７のいずれか１項に記載のぶれ補正装置と、
を備える撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はぶれを検出して補正するぶれ補正装置に関し、特に高画質な動画像を生成するために、撮像装置に適用して好適なぶれ補正装置、ぶれ補正方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、撮影者のぶれを検出し、検出されたぶれ信号に基づいてぶれを補正することにより高画質な動画像を生成する技術が開発されている。ぶれを補正する手段としては、検出されたぶれ量に従って光学系や撮像素子を物理的に移動させることにより防振を行う手段と、画像信号処理によって撮影画像を幾何学変換してぶれを補正する手段とが知られている。またぶれ信号の検出方法としては、特定方向の加速度を測定できるジャイロセンサを撮像装置内に配し、ジャイロセンサの出力信号に基づいてぶれの大きさと周期を求める手法がある。また、他の方法として、連続撮影された画像信号からフレーム間の動きベクトルを求め、求められた動きベクトルに基づいて画像補正を行う手法が知られている。
【０００３】
ジャイロセンサを用いた検出方法は、正確に撮影者のぶれを検出することができるが、振動の向きに応じて複数のジャイロセンサを設置する必要性があり、撮像装置のコスト増加や装置自体の大型化の課題がある。また、ジャイロセンサ自体の性能や固体ごとの性能バラツキがぶれの検出性能に影響を与えてしまう欠点がある。
【０００４】
一方、動きベクトルを用いる手法は、コスト面や装置自体の大型化は問題とならないが、撮影画像内に移動体などを含む場合など、正確に動きベクトルを求めることが難しい被写体の場合に、誤った動きベクトルで補正する可能性があるという技術的な課題がある。
【０００５】
そのため近年では、画像のぶれ成分を表す動きベクトルと移動体による動きベクトルとを区別して正しく画像を補正するための画像処理アルゴリズムの開発が盛んである。例えば特許文献１に示すような手法では、画像を複数のエリアに分割し、分割されたエリアごとにブロックマッチング法によって動きベクトルを求め、求めた動きベクトルの方向と大きさの分布から、実質的に同じ動きを有する領域を分類している。この時、分類された動きベクトルの複数のグループのうち、カメラのぶれを表す動きベクトルのグループを正確に選択することが必要である。しかし、特許文献１では、その判断材料としてベクトルの大きさを用い、ベクトルの大きさ（＝移動量）が所定値より大きいものは被写体の動き、所定値より小さいものをぶれ成分と判断している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２９５６０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記文献１に示す方法は、ぶれが小さい場合や、ぶれによる画像振れが移動体の速度と比較して充分に小さい時に有効である。しかしながら、例えば撮像光学系の焦点距離が長い場合や歩行撮影時など、ぶれによる画像振れの大きさが移動体に対して充分小さいと仮定できない場合には、被写体の動きとぶれを正確に区別することが困難であるという課題があった。
【０００８】
本発明は、上述した課題に鑑みてなされたものであり、ぶれに起因する動きベクトルと移動体の動きに起因する動きベクトルとを精度良く識別し、より正確なぶれ補正を行えるぶれ補正装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明によれば、第１の撮像手段と第２の撮像手段でそれぞれ生成された第１の画像データと第２の画像データを取得する取得手段と、前記第１の画像データと前記第２の画像データの各々から動きベクトルを検出する動きベクトル検出手段と、前記第１の画像データの画像のぶれを補正するぶれ補正手段と、前記第１の画像データから検出された動きベクトルに基づいて前記ぶれ補正手段を制御する制御手段と、を備え、前記制御手段は、前記第２の画像データから検出された動きベクトルに基づいて、前記第１の画像データから検出された動きベクトルから所定の動きベクトルを識別し、識別の結果に従って前記ぶれ補正手段を制御することを特徴とするぶれ補正装置が提供される。
【発明の効果】
【００１０】
本発明によれば、移動体の影響を受けずに撮影された動画像のぶれを正確に補正し、ユーザに高画質な動画像を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施例に係るぶれ補正装置を適用した撮像装置の構成例を示すブロック図である。
【図２】動きベクトル検出のためのブロックの分割例を示す図である。
【図３】本発明の第１の実施例に係わるぶれ補正装置のぶれ補正動作のフローチャートを示す図である。
【図４】本発明の第１の実施形例に係わる撮像装置における撮像素子の配置位置と撮影画像の例を示す図である。
【図５】本発明の第１の実施例に係わるぶれ補正装置の動きベクトル検出部の構成例を示すブロック図である。
【図６】本発明の第１の実施例に係わるぶれ補正装置のぶれ検出動作のフローチャートを示す図である。
【図７】移動被写体を含まない画像の動きベクトルの分布例を示す図である。
【図８】移動被写体を含む画像の動きベクトルの分布例を示す図である。
【図９】本実施例に係わる撮像装置の第１および第２の撮像素子で撮影された画像とそれぞれの画像における動きベクトルの分布例を示す図である。
【図１０】ぶれの種類を例影示する図である。
【図１１】動きベクトルの大きさと焦点距離の関係を示す図である。
【図１２】動きベクトル情報が矛盾して検出される画像と検出された動きベクトルの分布例を示す図である。
【図１３】本発明の第２の実施例に係るぶれ補正装置を適用した撮像装置の構成例を示すブロック図である。
【図１４】顔と移動被写体を含む画像の動きベクトルの分布例を示す図である。
【図１５】本発明の第２の実施例に係わるぶれ補正装置のぶれ補正動作のフローチャートを示す図である。
【図１６】本発明の第２の実施例に係わるぶれ補正装置により検出される動きベクトルの分布例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明の好ましい実施の形態について、添付の図面に基づいて詳細に説明する。
【実施例１】
【００１３】
図１から１２を参照して本発明の第１の実施例について説明する。
【００１４】
図１は、第１の実施例に係るぶれ補正装置を適用した例えばデジタルカメラ等の撮像装置の構成の一例を示すブロック図である。同図において、１０１はレンズ及び絞り機構からなる第一の撮像光学系、１０２は同じくレンズ及び絞り機構からなる第二の撮像光学系である。第一及び第二の撮像光学系はそれぞれ異なる被写体を撮影できるように設置されており、例えば、第一の撮像光学系を被写体側に、第二の撮像光学系を撮影者側に向けるなど、別々の被写体を同時に撮影できるような構成にすることも可能である。１０３及び１０４はＣＣＤやＣＭＯＳセンサ等からなる撮像素子、１０５は撮像光学系内部のレンズ、絞り等を駆動するための光学系駆動部であり、第一及び第二の撮像光学系をそれぞれ独立に制御可能である。１０６は撮像素子１０３及び１０４を駆動するための駆動部である。
【００１５】
１０７は撮影された画像データに画像処理を行う信号処理部であり、所定の画素補間処理や色変換処理を行う。また、信号処理部１０７においては、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部１０９が光学系駆動部１０５及び撮像系駆動部１０６に対して制御を行い、露出制御・オートフォーカス制御を行っている。１０８は信号処理部１０７で処理された画像データから動きベクトルを検出する動きベクトル検出部であり、動きベクトル検出部１０８で得られた動きベクトルを用いて信号処理部１０７はぶれ補正量を算出し、システム制御部１０９に通知する。システム制御部１０９は前述の光学系駆動部１０５及び撮像系駆動部１０６を制御し、光学防振、露出制御、撮像系の駆動切り替えなどを実施する。これらの制御は、システム制御部１０９が、不図示のメモリに格納されている制御プログラムを読み出して実行することにより撮像装置の各部の機能を実行することで実現する。
【００１６】
１１０は、信号処理部１０７で処理された画像データに対して、動きベクトル検出部１０８によって求められた動きベクトルに基づいて画像の幾何変形処理を行う幾何変形部である。１１１は処理された画像データを記憶する画像メモリ、１１２は画像データの圧縮・伸張を行う記録部である。一般的に静止画像の場合はＪＰＥＧ圧縮、動画像の場合はＭｏｔｉｏｎＪＰＥＧやＨ.２６４/ＡＶＣ圧縮などが用いられ、特にＨ.２６４/ＡＶＣに代表される圧縮方式は、フレーム間参照などを使用することにより、高圧縮率を実現できる。１１３はＳＤカード、内蔵メモリからなる記録媒体、１１４は画像データを表示する表示装置である。
【００１７】
次に、本実施例に係わるぶれ補正装置を適用した上述の撮像装置におけるぶれ補正動作について図３を参照して説明する。図３は、本実施例に係わるぶれ補正装置のぶれ補正動作のフローチャートを示す図である。当該ぶれ補正動作は、システム制御部１０９が不図示のメモリに格納されている制御プログラムを実行して撮像装置の各部を制御することで実現する。
【００１８】
まず、撮像装置の不図示の操作部がユーザによって操作されて撮影動作が開始されると（Ｓ３００でのＹ）、システム制御部１０９は光学系駆動部１０５及び撮像系駆動部１０６を制御する。これにより、撮像光学系１０１及び１０２によって形成された被写体の光学像がそれぞれ撮像素子１０３及び１０４により撮像される。撮像素子１０３及び１０４は被写体像を光電変換して電気信号に変換し、信号処理部１０７は具備する不図示のＡ／Ｄ変換器で、撮像素子１０３、１０４から出力された電気信号をデジタル画像信号（画像データ）に変換する。信号処理部１０７では、得られた各画像データに対して、色変換、ホワイトバランス補正、γ補正、解像度変換処理等が行われる。
【００１９】
ここで、図４を参照して本実施例における撮像装置の外部形状の例を説明する。図示するように、第一の撮像光学系１０１と撮像素子１０３を被写体側（アウトカメラ）に、第二の撮像光学系１０２と撮像素子１０４を撮影者側（インカメラ）に向けて設置している。これにより、第一の撮像光学系１０１と撮像素子１０３によって被写体の動画像を撮影している時の撮影者の表情や、姿勢などの状態を同時に記録することができる。
【００２０】
ぶれ補正装置は、上述した画像データをステップＳ３０１で取得し、次いでステップＳ３０２において、動きベクトル検出部１０８が取得した画像データから動きベクトルを検出する。尚、動きベクトルを求める方法としては、位置をずらしながら過去フレームの画像と現フレームの画像差分を算出し、その差分の総和が最も小さくなる時の位置ずれを動きベクトルとするパターンマッチングを使った方法がある。また、特許文献１（特許第２９５６０５６号公報）に示される次空間勾配法などもあり、図２に示すように画面全体を複数のブロックに分割し、各ブロックの動きベクトルを求めることができる。動きベクトルの検出動作の詳細は後述する。
【００２１】
次いでステップＳ３０３において、撮影者のぶれなどによって撮影画像に生じている揺れ（ぶれ）と特定し、ステップＳ３０４において、信号処理部１０７が特定されたぶれの動きベクトルに基づいてぶれ補正量を算出する。次にステップＳ３０５において、システム制御部１０９が光学系駆動部１０５を制御して光学的なぶれ補正を実施し、ステップＳ３００に戻り撮影動作が継続している場合は（Ｓ３００でのＹ）、ぶれ補正動作を継続する。撮影動作が終了されている場合は（Ｓ３００でのＮ）、ぶれ補正動作を終了する。なお、光学系がぶれ補正機構を有していない場合、あるいは光学的に補正しきれないぶれ成分が残る場合は、幾何変形部１１０によって画像データを幾何変形してぶれを補正することも可能である。
【００２２】
信号処理部１０７で処理された画像データは、画像メモリ１１１に一時的に保持され、その後記録部１１２によって圧縮されて記録媒体１１３に記録される。また、画像データは、表示装置１１４によって撮像装置に具備されたＥＶＦなどに表示され、撮影者による撮影画像の確認が可能となる。
【００２３】
次に本実施例に係るぶれ補正動作におけるステップＳ３０２およびＳ３０３での処理動作について図５から８を用いて説明する。図５は動きベクトル検出部１０８の概略構成を示すブロック図、図６は、動きベクトル検出部１０８による動きベクトルの検出動作のフローチャートを示す図である。当該動きベクトル検出動作は、図２で示したように、撮影画面領域を複数のブロックに分割し、各ブロックにおいて動きブロックの検出を行う。
【００２４】
まず、フィルタ部５００では画像データに対してＬＰＦやＢＰＦなどのデジタルフィルタをかけ、画像に含まれるノイズを除去するなど、後段のベクトル検出処理の精度を向上させるための前処理が行われる。前処理が済んだデータに対して、ステップＳ６０１において正規化部５０１は、フレーム間の露出差による動きベクトルの誤検出を軽減するために、輝度の正規化を行う。尚、ここでは場合によっては２値化処理などを用いてもよい。次いでステップＳ６０２において、相関演算部５０２が、メモリ５０３に保持されている前フレームの画像データと入力画像データ（現フレーム）との相関を求める。ステップＳ６０３において動きベクトル生成部５０４は、最も相関が高い部分とのマッチングにより、各ブロックの動きベクトルを生成する。
【００２５】
次いでステップＳ６０４において、動きベクトル分類部５０５が、動きベクトル生成部５０４が生成した各ブロックの動きベクトルを分類する。この分類では、撮像装置自体の動きベクトルを正しく表している動きベクトルと、ノイズ、移動被写体、動きベクトルの誤検出など撮像装置自体の動きとは無関係なベクトルとにグループ化する。具体的には、図７（Ａ）に示すように画面全体について動きベクトルが得られた場合、動きベクトル分類部５０５は図７（Ｂ）に示すような動きベクトルのヒストグラムを生成する。図７（Ｂ）において、ヒストグラムの横軸は動きベクトルの水平方向成分の大きさ、縦軸は頻度を示す。ここで、図７（Ｂ）のヒストグラムにおけるピークＰ１の周辺“Ａｒｅa１”グループのベクトルは撮像装置自体の動き、つまりぶれによる画面全体の動き成分であると考えることができる。なお、ヒストグラムはこれに限るものではなく、垂直方向成分の大きさのヒストグラムや、動きベクトルの向きを0°〜360°に分類し、ベクトルの方向を横軸にとったヒストグラムを生成することも可能である。
【００２６】
一方、図８（Ａ）に示すように画像内に移動被写体が含まれる場合、移動被写体の領域における動きベクトルはぶれによる撮像装置の動きとは無関係である。そのため、動きベクトルのヒストグラムには図８（Ｂ）に示すようにＰ１、Ｐ２のピークを含む“Ａｒｅa１”と“Ａｒｅａ２”の二つの領域が存在する。
【００２７】
このようなヒストグラムの生成処理（グループ化処理）の一例について図８（Ｂ）を用いて説明する。なお、ステップＳ３０３における、移動被写体による動きベクトル領域からぶれによる動きベクトル領域を識別する処理については後述する。
【００２８】
まず、図８（Ｂ）のようなヒストグラムに対して、ピーク（極値）を検出する。ただし、この極値は予め定められた度数の閾値Ｎを超えることとする。そして、極値が複数見つかった場合、それらの階級間の距離ｄが予め定められたd_thを超える（所定以上離れている）ものであるかを判別する。ピーク間が所定値d_th以上離れているならば、互いに別グループの極値だと判断し、離れていないならば同一グループだと判断する。
【００２９】
次に、このようにして求められた極値を元に、ベクトルのグループを決定する。極値Ｐ１、Ｐ２から予め定められた幅ｗ／２だけ左右に広げた領域に含まれるベクトルをそれぞれＰ１、Ｐ２のグループ“Ａｒｅａ１”、“Ａｒｅａ２”と決定する。あるいは極値Ｐ１から横軸＋／−方向に走査し、勾配が所定値以上になる点までの範囲をそれぞれ“Ａｒｅａ１”、“Ａｒｅａ２”と設定しても良い。
【００３０】
次に、ステップＳ３０３におけるぶれの動きベクトルを識別する処理、即ち複数の動きベクトルのグループの中から、ぶれによる動きベクトルのグループを正しく区別する処理について図９から１２を参照して詳細を説明する。
【００３１】
図８（Ａ）に示すように移動被写体が画面内に占める割合が相対的に小さい場合、ピーク値の小さいＰ２が移動被写体による動きベクトルではないかと推測できる。しかし、図９（Ａ）に示すように移動被写体が画面内に占める割合が相対的に大きい場合は、正しく分類することが困難である。
【００３２】
そこで、図９（Ｃ）に示すように、撮影者側に向けられた第二の撮像光学系１０２と撮像素子１０４で得られた画像データからも同様に動きベクトルを検出し、第一の撮像光学系１０１と撮像素子１０３で得られた画像の動きベクトルの分類に利用する。ここで、撮影者側に向けられた第二の撮像光学系１０２と撮像素子１０４による画像では、中心に主として撮影者自身の像があるものと仮定すると、撮影者の像の領域から得られる動きベクトルはぶれによる動きベクトルを表していると考えられる。よって、図９（Ｂ）に示す図９（Ａ）の画像のヒストグラムのピークＰ１、Ｐ２に対して、図９（Ｃ）に示す撮影者側の画像のヒストグラムのピークＰ３に近い範囲の動きベクトルのグループを撮影者のぶれによる動きベクトルグループと判断する。ただし、被写体側に向けられた第一の撮像光学系１０１と撮影者側に向けられた第二の撮像光学系１０２の光軸の向きは異なる。そのため、ぶれとして図８（Ａ）のような撮像面に対して並進方向のブレを想定した場合、水平方向に関する動きベクトルの正負は逆転してヒストグラムを作成する必要があり、図９（Ｃ）は既に第一の撮像光学系１０１の座標系に変換されたものを図示している。一方で、ぶれとして図１０（Ｂ）のような撮像装置のあおり方向のブレを想定した場合は水平方向に関する動きベクトルの正負を逆転する必要はない。よって、撮像装置に具備されたジャイロセンサの出力等から撮像装置のあおり方向の移動量が大きいと判断された場合は、第二の撮像光学系１０２の画像から得られる動きベクトルを使用しない。あるいは、あおりに相当する成分を補正した上でヒストグラムの生成を行い、動きベクトルのグループの判別に利用することも可能である。
【００３３】
また、図９（Ｃ）においては、第一の撮像光学系１０１によって撮影された画像から求められる動きベクトルの大きさと第二の撮像光学系１０２によって撮影された画像から求められる動きベクトルの大きさを同等に取り扱っている。しかし、多くの場合、撮像装置から被写体までの距離と撮像装置から撮影者までの距離が異なるため、仮に第一の撮像光学系１０１と第二の撮像光学系１０２の焦点距離ｆが同じであったとしても、ぶれにより発生する画像内の動きベクトルの大きさは異なってしまう。そこで、動きベクトルのヒストグラムを求める際には、図１１に示すように、被写体までの距離Ｄと撮影者までの距離Ｄ’の比率から、動きベクトルの大きさを補正して取り扱う方が良い。尚、撮像装置から被写体までの距離Ｄは撮像装置の測距情報や画像中の被写体像の大きさから判断することが可能であり、撮像装置から撮影者までの距離は、測距離情報や被写体像の大きさに加えて、一般的な成人の腕の長さなどを考慮して決めることも可能である。
【００３４】
また、一般的に遠方の被写体の測距離情報を正確に求めるのは困難であるため、正確な距離が求められない場合は、第二の撮像光学系１０２から求められる動きベクトルの大きさは判断に利用せずに、ベクトルの方向のみを利用することもできる。例えば図９の場合、図９（Ｃ）におけるヒストグラムのピークＰ３が水平方向の正側、負側のどちらに位置するという情報のみを用いて、図９（Ｂ）における移動被写体成分の除去を行うこともできる。
【００３５】
本実施例でのステップＳ３０３におけるぶれの動きベクトルを特定する処理の他の例について、図１２を用いて説明する。図１２は第一の撮像光学系１０１の画像から生成された動きベクトルのヒストグラムと、第二の撮像光学系１０２の画像から生成された動きベクトルのヒストグラムの分布が異なる場合を示している。
【００３６】
図９の例では、第一の撮像光学系１０１の画像のぶれを補正するために、動きベクトルのヒストグラムにおける移動被写体成分の除去を第二の撮像光学系１０２の画像の動きベクトルのヒストグラム情報を用いる例について説明した。しかしながら、図１２（Ａ）のように、第一の撮像光学系１０１の画像内に移動被写体のみしか存在しない場合や、被写体のコントラストが低い場合は、正確な動きベクトルを求めることが難しい。そのような状況においては、第一の撮像光学系１０１の画像から得られる動きベクトルからぶれによる動きベクトルを求めることが困難である。よって、図１２（Ｂ）、（Ｃ）のように、第一の撮像光学系１０１の情報と第二の撮像光学系１０２の情報が矛盾する場合、ぶれ補正に使うベクトルを図１２（Ｃ）から得られるピークＰ２に相当する動きベクトルのグループとしてぶれ補正を行う。
【００３７】
以上のように、本実施例に係わるぶれ補正装置はステップＳ３０３において、動きベクトル分類部５０５でグループ化された第一、第二の撮影光学系の画像の動きベクトルを併用して、ぶれによる画像の動きベクトルを検出する。
【００３８】
そして、ステップＳ３０４において、信号処理部１０７はぶれの動きベクトルに基づいてぶれ補正量を算出し、ステップＳ３０５において補正量に従って撮像光学系のレンズを駆動して光学式ぶれ補正を行う。あるいは、図１の幾何変形部１１０によって画像処理によるぶれ補正を行う。
【００３９】
以上に述べたように、本実施例によれば、移動被写体を含む画像から正確にぶれを表す動きベクトルを精度よく推定することが可能となり、ぶれが抑制された高画質な動画像をユーザに提供することができる。
【実施例２】
【００４０】
第１の実施例では、撮影者側に向けられた前記第二の撮像光学系の画像は、画像の中心に主として撮影者自身の画像があるものと仮定してぶれの動きベクトルを求めた。ここでは、第二の撮像光学系１０２の画像内に移動被写体が含まれる場合においてもぶれの動きベクトルの特定が有効となる実施例を本発明の第２の実施形態として示す。以下、本発明の第２の実施例を図１３から１５を参照して説明する。
【００４１】
図１３は、本実施例に係るぶれ補正装置を適用した撮像装置の構成の一例を示すブロック図である。同図において、図１と同様の部分は同じ符号を付して示し、ここでの説明は特に必要がない限り省略する。図１３と図１の構成との相違は、図１３においては顔検出部１３００が追加されていることである。他の構成は同じである。
【００４２】
顔検出部１３００は、撮影された画像データから人の顔を検出し、少なくとも画像内における顔の大きさと座標の情報を特徴量として算出する。また、顔検出部１３００は、目や鼻、口などの器官に対しても同様の特徴量が検出可能なものであっても良い。
【００４３】
次に本実施例に係るぶれ補正処理のアルゴリズムについて図１４から１６を用いて説明する。図１４は第二の撮像光学系１０２の画像内に移動被写体が含まれている場合の動きベクトルの分布例を示す図である。図１５は、本実施例に係わるぶれ補正装置を適用した撮像装置におけるぶれ補正動作のフローチャートを示す図である。また、図１６は、本実施例における顔検出の結果に基づいて、第二の撮像光学系１０２の画像の動きベクトルの検出を行った時の動きベクトル分布例を示す図である。
【００４４】
第二の撮像光学系１０２の画像データが図１４（Ａ）に示すように、撮影者の背景として移動被写体を含む場合、第１の実施例での動作では、第二の撮像光学系１０２の画像の動きベクトルの分布が図１４（Ｂ）のようになる。そのため、第二の撮像光学系１０２の画像の動きベクトルの分布にはＰ１、Ｐ２のピークを含む“Ａｒｅa１”と“Ａｒｅａ２”の二つの領域が存在してしまい、ぶれによる動きベクトルのグループを正しく区別することが困難となる。
【００４５】
これに対し、本実施例では、第二の撮像光学系１０２の画像データに対して顔検出部１３００を用いて撮影者の顔の検出を行なう。図１５（Ａ）に示すぶれ補正動作のフローチャートを参照すると、ステップＳ１５０１において、顔検出部１３００は、ステップＳ３０１で取得した画像データを用いて第二の撮像光学系１０２の画像に対して顔の検出を行う。
【００４６】
ここで、図１５（Ｂ）のフローチャートを参照して、ステップＳ１５０１での顔検出の処理動作を説明する。ステップＳ１５０２で第二の撮像光学系１０２の画像に対して顔検出を行い、ステップＳ１５０３において、ステップＳ１５０２で顔が検出されたかどうかを判定する。顔が検出された場合には、ステップＳ１５０４に進み、検出されなかった場合は処理動作を終了し、本顔検出処理を呼び出したメインルーチンに戻る。なお、顔検出結果の情報としては、周知の技術により、顔の水平サイズＨおよび垂直サイズＶと顔の画像内の座標（Ｘ，Ｙ）を得ることができる。
【００４７】
ステップＳ１５０４では、顔検出結果の情報を用いて、第二の撮像光学系１０２の画像を図１６（Ａ）のように、撮影者の顔画像を含まないブロック領域ｗ１と撮影者の顔を含むブロック領域ｗ２とに分ける。そして、動きベクトルの検出のための重み付けとして、領域ｗ１に対しては重み付け係数ｃ１を、領域ｗ２に対しては重み付け係数ｃ２を決定し、その後メインルーチンに戻る。重み付けｃ１、ｃ２の値は、ｃ１＜ｃ２となる任意の値を選択することが可能である。例えば、重み付け係数をｃ１＝０、ｃ２＝１と決定した場合、撮影者の顔が含まれるブロック領域ｗ２のみが有効となり、動きベクトルの検出結果は図１６（Ｂ）となり、動きベクトルの分布は図１６（ｃ）となる。
【００４８】
また、顔検出部１３００が目や口といった器官の検出が可能である場合には、目や口の器官を含む領域に対しても、重み付け係数を別途用意し、目や口の動きによる撮影への影響を抑制してもよい。また、画像内の顔の座標情報と器官の座標情報の相対位置関係とカメラのあおり方向を関連付けておくことで、あおり方向の判定に利用してもよい。
【００４９】
ステップＳ１５０３で顔が検出されなかったと判定された場合は、メインルーチンに戻り、第１の実施例と同様の手ぶれ補正処理を行う。
【００５０】
ステップＳ１５０１後の処理に関しては、第１の実施例と同様であるのでここでの説明は省略する。
【００５１】
上述した本実施例によれば、撮影者の顔が検出された場合に、顔検出結果の情報に基づいて動きベクトルの検出ブロックに対して重み付けを行なっている。重み付けに従って第二の撮像光学系の画像の動きベクトル分布を算出することで、第二の撮像光学系の画像が移動被写体を含む画像であったとしても、移動被写体による動きベクトル分布への影響を抑制して正確にぶれを表す動きベクトルを推定できる。それにより、例えば撮像装置においてぶれを抑制した高画質な動画像をユーザに提供することが可能となる。
【００５２】
また、上述した本発明の実施例に係わるぼけ補正装置を適用する撮像装置としては、デジタルカメラ等の撮像装置に限るものではなく、スマートフォン、形態電話などのインカメラとアウトカメラを有する情報機器に適応してもよい。
【００５３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても達成される。すなわち、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても本件発明の目的が達成されることは言うまでもない。
【００５４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５６】
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）などが実際の処理の一部又は全部を行うことによっても前述した実施形態の機能が実現される。この場合も本件発明に含まれることは言うまでもない。
【００５７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づく処理も本件発明に含まれる。すなわち、機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等がプログラムコードの指示に基づき実際の処理の一部又は全部を行って前述した実施形態の機能を実現する場合も本件発明に含まれることは言うまでもない。
【００５８】
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図１】
0006454112.tif 000002
【図２】
0006454112.tif 000003
【図３】
0006454112.tif 000004
【図４】
0006454112.tif 000005
【図５】
0006454112.tif 000006
【図６】
0006454112.tif 000007
【図７】
0006454112.tif 000008
【図８】
0006454112.tif 000009
【図９】
0006454112.tif 000010
【図１０】
0006454112.tif 000011
【図１１】
0006454112.tif 000012
【図１２】
0006454112.tif 000013
【図１３】
0006454112.tif 000014
【図１４】
0006454112.tif 000015
【図１５】
0006454112.tif 000016
【図１６】
0006454112.tif 000017