(57)【要約】      （修正有）【課題】画像信号を複数の画像処理手段で並列処理する場合に、動きベクトルの検出精度を向上させることができる画像処理装置を提供する。【解決手段】撮像装置１００の第１の画像処理手段は、フレーム画像をそれぞれ複数の部分領域に分割する分割部と、フレーム画像を縮小して縮小画像を得る縮小部と、複数の部分領域のうちの第１の部分領域の信号と縮小画像の信号の少なくとも一方を用いて第１の動きベクトルを検出する第１のベクトル検出部とを有する。第２の画像処理手段は、第１の画像処理手段から送られた、複数の部分領域のうちの第２の部分領域の信号と縮小画像の信号の少なくとも一方を用いて第２の動きベクトルを検出する第２のベクトル検出部とを有する。第１の画像処理手段または第２の画像処理手段は、第１の動きベクトルおよび第２の動きベクトルの少なくとも一方を画像処理装置から出力させる制御部を備える。【選択図】図１
2018085691.tif 000002
【特許請求の範囲】
【請求項１】
動画像中のフレーム画像に対する画像処理を並列して行う複数の画像処理手段を備える画像処理装置であって、
前記複数の画像処理手段のうちの第１の画像処理手段は、前記フレーム画像をそれぞれ複数の部分領域に分割する分割手段と、前記フレーム画像を縮小して縮小画像を得る縮小手段と、前記複数の部分領域のうちの第１の部分領域の信号と前記縮小画像の信号の少なくとも一方を用いて第１の動きベクトルを検出する第１のベクトル検出手段とを有し、
前記複数の画像処理手段のうちの第２の画像処理手段は、前記第１の画像処理手段から送られた、前記複数の部分領域のうちの第２の部分領域の信号と前記縮小画像の信号の少なくとも一方を用いて第２の動きベクトルを検出する第２のベクトル検出手段とを有し、
前記第１の画像処理手段または前記第２の画像処理手段は、前記第１の動きベクトルおよび前記第２の動きベクトルの少なくとも一方を前記画像処理装置から出力させる制御手段を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の画像処理手段は、前記縮小画像を解析する解析手段をさらに備え、前記制御手段は、前記解析手段による解析結果に基づいて、前記第１の動きベクトルおよび前記第２の動きベクトルの少なくとも一方を前記画像処理装置から出力させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記解析手段は、前記縮小画像のコントラスト値を求めることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記縮小画像のコントラスト値が所定の値よりも小さい場合、前記第１のベクトル検出手段は、前記第１の部分領域の信号を用いて前記第１の動きベクトルを検出することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記解析手段は、前記複数の部分領域の分割境界における特徴点の特徴値を求めることを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記分割境界における特徴点の特徴値が所定の値よりも大きい場合、前記第１のベクトル検出手段は、前記縮小画像の信号を用いて前記第１の動きベクトルを検出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記解析手段は、前記部分領域の分割境界における被写体の存在の有無の情報を検出することを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記分割境界に被写体が存在する場合、前記第１のベクトル検出手段は、前記縮小画像の信号を用いて前記第１の動きベクトルを検出することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記制御手段は、前記複数の画像処理手段の間の通信速度に応じて、前記第１の動きベクトルおよび前記第２の動きベクトルの少なくとも一方を前記画像処理装置から出力させることを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記制御手段は、前記複数の画像処理手段の間の通信速度が所定の速度よりも遅い場合、前記第１の動きベクトルを前記画像処理装置から出力させることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記制御手段は、前記第１の動きベクトルと前記第２の動きベクトルを合成した動きベクトルを前記画像処理装置から出力させることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記制御手段は、前記第１の動きベクトルと前記第２の動きベクトルを合成する場合、前記縮小画像を用いて検出した動きベクトルよりも、前記第１の部分領域の信号または前記第２の部分領域の信号を用いて検出した動きベクトルの重みを大きくすることを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記制御手段は、前記第１の動きベクトルと前記第２の動きベクトルを合成する場合、前記縮小画像を用いて検出した動きベクトルの重みと、前記第１の部分領域の信号または前記第２の部分領域の信号を用いて検出した動きベクトルの重みを、前記縮小画像を解析した結果に応じて変更することを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
被写体像を撮像する撮像手段と、
該撮像手段により撮像された動画像が入力される請求項１乃至１３のいずれか１項に記載の画像処理装置と、
を備えることを特徴とする撮像装置。
【請求項１５】
動画像中のフレーム画像に対する画像処理を並列して行う複数の画像処理手段を備える画像処理装置を制御する方法であって、
前記複数の画像処理手段のうちの第１の画像処理手段は、前記フレーム画像をそれぞれ複数の部分領域に分割する分割工程と、前記フレーム画像を縮小して縮小画像を得る縮小工程と、前記複数の部分領域のうちの第１の部分領域の信号と前記縮小画像の信号の少なくとも一方を用いて第１の動きベクトルを検出する第１のベクトル検出工程とを行い、
前記複数の画像処理手段のうちの第２の画像処理手段は、前記第１の画像処理手段から送られた、前記複数の部分領域のうちの第２の部分領域の信号と前記縮小画像の信号の少なくとも一方を用いて第２の動きベクトルを検出する第２のベクトル検出工程とを行い、
前記第１の画像処理手段または前記第２の画像処理手段は、前記第１の動きベクトルおよび前記第２の動きベクトルの少なくとも一方を前記画像処理装置から出力させる制御工程を行うことを特徴とする画像処理装置の制御方法。
【請求項１６】
請求項１５に記載の制御方法の各工程を前記第１の画像処理手段または第２の画像処理手段に実行させるためのプログラム。
【請求項１７】
請求項１５に記載の制御方法の各工程を前記第１の画像処理手段または第２の画像処理手段に実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフレーム画像間で動きベクトルを検出する画像処理装置に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラなどの撮像装置においては、撮像素子の多画素化や動画像の高フレームレート化などに伴い、画像処理プロセッサで処理するデータ量が増大している。処理するデータ量が増大すると、１つの画像処理プロセッサで処理することが出来なくなるため、複数の画像処理プロセッサを搭載し、複数の画像処理プロセッサで処理を分担するという方法が提案されている。
【０００３】
複数の画像処理プロセッサで処理を分担する例として、特許文献１には、複数の画像処理プロセッサを直列に接続し、画像の領域を分割し、各々の画像処理プロセッサで分担して処理することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４８４３７４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された技術においては、上述したように画像の領域を分割し、各々の画像処理プロセッサで分担して処理している。そのため、ベクトル検出処理などの画像信号から評価値を取得する処理においては、分割境界の評価値を取得するために画像信号をオーバーラップさせて分割読みをする必要があり、各画像処理プロセッサの処理負荷を大きくしてしまうという課題がある。
【０００６】
そこで、これを解決する１つの方法として、画像信号を分割せずに、１つの画像処理プロセッサで処理が出来る画像サイズまで画像を縮小処理して評価値取得用の画像信号を生成し、評価値処理を１つの画像処理プロセッサで一括処理することが考えられる。
【０００７】
しかし、画像信号を縮小処理することで、縮小前の画像信号が有するテクスチャ情報が消失することや、縮小処理の折り返りの影響を受けることによって、ベクトル検出処理においては、取得されるベクトルの検出精度が低下してしまう課題が生じる。
【０００８】
本発明は上述した課題に鑑みてなされたものであり、その目的は、画像信号を複数の画像処理手段で並列処理する場合に、動きベクトルの検出精度を向上させることができる画像処理装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係わる画像処理装置は、動画像中のフレーム画像に対する画像処理を並列して行う複数の画像処理手段を備える画像処理装置であって、前記複数の画像処理手段のうちの第１の画像処理手段は、前記フレーム画像をそれぞれ複数の部分領域に分割する分割手段と、前記フレーム画像を縮小して縮小画像を得る縮小手段と、前記複数の部分領域のうちの第１の部分領域の信号と前記縮小画像の信号の少なくとも一方を用いて第１の動きベクトルを検出する第１のベクトル検出手段とを有し、前記複数の画像処理手段のうちの第２の画像処理手段は、前記第１の画像処理手段から送られた、前記複数の部分領域のうちの第２の部分領域の信号と前記縮小画像の信号の少なくとも一方を用いて第２の動きベクトルを検出する第２のベクトル検出手段とを有し、前記第１の画像処理手段または前記第２の画像処理手段は、前記第１の動きベクトルおよび前記第２の動きベクトルの少なくとも一方を前記画像処理装置から出力させる制御手段を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像信号を複数の画像処理手段で並列処理する場合に、動きベクトルの検出精度を向上させることができる画像処理装置を提供することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の画像処理装置の第１の実施形態である撮像装置の構成を示すブロック図。
【図２】ベクトル検出部の枠配置の例を示す図。
【図３】等倍画像信号、縮小画像信号、分割等倍画像信号の画像サイズ例を示す図。
【図４】グローバルモーション算出用のヒストグラムの例を示す図。
【図５】第１の実施形態における画像処理の流れを示す図。
【図６】第２の実施形態の撮像装置の構成を示す図。
【図７】画像解析部の構成を示す図。
【図８】画像解析部が算出するグリッドの位置を示す図。
【図９】画像解析部の判定例を示す図。
【図１０】第３の実施形態における画像処理の流れを示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【００１３】
＜第１の実施形態＞
図１は、本発明の画像処理装置の第１の実施形態である撮像装置１００の構成を示すブロック図である。撮像装置１００は、画像信号を並列に処理する２つの画像処理装置を有する。この２つの画像処理装置１，２は、本実施形態では同一の構成の画像処理装置であり、一方の画像処理装置１をMASTER、もう一方の画像処理装置２をSLAVEと呼ぶ。図１では、説明に必要となるブロックのみを記載しているために、画像処理装置１と画像処理装置２が異なって示されているが、実際には同じ構成である。図１では、番号の後に「−１」が記載されているものがMASTER側の画像処理装置１の機能ブロックであり、番号の後に「−２」が記載されているものがSLAVE側の画像処理装置２の機能ブロックである。なお、MASTER側とSLAVE側の画像処理装置１，２は、例えば一部の未使用機能を省いた、異なる構成の画像処理装置でもよい。
【００１４】
撮像装置１００は、撮像光学系１１０、撮像素子１０１、撮像光学系駆動部１１１、撮像素子駆動部１１２、MASTER側とSLAVE側の２つの画像処理装置１，２を備える。２つの画像処理装置１，２において、画像分割部１０２は被写体像を撮像する撮像素子１０１から出力される画像信号を上半分の部分領域と下半分の部分領域に分割する。第１の記憶部１０３は画像分割部１０２から出力される画像信号を記憶する。カメラ信号処理部１０４は第１の記憶部１０３から読み出された信号を処理する。画像縮小部１０５は撮像素子１０１から出力される画像信号を縮小する。第２の記憶部１０６は画像縮小部１０５から出力される縮小画像信号を記憶する。ベクトル検出部１０７は第２の記憶部から読み出された動画像中の連続するフレーム画像の縮小画像信号から動きベクトルデータを取得する。ＣＰＵ１０８は撮像装置１００の全体を制御する。通信部１０９はMASTER側とSLAVE側の２つの画像処理装置間の通信を行う。
【００１５】
撮像光学系１１０は、フォーカスレンズや像ぶれ補正レンズを含む複数のレンズ群および絞りを有して構成される。光学系駆動部１１１は、ＣＰＵ１０８から出力される、光学系のズーム、フォーカス、絞り、像ぶれ補正（レンズシフト）のための駆動制御情報に基づいて、撮像光学系１１０を制御する。
【００１６】
撮像素子駆動部１１２は、ＣＰＵ１０８から出力される、撮像素子の画素加算／間引き読み出し、切り出し読み出し等のための駆動制御情報に基づいて、撮像素子１０１を制御する。通信部１０９は、ＰＣＩ−ＥＸＰＲＥＥＳＳ等の既知のインタフェースで構成されており、MASTER側の画像処理装置１とSLAVE側の画像処理装置２の間で双方向通信が可能である。なお、通信部１０９は、単方向通信処理が可能なものを複数実装する構成でもよい。第１の記憶部１０３と第２の記憶部１０６は、ＤＲＡＭなどのメモリで構成される。
【００１７】
次に、ベクトル検出部１０７について、図２を用いて説明する。動きベクトルの検出方法に関しては、本実施形態では、テンプレートマッチング方式を用いる。ベクトル検出部１０７は縮小画像信号を原画像、それより前の時間に撮像された縮小画像信号を参照画像として、原画像中の任意の位置にテンプレートを配置し、テンプレートと参照画像の各領域との相関値を算出する。このとき、参照画像の全領域に対して相関値を算出するのでは演算量が膨大なものとなるため、実際には２０３で示すように参照画像上の相関値を算出する矩形領域を探索範囲として設定する。ここで、探索範囲２０３の位置や大きさについては特に制限は無いが、探索範囲２０３の内部にテンプレート２０２の移動先に相当する領域が含まれていないと正しい動きベクトルを検出することは出来ない。
【００１８】
本実施形態では、相関値の算出方法の一例として差分絶対値和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ、以下ＳＡＤと略す）を使用する。ＳＡＤの計算式を（式１）に示す。
【００１９】
【数１】
2018085691.tif 000003
【００２０】
（式１）において、ｆ（ｉ，ｊ）はテンプレート２０２内の座標（ｉ，ｊ）における画素値を表しており、ｇ（ｉ，ｊ）は探索範囲２０３において相関値算出の対象となる領域内の各画素値を表す。相関値算出対象領域は、テンプレート２０２と同じ大きさである。そしてＳＡＤでは、両ブロック内の各画素値ｆ（ｉ，ｊ）及びｇ（ｉ，ｊ）について差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得ることが出来る。従って、相関値Ｓ＿ＳＡＤの値が小さいほど両ブロック間の輝度値の差分が小さい、つまりテンプレート２０２と相関値算出領域内のテクスチャが類似していることを表している。なお、本実施形態では、相関値の一例としてＳＡＤを使用しているが、これに限られるものではなく、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いてもよい。
【００２１】
テンプレート配置に関しては、例えば図２で示されるように、テンプレート２０２は、水平サイズがＴＸ画素、垂直サイズがＴＹ画素とする。また、動きベクトルの探索範囲２０３は、テンプレート２０２の左右方向両側にＳＸ画素ずつ広げた領域、上下方向両側にＳＹ画素ずつ広げた領域である。そして、テンプレート２０２間の距離は、水平方向がＤＸ画素、垂直方向がＤＹ画素に設定され、格子状に配置される。また、少ないテンプレート数で、広範囲の動きベクトルを観察できるように、千鳥状にテンプレートを配置してもよい。なお、ＴＸ、ＴＹ、ＤＸ、ＤＹ、ＳＸ、ＳＹといったパラメータは、目的に応じて、任意の値に変更が可能である。
【００２２】
次に、本実施形態の撮像装置における、２つの画像処理装置を用いた像ぶれ補正処理について説明する。画像分割部１０２、画像縮小部１０５は、カメラ信号処理部１０４、ベクトル検出部１０７、通信部１０９に対し、２倍以上のサイズの画像信号を処理出来る構成となっている。具体的な例を挙げると、前者は４ｋ２ｋ:６０ｐの画像信号を処理する性能があり、後者は４ｋ２ｋ：３０ｐの画像信号を処理する性能がある。
【００２３】
撮像素子１０１から、図３（ａ）で示すサイズの画像信号が出力されると、MASTER側の画像分割部１０２−１は、画像信号を図３（ｃ）で示す上半分の部分領域と、図３（ｄ）で示す下半分の部分領域とに分割する。そして、上半分の画像信号を通信部１０９−１に出力し、下半分の画像信号を記憶部１０３−１に出力する。MASTER側の通信部１０９−１は、SLAVE側の通信部１０９−２に対し、上半分の画像信号を送信し、SLAVE側の通信部１０９−２は、受信した上半分の画像信号を記憶部１０３−２に出力する。そして、カメラ信号処理部１０４−１は下半分の画像信号に対して、カメラ信号処理部１０４−２は上半分の画像信号に対して、センサ補正、ホワイトバランス調整、ノイズリダクション、現像処理などのカメラ信号処理を行う。カメラ信号処理部１０４で処理された、各々の画像信号は表示部へ出力される。分割された画像信号は、表示部で既知の手法で再統合される。表示部の詳細については、既に公知のものであるため、説明を省略する。従って、４ｋ２ｋ：６０ｐの画像信号が撮像素子１０１から出力された場合は、MASTER側で下半分の画像信号（４ｋ１ｋ：６０ｐ）、SLAVE側で上半分の画像信号（４ｋ１ｋ：６０ｐ）を信号処理することで、４ｋ２ｋ：６０ｐの撮影を実現することができる。
【００２４】
また、同様に、撮像素子１０１から、図３（ａ）で示すサイズの画像信号が出力されると、MASTER側の画像縮小部１０５−１は画像信号を図３（ｂ）で示すサイズまで縮小する。図３（ｂ）においては、図３（ａ）の画像信号が、水平方向に１／２、垂直方向に１／２縮小されている。なお、画像縮小部１０５−１における画像信号の縮小率は、後段のベクトル検出部１０７が１フレーム処理期間内に処理出来る画像サイズとなればよく、１／２に限定されるものではない。また、本実施形態では画像信号全てを縮小対象としているが、後段の処理が必要とする信号領域のみを縮小対象としてもよい。
【００２５】
MASTER側のベクトル検出部１０７−１は、画像縮小部１０５−１で生成された縮小画像信号を用いて、ベクトル検出処理を行い、ベクトルデータを算出する。ベクトルデータは、ＣＰＵ１０８−１へ出力される。SLAVE側のベクトル検出部１０７−２は、通信部１０９−２が第２の記憶部１０６−２へ出力する上半分の画像信号を用いて、ベクトル検出処理を行う。縮小画像信号は、細かいテクスチャ（エッジ）情報の消失や、画像信号の折り返しの影響がある。従って、縮小画像信号によって算出されるベクトルデータは、等倍画像に対して、ベクトルデータの品質が低下する。そこで、SLAVE側のベクトル検出部１０７−２で、上半分の等倍画像信号に対し、ベクトル検出処理を行い、品質のよいベクトルデータを算出する。
【００２６】
ベクトル検出部１０７−２で生成されたベクトルデータは、ＣＰＵ１０８−２へ出力される。ＣＰＵ１０８−２は取得したベクトルデータを通信部１０９−２へ出力する。通信部１０９−２は、MASTER側の通信部１０９−１へ、ベクトルデータを出力する。通信部１０９−１は、SLAVE側で算出したベクトルデータをＣＰＵ１０８−１に出力する。
【００２７】
ＣＰＵ１０８−１は、MASTER側で縮小画像から算出したベクトルデータとSLAVE側で上半分の部分画像から算出したベクトルデータから、像ぶれ補正のためのグローバルモーション（画面全体の動き）を算出する（動きベクトルの合成）。グローバルモーションの算出方法としては、Ｘ方向とＹ方向のそれぞれで、図４で示すような検出枠全てのベクトル値のヒストグラムを求め、その最頻値４００をグローバルモーションとする。ＣＰＵ１０８−１は、ベクトルを取得したら、そのベクトル値に応じた階数をカウントして、ヒストグラムを作成する。ヒストグラムを生成する際、MASTER側のベクトルデータのカウント値は１（４０１−１）、SLAVE側のベクトルデータのカウント値は２（４０１−２）とする。SLAVE側のベクトルデータは等倍画像で算出したベクトルデータであるため、ベクトルの品質がMASTER側よりも良い。そのため、カウントの重みを大きくすることで、グローバルモーションの精度を向上させる。なお、カウントの重みは、画像のコントラスト値や被写体情報などの画像解析結果に基づいて調整する構成としてもよい。ＣＰＵ１０８−１は算出したグローバルモーションに基づいて、既知の手法で、像ぶれ補正のためのレンズ駆動（シフト）量を算出して、レンズ制御情報を撮像光学系駆動部１１１へ出力する。
【００２８】
図５は、本実施形態の撮像装置における画像処理の流れを示した図である。図５を用いて、画像処理の流れについて説明する。
【００２９】
図５において、５０１は１フレームの画像信号の処理時間を示している。例えば、フレームレートが６０ｐの場合は、１／６０ｓｅｃ＝１６．７ｍｓｅｃとなる。５０２は撮像素子１０１から出力される画像信号の出力期間を示している。本実施形態においてはラスタスキャンで画像信号が出力されるので、まず、SLAVE側で処理する上半分の画像信号が出力され、次にMASTER側で処理する下半分の画像信号が出力される。５０３は撮像素子１０１から出力される画像信号を、画像縮小部１０５が縮小処理する期間を示す。
【００３０】
５０４はカメラ信号処理部１０４が信号処理を行う期間を示す。カメラ信号処理部１０４−２は、上側の画像信号が入力されるタイミングで、信号処理を開始する。カメラ信号処理部１０４−１は、下側の画像信号が入力されるタイミングで、信号処理を開始する。前述した通り、カメラ信号処理部１０４は、撮像素子１０１の画像信号の出力レート、縮小部１０５の画像信号の処理レートに対して、半分の処理性能となるため、分割された画像信号がカメラ信号処理部１０４で処理される時間は、１フレーム分の時間となる。従って、信号処理された画像信号が表示手段で表示されるタイミングは、下側の画像信号の信号処理完了（５０４−１）以降となる。
【００３１】
５０５はベクトル検出部１０７がベクトルの検出処理を行う期間を示す。ベクトル検出部１０７−１は、画像縮小部１０５からの信号の出力直後から動きベクトル検出処理を開始する。ベクトル検出部１０７−２は、上側の画像信号が入力されるタイミングで、動きベクトル検出処理を開始する。本実施形態においては、動きベクトル検出処理は、１フレーム内で処理が完了するように、テンプレートサイズや枠配置を調整している。
【００３２】
５０６は通信部１０９−１が、上側の画像信号を通信部１０９−２へ出力する期間である。撮像素子１０１の画像信号出力直後から通信を開始する。５０７は通信部１０９−２が、SLAVE側で算出したベクトルデータを通信部１０９−１へ出力する期間である。なお、本実施形においては、ベクトルデータの送信は、撮像素子１０１の画像信号をSLAVE側へ送信する期間外で行うが、時分割処理などによって同タイミングで通信してもよい。
【００３３】
５０８はＣＰＵ１０８−１が、MASTER側で算出したベクトルデータとSLAVE側で算出したベクトルデータを用いて、グローバルモーション値を算出し、算出したグローバルモーションに基づいて、像ぶれ補正のためのレンズ駆動（シフト）量を算出し、レンズ制御情報を撮像光学系駆動部１１２へ出力する期間である。本実施形態では、期間５０８を次フレームの撮像までに完了させるよう、制御構成を組む。
【００３４】
以上の構成により、複数の画像処理プロセッサで画像処理するシステムにおいて、動きベクトルの検出精度を向上させ、像ぶれ補正の精度向上を達成することができる。
【００３５】
＜第２の実施形態＞ 
図６は、本発明の第２の実施形態の撮像装置の構成を示した図である。図６に示すように、本実施形態の撮像装置は、第１の実施形態と同様にMASTER側とSLAVE側の２つの画像処理装置１’，２’を備える。
【００３６】
図６において、撮像光学系１１０、撮像光学系駆動部１１１、撮像素子１０１、撮像素子駆動制御部１１２、画像分割部１０２、第１の記憶部１０３、カメラ信号処理部１０４、画像縮小部１０５、第２の記憶部１０６、通信部１０９は、第１の実施形態と共通のため、図１と同じ符号を付して説明を省略する。
【００３７】
画像縮小部１０５−１から得られた縮小画像信号を用いて画像解析を行う画像解析部６１３−１と、第２の記憶部１０６−１に入力する画像信号を、下半分の等倍画像信号とするか縮小画像信号とするかを切り替えるセレクタ６１４−１が追加されている。また、ＣＰＵ６０８−１は、画像解析部６１３−１の画像解析結果を取得し、解析結果に基づいて、セレクタ６１４−１に対して画像信号の切り替えを指示する。
【００３８】
ベクトル検出部６０７は、表面的な構成は第１の実施形態と共通であるが、像ぶれ補正のためのベクトルデータを算出するだけでなく、被写体を追尾するためのベクトルデータの算出を行ってもよい。後者の場合、ＣＰＵ６０８は、ベクトルデータから被写体の動きを予測し、次以降のフレームで被写体にフォーカスが合うようにレンズのフォーカス駆動量を算出して、レンズ制御情報を撮像光学系駆動部１１２へ出力する。
【００３９】
画像解析部６１３−１の構成は、以下の何れかの処理機能もしくは複数の処理機能によって構成される。画像解析部６１３−１の構成について、ＣＰＵ６０８−１の制御と関連付けて、以下の３つの場合について説明する。
（１）画像解析部６１３−１は、特徴点算出処理を行う。特徴点算出処理を行う処理部の構成を図７に示す。特徴フィルタ部７０１は、例えば、バンドパスフィルタ、水平微分フィルタ、垂直微分フィルタ、平滑化フィルタなど、複数のフィルタから構成される。例えば、本実施形態においては、バンドパスフィルタで画像信号の不要な高周波成分と低周波成分をカットし、水平方向の微分フィルタ処理を施した信号と、垂直方向の微分フィルタ処理を施した信号それぞれに対して、平滑化フィルタ処理を施した信号を出力する。
【００４０】
特徴評価部７０２は、特徴フィルタ部７０１によりフィルタ処理されたグリッド（図８に示す分割領域８０１，８０２）に対し、画素ごとに２つのエッジの交点や曲率が極大である曲線状の点など画素の周辺の微分値が多方向に大きい点を特徴評価式により特徴値として算出する。本実施形態では、例えば、Ｓｈｉ ａｎｄ Ｔｏｍａｓｉの手法を用いる場合について説明する。
【００４１】
水平微分フィルタと垂直微分フィルタを施した結果から、自己相関行列Ｈを作成する。自己相関行列Ｈの式を（式２）に示す。
【００４２】
【数２】
2018085691.tif 000004
【００４３】
（式２）において、Ｉxは水平微分フィルタを施した結果、Ｉyは垂直微分フィルタを施した結果を表しており、ガウシアンフィルタＧを畳み込む。Ｓｈｉ ａｎｄ Ｔｏｍａｓｉの特徴評価式を（式３）に示す。
【００４４】
Shi and Tomashi ＝ min（λ1，λ2）      （式３）
（式３）は、（式２）の自己相関行列Ｈの固有値λ1，λ2のうち小さい方の固有値を特徴値とすることを示す。
【００４５】
特徴点決定部７０３は、グリッド毎に特徴評価部７０２によって画素ごとに算出された特徴値の最も大きい値を持つ画素を特徴点と決定する。特徴点は、図８で示すように、縮小画像信号を、複数の分割領域（グリッドと呼ぶ）に分割し、それぞれの分割領域８０１で算出する。
【００４６】
ここで、本実施形態においては、上記の様に特徴点を検出することにより、画像分割部１０２−１で分割する画像の上半分の部分領域と下半分の部分領域の境界に特徴点が多く存在するか否かを判定する。画像の上半分の部分領域と下半分の部分領域の境界に特徴点が集中している場合は、上下のどちらかの部分領域だけでは動きベクトルを正確に検出することができず、正確に検出するには両方の部分領域の画像信号を参照する必要がある。そのため、画像処理装置の負荷を減らすためには、画像全体の縮小画像から動きベクトルを検出した方が好ましい。このような理由から以下の様な判定を行う。なお、本実施形態においては、画像信号の上下の部分領域の境界付近の特徴点が算出出来ればよいので、ハッチングで示した分割領域８０２の特徴点のみを算出するようにしてもよい。
【００４７】
画像解析部６１３−１は、各分割領域で算出された特徴点情報を、ＣＰＵ６０８−１へ出力する。ＣＰＵ６０８−１は、上下の部分領域の境界付近の分割領域８０２の特徴点の特徴値の平均値ＡＶＥを算出する。（式４）で示すように、平均値ＡＶＥが所定の閾値ＴＨＲＥＳ１以上の場合は、画面中央に特徴点が集中していると判定する。そして、ＣＰＵ６０８−１は、セレクタ６１４−１に対し、第２の記憶部１０６−１に入力する信号として、画像縮小部１０５−１からの縮小画像信号を選択するよう制御する。そうでない場合は、セレクタ６１４−１に対し、第２の記憶部１０６−１に入力する信号として、画像分割部１０２−１からの下半分の等倍画像信号を選択するよう制御する。
【００４８】
ＡＶＥ≧ＴＨＲＥＳ１      …（式４）
なお、特徴点の特徴値の平均値ではなく、積分値や中央値でもよい。また、各分割領域の特徴点の特徴値を閾値ＴＨＲＥＳ１と比較し、閾値以上の特徴点の個数をＮとした場合、（式５）で示すように、Ｎが所定の閾値ＴＨＲＥＳ２以上の場合を、画面中央に特徴点が集中している場合と判定してもよい。
【００４９】
Ｎ≧ＴＨＲＥＳ２          …（式５）
（２）画像解析部６１３−１は、コントラスト検出処理を行う。縮小画像信号の信号値の平均値ＡＶＥ２を算出する。なお、平均値ではなく、積分値、中央値、最大値でもよい。画像解析部６１３−１は、平均値ＡＶＥ２をＣＰＵ６０８−１へ出力する。ＣＰＵ６０８−１は、（式６）で示すように、平均値ＡＶＥ２が所定の閾値ＴＨＲＥＳ３未満の場合は、縮小画像信号が、画像縮小処理によってテクスチャ情報が失われていると判定する。そして、セレクタ６１４−１に対し、第２の記憶部１０６−１に入力する信号として、画像分割部６０２−１からの下半分の等倍画像信号を選択するよう制御する。そうでない場合は、セレクタ６１４−１に対し、第２の記憶部１０６−１に入力する信号として、画像縮小部６０５−１からの縮小画像信号を選択するよう制御する。
【００５０】
ＡＶＥ２≧ＴＨＲＥＳ３        …（式６）
（３）画像解析部６１３は、顔などの被写体検出処理を行う。画像解析部６１３−１は、既知の手法で、図９に示すように被写体領域９０１の左上座標（ＸＳＴＡＲＴ，ＹＳＴＡＲＴ）と右下座標（ＸＥＮＤ，ＹＥＮＤ）を算出し、ＣＰＵ６０８−１へ出力する。そして、上下の部分領域の境界９０２のＹ座標値をＹＨとした場合、（式７）で示すように、分割境界ＹＨがＹＳＴＡＲＴとＹＥＮＤの間にある場合は、被写体が分割境界にあると判定する（被写体の有無の判定）。そして、ＣＰＵ６０８−１は、セレクタ６１４−１に対し、第２の記憶部１０６−１に入力する信号として、画像縮小部６０５−１からの縮小画像信号を選択するよう制御する。そうでない場合は、セレクタ６１４−１に対し、第２の記憶部１０６−１に入力する信号として、画像分割部６０２−１からの下半分の等倍画像信号を選択するよう制御する。
【００５１】
ＹＳＴＡＲＴ≦ＹＨ≦ＹＥＮＤ      …（式７）
以上が、画像解析部６１３の構成とＣＰＵ６０８の制御である。
【００５２】
ＣＰＵ６０８−１がセレクタ６１４−１に対し、縮小画像信号を選択するように制御した場合、SLAVE側のベクトル検出部６０７−２は、第１の実施形態と同様に、上半分の等倍画像信号に対してベクトル検出処理を行う。そして、算出したベクトルデータをMASTER側のＣＰＵ６０８−１へ送信して、補助情報として活用してもよい。あるいは、処理自体を行わないようにしてもよい。
【００５３】
また、本実施形態では、セレクタ６１４−１は、第２の記憶部１０６−１の前に配置されている。しかし、ベクトル検出部６０７−１の前に配置し、第２の記憶部６０６−１に保持した縮小画像信号と第１の記憶部６０３−１に保持した下半分の等倍画像信号を選択する構成としてもよい。
【００５４】
また、本実施形態では、MASTER側のみセレクタ６１４−１で縮小画像信号と下半分の等倍画像信号を切り替える構成をとっている。しかし、SLAVE側にもセレクタ６１４−２を追加し、MASTER側から縮小画像信号を送信することで、SLAVE側でも画像解析結果に応じて縮小画像信号と上半分の等倍画像信号を切り替える構成をとってもよい。
【００５５】
以上の構成により、複数の画像処理プロセッサで画像処理するシステムにおいて、最適な動きベクトル検出処理を実施することが可能となる。
【００５６】
＜第３の実施形態＞
以下、本発明の第３の実施形態について説明する。本実施形態では、撮像装置の構成は、図１、図６に示す構成のどちらでもよく、ＣＰＵ１０８−１（ＣＰＵ６０８−１）の制御のみが異なる。
【００５７】
図１０は、本実施形態の撮像装置における、画像処理の流れを示した図である。図１０は図５とほぼタイミングが同じであるが、SLAVE側で算出したベクトルデータをMASTER側へ送信する期間１００７が、フレームをまたいでしまっている。
【００５８】
本来、グローバルモーションの算出は、１フレーム処理が完了する前に終了させて、次のフレームの撮像制御にフィードバックする必要がある。従って、送信期間１００７がフレームをまたぐ可能性がある場合は、MASTER側の縮小画像信号で算出したベクトルデータのみを使用して、グローバルモーションを算出する。
【００５９】
フレームまたぎが発生することを推定するための方法として、例えば、撮像素子１０１の入力のVBLANK期間の時間をＴｖｂ、通信速度に基づく所定のベクトルデータ数を送信する時間をＴｖ、その他のデータを送受信する時間をＴｓとした場合、以下の式で判定する。
【００６０】
Ｔｖｂ−Ｔｓ≧Ｔｖ              …（式７）
また、撮像素子１０１の入力のHBLANK期間の総和Ｔｈｂも使用して送信する場合は、以下の式で判定する。
【００６１】
Ｔｖｂ＋Ｔｈｂ−Ｔｓ≧Ｔｖ      …（式８）
なお、ＣＰＵ１０８−１は、上述の判定処理をフレーム単位で動的に実施してもよいし、撮影モードの切替えなどに応じて撮像開始時のみ実施してもよい。
【００６２】
以上の構成により、複数の画像処理プロセッサで画像処理するシステムにおいて、パフォーマンスを考慮した、最適な動きベクトル検出処理を実施することが可能となる。
【００６３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６４】
１：MASTER側の画像処理装置、２：SLAVE側の画像処理装置、１０１：撮像素子、１１０：撮像光学系、１０７：ベクトル検出部、１０８：ＣＰＵ
【図１】
2018085691.tif 000005
【図２】
2018085691.tif 000006
【図３】
2018085691.tif 000007
【図４】
2018085691.tif 000008
【図５】
2018085691.tif 000009
【図６】
2018085691.tif 000010
【図７】
2018085691.tif 000011
【図８】
2018085691.tif 000012
【図９】
2018085691.tif 000013
【図１０】
2018085691.tif 000014