(57)【要約】【課題】画角の異なる複数の画像を取得して動きベクトルを検出する場合に、選択的に適切な画像から動きベクトルを検出することが可能な画像処理装置を提供する。【解決手段】画像処理装置は、異なる光学系を用いて撮影される、第１画像と第１画像より広角な第２画像とのそれぞれを順次取得する取得手段と、順次取得される第１画像または第２画像を用いて画像内の動きベクトルを検出する検出手段と、を有し、検出手段は、第１画像から所定の範囲内の動きベクトルを検出可能な基準が満たされるかに応じて、動きベクトルを検出するために用いる画像を異ならせる。【選択図】図８
2020136774.tif 000002
【特許請求の範囲】
【請求項１】
異なる光学系を用いて撮影される、第１画像と前記第１画像より広角な第２画像とのそれぞれを順次取得する取得手段と、
順次取得される前記第１画像または前記第２画像を用いて画像内の動きベクトルを検出する検出手段と、を有し、
前記検出手段は、前記第１画像から所定の範囲内の動きベクトルを検出可能な基準が満たされるかに応じて、前記動きベクトルを検出するために用いる画像を異ならせる、ことを特徴とする画像処理装置。
【請求項２】
前記基準が満たされるか否かを判定する判定手段を更に有し、
前記検出手段は、前記判定手段により前記基準が満たされると判定された場合に前記第１画像を用いて動きベクトルを検出し、前記判定手段により前記基準が満たされないと判定された場合に前記第１画像より広角な前記第２画像を用いて動きベクトルを検出する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記第１画像より広角な前記第２画像から検出される動きベクトルが所定の移動量を超える場合に前記基準が満たされないと判定し、前記第２画像から検出される動きベクトルが前記所定の移動量を超えない場合に前記基準が満たされると判定する、ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画像処理装置の角速度を検出する角速度検出手段と、を更に含み、
前記判定手段は、検出された前記角速度に基づく前記画像処理装置の移動量が所定の移動量を超える場合に前記基準が満たされないと判定し、前記画像処理装置の移動量が前記所定の移動量を超えない場合に前記基準が満たされると判定する、ことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記判定手段は、前記第１画像を撮像する撮像手段における焦点距離が所定の焦点距離を超える場合に前記基準が満たされないと判定し、前記焦点距離が前記所定の焦点距離を超えない場合に前記基準が満たされると判定する、ことを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記判定手段は、前記画像処理装置に設定された動作モードが所定の動作モードである場合に前記基準が満たされないと判定し、前記画像処理装置に設定された前記動作モードが前記所定の動作モードでない場合に前記基準が満たされると判定する、ことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記所定の動作モードは、前記画像処理装置に備わるセンサの出力値を前記検出手段によって検出される動きベクトルを用いて補正する動作モード、または、前記検出手段によって検出される動きベクトルを用いて画像内の動体を検出する動作モードを含む、ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記所定の動作モードでない動作モードは、画像内の他の領域よりも相対的に移動量が小さい被写体領域に対する処理を行う場合に前記第１画像を用いる動作モードを含む、ことを特徴とする請求項６に記載の画像処理装置。
【請求項９】
画像処理装置であって、
異なる光学系を用いて撮影される、第１画像と前記第１画像より広角な第２画像とのそれぞれを順次取得する取得手段と、
順次取得される前記第１画像または前記第２画像を用いて画像内の動きベクトルを検出する検出手段と、を有し、
前記検出手段は、前記画像処理装置が所定の処理状態であるかに応じて、前記動きベクトルを検出するために用いる画像を異ならせる、ことを特徴とする画像処理装置。
【請求項１０】
前記画像処理装置が前記所定の処理状態であるか否かを判定する判定手段を更に有し、
前記検出手段は、前記判定手段により前記所定の処理状態であると判定された場合に前記第１画像を用いて動きベクトルを検出し、前記判定手段により前記所定の処理状態でないと判定された場合に前記第１画像より広角な前記第２画像を用いて動きベクトルを検出する、ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
処理手段を更に有し、
前記所定の処理状態は、前記検出手段によって検出される動きベクトルの検出精度を変化させるための処理を前記処理手段が実行する状態を含む、ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記検出手段によって検出される動きベクトルの検出精度を変化させるための処理は、前記第１画像のコントラストを増加させる処理または前記第１画像の明度を向上させる処理を含む、ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記検出手段によって検出される動きベクトルの検出精度を変化させるための処理は、前記光学系のズームによって発生する動きベクトルを補正する処理、または、静止画を連続撮影したことに応じて前記検出手段によって検出される動きベクトルを補正する処理を含む、ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
取得手段が、異なる光学系を用いて撮影される、第１画像と前記第１画像より広角な第２画像とのそれぞれを順次取得する取得工程と、
検出手段が、順次取得される前記第１画像または前記第２画像を用いて画像内の動きベクトルを検出する検出工程と、を有し、
前記検出工程では、前記第１画像から所定の範囲内の動きベクトルを検出可能な基準が満たされるかに応じて、前記動きベクトルを検出するために用いる画像を異ならせる、ことを特徴とする画像処理装置の制御方法。
【請求項１５】
画像処理装置の制御方法であって、
取得手段が、異なる光学系を用いて撮影される、第１画像と前記第１画像より広角な第２画像とのそれぞれを順次取得する取得工程と、
検出手段が、順次取得される前記第１画像または前記第２画像を用いて画像内の動きベクトルを検出する検出工程と、を有し、
前記検出工程では、前記画像処理装置が所定の処理状態であるかに応じて、前記動きベクトルを検出するために用いる画像を異ならせる、ことを特徴とする画像処理装置の制御方法。
【請求項１６】
コンピュータを、請求項１から１３のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトルを検出する画像処理装置およびその制御方法ならびにプログラムに関する。
【背景技術】
【０００２】
従来、デジタルビデオカメラ等の撮像装置を用いて撮影された映像に対して手ぶれ補正を施すために、フレーム画像間の動き量を検出して画像の位置合わせを行う技術が用いられる。このとき、フレーム画像間の動き量を推定するために、テンプレートマッチングによって動きベクトルを検出する技術が知られている。
【０００３】
ところで、動きベクトルを検出する撮像装置において２つ以上の撮像部を有するものが知られている。特許文献１では、撮像装置が各撮像部に対して異なる光学系を有する場合に、メインとなる撮像部で撮影を行い、サブの撮像部で動きベクトルを検出する技術を開示している。特許文献２では、撮像装置が各撮像部に対して同一の光学系を有する場合に、光学系を通過した光を撮影光軸と異なる方向に反射させてサブの撮像部に入力させ、動きベクトルを検出する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１０２７５５号公報
【特許文献２】特開２００６−１７１３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１のような、メインとサブの撮像部を用いて画角の異なる画像を取得可能な撮像装置では、撮影状態によって、サブの撮像部ではなく、メインの撮像部で得られる画像を用いて動きベクトルを検出する方が高精度な動きベクトルを得られる場合がある。一方、撮影状態によって、メインの撮像部の代わりにサブの撮像部で得られる画像を用いる方が動きベクトルの探索範囲の拡大等による処理負荷を低減できる場合も想定される。特許文献１および特許文献２に開示された技術では、常にサブとなる撮像部から得られる映像を用いて動きベクトルの検出が行われ、動きベクトルを検出するための画像を切り替えることは考慮されていなかった。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、画角の異なる複数の画像を取得して動きベクトルを検出する場合に、選択的に適切な画像から動きベクトルを検出することが可能な技術を実現することである。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、異なる光学系を用いて撮影される、第１画像と前記第１画像より広角な第２画像とのそれぞれを順次取得する取得手段と、順次取得される前記第１画像または前記第２画像を用いて画像内の動きベクトルを検出する検出手段と、を有し、前記検出手段は、前記第１画像から所定の範囲内の動きベクトルを検出可能な基準が満たされるかに応じて、前記動きベクトルを検出するために用いる画像を異ならせる、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画角の異なる複数の画像を取得して動きベクトルを検出する場合に、選択的に適切な画像から動きベクトルを検出することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る画像処理装置の一例としてのデジタルカメラの機能構成例を示すブロック図
【図２】実施形態１に係る動きベクトルの検出に関連する機能構成例を示すブロック図
【図３】実施形態１に係る動きベクトル検出部が読み出すグリッド配置、特徴点およびテンプレートマッチング領域の関係を説明するための図
【図４】実施形態１に係る動きベクトル検出部における動きベクトル算出処理の動作を示すフローチャート
【図５】実施形態１に係る特徴点算出手段の機能構成例を示すブロック図
【図６】実施形態１に係る精度判定手段における判定処理を説明するための図
【図７】実施形態１に係る広角撮影画像と望遠撮影画像におけるテンプレートマッチング領域を説明するための図
【図８】広角撮影画像を用いた切り替え処理の動作を示すフローチャート
【図９】角速度を用いた動きベクトル検出処理の動作を示すフローチャート
【図１０】焦点距離情報を用いた切り替え処理の動作を示すフローチャート
【図１１】実施形態１に係る、各パラメータに応じた画像の切り替えを説明する図
【図１２】実施形態２に係るデジタルカメラの機能構成例を示すブロック図
【図１３】実施形態２に係る切り替え処理の動作を示すフローチャート
【図１４】実施形態２に係る、各設定モードに応じた画像の切り替えを説明するための図
【図１５】流し撮り撮影モードにおける広角撮影画像と望遠撮影画像のグリッド配置を示す図
【図１６】流し撮り撮影モードにおける動きベクトル量の分布例を示す図
【図１７】実施形態２に係るジャイロセンサ補正部の機能構成例を示すブロック図
【図１８】動体検出モードにおける広角撮影画像のグリッド配置を示す図
【図１９】実施形態３に係る切り替え処理の動作を示すフローチャート
【図２０】ベクトル検出の検出精度を向上させるために行う処理の例と、ズームイン動作による動きベクトル量の大きさを説明するための図
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１１】
（実施形態１）
以下では画像処理装置の一例として、複数の撮像素子から得られる画像に対して動きベクトルの検出が可能なデジタルカメラを用いる例を説明する。しかし、本実施形態は、複数の撮像素子を備えるデジタルカメラに限らず、得られた画像に対して動きベクトルの検出が可能な他の機器にも適用可能である。これらの機器には、例えばパーソナルコンピュータ、スマートフォンを含む携帯電話機、ゲーム機、タブレット端末、時計型や眼鏡型の情報端末、医療機器、監視システムや車載用システムの機器などが含まれてよい。
【００１２】
（デジタルカメラの構成）
図１は、本実施形態の画像処理装置の一例としてのデジタルカメラ１０の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＧＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。
【００１３】
図１において、主に望遠撮影を行うメインカメラ用結像光学部１０１０はレンズ、絞り、レンズのズーム制御機能などを含む。撮影の際には、メインカメラ用結像光学部１０１０は、例えばプロセッサ１１２の指示に応じてフォーカス調節および露出調節を行い、メインカメラ用撮像素子１０２０に光学像を結像する。メインカメラ用撮像素子１０２０は、光学像を電気信号（アナログ画像信号）に変換する光電変換機能を有し、ＣＣＤやＣＭＯＳセンサ等で構成される。メインカメラ用Ａ／Ｄ変換部１０３０はメインカメラ用撮像素子１０２０からのアナログ画像信号をデジタル画像信号に変換する。変換後の画像データである望遠撮影画像１００は画像処理部１０４に入力される。なお、以下の説明において、１０１０、１０２０および１０３０の構成をまとめて単にメインカメラという場合がある。
【００１４】
また、広角撮影を行うサブカメラ用結像光学部１０１１はレンズ、絞り、レンズのズーム制御機能などを含む。撮影の際には、サブカメラ用結像光学部１０１１は、例えばプロセッサ１１２の指示に応じてフォーカス調節および露出調節を行って、サブカメラ用撮像素子１０２１に光学像を結像する。サブカメラ用撮像素子１０２１は、光学像を電気信号（アナログ画像信号）に変換する光電変換機能を有し、ＣＣＤやＣＭＯＳセンサ等で構成される。サブカメラ用Ａ／Ｄ変換部１０３１は、サブカメラ用撮像素子１０２１からのアナログ画像信号をデジタル画像信号に変換する。変換後の画像データである広角撮影画像１０１は画像処理部１０４に入力される。なお、以下の説明において、１０１１、１０２１および１０３１の構成をまとめて単にサブカメラという場合がある。
【００１５】
バス１１７は主にプロセッサ１１２などから各ブロックの制御信号を伝送するためのシステムバスであり、バス１１８は主に画像データを転送するためのデータバスである。
【００１６】
プロセッサ１１２は、デジタルカメラ１０の全体の制御を司るマイクロコンピュータ等で構成され、各機能ブロックに対して動作指示を行い、各種の制御処理を実行する。プロセッサ１１２は、バス１１７を介して画像処理部１０４、データ転送部１０５、メモリ制御部１０６、不揮発性メモリ制御部１０８、表示制御部１１０、操作部１１３、ジャイロセンサ１１４、メモリカード制御部１１５を制御する。プロセッサ１１２は、ＲＯＭ１０９に記録されたプログラムをＤＲＡＭ１０７に展開して実行することにより、本実施形態の各処理を実現する。また、プロセッサ１１２は、ズーム制御信号１１５０を介してメインカメラ用結像光学部１０１０のレンズ位置と、ズーム制御信号１１５１を介してサブカメラ用結像光学部１０１１のレンズ位置とを制御して、２つの結像光学部の焦点距離の設定を連携させる。なお、以下の説明では、画像処理部１０４がプロセッサ１１２とは別体として動作する例を説明するが、画像処理部１０４がプロセッサ１１２に組み込まれ、プロセッサ１１２が画像処理部１０４の機能を兼ね備えてもよい。
【００１７】
データ転送部１０５は、データ転送を行う複数のＤＭＡＣ（Direct Memory Access Controller）で構成されている。
【００１８】
ＤＲＡＭ１０７は、データを記憶するメモリであり、所定枚数の静止画像、所定時間の動画像および音声などのデータや、プロセッサ１１２の動作用の定数、プログラム等を一時的に格納するのに十分な記憶容量を備える。メモリ制御部１０６は、プロセッサ１１２或いはデータ転送部１０５からの指示に応じて、ＤＲＡＭ１０７へのデータ書き込み及びデータ読み出しを行う。
【００１９】
不揮発性メモリ制御部１０８は、プロセッサ１１２からの指示に応じて、ＲＯＭ１０９にデータの書き込み及び読み出しを行う。ＲＯＭ１０９は、電気的に消去・記録可能なメモリであり、例えばＥＥＰＲＯＭ等が用いられる。ＲＯＭ１０９には、プロセッサ１１２の動作用の定数、プログラム等が記憶される。
【００２０】
画像処理部１０４は、１つ以上の画像処理プロセッサ及びバッファメモリ等から構成されており、動きベクトル検出のほか、ノイズ低減処理やレンズの歪補正や防振処理など各種の補正処理を行う。画像処理部１０４は、第１コア１２１、第２コア１２２から成る２つのコアを有する動きベクトル検出部１２０を備える。動きベクトル検出部１２０の第１コア１２１、第２コア１２２は同一の機能を有する。動きベクトル検出部１２０は、メインカメラとサブカメラから入力される望遠撮影画像１００と広角撮影画像１０１（すなわち異なる光学系を用いて撮影される画像）の其々を順次取得し、少なくともいずれかの画像を用いて動きベクトル検出を行う。動きベクトル検出部１２０は、後述する判定に基づき動きベクトルを検出するために用いる画像を切り替える。なお、動きベクトルを検出するための構成および動作については後述する。
【００２１】
表示部１１１は、液晶ディスプレイや電子ビューファインダーなどから構成され、表示制御部１１０からの制御に応じて、画像処理部１０４から転送された各種の画像データやメニュー画面などを表示部１１１に表示する。また、表示部１１１は、静止画撮影の撮影前や、動画撮影時には、メインカメラ用Ａ／Ｄ変換部１０３０、サブカメラ用Ａ／Ｄ変換部１０３１から各々入力された画像データをリアルタイムで処理して、表示する。
【００２２】
操作部１１３は、ユーザにより操作されるスイッチやボタン等を含み、電源のＯＮ／ＯＦＦ、シャッターのＯＮ／ＯＦＦ等の操作に使用される。シャッターボタン（不図示）は、反押し時に主要被写体に焦点を合わせるようにレンズのズーム制御を実施し、全押し時に、撮影が実施される。また、操作部１１３は、マクロ撮影モードや望遠撮影モードなど撮影モードを切り替えるためのモードダイヤルなども含む。ジャイロセンサ１１４は、カメラの姿勢（横位置、縦位置など）や動き方向などの角速度を検出する角速度検出手段として機能し、検出した角速度をプロセッサ１１２あるいは画像処理部１０４へ通知する。
【００２３】
メモリカード制御部１１５は、プロセッサ１１２からの制御により、フラッシュなどで構成されるメモリカード１１６に、バス１１８を介して転送される各種処理が完了した記録用画像を保存する。
【００２４】
次に、図３を参照して、動きベクトル検出部１２０が読み出すグリッド配置と特徴点、テンプレートマッチング領域の関係について説明する。以下の説明は、動きベクトル検出部１２０の第１コア１２１、第２コア１２２が同一の機能を有するため、両コアに対して共通である。
【００２５】
所定のサイズの特徴点抽出グリッド３０２（図３中の白色グリッド）と周辺グリッド３０１（図３中のハッチングを付したグリッド）は、水平、垂直方向に、予め設定された個数の分だけ配置される。また、特徴点３０３は、特徴点抽出グリッド３０２それぞれに一つ設定される。周辺グリッド３０１は、特徴点抽出グリッド３０２の周囲に配置され、この領域では特徴点抽出は実施されないが、テンプレートマッチングにおいてその画像情報が使用される領域である。特徴点抽出グリッド３０２では、抽出された特徴点３０３を中心として、設定されたサイズの矩形状のサーチ領域３０５及びテンプレート領域３０４が設けられる。矢印３０６は、上下方向に検出可能な動きベクトル量の最大値を示す。画像の移動量（例えばデジタルカメラ１０の上下方向の移動量）が矢印３０６の範囲以内であれば検出精度を維持しつつ動きベクトルの検出が可能となる。
【００２６】
次に、図２および図４を参照して、動きベクトルの検出に関わる機能構成例と、動きベクトル検出部１２０が具備する動きベクトル検出処理の動作について説明する。
【００２７】
Ｓ４０１において、データ転送部１０５が具備する第１ＲＤＤＭＡＣ２２１が、バス１１８を介してＤＲＡＭ１０７からベクトル検出の対象となる現フレームの入力画像データ２４１を読み出す。読み出すデータ量は、図３に示したように設定された特徴点抽出グリッド３０２及び周辺グリッド３０１のサイズに従う。なお、入力画像データ２４１には、画像処理部１０４が各種画像処理を施してある。第１ＲＤＤＭＡＣ２２１は、グリッド単位で読み出した入力画像データ２４１を、マッチング用画像生成手段２０１及び新規特徴点算出手段２０２に出力する。
【００２８】
Ｓ４０２において、マッチング用画像生成手段２０１は、ベクトル検出時のテンプレートマッチングに使用するテンプレートマッチング用画像を生成し、第１ＷＲＤＭＡＣ２３１に出力する。マッチング用画像生成手段２０１は、バンドパスフィルタ回路であり、テンプレートマッチング処理に不要な画像信号の高周波成分と低周波成分をカットする。
【００２９】
Ｓ４０３において、データ転送部１０５が具備する第１ＷＲＤＭＡＣ２３１は、バス１１８を介してＤＲＡＭ１０７に格納されたテンプレートマッチング用画像データ２４２を読み出す。また、ＤＲＡＭ１０７には、前フレームで生成されたテンプレートマッチング用画像データ２４３が格納されている。
【００３０】
Ｓ４０４の処理において、Ｓ４０２およびＳ４０３の処理と並列に、新規特徴点算出手段２０２は、現フレームの新規特徴点を算出する。ここで、図５を参照して、新規特徴点算出手段２０２の詳細な機能構成例について説明する。新規特徴点算出手段２０２は、特徴フィルタ部５０１、特徴評価部５０２、特徴点決定部５０３からなる。特徴フィルタ部５０１は、バンドパスフィルタ、水平微分フィルタ、垂直微分フィルタ、平滑化フィルタなど、複数のフィルタから構成される。本実施形態では、バンドパスフィルタは、不要な画像信号の高周波成分と低周波成分をカットし、水平方向の微分フィルタ処理を施した信号と、垂直方向の微分フィルタ処理を施した信号の、各々に対して、平滑化フィルタ処理を施したものを出力する。
【００３１】
特徴評価部５０２は、特徴フィルタ部５０１によりフィルタ処理されたグリッドに対して、画素ごとに２つのエッジの交点や曲率が極大である曲線状の点など、画素の周辺の微分値が多方向に大きい点を特徴評価式により特徴値として算出する。
【００３２】
以下、本実施形態で使用するＳｈｉ ａｎｄ Ｔｏｍａｓｉの手法について説明をする。水平微分フィルタと垂直微分フィルタを施した結果に基づき、自己相関行列Ｈを作成する。自己相関行列Ｈの式を式１に示す。
【００３３】
【数１】
2020136774.tif 000003
【００３４】
式１においてＩｘは水平微分フィルタを施した結果およびＩｙは垂直微分フィルタを施した結果を表しており、ガウシアンフィルタＧを畳み込む。次にＳｈｉ ａｎｄ Ｔｏｍａｓｉの特徴評価式を式２に示す。
【００３５】
【数２】
2020136774.tif 000004
【００３６】
式２は、式１の自己相関行列Ｈの固有値λ1とλ2のうち小さい方の固有値を特徴値とすることを意味する。特徴点決定部５０３は、グリッドごとに、特徴評価部５０２によって画素ごとに算出された特徴値の最も大きい値を持つ画素を特徴点として決定する。本実施形態では、特徴点の座標は、グリッドの左上端を（０，０）とした相対座標（ＰＸ，ＰＹ）で表現する。但し、画像信号における絶対座標で表現してもよい。なお、座標（ＰＸ，ＰＹ）と新規特徴点の特徴量Ｐｃは、新規特徴点算出手段２０２が具備するメモリに格納される。このメモリは、前フレームの特徴点ならびに特徴量と現フレームの特徴点ならびに特徴量を格納するための容量を有している。
【００３７】
テンプレートマッチング処理手段２０３は、対応するグリッドのテンプレートマッチング処理が開始される際に、前フレームで算出された特徴点を、特徴点座標情報２５７として第２ＲＤＤＭＡＣ２２２に出力する。
【００３８】
Ｓ４０５において、第２ＲＤＤＭＡＣ２２２は、前フレームで算出された特徴点座標情報２５７を中心として、設定されたサイズの矩形領域を、現フレームで生成されたテンプレートマッチング用画像データ２４２と前フレームで生成されたテンプレートマッチング用画像データ２４３とから読み出す。第２ＲＤＤＭＡＣ２２２は、テンプレートマッチング用画像データ２４２からサーチ領域３０５を読み出し、前フレームで生成されたテンプレートマッチング用画像データ２４３から、テンプレート領域３０４を読み出す。読み出した各画像データはサーチ領域画像データ２５３、テンプレート領域画像データ２５４として、テンプレートマッチング処理手段２０３へ出力される。
【００３９】
なお、最初のテンプレートマッチング処理は、現フレームで生成されたテンプレートマッチング用画像データ２４２と前フレームで生成されたテンプレートマッチング用画像データ２４３の２フレーム分のデータがＤＲＡＭ１０７上に作成された後に開始される。
【００４０】
Ｓ４０６において、テンプレートマッチング処理手段２０３は、入力されたサーチ領域画像データ２５３とテンプレート領域画像データ２５４とを用いて、相関値を算出し、その相関値に基づいてベクトル値を算出する。本実施形態では、相関値の算出方法として、例えば差分絶対値和（sum of Absolute Difference、以下ＳＡＤという）を使用する。
【００４１】
【数３】
2020136774.tif 000005
【００４２】
式３において、ｆ（ｉ，ｊ）はテンプレート領域画像データ２５４内の座標（ｉ，ｊ）における画素値を表し、ｇ（ｉ，ｊ）はサーチ領域画像データ２５３において相関値算出の対象となる領域内の各画素値を表す。相関値算出対象領域は、テンプレート領域画像データ２５４と同じ大きさである。そしてＳＡＤでは、両ブロック内の各画素値ｆ（ｉ，ｊ）及びｇ（ｉ，ｊ）について差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得ることが出来る。従って、相関値Ｓ＿ＳＡＤの値が小さいほど両ブロック間の輝度値の差分が小さい、つまりテンプレート領域画像データ２５４と相関値算出領域内のテクスチャが類似していることを表す。なお、本実施形態では、相関値の一例としてＳＡＤを使用する場合を例に説明するが、相関値の算出方法はこれに限らず、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いても良い。テンプレートマッチング処理手段２０３は、相関値の最小値の位置を、グリッドの動きベクトル値として算出し、算出したベクトル値情報及び相関値情報２５５を精度判定手段２０４に出力する。
【００４３】
Ｓ４０７において、精度判定手段２０４は、Ｓ４０６において算出された相関値情報２５５を用いて、相関値の最大値、最小値、平均値、極小値を求めて低コントラスト判定、画素値の最大値突出判定、繰り返しパターン判定を行う。
【００４４】
画素値とこれらの各判定との関係を、図６（ａ）から図６（ｄ）を参照して説明する。ただし本実施形態では相関値が小さいほど類似度が高いため、図６に示す画素値の最大値は相関値では最小値、画素値の最小値は相関値では最大値、画素値の極大値は相関値では極小値を表す。図６（ａ）は、それぞれの判定が良好な結果となる例を示す。
【００４５】
低コントラスト判定では、相関値算出領域内の相関値の最大値と最小値の差分があらかじめ設定されている閾値よりも小さい場合、相関値算出領域内は低コントラストであると判定される。図６（ｂ）は、低コントラスト判定において低コントラストの結果となる例を示している。図６（ａ）に比べて図６（ｂ）では、画素値の最大値と最小値の差は少ない。
【００４６】
画素値の最大値突出判定では、相関値算出領域内の相関値の最小値がどれだけ際立っているかを判定する。画素値の最大値と平均値の差分と、画素値の最大値と最小値の差分の除算が、あらかじめ設定されている閾値よりも小さい場合、相関値算出領域内は低ピークであると判定される。一方、上記除算の結果が閾値よりも大きい場合、相関値算出領域内は高ピークであると判定される。図６（ｃ）は、画素値の最大値突出判定で低ピークの結果を示しており、図６（ａ）に比べて図６（ｃ）では画素値の最大値と平均値の差分と、画素値の最大値と最小値の差分の除算が小さい。
【００４７】
繰り返しパターン判定とは、相関値算出領域内の画素値の最小値と極小値の差分があらかじめ設定されている閾値よりも小さい場合に繰り返しパターンであると判定される。図６（ｄ）は繰り返しパターン判定で繰り返しパターンとなる結果を示しており、図６（ａ）に比べて図６（ｄ）では画素値の最大値と極大値の差分が小さい。
【００４８】
Ｓ４０８において、低コントラスト、低ピーク、繰り返しパターンの判定情報及びベクトル情報２５６がＳＲＡＭ（メモリ）２０６に出力され、本処理は終了する。
【００４９】
（望遠撮影画像と広角撮影画像とを用いたベクトル検出）
次に、図７を参照して、メインカメラで撮影した望遠撮影画像とサブカメラで撮影した広角撮影画像におけるテンプレートマッチング領域について説明する。図７（ａ）は、サブカメラによる広角撮影画像を表し、画角７０１は、メインカメラによる望遠撮影画像の画角を示す。図３に示したサーチ領域３０５及びテンプレート領域３０４は各々、７０３及び７０２に該当する。
【００５０】
図７（ｂ）は、メインカメラによる望遠撮影画像を表し、図７（ａ）に示した画角７０１の範囲が収まっている。同様にサーチ領域７１３、テンプレート領域７１２を示している。デジタルカメラ１０が上下方向に振れ、図７（ａ）の矢印７０４の範囲を移動した場合、同様に図７（ｂ）の矢印７１４の範囲を移動する。サブカメラで撮影した広角撮影画像の移動量を示す矢印７０４より、メインカメラで撮影した望遠撮影画像の移動量を示す矢印７１４の方が大きくなるため、検出される動きベクトル量も大きくなる。すなわち、撮影条件によっては、サブカメラで撮影した広角撮影画像を用いて動きベクトル量を検出可能であるが、メインカメラで撮影した望遠撮影画像では動きベクトル量がテンプレートマッチングの対象領域に収まらない場合が発生する。
【００５１】
しかしながら、メインカメラで撮影した望遠撮影画像がメモリカード１１６に記録用画像として保存され、望遠撮影画像の方が広角撮影画像より拡大されている場合、記録用画像に対する補正精度及び検出される動きベクトルの検出精度が高い。このため、可能な限りメインカメラで撮影した望遠撮影画像を用いて動きベクトルの検出を行うことが望ましい。但し、検出可能な動きベクトルの範囲は、検出範囲を拡大すると、テンプレートマッチングを行う検出範囲が大きくなって処理負荷が大きくなる。一方、検出範囲を小さくすると検出精度が維持できず精度の低下を招く。そこで、検出精度と処理負荷のバランスが最適となるように、望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たすかに応じて、ベクトル検出の対象となる画像をメインカメラで撮影した画像とサブカメラで撮影した画像とで切り替える。
【００５２】
（画像の切り替え処理の動作）
次に、メインカメラで撮影した望遠撮影画像とサブカメラで撮影した広角撮影画像とを動きベクトル検出のために切り替える動作について説明する。図８では、サブカメラで撮影した広角撮影画像から検出した動きベクトル量を用いた切り替え処理の動作を示している。なお、この処理は、画像処理部１０４において、ハードウェアにより又はプログラムを実行することにより実現される。
【００５３】
画像処理部１０４は、図１１に示すように、後述する各パラメータが規定値を超えるか否かに応じて、望遠撮影画像と広角撮影画像のどちらで動きベクトル検出を行うかを判定する。規定値は、メインカメラの望遠撮影画像１００から動きベクトル検出部１２０が検出可能な移動量（図７（ｂ）の矢印７１４）の上限値を、他の検出手段で取得した値に換算した値を示す。つまり、各パラメータが規定値を超える場合、望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たさないことになる。図８に示す動作では、移動量の上限値は、サブカメラの広角撮影画像１０１から動きベクトル検出部１２０が検出する動きベクトル量に換算した値を示す。例えば、メインカメラの望遠撮影画像１００で動きベクトル検出部１２０が検出可能な動きベクトル量が９６画素とする。メインカメラの望遠撮影画像１００の倍率に対してサブカメラの広角撮影画像１０１の倍率が１／２の時に、換算された広角撮影画像１０１が検出可能な動きベクトル量（規定値）は４８画素となる。ただし、この換算値（規定値）は、望遠撮影画像１００、広角撮影画像１０１に対して光学歪補正などの画像補正処理が施された場合は、補正量を加味された値となる。また、メインカメラの焦点距離に応じて倍率も変わり、望遠撮影画像１００からベクトル検出部１２０が検出可能な上限値も変化する。このため、焦点距離がテレ端側にシフトした際には上限値が大きくなり、ワイド端側にシフトした際には上限値は小さくなる。したがって、サブカメラの広角撮影画像１０１から算出した動きベクトルの規定値も同様に変化する。なお、本実施形態では、レンズの種類毎に、焦点距離の規定値をＲＯＭ１０９に予め格納しておき、読み出された規定値は画像処理部１０４またはプロセッサ１１２によって利用可能になる。
【００５４】
Ｓ８０１において、画像処理部１０４は、例えばプロセッサ１１２からの情報に基づいてデジタルカメラ１０が望遠撮影モードへ遷移したかを判定する。画像処理部１０４は、望遠撮影モードへ遷移したと判定した場合にはＳ８０２に遷移し、望遠撮影モードに遷移していないと判定した場合には、Ｓ８０１の処理を繰り返す。Ｓ８０２において、画像処理部１０４は、第１コア１２１と第２コア１２２を使用して、メインカメラで撮影した望遠撮影画像１００から図４で上述した動作に従って動きベクトルを算出する。
【００５５】
Ｓ８０３において、画像処理部１０４は、例えばプロセッサ１１２からの情報に基づいて、望遠撮影モードから他のモードへ遷移したかを判定する。画像処理部１０４は、他のモードへ移ったと判定した場合には、本処理を終了する。一方、他のモードに遷移していないと判定した場合にはＳ８０４に遷移する。Ｓ８０４において、画像処理部１０４は、ベクトル検出の処理が５０フレーム分だけ完了したかを判定する。画像処理部１０４は、ベクトル検出の処理が５０フレーム分だけ完了したと判定した場合、Ｓ８０５に遷移し、そうでない場合はＳ８０２に戻り処理を繰り返す。
【００５６】
Ｓ８０５において、画像処理部１０４は、Ｓ８０２と同様にメインカメラで撮影した望遠撮影画像１００から第１コア１２１を使用して動きベクトルを検出する。一方、サブカメラで撮影した広角撮影画像１０１から第２コア１２２を使用して動きベクトルを検出する。Ｓ８０６において、画像処理部１０４は、Ｓ８０３と同様に、望遠撮影モードから他のモードへ遷移したかを判定する。画像処理部１０４は、他のモードへ移ったと判定した場合には処理を終了し、他のモードに遷移していないと判定した場合にはＳ８０７に遷移する。Ｓ８０７において、画像処理部１０４は、ベクトル検出の処理が１０フレーム分だけ完了した場合にＳ８０８に遷移し、１０フレーム完了していない場合はＳ８０５に戻り処理を繰り返す。
【００５７】
Ｓ８０８において、画像処理部１０４は、広角撮影画像１０１から検出した動きベクトルが規定値を越えたかを判定する。規定値を越えている場合、その時点でのメインカメラの焦点距離では、望遠撮影画像１００から動きベクトルを検出可能な移動量を越えたことを意味し、正確な動きベクトル量を検出できないこととなる。このため、画像処理部１０４は、広角撮影画像１０１から検出した動きベクトルが規定値を越えた（すなわち望遠撮影画像で所定の範囲内の動きベクトルを検出可能な基準を満たさない）と判定した場合、動きベクトルを検出する画像を切り替える。このため、サブカメラで撮影した広角撮影画像から動きベクトルを検出するＳ８０９に遷移する。
【００５８】
Ｓ８０９において、画像処理部１０４は、第１コア１２１と第２コア１２２を使用してサブカメラの広角撮影画像１０１から図４に示した動作に従って動きベクトルを算出する。Ｓ８１０において、画像処理部１０４は、Ｓ８０３と同様に、望遠撮影モードから他のモードへ遷移したかを判定する。画像処理部１０４は、他のモードへ移ったと判定した場合には本処理を終了し、他のモードに遷移していないと判定した場合にはＳ８１１に遷移する。
【００５９】
Ｓ８１１において、画像処理部１０４は、広角撮影画像１０１から検出した動きベクトルが規定値を越えたかを判定する。ただし、メインカメラの焦点距離が変更された場合は、規定値も変更されるので、変更後の規定値で判定処理を実行する。画像処理部１０４は、広角撮影画像１０１から検出した動きベクトルが規定値を越えたと判定した場合にはＳ８０９に遷移して広角撮影画像１０１を用いて動きベクトルの算出を継続する。一方、広角撮影画像１０１から検出した動きベクトルが規定値を越えていない（所定の範囲内の動きベクトルを検出可能な基準を満たす）と判定した場合にはＳ８０２に戻って望遠撮影画像を用いて動きベクトル検出を行う。すなわち、検出した動きベクトルが規定値を越えていないと判定した場合には、メインカメラで撮影した望遠撮影画像１００から再度動きベクトルが検出可能になったことを意味する。このため、検出精度の高いメインカメラで撮影した望遠撮影画像１００から動きベクトルの検出を開始する。
【００６０】
次に、図９を参照して、ジャイロセンサ１１４で検出した角速度に基づいて算出した移動量を用いた、切り替え処理の動作を説明する。図９に示す動作では、メインカメラの望遠撮影画像１００から動きベクトル検出部１２０が検出可能な移動量（図７（ｂ）の矢印７１４）の上限値を、具備されたジャイロセンサ１１４で検出した角速度から算出した移動量に換算した値を規定値とする。メインカメラの焦点距離に応じて、望遠撮影画像１００からベクトル検出部１２０が検出可能な上限値も変化し、焦点距離がテレ端側にシフトした際には上限値が大きくなり、ワイド端側にシフトした際には上限値は小さくなる。したがって、ジャイロセンサ１１４で検出した角速度情報から換算した規定値も同様に変化する。
【００６１】
Ｓ９０１において、画像処理部１０４は、例えばプロセッサ１１２からの情報に基づき、デジタルカメラ１０が望遠撮影モードへ遷移したかを判定する。画像処理部１０４は、望遠撮影モードへ遷移したと判定した場合にはＳ９０２に遷移し、望遠撮影モードに遷移していないと判定した場合にはＳ９０１の処理を繰り返す。
【００６２】
Ｓ９０２において、画像処理部１０４は、第１コア１２１と第２コア１２２を使用してメインカメラで撮影した望遠撮影画像１００から図４に示した動作に従って動きベクトルを算出する。Ｓ９０３において、画像処理部１０４は、例えばプロセッサ１１２からの情報に基づき、デジタルカメラ１０が望遠撮影モードから他のモードへ遷移したかを判定する。画像処理部１０４は、他のモードへ移ったと判定した場合には処理を終了し、他のモードに遷移していないと判定した場合にはＳ９０４に遷移する。
【００６３】
Ｓ９０４において、画像処理部１０４は、ジャイロセンサ１１４で検出した角速度から算出した移動量が、規定値を超えるか（すなわち望遠撮影画像で所定の範囲内の動きベクトルを検出可能な基準を満たさない）を判定する。画像処理部１０４は、角速度から算出した移動量が規定値を超えると判定した場合には、サブカメラで撮影した広角撮影画像から動きベクトルを検出するためにＳ９０５に遷移し、そうでない場合にはＳ９０２に遷移する。Ｓ９０５において、画像処理部１０４は、第１コア１２１と第２コア１２２を使用してサブカメラの広角撮影画像１０１から図４に示した動作に従って動きベクトルを算出する。Ｓ９０６において、画像処理部１０４は、望遠撮影モードから他のモードへ遷移したかを判定する。画像処理部１０４は、望遠撮影モードから他のモードへ移ったと判定した場合には本処理を終了し、他のモードに遷移していないと判定した場合にはＳ９０７に遷移する。
【００６４】
Ｓ９０７において、画像処理部１０４は、ジャイロセンサ１１４で検出した角速度から算出した移動量が規定値を超えるかを判定する。ただし、メインカメラの焦点距離が変更された場合には、規定値も変更されるため、画像処理部１０４は変更後の規定値で判定処理を行う。画像処理部１０４は、角速度から算出した移動量が規定値を超えると判定した場合には引き続きサブカメラで撮影した広角撮影画像から動きベクトルを検出するためにＳ９０５に遷移する。画像処理部１０４は、角速度から算出した移動量が規定値を超えないと判定した場合にはＳ９０２に遷移する。すなわち、角速度から算出した移動量が規定値を超えないと判定された場合には、メインカメラで撮影した望遠撮影画像１００から再度動きベクトルが検出可能になったことを意味する。このため、検出精度の高いメインカメラで撮影した望遠撮影画像１００から動きベクトルの検出を開始することができる。
【００６５】
さらに、図１０を参照して、メインカメラのレンズの焦点距離情報を用いた、切り替え処理の動作について説明する。図１０に示す動作では、メインカメラのレンズの焦点距離情報を規定値として使用する。この例では、メインカメラのレンズがテレ端側に近づき焦点距離が規定値を越える場合に、メインカメラで撮影した望遠撮影画像１００から動きベクトルを検出可能な移動量を越える可能性が高い（すなわち基準を満たさない）と判定する。
【００６６】
Ｓ１００１において、画像処理部１０４は、例えばプロセッサ１１２からの情報に基づきデジタルカメラ１０が望遠撮影モードへ遷移したかを判定する。画像処理部１０４は、望遠撮影モードへ遷移したと判定した場合には、Ｓ１００２に遷移する。一方、画像処理部１０４は、望遠撮影モードに遷移していないと判定した場合には、Ｓ１００１の処理を繰り返す。Ｓ１００２において、メインカメラで撮影した望遠撮影画像１００から第１コア１２１と第２コア１２２を使用して図４に示した動作に従って動きベクトルを算出する。
【００６７】
Ｓ１００３において、画像処理部１０４は、例えばプロセッサ１１２からの情報に基づきデジタルカメラ１０が望遠撮影モードから他のモードへ遷移したかを判定する。画像処理部１０４は、他のモードへ移ったと判定した場合には処理を終了し、一方で他のモードに遷移していないと判定した場合にはＳ１００４に遷移する。
【００６８】
Ｓ１００４において、画像処理部１０４は、メインカメラの焦点距離が規定値を超えたかを判定する。画像処理部１０４は、メインカメラの焦点距離が規定値を超えたと判定した場合には、望遠撮影画像１００から動きベクトルを検出可能な移動量を越える可能性が高いと判断して、Ｓ１００５へ遷移する。画像処理部１０４は、メインカメラの焦点距離が規定値を超えていないと判定した場合には、Ｓ１００２へ遷移する。
【００６９】
Ｓ１００５において、画像処理部１０４は、第１コア１２１と第２コア１２２を使用してサブカメラの広角撮影画像１０１から図４に示した動作に従って動きベクトルを算出する。Ｓ１００６において、画像処理部１０４は、望遠撮影モードから他のモードへ遷移したかを判定する。画像処理部１０４は、他のモードへ移ったと判定した場合には、本処理を終了し、他のモードに遷移していないと判定した場合にはＳ１００７に遷移する。
【００７０】
Ｓ１００７において、画像処理部１０４は、メインカメラの焦点距離が規定値を超えたかを判定する。画像処理部１０４は、メインカメラの焦点距離が規定値を超えたと判定した場合にはサブカメラで撮影した広角撮影画像から動きベクトルを検出するためにＳ１００５へ遷移する。画像処理部１０４は、メインカメラの焦点距離が規定値を超えていないと判定した場合には、メインカメラで撮影した望遠撮影画像から動きベクトルを検出するためにＳ１００２へ遷移する。
【００７１】
なお、上述のＳ８０４およびＳ８０７では、各々５０フレーム、１０フレームずつ処理を行う例を説明したが、処理するフレーム数はこの数に限定されず、適宜フレーム数を調整することができる。
【００７２】
以上説明したように、本実施形態では、画角の異なる複数の画像を取得して動きベクトルを検出する場合に、望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たすかに応じて、動きベクトルを検出する画像を切り替えるようにした。すなわち、望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たさない場合には、動きベクトルを検出する画像をサブカメラで撮影された広角撮影画像１０１を用いるようにした。例えば、広角撮影画像から検出した動きベクトル量が規定値を超えない状態では（上記基準を満たす）、望遠撮像画像を用いて動きベクトルの検出精度を高い状態に維持することができる。一方、手振れなどで広角撮影画像から検出した動きベクトル量が規定値を超える状態（上記基準を満たさない）では、サブカメラで撮影した広角撮影画像１０１を用いて、動きベクトルを検出する際の検出範囲の増加を抑制して処理負荷の増大を抑制できる。
【００７３】
（実施形態２）
次に、実施形態２について説明する。本実施形態では、デジタルカメラ１０が（望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たす）所定の動作モードであるかに応じて、動きベクトルを検出する画像を切り替える。図１２には、本実施形態に係るデジタルカメラ１０の機能構成例を示している。図１２に示すように、本実施形態のデジタルカメラ１０は、画像処理部１０４においてジャイロセンサ補正部１２０１を有する点が実施形態１と異なる。しかし、他の構成は実施形態１と実質的に同一である。
【００７４】
次に、実施形態２に係る切り替え処理の動作について、図１３を参照して説明する。また、図１４は、各設定モードにおける動きベクトルの検出対象となる画像の対応関係を表している。なお、この検出処理は、画像処理部１０４において、ハードウェアにより又はプログラムを実行することにより実現される。
【００７５】
まず、デジタルカメラ１０が流し撮り撮影モードである場合について説明する。流し撮り撮影モードでは、移動している被写体に対してユーザがデジタルカメラ１０を追従して動かすことにより、被写体の撮影画像内の位置が相対的に停止した状態で撮影される。一方、撮影画像内の背景は被写体に対して移動方向に流れたような状態となる。通常、流し撮り撮影を行う場合は、被写体の移動速度とデジタルカメラの追従する速度を一致させる必要があるため撮影技術を要する。このため、デジタルカメラ１０は、流し撮り撮影モードにおいて、被写体の移動速度とデジタルカメラの追従する速度との差分量を検出し、検出した差分量に応じて、レンズや撮像素子をシフトさせ差分量を補正する。
【００７６】
図１５には、デジタルカメラ１０が流し撮り撮影モードである場合の、広角撮影画像と望遠撮影画像のグリッド配置を示している。図１５（ａ）は、動きベクトル検出部１２０の第２コア１２２により、広角撮影画像１０１から主に背景の動きベクトルを検出するためのグリッド配置を示している。一方、図１５（ｂ）は、動きベクトル検出部１２０の第１コア１２１により、望遠撮影画像１００から主に被写体の動きベクトルを検出するためのグリッド配置を示している。なお、図１５（ａ）および（ｂ）に示す特徴点抽出グリッド３０２等の各領域は、図３に示した各領域と対応する。図１５（ａ）では、特徴点抽出グリッド３０２を、背景を捉えるように画面内のより広い領域に配置しており、図１５（ｂ）では特徴点抽出グリッド３０２を、被写体を中心として局所的に配置している。
【００７７】
デジタルカメラ１０が被写体を追従する速度を算出するために、画像処理部１０４は、動きベクトル検出部１２０の第２コア１２２で検出された背景の動きベクトル量と、ジャイロセンサ１１４で算出した角速度情報を使用する。被写体の移動速度と、被写体の移動速度とデジタルカメラ１０の追従する速度との差分量には、動きベクトル検出部１２０の第１コア１２１で検出される被写体の動きベクトル量が対応する。流し撮り撮影モードでは、この差分量が０となるようにレンズや撮像素子をシフトさせる。
【００７８】
図１６には、流し撮り撮影モードにおいて想定される動きベクトル量の分布の一例を示している。この図では、横軸は動きベクトル量を、縦軸は動きベクトル量の検出本数を表し、動きベクトルの分布領域が横軸の右側に現れるほど撮影画像内での動き量が大きいことを示す。分布領域１６０１は、動きベクトル検出部１２０の第１コア１２１（すなわち望遠撮影画像１００）で検出した被写体の動きベクトル量の分布する領域を示す。被写体の移動速度とデジタルカメラ１０の追従する速度が近似する場合には、分布領域１６０１の分布は０側にシフトされる。一方、分布領域１６０２は、動きベクトル検出部１２０の第２コア１２２（すなわち広角撮影画像１０１）で検出した背景の動きベクトル量の分布する領域を示している。
【００７９】
図１６に示すように、動きベクトル検出部１２０の第１コア１２１で望遠撮影画像１００から検出した被写体の動きベクトル量は、動きベクトル検出部１２０の第２コア１２２で広角撮影画像１０１から検出した背景の動きベクトル量よりも小さくなる。したがって、流し撮り撮影モードでは、動きベクトル検出部１２０の第１コア１２１は望遠撮影画像１００を検出対象とした場合でも検出可能な動きベクトルの範囲に収まるケースが多くなり、検出精度の向上も可能となる。このように、画像内の他の領域よりも相対的に移動量が小さい被写体領域に対する処理を行う、流し撮り撮影モードでは、望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たす。このため、デジタルカメラ１０が流し撮り撮影モードに設定されている場合には、望遠撮影画像から動きベクトルを検出するように画像を切り替えることができる。但し、実施形態１における図８に示した動作と同様、検出可能な動きベクトルの範囲を越えた場合には、動きベクトル検出部１２０の第１コア１２１も、広角撮影画像１０１を使用して被写体の動きベクトル移動量を検出する制御にしてもよい。
【００８０】
以下、流し撮り撮影モードにおけるベクトル検出処理の動作を、図１３を参照して説明する。Ｓ１３０１において、例えばデジタルカメラ１０が流し撮り撮影モードに設定される。この場合、Ｓ１３０２において、画像処理部１０４は、動作モードが望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たすモードであるかを判定する。この判定は、メインカメラで取得した望遠撮影画像１００で動きベクトルを検出した場合に、動きベクトル検出範囲が増加し、または検出精度が低下するモードであるかを判定することと相当する。画像処理部１０４は、動作モードが、メインカメラで取得した望遠撮影画像１００で動きベクトルを検出した場合に、動きベクトル検出範囲が増加し、または検出精度が低下するモードであると判定した場合、Ｓ１３０４に遷移する。一方、それ以外のモードである場合にはＳ１３０３に遷移する。例えば、画像処理部１０４は、デジタルカメラ１０が流し撮り撮影モードである場合、望遠撮影画像１００における動きベクトル検出範囲は増加しないモードと判定し、Ｓ１００３に遷移する。
【００８１】
Ｓ１３０３において、画像処理部１０４は、動きベクトル検出部１２０の第１コア１２１で望遠撮影画像１００から動きベクトルを検出し、且つ第２コア１２２で広角撮影画像１０１から動きベクトルを検出するように設定する。更に、Ｓ１３０５において、画像処理部１０４は撮影を開始し、Ｓ１３０６において撮影を完了したと判定した場合には本処理を終了する。
【００８２】
次に、ジャイロセンサ出力補正モードにおける切り替え処理の動作について説明する。ジャイロセンサ１１４には、固有のノイズや温度変化によるノイズ、検出精度のバラつきがあり、手振れ量を検出する際に誤差が載り検出精度が低下する場合がある。このため、デジタルカメラ１０においてジャイロセンサ出力補正モードが有効である場合には、動きベクトル検出部１２０で検出した動きベクトル量を使用してジャイロセンサ１１４のオフセットを修正する。
【００８３】
図１７には、ジャイロセンサ１１４のオフセットを修正する、ジャイロセンサ補正部１２０１の機能構成例を示している。補正レンズ位置検出部１７００は、防振時にシフトする補正レンズの位置を検出して電圧として出力し、ＡＤ変換部（不図示）により補正レンズの位置であるアナログの電圧信号をデジタルの位置信号１７２２に変換する。
【００８４】
ジャイロセンサ補正部１２０１には、位置信号１７２２のほか、ジャイロセンサ１１４で取得された角速度信号１７２１と、動きベクトル検出部１２０で検出された動きベクトル量１７２３とが入力される。デジタルカメラ１０に角速度が加わった際にジャイロセンサ１１４の持つオフセットノイズがＬＰＦにより高周波がカットされた角速度情報に加わる。角速度信号１７２１は、補正レンズの駆動量に変換され、補正レンズ位置検出部１７００により検出される位置信号１７２２として観測される。デジタルカメラ１０に加わった角速度を積分して算出されたブレ角度から位置信号１７２２を減算するとブレ残り角度となる。このブレ残り角度のフレーム間差分は、動きベクトル検出部１２０により動きベクトル量１７２３として検出される。ジャイロセンサ補正部１２０１のサンプリング周期は、フレーム間隔に同期した動きベクトル検出部１２０の周期で実施される。角速度信号１７２１や位置信号１７２２のサンプリング周期も同期が取られる。
【００８５】
平均値算出部１７０１は、角速度信号１７２１のフレーム間の平均値１７２４を算出する。差分算出部１７０２は、位置信号１７２２のフレーム間のブレ補正角速度１７２５を算出する。動きベクトル変換部１７０３は、動きベクトル量１７２３を、角速度単位の動きベクトル量１７２６に変換し、フレーム間のブレ補正角速度１７２５に加算する。各信号はＬＰＦ１７０４または１７０５に入力されて、エイリアシングが軽減される。カルマンフィルタ１７０６は、ＬＰＦからの信号を入力して、角速度センサの感度とオフセットの補正量１７２７を算出する。なお、角速度単位の動きベクトル量１７２６を算出するためには、画角の一部ではなく、画角全体に対してグリッドを配置して、主に背景からベクトル検出を行うことで、一部の被写体の動きベクトルに影響を受けることなく、高精度の検出が可能となる。
【００８６】
他方、メインカメラによる望遠撮影画像１００では、サブカメラによる広角撮影画像１０１と比べて局所的な画角になる。そしてズームが高倍率である場合では、動きベクトル量が大きくなるために動きベクトルの検出可能範囲の拡大が必要となり処理負荷が増加してしまう。すなわち、センサの出力値を検出される動きベクトルを用いて補正するようなジャイロセンサ出力補正モードは、望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たさない動作モードとなる。したがって、画像処理部１０４は、デジタルカメラ１０のジャイロセンサ出力補正モードが有効である場合、動きベクトル検出部１２０の第１コア１２１と第２コア１２２の両方で広角撮影画像１０１から動きベクトルを検出する。このような制御により、角速度単位の動きベクトル量１７２６の検出精度を向上させ、動きベクトルの検出可能範囲の拡大による処理負荷の増加を抑制することができる。なお、メインカメラのズームが低倍率であって、処理負荷を上げることなく、動きベクトル検出を実施可能である場合には、望遠撮影画像１００から動きベクトル量を検出する制御にしてもよい。
【００８７】
このような、ジャイロセンサ出力補正モードにおけるベクトル検出処理の動作を、図１３を参照して説明する。Ｓ１３０１において、デジタルカメラ１０の設定モードが何らかのモードに設定される。Ｓ１３０２において、画像処理部１０４は、動作モードが、メインカメラで取得した望遠撮影画像１００で動きベクトルを検出した場合に、動きベクトル検出範囲が増加し、または検出精度が低下するモードであるかを判定する。例えば、画像処理部１０４は、ジャイロセンサ出力補正モードが有効である場合、メインカメラで取得した望遠撮影画像１００で動きベクトルを検出した場合に、動きベクトル検出範囲が増加し、または検出精度が低下するモードであると判定する。このため、画像処理部１０４は、Ｓ１３０４に遷移して、動きベクトル検出部１２０の第１コア１２１と第２コア１２２の両方で広角撮影画像１０１から動きベクトルを検出するように設定する。その後、Ｓ１３０５において撮影を開始し、Ｓ１３０６において、撮影を完了した場合には処理を終了する。
【００８８】
更に、デジタルカメラ１０が動体検出モードである場合の、画像の切り替え処理について説明する。図１８には、デジタルカメラ１０が動体検出モードである場合の広角撮影画像１０１のグリッド配置を示している。オートフォーカスの領域を決定するために画像内の動体を検出する場合、画角全体で動きベクトルの検出を行う必要がある。そのため、望遠撮影画像１００よりも広い領域で動きベクトルを検出することが可能な広角撮影画像１０１に対して画角全体にグリッド配置を行うことで、動体検出精度の向上が可能となる。画像処理部１０４は、動体検出モードが有効である場合、図１８に示す左半分のグリッド配置領域１８０２において動きベクトル検出部１２０の第１コア１２１で動きベクトル検出を行う。また左半分のグリッド配置領域１８０３において第２コア１２２で動きベクトル検出を行う。動体検出モードでは、画像処理部１０４は、動きベクトル検出部１２０で検出され、精度判定手段２０４で有効と判定された動きベクトルの水平方向、垂直方向の移動量の平均値から、規定値を超えて異なった移動量を有する領域を動体箇所として検出する。例えば、図１８では、自動車である被写体１８０１の周辺の領域の動きベクトルが、平均値から異なるとものとして検出される。
【００８９】
次に、動体検出モードにおけるベクトル検出処理の動作を、図１３を参照して説明する。Ｓ１３０１において、例えばデジタルカメラ１０がジャイロセンサ出力補正モードに設定される。Ｓ１３０２において、画像処理部１０４は、デジタルカメラ１０が動体検出モードであるかを判定する。画像処理部１０４は、動体検出モードであると判定した場合、メインカメラで取得した望遠撮影画像１００で動きベクトルを検出した場合に動きベクトル検出範囲が増加し、または検出精度が低下するモードであると判定する。すなわち、動体検出モードは、望遠撮影画像から所定の範囲内の動きベクトルを検出可能な基準を満たさない動作モードとなる。このため、画像処理部１０４は、Ｓ１３０４に遷移して、動きベクトル検出部１２０の第１コア１２１と第２コア１２２の両方で広角撮影画像１０１から動きベクトルを検出するように設定する。その後、Ｓ１３０５において撮影を開始し、Ｓ１３０６において、撮影を完了した場合には処理を終了する。
【００９０】
なお、実施形態２では３つの動作モードにおける画像の切り替え処理について説明したが、本実施形態はこれらのモードに限定されない。メインカメラで取得した望遠撮影画像１００で動きベクトルを検出する場合に動きベクトル検出範囲が所定の範囲以上に増加し、または検出精度が所定の精度以下に低下する場合、ベクトル検出の対象画像を望遠撮影画像から広角撮影画像から切り替えればよい。このようにすれば、検出精度を維持するために動きベクトル検出範囲の拡大による処理負荷の増加または、検出精度の低下を抑制することが可能となる。
【００９１】
（実施形態３）
更に、実施形態３について説明する。本実施形態では、デジタルカメラ１０が所定の処理を行う状態であるかに応じて、動きベクトルを検出する画像を切り替える動作について説明する。なお、本実施形態に係るデジタルカメラ１０の構成は実施形態１と実質的に同一である。図２０（ａ）は、メインカメラの望遠撮影画像を用いてベクトル検出を行う場合に、検出精度の改善のためにベクトル検出以外の処理負荷が増加する処理状態と、撮影画像の状態の例とを示している。
【００９２】
また、図２０（ｂ）は、図２０（ａ）に示すズーム動作中に対する処理状態について、処理負荷が増大する例を説明するための図であり、ズームイン動作を行っている状態の動きベクトル量の大きさを示している。例えば、メインカメラがズームアウト中である場合には、望遠撮影画像の光学中心（図２０（ｂ）の２１００）方向に対して動きベクトルが発生し、ズームイン中は光学中心方向から放射状方向に動きベクトル（図２０（ｂ）の矢印２１０１）が発生する。これらの動きベクトルはメインカメラのズーム動作に起因するもので本来の検出対象である手振れなどの動作による動きベクトル検出に対しては検出精度を下げる要因となる。このため、ズーム動作により発生する動きベクトルをキャンセルするために、ズーム速度に応じて、検出した各動きベクトルから、ズーム動作によって発生する各グリッドの検出位置での動きベクトル量を減算または加算する処理が必要となる。つまり、ズーム動作中に対する処理状態は、検出される動きベクトルの検出精度を変化させるための処理を実行する状態であり、処理負荷が増加する。
【００９３】
次に、図２０に示す静止画連写中に対する処理状態について説明する。メインカメラが静止画を連続撮影する際の動きベクトル検出のフレームレートは、動画撮影時や、撮影待機中のライブビュー表示時の動きベクトル検出のフレームレートと比較して低下する場合がある。メインカメラのレンズ防振制御へのフィードバック間隔が不足するような場合、直前の数フレームから動き予測を行い、動きベクトルの検出レートを満たす制御処理が必要となる。
【００９４】
このように、メインカメラの制御以外にも撮影画像の状態により、動きベクトルの検出精度を向上させるための処理状態に入るケースがある。例えば、メインカメラで撮影した画像のコントラストが低く、動きベクトル検出の精度が悪い場合には、コントラストを高くするための画像処理が必要となる。その他にもメインカメラに減光用ＮＤフィルタが装着されている場合など撮影画像の明度が低く、動きベクトル検出の精度が悪い場合には、明度を高くするための画像処理が必要となる。また、メインカメラのレンズの絞り調整値が小さく撮影画像の大部分がぼけているような場合には、エッジが検出し難くなるため、動きベクトル検出の精度が低下するケースがある。このような場合には、動きベクトル検出処理の前処理としてエッジ強調などのフィルタ処理が必要となる。
【００９５】
このように、メインカメラの動きベクトルの検出精度が低下した場合の処理や、動きベクトルの検出精度を向上させる場合の処理など、動きベクトルの検出精度を変化させるための処理により負荷が増加する。このような処理状態に入る場合には、以下に後述するように動きベクトル検出を行う画像を切り替える。
【００９６】
以下、図１９を参照して、切り替え処理の動作について説明する。Ｓ１９０１において、メインカメラの制御動作または望遠撮影画像の撮影状態が変更される。これにより、デジタルカメラ１０は、図２０を参照して上述した、処理負荷の増加する処理状態に入る。Ｓ１９０２では、メインカメラで取得した望遠撮影画像に対して検出精度を向上させるための処理負荷が増加する所定の処理状態であるかを判定する。画像処理部１０４は、デジタルカメラ１０が所定の処理状態であると判定した場合、Ｓ１９０３に遷移し、そうでない場合Ｓ１９０４に遷移する。
【００９７】
Ｓ１９０３において、画像処理部１０４は、動きベクトル検出部１２０の第１コア１２１で、望遠撮影画像１００から動きベクトルを検出するように設定し、第２コア１２２で、広角撮影画像１０１から動きベクトルを検出するように設定する。一方、Ｓ１９０４において、画像処理部１０４は、動きベクトル検出部１２０の第１コア１２１と第２コア１２２の両方で広角撮影画像１０１から動きベクトルを検出するように設定する。その後、Ｓ１９０５において撮影を開始し、Ｓ１９０６において、撮影を完了した場合には処理を終了する。
【００９８】
以上説明したように、メインカメラによる望遠撮影画像で動きベクトル検出を行う際に、検出される動きベクトルの検出精度を変化させるための処理を実行する処理状態である場合、動きベクトル検出の対象画像をサブカメラによる広角撮影画像に切り替える。このようにすることで、複数のカメラの撮影画像の内、動きベクトルの検出対象となる画像を適切に切り替えて、処理負荷の増加を低減することが可能となる。
【００９９】
なお、実施形態３の説明において、メインカメラの制御動作及び撮影画像の状態の例として図２０に５つの例を示した。しかし、動きベクトルの検出精度を向上させるために処理負荷が増加する処理状態となる場合には図２０に示した以外であっても、本処理を適応可能である。
【０１００】
さらに、Ｓ１９０４では、動きベクトル検出部１２０の第１コア１２１と第２コア１２２の両方で広角撮影画像１０１から動きベクトルを検出するように設定する例を説明したが、一定の制約のもとでＳ１９０３の制御を実施してもよい。その場合、動きベクトル検出部１２０の第１コア１２１で、望遠撮影画像１００から動きベクトルを検出するように設定し、第２コア１２２で、広角撮影画像１０１から動きベクトルを検出するように設定する。但し、望遠撮影画像１００から検出された動きベクトル量は、広角撮影画像１０１から検出された動きベクトル量よりも、ベクトル検出処理の後段にあたるメインカメラ用結像光学部１０１０の防振用レンズ制御の演算処理に使用される比重を下げる。このようにすれば、検出対象の画像の切り替え処理を行わない場合であっても、検出精度の低下した望遠撮影画像１００からの動きベクトル量と、検出精度の維持される広角撮影画像１０１からの動きベクトル量との使用比率を調整することができる。すなわち、動きベクトルを検出した結果として、使用される動きベクトル検出の精度を保つことができる。
【０１０１】
なお、上述のプログラムは、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。また、プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。
【０１０２】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０３】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【０１０４】
１０２０…メインカメラ用撮像素子、１０２１…サブカメラ用撮像素子、１０４…画像処理部、１２１…第１コア、１２２…第２コア、１１２…プロセッサ、１１４…ジャイロセンサ
【図１】
2020136774.tif 000006
【図２】
2020136774.tif 000007
【図３】
2020136774.tif 000008
【図４】
2020136774.tif 000009
【図５】
2020136774.tif 000010
【図６】
2020136774.tif 000011
【図７】
2020136774.tif 000012
【図８】
2020136774.tif 000013
【図９】
2020136774.tif 000014
【図１０】
2020136774.tif 000015
【図１１】
2020136774.tif 000016
【図１２】
2020136774.tif 000017
【図１３】
2020136774.tif 000018
【図１４】
2020136774.tif 000019
【図１５】
2020136774.tif 000020
【図１６】
2020136774.tif 000021
【図１７】
2020136774.tif 000022
【図１８】
2020136774.tif 000023
【図１９】
2020136774.tif 000024
【図２０】
2020136774.tif 000025