(57)【要約】【課題】  画像内における被写体の状況に応じて適切な動きベクトルを検出することができる動きベクトル検出装置及びそのプログラムを実現する。【解決手段】  フレームデータを取得すると、ブロック分割部２１は、フレームデータを複数の相関検出ブロックに分割し、平均値算出部２２は、各相関検出ブロックの画素平均値を算出し、活性度算出部２３は、該算出された各相関検出ブロックの画素平均値から各相関検出ブロックのブロック活性度を算出する。そして、グループ振分部２４は、該算出されたブロック活性度に基づいて、各相関検出ブロックを２つのグループに振り分け、代表点マッチング法（相関値算出部２６、累積加算部２７、動きベクトル算出部２８）により各グループの動きベクトルを算出する。そして、動きベクトル算出部２８は、各グループの相関検出ブロックの数の比率に応じて、グループごとの動きベクトルから全体の動きベクトルを算出する。【選択図】  図２
2007122275.tif 000002
【特許請求の範囲】
【請求項１】
フレームデータ毎にフレームデータの動きベクトルを検出する動きベクトル検出装置であって、
フレームデータを取得する取得手段と、
前記取得手段により取得されたフレームデータから相関検出ブロック単位で、ブロック活性度を算出する活性度算出手段と、
前記活性度算出手段により算出された各相関検出ブロックのブロック活性度に基づいて、複数の相関検出ブロックを複数の群に振り分ける振分手段と、
前記振分手段により振り分けられた郡ごとの動きベクトルを算出する動きベクトル算出手段と、
前記振分手段により複数の郡に振り分けられた相関検出ブロックの比率に応じて、前記動きベクトル算出手段により算出された郡ごとの動きベクトルから、１つの動きベクトルを算出することにより、フレームデータの動きベクトルを検出する検出手段と、
を備えたことを特徴とする動きベクトル検出装置。
【請求項２】
前記活性度算出手段は、
現フレームデータの相関検出ブロックの画素値に基づく値と、前フレームデータの同相関検出ブロックの画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出することを特徴とする請求項１記載の動きベクトル検出装置。
【請求項３】
前記活性度算出手段は、
現フレームデータの相関検出ブロックの画素値の平均値と、前フレームデータの同相関検出ブロックの画素値の平均値との差をとることにより、相関検出ブロックのブロック活性度を算出することを特徴とする請求項１又は２記載の動きベクトル検出装置。
【請求項４】
前記活性度算出手段は、
現フレームデータの相関検出ブロック内の１部の画素の画素値に基づく値と、前フレームデータの同相関検出ブロック内の１部の画素の画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出することを特徴とする請求項１乃至３の何れかに記載の動きベクトル検出装置。
【請求項５】
前記活性度算出手段は、
ベイヤーデータの現フレームデータの相関検出ブロックの画素値に基づく値と、ベイヤーデータの前フレームデータの相関検出ブロックの画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出することを特徴とする請求項１乃至３の何れかに記載の動きベクトル検出装置。
【請求項６】
前記活性度算出手段は、
相関検出ブロックのＧ画素値を用いて相関検出ブロックのブロック活性度を算出することを特徴とする請求項５記載の動きベクトル検出装置。
【請求項７】
前記振分手段は、
前記活性度算出手段により算出された相関検出ブロックのブロック活性度が閾値より低いか否かを判断する判断手段を含み、
前記判断手段により相関検出ブロックのブロック活性度が閾値より低いと判断された相関検出ブロックを第１の郡に振り分け、前記判断手段により相関検出ブロックのブロック活性度が閾値より高いと判断された相関検出ブロックを第２の郡に振り分けることを特徴とする請求項１乃至６の何れかに記載の動きベクトル検出装置。
【請求項８】
前記動きベクトル算出手段は、
現フレームデータの相関検出ブロック内の画素値と、前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、相関検出ブロック内の画素の相関値を算出する相関値算出手段を含み、前記相関値算出手段により算出された各相関検出ブロック内の画素の相関値に基づいて、群ごとの動きベクトルを算出することを特徴とする請求項１乃至７の何れかに記載の動きベクトル検出装置。
【請求項９】
前記相関値算出手段は、
現フレームデータの相関検出ブロック内の１部の画素値と、前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出することを特徴とする請求項８記載の動きベクトル検出装置。
【請求項１０】
前記相関値算出手段は、
ベイヤーデータの現フレームデータの相関検出ブロック内の画素値と、ベイヤーデータの前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出することを特徴とする請求項８記載の動きベクトル検出装置。
【請求項１１】
前記相関値算出手段は、
相関検出ブロック内のＧ画素値と、前フレームデータの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出することを特徴とする請求項１０記載の動きベクトル検出装置。
【請求項１２】
前記動きベクトル算出手段は、
前記振分手段により振り分けられた郡ごとに、前記相関値算出手段により算出された各相関検出ブロックの画素の相関値を、画素位置が同じ画素の相関値毎に加算する累積加算手段を含み、前記累積加算手段により加算された群ごとの値に基づいて、群ごとの動きベクトルを算出することを特徴とする請求項８乃至１１の何れかに記載の動きベクトル検出装置。
【請求項１３】
前記動きベクトル算出手段は、
前記累積加算手段により加算された値の中で最も小さい値の画素位置に基づいて、動きベクトルを算出することを特徴とする請求項１２記載の動きベクトル検出装置。
【請求項１４】
前記検出手段は、
前記振分手段により複数の郡に振り分けられた相関検出ブロックの数の比率に応じて、前記動きベクトル算出手段により算出された郡ごとの動きベクトルを合成することにより、フレームデータの動きベクトルを検出することを特徴とする請求項１乃至１３の何れかに記載の動きベクトル算出装置。
【請求項１５】
フレームデータ毎にフレームデータの動きベクトルを検出する動きベクトル検出装置を実行させるためのプログラムであって、
フレームデータを取得する取得処理と、
前記取得処理により取得されたフレームデータから相関検出ブロック単位で、ブロック活性度を算出する活性度算出処理と、
前記活性度算出処理により算出された各相関検出ブロックのブロック活性度に基づいて、複数の相関検出ブロックを複数の群に振り分ける振分処理と、
前記振分処理により振り分けられた郡ごとの動きベクトルを算出する動きベクトル算出処理と、
前記振分処理により複数の郡に振り分けられた相関検出ブロックの比率に応じて、前記動きベクトル算出処理により算出された郡ごとの動きベクトルから、１つの動きベクトルを算出することにより、フレームデータの動きベクトルを検出する検出処理と、
を含むことを特徴とするプログラム。
【請求項１６】
フレームデータ毎にフレームデータの動きベクトルを検出する動きベクトル検出方法であって、
フレームデータを取得する取得ステップと、
前記取得処理により取得されたフレームデータから相関検出ブロック単位で、ブロック活性度を算出する活性度算出ステップと、
前記活性度算出ステップにより算出された各相関検出ブロックのブロック活性度に基づいて、複数の相関検出ブロックを複数の群に振り分ける振分ステップと、
前記振分ステップにより振り分けられた郡ごとの動きベクトルを算出する動きベクトル算出ステップと、
前記振分ステップにより複数の郡に振り分けられた相関検出ブロックの比率に応じて、前記動きベクトル算出ステップにより算出された郡ごとの動きベクトルから、１つの動きベクトルを算出することにより、フレームデータの動きベクトルを検出する検出ステップと、
を含むことを特徴とする動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置及びそのプログラムに係り、詳しくは、フレームデータに基づいてフレームの動きベクトルを検出する動きベクトル検出装置及びそのプログラムに関する。
【背景技術】
【０００２】
近年、撮像装置、例えば、デジタルカメラにおいては、手ブレによる被写体画像の揺れを防止するために手ブレ補正機能が搭載されており、その手ブレを補正するために必要な手ブレ量を検出する技術として代表点マッチング法を用いてその動きベクトルを検出する技術が登場してきた。
例えば、画像内に複数の動きベクトル検出領域を設け、代表点マッチング法により各領域の動きベクトルを検出する。そして、検出した各領域における動きベクトルを、動きベクトルの時間変化や他の要素によって評価して信頼度を得、その信頼度に応じて各ベクトルを選択、合成して画像全体を代表する動きベクトルを得るというものである（特許文献１）。
【０００３】
【特許文献１】公開特許公報  特開平０６−４６３１６号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１記載の技術によれば、画像内の大部分を背景（静止被写体）が占めているような状態において移動体が全ての動きベクトル検出領域にまたがるように存在している場合には、検出された全ての動きベクトルが移動体の影響を大きく受けてしまうため、背景自体の動きベクトルとは大きくかけ離れた動きベクトルが得られてしまい、結果として、画像内の大部分を占めている背景のブレ（手ブレ）が適切に補正されないという問題点があった。
【０００５】
そこで本発明は、かかる従来の問題点に鑑みてなされたものであり、画像内における被写体の状況に応じて適切な動きベクトルを検出することができる動きベクトル検出装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的達成のため、請求項１記載の発明による動きベクトル検出装置は、フレームデータ毎にフレームデータの動きベクトルを検出する動きベクトル検出装置であって、
フレームデータを取得する取得手段と、
前記取得手段により取得されたフレームデータから相関検出ブロック単位で、ブロック活性度を算出する活性度算出手段と、
前記活性度算出手段により算出された各相関検出ブロックのブロック活性度に基づいて、複数の相関検出ブロックを複数の群に振り分ける振分手段と、
前記振分手段により振り分けられた郡ごとの動きベクトルを算出する動きベクトル算出手段と、
前記振分手段により複数の郡に振り分けられた相関検出ブロックの比率に応じて、前記動きベクトル算出手段により算出された郡ごとの動きベクトルから、１つの動きベクトルを算出することにより、フレームデータの動きベクトルを検出する検出手段と、
を備えたことを特徴とする。
【０００７】
また、例えば、請求項２に記載されているように、前記活性度算出手段は、
現フレームデータの相関検出ブロックの画素値に基づく値と、前フレームデータの同相関検出ブロックの画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしてもよい。
【０００８】
また、例えば、請求項３に記載されているように、前記活性度算出手段は、
現フレームデータの相関検出ブロックの画素値の平均値と、前フレームデータの同相関検出ブロックの画素値の平均値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしてもよい。
【０００９】
また、例えば、請求項４に記載されているように、前記活性度算出手段は、
現フレームデータの相関検出ブロック内の１部の画素の画素値に基づく値と、前フレームデータの同相関検出ブロック内の１部の画素の画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしてもよい。
【００１０】
また、例えば、請求項５に記載されているように、前記活性度算出手段は、
ベイヤーデータの現フレームデータの相関検出ブロックの画素値に基づく値と、ベイヤーデータの前フレームデータの相関検出ブロックの画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしてもよい。
【００１１】
また、例えば、請求項６に記載されているように、前記活性度算出手段は、
相関検出ブロックのＧ画素値を用いて相関検出ブロックのブロック活性度を算出するようにしてもよい。
【００１２】
また、例えば、請求項７に記載されているように、前記振分手段は、
前記活性度算出手段により算出された相関検出ブロックのブロック活性度が閾値より低いか否かを判断する判断手段を含み、
前記判断手段により相関検出ブロックのブロック活性度が閾値より低いと判断された相関検出ブロックを第１の郡に振り分け、前記判断手段により相関検出ブロックのブロック活性度が閾値より高いと判断された相関検出ブロックを第２の郡に振り分けるようにしてもよい。
【００１３】
また、例えば、請求項８に記載されているように、前記動きベクトル算出手段は、
現フレームデータの相関検出ブロック内の画素値と、前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、相関検出ブロック内の画素の相関値を算出する相関値算出手段を含み、前記相関値算出手段により算出された各相関検出ブロック内の画素の相関値に基づいて、群ごとの動きベクトルを算出するようにしてもよい。
【００１４】
また、例えば、請求項９に記載されているように、前記相関値算出手段は、
現フレームデータの相関検出ブロック内の１部の画素値と、前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出するようにしてもよい。
【００１５】
また、例えば、請求項１０に記載されているように、前記相関値算出手段は、
ベイヤーデータの現フレームデータの相関検出ブロック内の画素値と、ベイヤーデータの前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出するようにしてもよい。
【００１６】
また、例えば、請求項１１に記載されているように、前記相関値算出手段は、
相関検出ブロック内のＧ画素値と、前フレームデータの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出するようにしてもよい。
【００１７】
また、例えば、請求項１２に記載されているように、前記動きベクトル算出手段は、
前記振分手段により振り分けられた郡ごとに、前記相関値算出手段により算出された各相関検出ブロックの画素の相関値を、画素位置が同じ画素の相関値毎に加算する累積加算手段を含み、前記累積加算手段に加算された郡ごとの値に基づいて、群ごとの動きベクトルを算出するようにしてもよい。
【００１８】
また、例えば、請求項１３に記載されているように、前記動きベクトル算出手段は、
前記累積加算手段により加算された値の中で最も小さい値を用いて動きベクトルを算出するようにしてもよい。
【００１９】
また、例えば、請求項１４に記載されているように、前記検出手段は、
前記振分手段により複数の郡に振り分けられた相関検出ブロックの数の比率に応じて、前記動きベクトル算出手段により算出された郡ごとの動きベクトルを合成することにより、フレームデータの動きベクトルを検出するようにしてもよい。
【００２０】
上記目的達成のため、請求項１５記載の発明によるプログラムは、フレームデータ毎にフレームデータの動きベクトルを検出する動きベクトル検出装置を実行させるためのプログラムであって、
フレームデータを取得する取得処理と、
前記取得処理により取得されたフレームデータから相関検出ブロック単位で、ブロック活性度を算出する活性度算出処理と、
前記活性度算出処理により算出された各相関検出ブロックのブロック活性度に基づいて、複数の相関検出ブロックを複数の群に振り分ける振分処理と、
前記振分処理により振り分けられた郡ごとの動きベクトルを算出する動きベクトル算出処理と、
前記振分処理により複数の郡に振り分けられた相関検出ブロックの比率に応じて、前記動きベクトル算出処理により算出された郡ごとの動きベクトルから、１つの動きベクトルを算出することにより、フレームデータの動きベクトルを検出する検出処理と、
を含むことを特徴とする。
【００２１】
上記目的達成のため、請求項１６記載の発明による動きベクトル検出方法は、フレームデータ毎にフレームデータの動きベクトルを検出する動きベクトル検出方法であって、
フレームデータを取得する取得ステップと、
前記取得処理により取得されたフレームデータから相関検出ブロック単位で、ブロック活性度を算出する活性度算出ステップと、
前記活性度算出ステップにより算出された各相関検出ブロックのブロック活性度に基づいて、複数の相関検出ブロックを複数の群に振り分ける振分ステップと、
前記振分ステップにより振り分けられた郡ごとの動きベクトルを算出する動きベクトル算出ステップと、
前記振分ステップにより複数の郡に振り分けられた相関検出ブロックの比率に応じて、前記動きベクトル算出ステップにより算出された郡ごとの動きベクトルから、１つの動きベクトルを算出することにより、フレームデータの動きベクトルを検出する検出ステップと、
を含むことを特徴とする。
【発明の効果】
【００２２】
請求項１記載の発明によれば、フレームデータ毎にフレームデータの動きベクトルを検出する動きベクトル検出装置であって、フレームデータを取得する取得手段と、前記取得手段により取得されたフレームデータから相関検出ブロック単位でブロック活性度を算出する活性度算出手段と、前記活性度算出手段により算出された各相関検出ブロックのブロック活性度に基づいて、複数の相関検出風呂区を複数の郡に振り分ける振分手段と、前記振分手段により振り分けられた群ごとの動きベクトルを算出する動きベクトル算出手段と、前記振分手段により複数の郡に振り分けられた相関検出ブロックの比率に応じて、前記動きベクトル算出手段により算出された郡ごとの動きベクトルから、１つの動きベクトルを算出することにより、フレームデータの動きベクトルを検出する検出手段と、を備えるようにしたので、簡素な処理で、画像内に占める画像変化の小さい部分と、画像変化の大きい部分の範囲の割合に応じて、適切な動きベクトルを算出することができる。
【００２３】
請求項２記載の発明によれば、前記活性度算出手段は、現フレームデータの相関検出ブロックの画素値に基づく値と、前フレームデータの同相関検出ブロックの画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしたので、現フレームの相関検出ブロックと前フレームの相関検出ブロックとのフレーム間の相関性の高低をブロック活性度とすることができる。
【００２４】
請求項３記載の発明によれば、前記活性度算出手段は、現フレームデータの相関検出ブロックの画素の平均値と、前フレームデータの同相関検出ブロックの画素の平均値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしたので、現フレームの相関検出ブロックと前フレームの相関検出ブロックとのフレーム間の相関性の高低をブロック活性度とすることができる。
【００２５】
請求項４記載の発明によれば、現フレームデータの相関検出ブロックの１部の画素の画素値に基づく値と、前フレームデータの同相関検出ブロックの１部の画素の画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしたので、演算回数が少なくなり、処理時間を短くすることができる。
【００２６】
請求項５記載の発明によれば、前記活性度算出手段は、ベイヤーデータの現フレームデータの相関検出ブロックの画素値に基づく値と、ベイヤーデータの前フレームデータの同相関検出ブロックの画素値に基づく値との差をとることにより、相関検出ブロックのブロック活性度を算出するようにしたので、補間処理が不要になり、処理時間を短くすることができる。
【００２７】
請求項６記載の発明によれば、前記活性度算出手段は、相関検出ブロックのＧ画素値を用いて相関検出ブロックのブロック活性度を算出するようにしたので、補間処理が不要になり、処理時間を短くすることができる。また、画素数が半分になるので、演算回数が半分になり、処理時間を短くすることができる。
【００２８】
請求項７記載の発明によれば、前記振分手段は、前記活性度算出手段により算出された相関検出ブロックのブロック活性度が閾値より低いか否かを判断する判断手段を含み、前記判断手段により相関検出ブロックのブロック活性度が閾値より低いと判断された相関検出ブロックを第１の郡に振り分け、前記判断手段により相関検出ブロックのブロック活性度が閾値より高いと判断された相関検出ブロックを第２の郡に振り分けるようにしたので、相関性の高い、つまりブロック活性度の低い相関検出ブロックの郡（画像変化の小さい部分）と、相関性の低い、つまりブロック活性度の高い相関検出ブロックの郡（画像変化の大きい部分）とに分けることができる。
【００２９】
請求項８記載の発明によれば、前記動きベクトル算出手段は、現フレームデータの相関検出ブロック内の画素値と、前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、相関検出ブロック内の画素の相関値を算出する相関値算出手段を含み、前記相関値算出手段により算出された各相関検出ブロック内の画素の相関値に基づいて、郡ごとの動きベクトルを算出するようにしたので、精度良く群ごとの動きベクトルを算出することができる。
【００３０】
請求項９記載の発明によれば、前記相関値算出手段は、現フレームデータの相関検出ブロック内の１部の画素値と、前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出するようにしたので、演算回数が少なくなり、処理時間を短くすることができる。
【００３１】
請求項１０記載の発明によれば、前記相関値算出手段は、ベイヤーデータの現フレームデータの相関検出ブロック内の画素値と、ベイヤーデータの前フレームデータの同相関検出ブロックの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出するようにしたので、補間処理が不要になり、処理時間を短くすることができる。
【００３２】
請求項１１記載の発明によれば、前記相関値算出手段は、相関検出ブロック内のＧ画素値と、前フレームデータの代表画素値との差をとることにより、各相関検出ブロック内の画素の相関値を算出するようにしたので、補間処理が不要になり、処理時間を短くすることができる。また、画素数が半分になるので、演算回数が半分になり、処理時間を短くすることができる。
【００３３】
請求項１２記載の発明によれば、前記動きベクトル算出手段は、前記振分手段により振り分けられたグループ毎に、前記相関値算出手段により算出された各相関検出ブロック内の画素の相関値を、画素位置が同じ画素の相関値毎に加算する累積加算手段を含み、前記累積加算手段により加算された郡ごとの値に基づいて、群ごとの動きベクトルを算出するようにしたので、精度良く群ごとの動きベクトルを算出することができる。
【００３４】
請求項１３記載の発明によれば、前記動きベクトル算出手段は、前記累積加算手段により加算された値の中で最も小さい値を用いて動きベクトルを算出するようにしたので、精度良く群ごとの動きベクトルを算出することができる。
【００３５】
請求項１４記載の発明によれば、前記検出手段は、前記振分手段により複数の郡に振り分けられた相関検出ブロックの数の比率に応じて、前記動きベクトル算出手段により算出された群ごとの動きベクトルを合成することにより、フレームデータの動きベクトルを検出するようにしたので、画像内における被写体の状況に応じて適切な動きベクトルを得ることができる。
【００３６】
請求項１５記載の発明によれば、デジタルカメラ、パソコン等に読み込ませることにより、本発明の動きベクトル検出装置を実現することができる。
【００３７】
請求項１６記載の発明によれば、デジタルカメラやパソコンに行なわせることにより、本発明の動きベクトル検出装置と同等の効果を得ることができる。
【発明を実施するための最良の形態】
【００３８】
以下、本実施の形態について、本発明の動きベクトル検出装置をデジタルカメラに適用した一例として図面を参照して詳細に説明する。
[実施の形態]
Ａ．デジタルカメラの構成
図１は、本発明の動きベクトル検出装置を実現するデジタルカメラ１の電気的な概略構成を示すブロック図である。
デジタルカメラ１は、撮影レンズ２、ＣＣＤ３、垂直ドライバ４、ＴＧ（timing
generator）５、ユニット回路６、ＤＭＡコントローラ（以下、ＤＭＡという）７、メモリ８、ＤＭＡ９、画像生成部１０、ＤＡＭ１１、ＤＭＡ１２、表示部１３、ＤＭＡ１４、圧縮部１５、ＤＭＡ１６、フラッシュメモリ１７、ＣＰＵ１８、バス１９を備えている。
【００３９】
撮影レンズ２は、被写体の光をＣＣＤ３に投影させるものであり、ＣＣＤ３は、垂直ドライバ４によって走査駆動され、一定周期毎に投影された被写体の光の強さを光電変換して撮像信号（画像データ）としてユニット回路６に出力する。ここでは、ＣＣＤ３は、ベイヤー配列の色フィルタを有しているので、投影された被写体の光はＲＧＢ値の各色の光の量に光電変換される。この垂直ドライバ４、ユニット回路６の動作タイミングはＴＧ５を介してＣＰＵ１８により制御される。
【００４０】
ユニット回路６にはＴＧ５が接続されており、ＣＣＤ３から出力される撮像信号を相関二重サンプリングして保持するＣＤＳ（Correlated Double Sampling）回路、そのサンプリング後の撮像信号の自動利得調整を行うＡＧＣ（Automatic Gain Control）回路、その自動利得調整後のアナログの撮像信号をデジタル信号に変換するＡ／Ｄ変換器から構成されており、ＣＣＤ３の撮像信号は、ユニット回路６を経た後、ＤＭＡ７によってベイヤーデータの状態でメモリ８に記憶される。
【００４１】
ＤＭＡ９は、ＣＰＵ１８によって決められた切り出し範囲に基づいて、メモリ８に記憶されているベイヤーデータを切り出して読出し、画像生成部１０に出力する。
画像生成部１０は、ＤＭＡ９から送られてきたベイヤーデータの画像データに対して、画素補間処理、γ補正、ホワイトバランス処理等を施すとともに、輝度色差信号（ＹＵＶデータ）を生成する処理を行う。
ＤＭＡ１１は、画像生成部１０で生成された輝度色差信号の画像データを、メモリ８に記憶させる。このとき、上記ベイヤーデータとは別の領域に輝度色差信号の画像データを記憶させる。
【００４２】
ＤＭＡ１２は、メモリ８に記憶されているＹＵＶデータの画像データを読出し、表示部１３に出力する。
表示部１３は、カラーＬＣＤとその駆動回路を含み、ＤＭＡ１２から出力された画像データを表示させる。
【００４３】
ＤＭＡ１４は、動画撮影記録時は、メモリ８に記憶されているＹＵＶデータの画像データや圧縮された画像データ（圧縮画像データ）を圧縮部１５に出力したり、圧縮部１５により圧縮された画像データや、伸張された画像データをメモリ８に記憶させたりする。
圧縮部１５は、画像データの圧縮・伸張（例えば、ＭＰＥＧ形式の圧縮・伸張）を行なう部分である。
ＤＭＡ１６は、メモリ８に記憶された圧縮画像データを読み出して、フラッシュメモリ１７に記録したり、フラッシュメモリ１７に記録された圧縮画像データをメモリ８に記憶させる。
【００４４】
ＣＰＵ１８は、デジタルカメラ１の各部を制御する機能を有するワンチップマイコンからなり、特に本発明の特徴部分となるフレームデータの動きベクトルを算出する機能を有する。
メモリ８は、さらに、ＣＰＵ１８の制御に必要なプログラム、及び必要なデータが記録されているとともに、動きベクトルを算出するために必要な記憶領域を有している。
【００４５】
Ｂ．次に、本発明の特徴となるＣＰＵ１８の機能について説明する。
ＣＰＵ１８は、ＣＣＤ３を駆動させることにより、一定周期毎にＣＣＤ３から出力されるフレームデータ（画像データ）からそれぞれ動きベクトルＭＶの算出を行う。
【００４６】
まず、図２に、本発明の特徴となるＣＰＵ１８の機能ブロック図、及び、メモリ８の記憶領域の様子を示す。
ＣＰＵ１８は、ブロック分割部２１、平均値算出部２２、活性度算出部２３、グループ振分部２４、カウント部２５、相関値算出部２６、累積加算部２７、動きベクトル算出部２８などの機能を有している。
メモリ８は、累積相関値記憶エリアＡ３１、累積相関値記憶エリアＢ３２、フレーム情報記憶領域３３を有する。
ＣＰＵ１８は、新しいフレームデータを取得すると、メモリ８の累積相関値記憶エリアＡ３１、累積相関値記憶エリアＢ３２に記憶されている情報を消去するとともに、カウント部２５のカウント数を０に設定する。
【００４７】
ブロック分割部２１は、メモリ８から送られてきた、一枚のあるフレームデータ（現フレームデータ）を取得すると、該取得したフレームデータ（ベイヤーデータ）を複数の相関検出ブロックに分割する。この相関検出ブロックは、１７×１３画素の１つのブロックとするので、ＣＣＤ３から出力された全画素値を、１７×１３画素値毎に分割する。そのときの様子を図３に示し、このとき、分割された相関検出ブロックの中心画素のアドレス（ｘ，ｙ）を（０，０）とするので、Ａの画素のアドレス（ｘ，ｙ）は（６，２）となり、Ｂの画素のアドレス（ｘ，ｙ）は（７，−３）ということになる。
【００４８】
平均値算出部２２は、ブロック分割部２１により複数に分割された各相関検出ブロックの画素平均値をそれぞれ算出する。ここでは、相関検出ブロックのＧ画素値のみに基づいて画素平均値を算出する。つまり、Ｇ画素値の平均値を算出することとなる。また、平均値算出部２２は、算出した画素平均値を活性度算出部２３に出力するとともに、フレーム情報記憶領域３３に該算出した各相関検出ブロックの画素平均値を記憶させる。このとき、各相関検出ブロックの代表画素値もフレーム情報記憶領域３３に記憶させる。ここでは、相関検出ブロックの中心画素の画素値を代表画素値とする。
【００４９】
なお、平均値算出部２２は、相関検出ブロックのＲ画素値、又は、Ｂ画素値のみに基づいて画素平均値を算出するようにしてもよいし、全ての画素値（ＲＧＢ画素値）に基づいて画素平均値を算出するようにしてもよいし、所定間隔おきの画素に基づいて画素平均値を算出するようにしてもよいし、各種の画素平均値を複合的に用いて最終的な画素平均値を算出するようにしてもよい。要は、その位置の時間軸における変化の度合いが反映されるものであればなんでもよい。また、フレーム情報記憶領域３３に各相関検出ブロックの代表画素値を記憶させずに、各相関検出ブロックの画素平均値のみを記憶させるようにしてもよい。この場合は、この画素平均値が相関検出ブロックの代表画素値としての役割を果たす。また、相関検出ブロック内の所定の画素値を加算した画素加算値を画素平均値の代わりに用いるようにしてもよい。
【００５０】
活性度算出部２３は、平均値算出部２２によって算出された各相関検出ブロックの画素平均値に基づいて、各相関検出ブロックのブロック活性度を算出する。この算出は、１つ前のフレーム（前フレーム）の各相関検出ブロックの画素平均値と現フレームの各相関検出ブロックの画素平均値とを、同位置の相関検出ブロック同士で減算し、その絶対値をとる（又は二乗する）ことにより算出され、この差分の絶対値がブロック活性度になる。また、この前フレームの各相関検出ブロックの画素平均値は、フレーム情報記憶領域３３に記憶されているので、活性度算出部２３は、フレーム情報記憶領域３３から前フレームの各相関検出ブロックの画素平均値を読み出すことにより各相関検出ブロックのブロック活性度を算出することができる。
各相関検出ブロックのブロック活性度が算出されると、グループ振分部２４は、該算出されたブロック活性度が閾値より低いか否かを判断し、ブロック活性度が閾値より低い相関検出ブロックをグループＡに振り分け、ブロック活性度が閾値より低くない相関検出ブロックをグループＢに振り分ける。
【００５１】
カウント部２５は、グループＡに振り分けられた相関検出ブロックの数、グループＢに振り分けられた相関検出ブロックの数をそれぞれカウントする。
相関値算出部２６、累積加算部２７、動きベクトル算出部２８は、主に、代表点マッチング法を用いてグループＡに振り分けられた相関検出ブロックとグループＢに振り分けられた相関検出ブロックに基づいて、グループＡの動きベクトルとグループＢの動きベクトルを算出し、動きベクトル算出部２８は、さらに、算出されたグループＡの動きベクトルとグループＢの動きベクトルに基づいてフレーム全体の動きベクトルを算出するというものである。
【００５２】
具体的には、相関値算出部２６は、グループＡ及びグループＢに振り分けられた各相関検出ブロック内のＧ画素値から画素の相関値Ｈをそれぞれ算出する。この画素の相関値Ｈの算出は、現フレームの各相関検出ブロック内の各Ｇ画素値と、前フレームの各相関検出ブロックの画素代表値とを、同相関検出ブロック同士で減算し、その二乗をとることにより算出され、この差分の二乗が画素の相関値Ｈということになる。また、この前フレームの各相関検出ブロックの代表画素値は、フレーム情報記憶領域３３に記憶されているので、相関値算出部２６は、フレーム情報記憶領域３３から前フレームの各相関検出ブロックの代表画素値を読み出すことにより各相関検出ブロックの画素の相関値Ｈを算出することができる。なお、差分の二乗に替えて、差分の絶対値をとるようにしてもよい。
【００５３】
累積加算部２７は、グループＡに振り分けられた各相関検出ブロックの画素の相関値Ｈを同じ位置の画素同士で加算し、加算された累積相関値Ｓを累積相関値記憶エリアＡ３１に記憶させ、グループＢに振り分けられた各相関検出ブロックの画素の相関値Ｈを同じ位置の画素同士で加算し、該加算された累積相関値Ｓを累積相関値エリアＢ３２に記憶させる。
【００５４】
動きベクトル算出部２８は、累積相関値記憶エリアＡ３１に記憶されている累積相関値Ｓの中で最小値となる累積相関値Ｓに基づいてグループＡの動きベクトルＭＶａを検出し、同様に累積相関値記憶エリアＢ３２に記憶されている累積相関値Ｓの中で最小値となる累積相関値Ｓに基づいてグループＢの動きベクトルＭＶｂを検出する。
そして、該検出されたグループＡとグループＢとの動きベクトル（ＭＶａ、ＭＶｂ）に基づいて、現フレームの動きベクトルを検出する。この現フレームの動きベクトルの検出は、グループＡに振り分けられた相関検出ブロックとグループＢに振り分けられた相関検出ブロックの数の比率に応じて、グループＡとグループＢとの動きベクトル（ＭＶａ、ＭＶｂ）から現フレームの動きベクトルＭＶを検出する。
【００５５】
Ｃ．デジタルカメラ１の動作
実施の形態におけるデジタルカメラ１の動作を説明する前に発明の概略を説明する。
本発明は、手振れのみがある部分（例えば、背景）のような画像の変化が小さい部分の動きベクトルと、被写体の動きが大きい部分のような画像の変化が大きい部分の動きベクトルをそれぞれ算出し、画像の変化が小さい部分と画像の変化が大きい部分とのフレームの画像内に占める範囲に応じて、フレームの動きベクトルを算出するというものである。
【００５６】
図４は、グループ振分部２４により振り分けられる相関検出ブロックの様子を示す図であり、前フレームの画像及び現フレームの画像は、山、家、人を含むが、前フレームと、現フレームとでは、人の位置が違うことがわかる。つまり、被写体（人）の動きが手振れより明らかに大きいことがわかる。
そこで、相関検出ブロックのブロック活性度と閾値とを用いて、相関検出ブロックをグループＡとＢに振り分けることにより、手振れのみがある部分と被写体の動きがある部分とに振り分けている。つまり、被写体の動きがある相関検出ブロックは、前フレームの相関検出ブロックとの相関性（フレーム間の相関性）が低くなり、即ち、ブロック活性度の値が高くなり（フレーム間の画素平均値の差が高くなり）、このブロック活性度の高さを閾値を用いて判断している。
【００５７】
図４を見ると、現フレームで、白く塗りつぶされている相関検出ブロックはグループＡに振り分けられる相関検出ブロックであることを示し、黒く塗りつぶされている相関検出ブロックは、グループＢに振り分けられる相関検出ブロックであることを示している。つまり、白く塗りつぶされている相関検出ブロックは、ブロック活性度が閾値より小さい相関検出ブロックであることを示し、黒く塗りつぶされている相関検出ブロックは、ブロック活性度が閾値より小さくない相関検出ブロックであることを示している。
そして、グループＡ、グループＢ毎に動きベクトルを算出し、グループＡの相関検出ブロックの数とグループＢの相関検出ブロックの数との比率に応じて、全体の動きベクトルを算出する。これにより、画像内において、手振れの範囲と、動きのある被写体の範囲との割合に応じて、画像全体の動きベクトルを算出することができる。
【００５８】
例えば、図４に示すように、手振れのある部分（背景）の方が、被写体の動きのある部分（人）より、画像内に占める範囲が多い場合には、算出されるフレームの動きベクトルは、算出された背景の動きベクトル（グループＡの動きベクトル）と被写体の動きベクトル（グループＢの動きベクトル）とのうち、背景の動きベクトルにウエートを置いた動きベクトルということになる。
また、反対に、被写体の動きのある部分（人）の方が、手振れのある部分（背景）より、画像内に占める範囲が多い場合には、算出されるフレームの動きベクトルは、算出された背景の動きベクトル（グループＡの動きベクトル）と被写体の動きベクトル（グループＢの動きベクトル）とのうち、被写体の動きベクトルにウエートを置いた動きベクトルということになる。
つまり、フレームの画像内に占める範囲が多い方の動きベクトルにウエートを置いて、フレームの動きベクトルを算出するというものである
【００５９】
次に、実施の形態におけるデジタルカメラ１の動作を図５のフローチャートにしたがって説明する。
まず、ＣＰＵ１８は、新たなフレームデータを取得すると、Ｊ＝１（Ｊ：相関検出ブロックの番号）、Ｎａ＝０、Ｎｂ＝０に設定し、累積相関値記憶エリアＡ３１と累積相関値記憶エリアＢ３２とに記憶されている情報をクリアに（消去）する（ステップＳ１）。
ここで、Ｎａとは、ブロック活性度が閾値より低いと判断された相関検出ブロック（グループＡに振り分けられた相関検出ブロック）のカウント値を示し、Ｎｂとは、ブロック活性度が閾値より高いと判断された相関検出ブロック（グループＢに振り分けられた相関検出ブロック）のカウント値を示すものである。
【００６０】
そして、ブロック分割部２１は、取得したフレーム（ここでは、ｉ番目のフレーム）を複数の相関検出ブロックに分割する（ステップＳ２）。つまり、この相関検出ブロックは、１７×１３画素を１つのブロックとするので、ＣＣＤ３から出力された全画素値を、１７×１３画素の画素値毎に分割する。
次いで、ＣＰＵ１８は、Ｊ番目（Ｊ＝１なので、ここでは１番目）の相関検出ブロックの相関値Ｈの算出を開始する（ステップＳ３）。
【００６１】
そして、平均値算出部２２は、Ｊ番目の相関検出ブロックの画素値の平均値（画素平均値）を算出する（ステップＳ４）。ここでは、Ｊ番目の相関検出ブロックのＧ画素値の平均値を算出する。
そして、平均値算出部２２は、該算出したＪ番目の相関検出ブロックの画素平均値をメモリ８のフレーム情報記憶領域３３に記憶させるとともに、Ｊ番目の相関検出ブロックの代表画素値もフレーム情報記憶領域３３に記憶させる（ステップＳ５）。この代表画素値とは、Ｊ番目の相関検出ブロックの中心画素の画素値をいい、図３でいうとアドレス（ｘ，ｙ）が（０，０）となる画素の画素値ということになる。なお、相関検出ブロックの画素平均値を代表画素値とするようにしてもよい。
この記憶されたＪ番目の相関検出ブロックの代表画素値と、Ｊ番目の相関検出ブロックのブロック平均値とは、次のフレーム（ｉ＋１番目のフレーム）の動きベクトルを算出するとき、つまり、ステップＳ６、ステップＳ９で用いられる。
【００６２】
次いで、活性度算出部２３は、Ｊ番目の相関検出ブロック活性度を算出する（ステップＳ６）。この算出は、フレーム情報記憶領域に記憶されている、１つ前のフレーム（ｉ−１番目のフレーム）のＪ番目の相関検出ブロックのＧ画素値の平均値を読出し、該読み出したｉ−１番目のフレームのＪ番目の相関検出ブロックの平均値と、ステップＳ４で算出したｉ番目のフレームのＪ番目の相関検出ブロックの平均値との差分の絶対値をとることにより算出され、この差分の絶対値をブロック活性度とする。
【００６３】
次いで、グループ振分部２４は、該算出されたブロック活性度が閾値より低いか否かの判断を行う（ステップＳ７）。つまり、この算出したブロック活性度と閾値によりグループＡ、グループＢのどちらに振り分けるか否かの判断を行うことになる。
ステップＳ７で、該算出したブロック活性度が閾値より低いと判断されると、グループ振分部２４は該相関検出ブロックをグループＡに振り分け、カウント部２５は、Ｎａのカウントを＋１にする（ステップＳ８）。
【００６４】
次いで、相関値算出部２６は、Ｊ番目の相関検出ブロック内の各Ｇ画素値と、１つ前のフレームのＪ番目の相関検出ブロックの代表画素値とから画素の相関値Ｈ（差分の二乗）をそれぞれ算出し、累積加算部２７は、該算出したそれぞれの画素の相関値Ｈを累積相関値記憶エリアＡ３１に記憶されているそれぞれの累積相関値Ｓに加算して記憶し（ステップＳ９）、ステップＳ１２に進む。なお、累積相関値記憶エリアＡ３１に累積相関値Ｓが記憶されていない場合はそのまま、算出したそれぞれの画素の相関値Ｈを記憶させ、この記憶された相関値Ｈが累積相関値Ｓということになる。
【００６５】
この相関値Ｈの算出について具体的に説明すると、ｉ番目のフレームのＪ番目の相関検出ブロック内のそれぞれのＧ画素値から、フレーム情報記憶領域３３に記憶されているｉ−１番目のフレームのＪ番目の相関検出ブロックの代表画素値を減算し、該減算されたそれぞれの値を二乗することにより画素の相関値Ｈを求めることになる。例えば、Ｊ番目の相関検出ブロック内にＧ画素が５個あるとすると、ステップＳ１で取得したフレームのＪ番目の相関検出ブロック内の５個のＧ画素値から、１つ前のフレームのＪ番目の相関検出ブロックの代表画素値を減算し、該減算された値をそれぞれ二乗するので、求められる画素の相関値Ｈは５個ということになる。
【００６６】
図６（ａ）は、Ｊ番目の検出ブロックのそれぞれのＧ画素値を示すものであり、図６（ｂ）は、そのＪ番目の検出ブロックから算出されたそれぞれの画素の相関値Ｈの様子を示すものである。このとき算出されたそれぞれの画素の相関値Ｈのアドレスは、算出の基となった画素のアドレスを用いる。つまり、Ａの画素に基づいて算出された画素の相関値Ｈのアドレス（ｘ，ｙ）は（６，２）となり、Ｂの画素に基づいて算出された画素の相関値Ｈのアドレス（ｘ，ｙ）は（７，−３）ということになる。
【００６７】
次に、算出したそれぞれの相関値Ｈの累積相関値記憶エリアＡ３１に記憶されているそれぞれの累積相関値Ｓへの加算について具体的に説明する。
まず累積相関値記憶エリアＡ３１に記憶されている累積相関値Ｓとは、各相関検出ブロックで算出されたそれぞれの画素の相関値Ｈを同じ位置の画素同士で加算した値のことをいう。
つまり、図７に示すように各相関検出ブロックで算出されたそれぞれの画素の相関値Ｈの中で、アドレスが同じ画素の相関値Ｈをそれぞれ加算したものが累積相関値Ｓということになり、累積相関値Ｓの数は、相関値Ｈの数、相関検出ブロック内のＧ画素の数と同じ数だけ存在するということになる。
【００６８】
このとき、それぞれの累積相関値Ｓは、加算した画素の相関値Ｈのアドレスを用いる。
例えば、アドレス（ｘ，ｙ）が（６，２）の画素の相関値Ｈをそれぞれ加算した累積相関値Ｓのアドレス（ｘ，ｙ）は（６，２）ということになり、アドレス（ｘ，ｙ）が（７，−３）の画素の相関値Ｈがそれぞれ加算された累積相関値Ｓのアドレスは（７，−３）ということになる。
図６（ｃ）は、累積相関値Ｓの様子を示すものであり、図６（ｂ）に示すように新たに算出された画素の相関値Ｈは、この累積相関値Ｓに加算される。このとき、累積相関値Ｓに、該累積相関値Ｓのアドレスと同じアドレスの画素の相関値Ｈが加算される。
【００６９】
一方、ステップＳ７で、算出したブロック活性度が閾値よりも少なくないと判断すると、グループ振分部２４は、該相関検出ブロックをグループＢに振り分け、カウント部２５は、Ｎｂのカウントを＋１にする（ステップＳ１０）。
次いで、ステップＳ９と同様に、相関値算出部２６は、Ｊ番目の相関検出ブロック内の各Ｇ画素値と、１つ前のフレームのＪ番目の相関検出ブロックの代表画素値とから画素の相関値Ｈ（差分の二乗）をそれぞれ算出し、累積加算部２７は、該算出したそれぞれの画素の相関値Ｈを累積相関値記憶エリアＢ３２に記憶されているそれぞれの累積相関値Ｓに加算して記憶し（ステップＳ１１）、ステップＳ１２に進む。なお、累積相関値記憶エリアＢ３２に累積相関値Ｓが記憶されていない場合はそのまま、算出したそれぞれの画素の相関値Ｈを記憶させ、この記憶された画素の相関値Ｈが累積相関値Ｓということになる。
【００７０】
ステップＳ１２に進むと、ＣＰＵ１８は、ｉ番目のフレームの全相関検出ブロックから相関値Ｈを算出したか否かを判断する（ステップＳ１２）。
ステップＳ１２で、まだ、画素の相関値Ｈを算出していない相関検出ブロックがあると判断すると、ステップＳ１３でＪ＝Ｊ＋１に設定してステップＳ３に戻る。これにより、次の番号の相関検出ブロックの画素の相関値Ｈを求めることができる。
【００７１】
一方、ステップＳ１２で、相関値Ｈを算出していない相関検出ブロックがないと判断すると、動きベクトル算出部２８は、累積相関値記憶エリアＡ３１に記憶されている累積相関値Ｓの中で最小値となる累積相関値Ｓの位置、つまり、アドレスを検出する（ステップＳ１４）。この検出されたアドレスが動きベクトルＭＶａとなる。
次いで、累積相関値記憶エリアＢ３２に記憶されている累積相関値Ｓの中で最小値となる累積相関値Ｓの位置、つまり、アドレスを検出する（ステップＳ１５）。この検出されたアドレスが動きベクトルＭＶｂとなる。
【００７２】
次いで、ＣＰＵ１８は、ｉ番目のフレームの動きベクトルＭＶを検出する。このｉ番目のフレームの動きベクトルの検出は、グループＡに振り分けられた相関検出ブロックの数とグループＢに振り分けられた相関検出ブロックの数との比率に応じて、グループＡとグループＢとの動きベクトル（ＭＶａ、ＭＶｂ）から現フレームの動きベクトルＭＶを検出する。具体的には次式によって行なわれる。
そして、ＣＰＵ１８は、この算出されたフレームの動きベクトルと、ｉ−１番目のフレームでの切り出し範囲とから、ｉ番目のフレームの切り出し範囲を求め、ＤＭＡ９は、該求められた切り出し範囲にしたがって、メモリ８に記憶されているｉ番目のフレームの画像データ（ベイヤーデータ）を切り出して読出し、画像生成部１０に出力させ、ＣＰＵ１８は、ｉ＋１番目のフレームの動きベクトルを算出する処理を開始する。
【００７３】
(数１)
ＭＶ＝（Ｎａ×ＭＶａ＋Ｎｂ×ＭＶｂ）／（Ｎａ＋Ｎｂ）
Ｎａ；グループＡに振り分けられた相関検出ブロックの数
Ｎｂ；グループＢに振り分けられた相関検出ブロックの数
【００７４】
Ｄ．以上のように、実施の形態においては、分割された各相関検出ブロックのブロック活性度を算出し、該算出されたブロック活性度と閾値とに基づいて、各相関検出ブロックを２つのグループに振り分け、該振り分けられたグループ毎に代表点マッチング法を用いてグループの動きベクトルを算出し、各グループのブロック数に応じてグループＡとグループＢとの動きベクトルから現フレームの動きベクトルＭＶを検出するので、簡素な処理で、画像内に占める画像変化の小さい部分（例えば、手振れ部分）と、画像変化の大きい部分（例えば、被写体の動きのある部分）の範囲の割合に応じて、適切な動きベクトルを算出することができる。例えば、画像内に占める範囲が殆ど手振れ部分（例えば、背景部分）である場合には、手振れ部分の動きベクトルにウエートを置いた動きベクトルを算出し、画像内に占める範囲が被写体の動きがある部分である場合には、被写体の動きがある部分の動きベクトルにウエートを置いた動きベクトルを算出する。
また、ベイヤーデータ（ＣＣＤデータ、生データ）を用いて代表点マッチング法により各グループの動きベクトルを算出するので、補間処理が不要となり処理時間を短くすることができ、更に、Ｇ画素値のみを用いて代表点マッチング法により各グループの動きベクトルを算出するので、画素数が半分になるので演算回数も半分ですみ、更に処理時間を短くすることができる。
【００７５】
なお、上記実施の形態においては、画素平均値や画素の相関値Ｈを算出するのに、相関検出ブロック内の全てのＧ画素値を用いるようにしたが、間引いたＧ画素値を用いるようにしてもよい。
【００７６】
また、上記実施の形態においては、フレーム毎に動きベクトルＭＶを検出するようにしたが、フィールド毎に動きベクトルＭＶを検出するようにしてもよい。
また、上記実施の形態においては、フレームデータの各相関検出ブロックから画素平均値を算出するようにしたが、ＡＥ用の測光回路の結果データを流用してもよい。つまり、その位置の時間軸の変化の度合いが反映される値であればなんでもよい。なお、この場合には、ＡＥ検出ブロックと相関検出ブロックとが対応している必要がある。
【００７７】
また、グループ振分部２４は、各相関検出ブロックを２つのグループに振り分けるようにしたが、３つのグループや４つのグループに振り分けるようにしてもよい。この場合、振り分けるグループ数に応じて複数の閾値を設けるようにし、グループ数に対応する累積相関値記憶エリアを設け、グループ毎に動きベクトルを算出し、グループ毎の相関検出ブロックの数の比率に応じて、グループ毎の動きベクトルから１つの動きベクトルＭＶを算出するようにする。
【００７８】
また、ブロック活性度を、単に相関検出ブロック内のＧ画素値の平均値とするようにしたが、重み付けを行なって平均値を算出し、これをブロック活性度とするようにしてもよい。例えば、Ｇ１、Ｇ２、Ｇ３の３つの画素値がある場合、通常の平均値は、（Ｇ１＋Ｇ２＋Ｇ３）／３となるが、重み付けを行なって平均値を算出する場合には、（Ｇ１＋Ｇ２×２＋Ｇ３）／３というようになる。
【００７９】
また、画像全体を用いて動きベクトルを検出するようにしたが、一部のエリア（例えば、フォーカスエリア）内の画像を用いて動きベクトルを検出するようにしてもよい。
また、ベイヤーデータに基づいて、フレームの動きベクトルを検出するようにしたが、画像生成部１０によって生成された輝度色差信号の画像データに基づいてフレームの動きベクトルを算出するようにしてもよい。
【００８０】
さらに、上記実施の形態では、本発明の動きベクトル検出装置をデジタルカメラに適用した場合について説明したが、これに限定されるものではなく、カメラ付き携帯電話、カメラ付きＰＤＡ、カメラ付きパソコン、カメラ付きＩＣレコーダ、又はデジタルビデオカメラ等でもよく、更には、カメラ機能が搭載されていない携帯電話、ＰＤＡ、パソコン等でもよく、要はフレームデータから動きベクトルを検出することができる機器であれば何でもよい。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態のデジタルカメラ１のブロック図である。
【図２】ＣＰＵ１８の機能ブロック図である。
【図３】分割された相関検出ブロックの様子を示すものである。
【図４】発明の概略を説明するための図である。
【図５】実施の形態のデジタルカメラの動作を示すフローチャートである。
【図６】相関値Ｈ、及び累積相関値Ｓへの加算の方法を説明するための図である。
【図７】累積相関値Ｓを説明するための図である。
【符号の説明】
【００８２】
１      デジタルカメラ
２      撮影レンズ
３      ＣＣＤ
４      垂直ドライバ
５      ＴＧ
６      ユニット回路
７      ＤＭＡ
８      メモリ
９      ＤＭＡ
１０    画像生成部
１１    ＤＭＡ
１２    ＤＭＡ
１３    表示部
１４    ＤＭＡ
１５    圧縮部
１６    ＤＭＡ
１７    フラッシュメモリ
１８    ＣＰＵ
１９    バス
２１    ブロック分割部（分割手段）
２２    平均値算出部
２３    活性度算出部（活性度算出手段）
２４    グループ振分部（振分手段）
２５    カウント部
２６    相関値算出部（算出手段）
２７    累積加算部（算出手段）
２８    動きベクトル算出部（算出手段、検出手段）
３１    累積相関値記憶エリアＡ
３２    累積相関値記憶エリアＢ
３３    フレーム情報記憶領域
【図１】
2007122275.tif 000003
【図２】
2007122275.tif 000004
【図３】
2007122275.tif 000005
【図４】
2007122275.tif 000006
【図５】
2007122275.tif 000007
【図６】
2007122275.tif 000008
【図７】
2007122275.tif 000009