(57)【特許請求の範囲】
【請求項１】
基準フレームを複数の基準ブロックに分割し、参照フレームに前記基準フレームに対応するサーチエリアを設定し、前記基準ブロックと前記サーチエリア内の参照ブロックとの間で相関演算を行うことで動きベクトルを検出する動きベクトル検出装置において、
前記基準ブロックのデータを格納する基準ブロックデータ格納部と、
前記サーチエリアのデータを格納するサーチエリアデータ格納部と、
前記基準ブロックのデータと前記サーチエリア内の参照ブロックのデータとを用いて複数の異なる相関演算を行う複数の相関演算部と、
を具備し、
前記複数の相関演算部はそれぞれ、
前記基準ブロックデータ格納部からは、前記基準ブロックのデータを所定ライン分ずつに分割して得られる基準ブロックの単位ブロックのデータを共通に入力すると共に、
前記サーチエリアデータ格納部からは、前記サーチエリアのデータを前記所定ライン分ずつに分割して得られるサーチエリアの単位ブロックのデータにおいて前記参照ブロックの単位ブロックのデータを水平方向にオーバーラップさせながら１画素ずつずらして得られる複数の参照ブロックの単位ブロックのデータを同時に入力し、
前記基準ブロックの単位ブロックのデータの入力と前記複数の参照ブロックの単位ブロックのデータの入力を同時に行うことを特徴とする動きベクトル検出装置。
【請求項２】
前記複数の相関演算部はそれぞれ、
前記基準ブロックの単位ブロックのデータを垂直方向に１単位ブロック分ずつずらしながら順次入力すると共に、前記複数の参照ブロックの単位ブロックのデータを垂直方向に１単位ブロック分ずつずらしながら順次入力し、
前記基準ブロックの単位ブロックのデータ及び前記参照ブロックの単位ブロックのデータを同時に入力する毎に前記基準ブロックの単位ブロックのデータと前記参照ブロックの単位ブロックのデータとの間での相関演算を行い、前記基準ブロックと前記参照ブロックの全ての単位ブロックに対する相関演算が終了した時点で、前記基準ブロックと前記参照ブロックとの間の相関演算結果を同時に得ることを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
前記複数の相関演算部はそれぞれ、前記サーチエリアにおける前記参照ブロックの垂直方向の位置を１ラインずつずらす毎に前記基準ブロックと前記参照ブロックとの間の相関演算を行うことにより、前記基準ブロックと前記サーチエリアとの間の相関演算結果を同時に得ることを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項４】
前記基準ブロックデータ格納部は、前記基準ブロックの単位ブロックのデータが分割して格納される複数のエリアに分割されており、
前記サーチエリアデータ格納部は、前記サーチエリアの単位ブロックのデータが分割して格納される複数のエリアに分割されていることを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項５】
前記複数の相関演算部はそれぞれ、
少なくとも差分絶対値和演算と差分二乗和演算の何れかにより前記相関演算を行い、
前記相関演算部における相関演算結果の最小値を検出し、前記最小値が検出されたときの前記参照ブロックの位置を、前記動きベクトルとして出力する最小値検出部をさらに含むことを特徴とする請求項１乃至４の何れか１つに記載の動きベクトル検出装置。
【請求項６】
前記基準ブロックデータ格納部及び前記サーチエリアデータ格納部はそれぞれＳＲＡＭで構成されることを特徴とする請求項１乃至５の何れか１つに記載の動きベクトル検出装置。
【請求項７】
被写体を複数回撮像して基準フレームのデータと参照フレームのデータを得る撮像部と、
前記撮像部で得られた基準フレームのデータと前記参照フレームのデータとから前記相関演算を行って前記動きベクトルを検出する請求項１乃至６の何れか１つに記載の動きベクトル検出装置と、
前記動きベクトル検出装置で検出された動きベクトルに基づいて手ぶれ補正処理と動画像圧縮処理の少なくとも何れか一方を行う画像処理部と、
を具備することを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置及び撮像装置に関する。
【背景技術】
【０００２】
動きベクトルは動画像の手ぶれ補正や動画像の圧縮の分野において利用されている。この動きベクトルの検出方法としては、ブロックマッチング法を利用したものが広く知られている。ブロックマッチング法とは、２枚の画像（このうち一方を基準フレーム、他方を参照フレームと呼ぶ）の間の動き量を検出するための方法である。
【０００３】
以下、図面を参照してブロックマッチング法の簡単な原理を説明する。ブロックマッチング法では、基準フレームにおける特定の領域（基準ブロック）と、基準ブロックと同一のブロックサイズを有する参照フレーム内の参照ブロックとの間で相関演算（一般的に、差分絶対値和演算や差分二乗和演算が用いられる）を行い、基準ブロックと最も相関の高い参照ブロックの位置を検出することで動きベクトルを求めている。
【０００４】
相関演算を行う場合には、図１７（ａ）に示すような基準フレーム３００ａ内の１つの基準ブロック３０１ａに対して、図１７（ｂ）に示すような参照フレーム３００ｂ内に参照ブロック３０１ｂを設定する。そして、あるサーチエリア３０２ｂ内で参照ブロック３０１ｂの位置を、水平及び垂直方向に１画素ずつずらしながら基準ブロックと参照ブロックとの間での相関演算を行う。
【０００５】
図１８は、従来の動きベクトル検出装置の構成を示す図である。ここで、図１８は基準ブロック及び参照ブロックのブロックサイズが４画素×４ラインの場合の構成について示している。
【０００６】
図１８の動きベクトル検出装置は、メインメモリ４０１と、基準フレームレジスタ群４０２ａと、参照フレームレジスタ群４０２ｂと、相関演算部４０３と、最小値検出部４０４と、タイミング回路４０５とから構成されている。
【０００７】
メインメモリ４０１は、例えばＳＤＲＡＭによって構成され、上記した基準フレームのデータ（基準フレームデータ）と参照フレームのデータ（参照フレームデータ）とを格納している。基準フレームレジスタ群４０２ａは、基準ブロックのブロックサイズに対応した複数のレジスタ（図１８の例ではレジスタがフリップフロップ（ＦＦ）から構成されているものとしている）で構成されており、メインメモリ４０１に格納されている基準フレームデータを基準ブロック単位で取得し保持する。参照フレームレジスタ群４０２ｂは、参照ブロックのブロックサイズに対応した複数のレジスタ（ＦＦ）とサーチエリアのエリアサイズに応じた量だけデータを遅延させる複数の遅延器とから構成されており、メインメモリ４０１から参照フレームデータをサーチエリア単位で取得し保持する。
【０００８】
相関演算部４０３は、基準フレームレジスタ群４０２ａから出力される基準ブロックのデータ及び参照フレームレジスタ群４０２ｂから出力される参照ブロックのデータを取得して基準ブロックと参照ブロックとの間での相関演算を行う。なお、図１８における相関演算部４０３は、差分絶対値和を演算する回路を示しており、この場合、相関演算部４０３は、基準ブロックと参照ブロックの画素毎の差分絶対値を演算した後、それらの総和を求めて最小値検出部４０４に出力する。
【０００９】
最小値検出部４０４は、相関演算部４０３における相関演算結果が最も小さくなるときの参照ブロックの位置に基づいて動きベクトルを求める。この最小値検出部４０４は、比較器４０４ｂと、フリップフロップ（ＦＦ）４０４ｃと、セレクタ（ＳＥＬ）４０４ｄと、ＦＦ４０４ｅとから構成されている。比較器４０４ｂは相関演算部４０３における相関演算結果を前回の相関演算結果と比較する。ＦＦ４０４ｃは比較器４０４ｂの出力を前回の相関演算結果として保持する。ＳＥＬ４０４ｄは比較器４０４ｂからの出力に応じて今回の参照ブロックの位置情報と前回の参照ブロックの位置情報の何れかを出力する。ＦＦ４０４ｅはＳＥＬ４０４ｄの出力を前回の参照ブロックの位置情報として保持する。
【００１０】
タイミング回路４０５は、参照ブロックを１画素移動させるタイミング毎に参照ブロックの位置情報を示す信号を最小値検出部４０４に出力する。
【００１１】
このような構成においては、メインメモリ４０１内の基準フレームのデータは、基準ブロック単位で基準フレームレジスタ群４０２ａによって読み出されてシリパラ変換され、基準ブロックの全画素のデータが一度に相関演算部４０３に出力される。また、メインメモリ４０１内の参照フレームのデータは、サーチエリア単位で参照フレームレジスタ群４０２ｂによって読み出されてシリパラ変換され、参照ブロックの全画素のデータが一度に相関演算部４０３に出力される。ここで、サーチエリア単位で読み出されたデータの中で今回の相関演算に用いられない参照ブロック外のデータは遅延器において保持される。
【００１２】
相関演算部４０３は、基準フレームレジスタ群４０２ａから出力された基準ブロックの全画素のデータ及び参照フレームレジスタ群４０２ｂから出力された参照ブロックの全画素のデータを取得して、各画素の差分絶対値を演算した後、それらの総和を求めて最小値検出部４０４に出力する。
【００１３】
最小値検出部４０４内部の比較器４０４ｂは、相関演算部４０３における相関演算結果をＦＦ４０４ｃに保持されている前回の相関演算結果と比較して、何れか小さいほうをＳＥＬ４０４ｄに出力する。ＳＥＬ４０４ｄは、比較器４０４ｂの出力に応じて今回タイミング回路４０５から入力された参照ブロックの位置情報とＦＦ４０４ｅに保持されている前回の参照ブロックの位置情報の何れかを出力する。これにより、相関演算が終了したときに、最終的に最小値検出部４０４から出力される参照ブロックの位置情報が動きベクトルとなる。  
このような動きベクトル検出回路は、例えば特許文献１において提案されている。
【特許文献１】特開平１０−２５５０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ここで、ブロックマッチング法は、正確な動きベクトルを検出できるものの、回路規模が大きくなりやすいという問題がある。例えば、上記特許文献１において提案されているような動きベクトル検出装置は、基準ブロック及び参照ブロックのブロックサイズの増加に伴って、基準フレームレジスタ群と参照フレームレジスタ群を構成するレジスタの数を増加させる必要があるため、回路規模が大きくなりやすい。
【００１５】
本発明は、上記の事情に鑑みてなされたもので、回路規模の小さい動きベクトル検出装置及びこのような動きベクトル検出装置を利用した撮像装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するために、本発明の第１の態様による動きベクトル検出装置は、基準フレームを複数の基準ブロックに分割し、参照フレームに前記基準フレームに対応するサーチエリアを設定し、前記基準ブロックと前記サーチエリア内の参照ブロックとの間で相関演算を行うことで動きベクトルを検出する動きベクトル検出装置において、前記基準ブロックのデータを格納する基準ブロックデータ格納部と、前記サーチエリアのデータを格納するサーチエリアデータ格納部と、前記基準ブロックのデータと前記サーチエリア内の参照ブロックのデータとを用いて複数の異なる相関演算を行う複数の相関演算部とを具備し、前記複数の相関演算部はそれぞれ、前記基準ブロックデータ格納部からは、前記基準ブロックのデータを所定ライン分ずつに分割して得られる基準ブロックの単位ブロックのデータを共通に入力すると共に、前記サーチエリアデータ格納部からは、前記サーチエリアのデータを前記所定ライン分ずつに分割して得られるサーチエリアの単位ブロックのデータにおいて前記参照ブロックの単位ブロックのデータを水平方向にオーバーラップさせながら１画素ずつずらして得られる複数の参照ブロックの単位ブロックのデータを同時に入力し、前記基準ブロックの単位ブロックのデータの入力と前記複数の参照ブロックの単位ブロックのデータの入力を同時に行うことを特徴とする。
【００１７】
この第１の態様においては、複数の相関演算部に基準ブロックの単位ブロックを共通に入力し、サーチエリアのデータの単位ブロックにおいて参照ブロックを水平方向に１画素ずつずらして得られる複数の参照ブロックの単位ブロックをそれぞれ入力することにより、複数の相関演算部への入力の大部分を共通化することができる。これにより、回路規模を小さくすることができる。
【００１８】
また、上記の目的を達成するために、本発明の第２の態様による撮像装置は、被写体を複数回撮像して基準フレームのデータと参照フレームのデータを得る撮像部と、前記撮像部で得られた基準フレームのデータと前記参照フレームのデータとから前記相関演算を行って前記動きベクトルを検出する第１の態様に記載の動きベクトル検出装置と、前記動きベクトル検出装置で検出された動きベクトルに基づいて手ぶれ補正処理と動画像圧縮処理の少なくとも何れか一方を行う画像処理部とを具備することを特徴とする。
【００１９】
この第２の態様によれば、第１の態様の動きベクトル検出装置を撮像装置における手ぶれ補正処理と動画像圧縮処理とに利用することができる。
【発明の効果】
【００２０】
本発明によれば、回路規模の小さい動きベクトル検出装置及びこのような動きベクトル検出装置を利用した撮像装置を提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明の実施形態を説明する。  
図１は、本発明の一実施形態に係る動きベクトル検出装置の構成について示す図である。ここで、図１の構成は、基準ブロックのブロックサイズが図２（ａ）に示すような１６画素×１６ライン、サーチエリアのエリアサイズが図２（ｂ）に示すような２３画素×２３ラインの場合の例である。ここで、参照ブロックのブロックサイズは、基準ブロックのブロックサイズと同一である。したがって、サーチエリアの中央位置を参照ブロックの基準位置とすると、参照ブロックは、サーチエリア内を水平方向に−４画素〜＋３画素、垂直方向に−４画素〜＋３画素の範囲を移動する。
【００２２】
図１の動きベクトル検出装置は、メインメモリ１と、基準ブロックデータ格納ＳＲＡＭ２ａと、サーチエリアデータ格納ＳＲＡＭ２ｂと、相関演算部３ａ〜３ｈと、最小値検出部４と、タイミング回路５と、統計処理部６とから構成されている。
【００２３】
メインメモリ１は、例えばＳＤＲＡＭによって構成され、基準フレームのデータ（基準フレームデータ）と参照フレームのデータ（参照フレームデータ）とを格納している。ここで、基準フレームは複数の基準ブロックに分割されている。また、参照フレームにはそれぞれの基準ブロックに対応した複数のサーチエリアが設定されている。
【００２４】
基準ブロックデータ格納ＳＲＡＭ２ａは、少なくとも１個の基準ブロックのデータ（基準ブロックデータ）を格納できるだけの容量を有したＳＲＡＭであり、メインメモリ１に格納されている基準フレームデータから基準ブロックデータを、基準ブロックの単位ブロック毎に取得する。ここで、基準ブロックの単位ブロックとは、基準ブロックデータを所定ラインずつに分割した単位ブロックデータのことを言うものとする。なお、以後の例では所定ラインを１ラインとして説明を続ける。この場合、基準ブロックデータは１６個の基準ブロックの単位ブロックに分割され、またそれぞれの基準ブロックの単位ブロックは１６画素のデータで構成される。
【００２５】
図３（ａ）は基準ブロックデータ格納ＳＲＡＭ２ａの構成を示す図である。なお、図３（ａ）の例は、１画素のデータ量を８ｂｉｔとした場合である。図３（ａ）に示すように、基準ブロックデータ格納ＳＲＡＭ２ａは、基準ブロックの単位ブロックを１６個格納できるように、１６Ｗｏｒｄ×１２８ｂｉｔの容量を有して構成される。また、図３（ｂ）は基準ブロックデータ格納ＳＲＡＭ２ａの各アドレスに格納されるデータについて示している。図３（ｂ）に示すように、基準ブロックデータ格納ＳＲＡＭ２ａの各アドレスには１個の基準ブロックの単位ブロックが格納される。つまり、基準ブロックの単位ブロックのデータを上記のように設定した場合、基準ブロックデータ格納ＳＲＡＭ２ａの１つのアドレスには図２（ａ）に示す基準ブロックのうち、同じ垂直位置のデータ（１６画素）が格納される。
【００２６】
サーチエリアデータ格納ＳＲＡＭ２ｂは、メインメモリ１に格納されている参照フレームデータからサーチエリアのデータ（サーチエリアデータ）を、サーチエリアの単位ブロック毎に取得する。ここで、サーチエリアの単位ブロックとは、サーチエリアデータを上記所定ラインずつに分割した単位ブロックデータのことを言うものとする。上記した例の場合、サーチエリアデータは２３個のサーチエリアの単位ブロックに分割され、またそれぞれのサーチエリアの単位ブロックは２３画素のデータで構成される。
【００２７】
図４（ａ）はサーチエリアデータ格納ＳＲＡＭ２ｂの構成を示す図である。図４（ａ）に示すように、サーチエリアデータ格納ＳＲＡＭ２ｂは、サーチエリアの単位ブロックを２３個格納できるように、２３Ｗｏｒｄ×１８４ｂｉｔの容量を有して構成されている。また、図４（ｂ）はサーチエリアデータ格納ＳＲＡＭ２ｂの各アドレスに格納されるデータについて示している。サーチエリアの単位ブロックを上記のように設定した場合、サーチエリアデータ格納ＳＲＡＭ２ｂの１つのアドレスには図２（ｂ）に示すサーチエリアのうち、同じ垂直位置のデータ（２３画素）が格納される。
【００２８】
図５は、基準ブロックデータ格納ＳＲＡＭ２ａ及びサーチエリアデータ格納ＳＲＡＭ２ｂと相関演算部３ａ〜３ｈとの接続について説明するための図である。基準ブロックデータ格納ＳＲＡＭ２ａには、基準ブロックの単位ブロックのデータを画素毎に出力するための１６個の出力端子ａ０〜ａ１５が設けられており、これら出力端子ａ０〜ａ１５は相関演算部３ａ〜３ｈの入力端子ａ０〜ａ１５に共通に接続されている。
【００２９】
このような構成により、１クロック毎に、基準ブロックデータ格納ＳＲＡＭ２ａからは１個の基準ブロックの単位ブロックのデータが出力され、この基準ブロックの単位ブロックのデータが相関演算部３ａ〜３ｈに共通に入力される。
【００３０】
また、サーチエリアデータ格納ＳＲＡＭ２ｂには、サーチエリアの単位ブロックのデータを画素毎に出力するための２３個の出力端子ｂ０〜ｂ２２が設けられており、これら出力端子ｂ０〜ｂ２２のうち、出力端子ｂ０〜ｂ１５は相関演算部３ａの入力端子ｂ０〜ｂ１５に接続され、出力端子ｂ１〜ｂ１６は相関演算部３ｂの入力端子ｂ１〜ｂ１６に接続され、出力端子ｂ２〜ｂ１７は相関演算部３ｃの入力端子ｂ２〜ｂ１７に接続され、出力端子ｂ３〜ｂ１８は相関演算部３ｄの入力端子ｂ３〜ｂ１８に接続され、出力端子ｂ４〜ｂ１９は相関演算部３ｅの入力端子ｂ４〜ｂ１９に接続され、出力端子ｂ５〜ｂ２０は相関演算部３ｆの入力端子ｂ５〜ｂ２０に接続され、出力端子ｂ６〜ｂ２１は相関演算部３ｇの入力端子ｂ６〜ｂ２１に接続され、出力端子ｂ７〜ｂ２２は相関演算部３ｈの入力端子ｂ７〜ｂ２２に接続されている。
【００３１】
このような構成により、１クロック毎に、サーチエリアデータ格納ＳＲＡＭ２ｂからは１個のサーチエリアの単位ブロックのデータが出力され、そして、このサーチエリアの単位ブロックのうち、０〜１５画素目のデータが相関演算部３ａに入力され、１〜１６画素目のデータが相関演算部３ｂに入力され、２〜１７画素目のデータが相関演算部３ｃに入力され、３〜１８画素目のデータが相関演算部３ｄに入力され、４〜１９画素目のデータが相関演算部３ｅに入力され、５〜２０画素目のデータが相関演算部３ｆに入力され、６〜２１画素目のデータが相関演算部３ｇに入力され、７〜２２画素目のデータが相関演算部３ｈに入力される。
【００３２】
即ち、これら各相関演算部に入力されるサーチエリアの単位ブロックのデータはそれぞれ、サーチエリアの単位ブロックにおいて、参照ブロックを水平方向に−４〜＋３の範囲でずらしたときに得られるデータに相当する。以後、上記のようにして各相関演算部に入力される１６画素のデータを参照ブロックの単位ブロックと称する。
【００３３】
相関演算部３ａ〜３ｈは、基準ブロックデータ格納ＳＲＡＭ２ａから出力される基準ブロックの単位ブロック及びサーチエリアデータ格納ＳＲＡＭ２ｂから出力される参照ブロックの単位ブロックを取得して、基準ブロックの単位ブロックと参照ブロックの単位ブロックとの間での相関演算を行い、この単位ブロック毎の相関演算結果の総和を求めることで基準ブロックデータと参照ブロックデータとの間での相関演算を行う。
【００３４】
図６は、相関演算部の構成について示す図である。なお、図６は相関演算部３ａのみの構成について示しているが、その他の相関演算部も、水平方向に１画素ずつずれた参照ブロックの単位ブロックのデータが入力される点が異なるだけで、その構成は相関演算部３ａと同様である。また、図６は、相関演算に差分絶対値和演算を用いる場合の構成について示しているが、相関演算に差分二乗和演算を用いても良い。
【００３５】
図６に示すように、相関演算部３ａは、差分絶対値和演算部３１と、加算器３２と、フリップフロップ（ＦＦ）３３とから構成されている。
【００３６】
差分絶対値和演算部３１は、基準ブロックデータ格納ＳＲＡＭ２ａ及びサーチエリアデータ格納ＳＲＡＭ２ｂから入力される単位ブロックの画素数と同数（ここでは１６個）の差分絶対値演算部と、これら差分絶対値演算部の出力を加算する加算器とから構成されており、基準ブロックの単位ブロックと参照ブロックの単位ブロックとの間での差分絶対値を画素毎に演算した後、これらの総和を求める。例えば、相関演算部３ａに１ライン目の基準ブロックの単位ブロックと１ライン目の参照ブロックの単位ブロックとが入力された場合には、
｜A(0,0)-B(0,0)｜+｜A(0,1)-B(0,1)｜+ … +｜A(0,15)-B(0,15)｜  （式１）
の演算が行われる。なお、相関演算に差分二乗和演算を用いる場合には、上記演算に代えて画素毎の差分を二乗してそれらの総和を求める演算を行えば良い。
【００３７】
加算器３２は、差分絶対値和演算部３１で得られた差分絶対値和の演算結果を前回の差分絶対値和の演算結果に加算する。ＦＦ３３は加算器３２の演算結果を前回の差分絶対値和の演算結果として保持する。
【００３８】
このような構成により、相関演算部３ａは、１クロック毎に基準ブロックの単位ブロックと参照ブロックの単位ブロックとの間の相関演算を１回行って、この相関演算結果を加算していき、１６クロックで基準ブロックと参照ブロックとの間での相関演算を終了する。
【００３９】
最小値検出部４は、サーチエリア内における相関演算の結果が最も小さくなるときの参照ブロックの位置を動きベクトルとして出力する。この最小値検出部４は、比較器４ａと、比較器４ｂと、フリップフロップ（ＦＦ）４ｃと、セレクタ（ＳＥＬ）４ｄと、ＦＦ４ｅとから構成されている。
【００４０】
比較器４ａは相関演算部３ａ〜３ｈにおける相関演算結果を比較して最も小さいものを出力する。比較器４ｂは比較器４ａから出力された相関演算結果と前回の相関演算結果とを比較して何れか小さいほうを出力する。ＦＦ４ｃは比較器４ａから出力された相関演算結果を前回の相関演算結果として保持する。ＳＥＬ４ｄは比較器４ｂからの出力に応じて今回の参照ブロックの位置情報と前回の参照ブロックの位置情報の何れかを統計処理部６に出力する。ＦＦ４ｅはＳＥＬ４ｄによって選択された参照ブロックの位置情報を前回の参照ブロックの位置情報として保持する。
【００４１】
タイミング回路５は、１クロック毎にそのときの参照ブロックの位置情報を示す信号を最小値検出部４に出力する。統計処理部６は、１つの基準フレーム中に複数の基準ブロックが設定されている場合に、これら基準ブロック毎に求められた複数の動きベクトルに対して統計処理を施すことにより、画面全体の動きベクトルを求める（図７参照）。
【００４２】
以下、図１の動きベクトル検出装置におけるブロックマッチング（特にブロックマッチングにおける相関演算動作）について更に詳しく説明する。図８は動きベクトル検出装置のブロックマッチングに係るタイミングチャートである。また、図９は図８のタイミングチャートに従ったブロックマッチングの概略を示した図である。ここで、図９の例は、サーチエリア内の左上端（参照ブロックの水平方向位置−４、垂直方向位置−４）から相関演算を行っていく場合について示している。
【００４３】
図８に示す例においては、１６クロックで、基準ブロックと、ある垂直位置において水平方向に隣接する全ての参照ブロックとの間の相関演算結果を同時に取得することができるようになっている。
【００４４】
例えば、最初の１〜１６クロック目にかけては、垂直方向が−４、水平方向が−４〜＋３の位置での相関演算結果を取得することができる。即ち、１クロック毎に、基準ブロックデータ格納ＳＲＡＭ２ａからは、基準ブロックの単位ブロック（１６画素）が先頭アドレスから順次読み出され、この読み出された基準ブロックの単位ブロックが相関演算部３ａ〜３ｈに共通に入力される。これに対応して、サーチエリアデータ格納ＳＲＡＭ２ｂからは、サーチエリアの単位ブロック（２３画素）が先頭アドレスから順次読み出され、この読み出されたサーチエリアの単位ブロックにおいて参照ブロックを１画素ずつずらして得られる８個の参照ブロックの単位ブロックが相関演算部３ａ〜３ｈにそれぞれ入力される。
【００４５】
相関演算部３ａ〜３ｈに基準ブロックの単位ブロック及び参照ブロックの単位ブロックが入力されるとそれぞれの相関演算部で相関演算が行われる。これにより、１クロック毎に、相関演算部３ａにおいて水平方向−４、相関演算部３ｂにおいて水平方向−３、相関演算部３ｃにおいて水平方向−２、相関演算部３ｄにおいて水平方向−１、相関演算部３ｅにおいて水平方向０、相関演算部３ｆにおいて水平方向＋１、相関演算部３ｇにおいて水平方向＋２、相関演算部３ｈにおいて水平方向＋３（垂直方向は全て−４）の基準ブロックの単位ブロックと参照ブロックの単位ブロックとの間での相関演算結果が得られ、１６クロックで垂直方向−４、水平方向−４〜＋３（図９のブロックライン１）における基準ブロックと参照ブロックとの間での相関演算結果が８個同時に得られる。
【００４６】
以後も同様にして、１６クロックを１サイクルとして相関演算が行われる。この際、１クロック毎に、基準ブロックデータ格納ＳＲＡＭ２ａからは、基準ブロックの単位ブロック（１６画素）が常に先頭アドレスから順次読み出される。一方、サーチエリアデータ格納ＳＲＡＭ２ｂからは、１６クロック毎に読み出し開始アドレスを垂直方向に１つずつずらしながらサーチエリアの単位ブロック（２３画素）が順次読み出される。
【００４７】
このような処理がサーチエリアの全ての範囲に対して行われる。これにより、ブロックライン１〜ブロックライン８（参照ブロックの垂直方向−４〜＋３）までで８×８＝６４個の相関演算結果が得られることになる。
【００４８】
なお、１つの基準ブロックに対する処理が終了した場合には、順次、次の基準ブロックに対して図８、図９の処理を繰り返していくことにより撮影データ全体に対して相関演算を行うことができる。
【００４９】
次に、本一実施形態の変形例について説明する。ここで、以下に説明する変形例においては、基準ブロックのブロックサイズが３２画素×３２ライン、サーチエリアのエリアサイズが６３画素×６３ラインとして説明を続ける。この場合、参照ブロックは、サーチエリア内を水平方向に−１６画素〜＋１５画素、垂直方向に−１６画素〜＋１５画素の範囲を移動する。
【００５０】
ここで説明する変形例は、基本的な構成は図１で示したものと同様であるが、基準ブロックデータ格納ＳＲＡＭ２ａ及びサーチエリアデータ格納ＳＲＡＭ２ｂの内部の構成が図３、図４と異なっている。
【００５１】
図１０（ａ）は変形例における基準ブロックデータ格納ＳＲＡＭ２ａの構成を示す図である。図１０（ａ）に示すように、基準ブロックデータ格納ＳＲＡＭ２ａは、３２画素×１ラインで構成される基準ブロックの単位ブロックを３２個格納できるように構成されている。ここで、図３（ａ）と異なっている点は、１つの単位ブロックを複数に分割して（ここでは例として１６画素毎に２つの単位ブロックに分割する）、これら分割した単位ブロック（基準ブロックの分割単位ブロック）を基準ブロックデータ格納ＳＲＡＭ２ａ内の別々のエリアに格納するようにしている点である。このため、基準ブロックデータ格納ＳＲＡＭ２ａは、６４Ｗｏｒｄ×１２８ｂｉｔの容量を有して構成される。このような基準ブロックデータ格納ＳＲＡＭ２ａは、メインメモリ１に格納されている基準フレームデータから、基準ブロックデータを基準ブロックの単位ブロックを２分割した分割単位ブロック（１６画素）毎に取得する。また、基準ブロックデータ格納ＳＲＡＭ２ａに格納されたデータは１６画素の分割単位ブロック毎に読み出される。これにより、相関演算部３ａ〜３ｈには１６画素の分割単位ブロックのデータが共通に入力される。
【００５２】
図１０（ｂ）は基準ブロックデータ格納ＳＲＡＭ２ａの各アドレスに格納されるデータについて示している。図１０（ｂ）に示すように、基準ブロックデータ格納ＳＲＡＭ２ａの各アドレスには１個の基準ブロックの単位ブロックを２分割したデータ（１６画素）がそれぞれ基準ブロックデータ格納ＳＲＡＭ２ａの左側のエリアと右側のエリアとに分けて格納される。
【００５３】
図１１（ａ）は変形例におけるサーチエリアデータ格納ＳＲＡＭ２ｂの構成を示す図である。図１１（ａ）に示すように、サーチエリアデータ格納ＳＲＡＭ２ｂは、６３画素×１ラインで構成されるサーチエリアの単位ブロックを６３個格納できるように構成されている。
【００５４】
ここで、変形例において、サーチエリアデータ格納ＳＲＡＭ２ｂは、１９２Ｗｏｒｄ×６４ｂｉｔの容量を有する２つのＳＲＡＭ（ＳＲＡＭ＿Ａ２１ａ、ＳＲＡＭ＿Ｂ２１ｂ）と、１２８Ｗｏｒｄ×６４ｂｉｔの容量を有する１つのＳＲＡＭ（ＳＲＡＭ＿Ｃ２１ｃ）と、これら３つのＳＲＡＭからデータを選択的に出力させるセレクタ（ＳＥＬ）２２とから構成されている。
【００５５】
サーチエリアデータ格納ＳＲＡＭ２ｂの３つのＳＲＡＭはそれぞれ、メインメモリ１に格納されている参照フレームデータからサーチエリアデータを８画素単位で取得する。ここで、図１１（ｂ）に示すように、ＳＲＡＭ＿Ａ２１ａ、ＳＲＡＭ＿Ｂ２１ｂ、ＳＲＡＭ＿Ｃ２１ｃの３つで２４画素のデータを取得することができるが、相関演算部３ａ〜３ｈにはそれぞれ、基準ブロックの分割単位ブロック（１６画素）に対応する１６画素のデータを入力できれば良い。したがって、ＳＥＬ２２は、サーチエリアデータ格納ＳＲＡＭ２ｂの各ＳＲＡＭから８画素単位で２４画素分出力されるデータのうちの２３画素（この２３画素のデータをサーチエリアの分割単位ブロックと称する）のみを選択して出力する。ここで出力された２３画素のデータのうち、０〜１５画素目のデータが相関演算部３ａに入力され、１〜１６画素目のデータが相関演算部３ｂに入力され、２〜１７画素目のデータが相関演算部３ｃに入力され、３〜１８画素目のデータが相関演算部３ｄに入力され、４〜１９画素目のデータが相関演算部３ｅに入力され、５〜２０画素目のデータが相関演算部３ｆに入力され、６〜２１画素目のデータが相関演算部３ｇに入力され、７〜２２画素目のデータが相関演算部３ｈに入力される。
【００５６】
なお、図１１（ｃ）には、ＳＲＡＭ＿Ａ２１ａ、ＳＲＡＭ＿Ｂ２１ｂ、ＳＲＡＭ＿Ｃ２１ｃの各アドレスに格納されるデータを示している。図１１（ｃ）に示すように、ＳＲＡＭ＿Ａ２１ａ、ＳＲＡＭ＿Ｂ２１ｂ、ＳＲＡＭ＿Ｃ２１ｃの各アドレスには、８画素単位のデータが格納される。ここで、サーチエリアの同じ垂直位置のデータは、ＳＲＡＭ＿Ａ２１ａ、ＳＲＡＭ＿Ｂ２１ｂ、ＳＲＡＭ＿Ｃ２１ｃに分割されて格納される。
【００５７】
以下、図１２を参照して変形例におけるブロックマッチングについて説明する。  
図１２において、最初の１〜６４クロック目にかけては、垂直方向が−１６、水平方向が−１６〜−９の位置での相関演算結果が取得される。
【００５８】
まず１クロック〜３２クロック目にかけては、１クロック毎に基準ブロックデータ格納ＳＲＡＭ２ａから、基準ブロックの左側の分割単位ブロック（１６画素）が先頭アドレスから順次読み出され、この読み出された基準ブロックの分割単位ブロックが相関演算部３ａ〜３ｈに共通に入力される。例えば１クロック目の場合には、基準ブロックデータ格納ＳＲＡＭ２ａのＡＤＤ＝０のデータ、即ち、A(0,0)〜A(0,15)の１６画素が読み出される。また、これに対応して、サーチエリアデータ格納ＳＲＡＭ２ｂのＳＲＡＭ＿Ａ２１ａ、ＳＲＡＭ＿Ｂ２１ｂ、ＳＲＡＭ＿Ｃ２１ｃから、それぞれ８画素ずつのデータが読み出され、これら読み出された２４画素のデータのうち先頭の画素から２３画素目までのデータがＳＥＬ２２において選択される。例えば、１クロック目の場合には、ＳＲＡＭ＿Ａ２１ａ、ＳＲＡＭ＿Ｂ２１ｂ、ＳＲＡＭ２１ｃのＡＤＤ＝０のデータ、即ち、B(0,0)〜B(0,7)、B(0,8)〜B(0,15)、B(0,9)〜B(0,23)がそれぞれ読み出され、これら２４画素のデータのうち、B(0,0)〜B(0,22)までの２３画素のデータのみがＳＥＬ２２によって選択される。
【００５９】
ＳＥＬ２２によって選択されたサーチエリアの分割単位ブロック（２３画素）は、参照ブロックを水平方向に１画素ずつずらして得られる８個の参照ブロックの分割単位ブロック（１６画素）ずつ、相関演算部３ａ〜３ｈにそれぞれ入力される。以後の相関演算は図９と同様にして行われる。
【００６０】
これにより、１クロック毎に、相関演算部３ａにおいて水平方向−１６、相関演算部３ｂにおいて水平方向−１５、相関演算部３ｃにおいて水平方向−１４、相関演算部３ｄにおいて水平方向−１３、相関演算部３ｅにおいて水平方向−１２、相関演算部３ｆにおいて水平方向−１１、相関演算部３ｇにおいて水平方向−１０、相関演算部３ｈにおいて水平方向−９（垂直方向は全て−１６）の基準ブロックの左側の分割単位ブロックと参照ブロックの左側の分割単位ブロック（図１２のブロックライン１−１の左側）との間での相関演算結果が得られる。
【００６１】
次の３３クロック〜６４クロック目にかけては、基準ブロックデータ格納ＳＲＡＭ２ａから、基準ブロックの右側の分割単位ブロックが先頭アドレスから順次読み出され、この読み出された基準ブロックの分割単位ブロックが相関演算部３ａ〜３ｈに共通に入力される。例えば３３クロック目の場合には、基準ブロックデータ格納ＳＲＡＭ２ａのＡＤＤ＝３２のデータ、即ち、A(0,16)〜A(0,31)の１６画素が読み出される。また、これに対応して、サーチエリアデータ格納ＳＲＡＭ２ｂのＳＲＡＭ＿Ａ３１ａ、ＳＲＡＭ＿Ｂ３１ｂ、ＳＲＡＭ＿Ｃ３１ｃから８画素ずつデータが読み出され（例えば、３３クロック目の場合にはＳＲＡＭ＿Ｃ３１ａからB(0,16)〜B(0,23)、ＳＲＡＭ＿Ａ３１ａからB(0,24)〜B(0,31)、ＳＲＡＭ＿Ｂ３１ｂからB(0,32)〜B(0,39)が読み出される）、これら２４画素のデータのうち先頭から２３画素目までのデータがＳＥＬ２２において選択され、これら選択されたサーチエリアの分割単位ブロックにおいて参照ブロックを水平方向に１画素ずつずらして得られる８個の参照ブロックの分割単位ブロック（１６画素）が相関演算部３ａ〜３ｈにそれぞれ入力される。以後の相関演算は図９と同様にして行われる。
【００６２】
これにより、１クロック毎に、相関演算部３ａにおいて水平方向−１６、相関演算部３ｂにおいて水平方向−１５、相関演算部３ｃにおいて水平方向−１４、相関演算部３ｄにおいて水平方向−１３、相関演算部３ｅにおいて水平方向−１２、相関演算部３ｆにおいて水平方向−１１、相関演算部３ｇにおいて水平方向−１０、相関演算部３ｈにおいて水平方向−９（垂直方向は全て−１６）の基準ブロックの右側の分割単位ブロックと参照ブロックの右側の分割単位ブロック（図１２のブロックライン１−１の右側）との間での相関演算結果が得られ、ブロックライン１−１における基準ブロックの単位ブロックと参照ブロックの単位ブロックとの間での相関演算が終了し８個の相関演算結果が同時に得られる。
【００６３】
以後の処理においては、６４クロック毎に基準ブロックデータ格納ＳＲＡＭ２ａからは、基準ブロックの分割単位ブロック（１６画素）が左側の先頭アドレスから順次読み出される。一方、サーチエリアデータ格納ＳＲＡＭ２ｂからは、６４クロック毎に読み出し位置を水平方向に８画素ずつずらしながらサーチエリアの分割単位ブロック（２３画素）が順次読み出される。
【００６４】
このような処理が４回（２５６クロック分）行われることにより、垂直方向−１６、水平方向−１６〜＋１５（図１２のブロックライン１−１〜ブロックライン１−４）における基準ブロックと参照ブロックとの間での相関演算結果が８×４＝３２個得られる。
【００６５】
以後も同様にして、２５６クロックを１サイクルとして相関演算が行われる。この際、基準ブロックデータ格納ＳＲＡＭ２ａからは、基準ブロックの分割単位ブロック（１６画素）が常に左側の先頭アドレスから順次読み出される。一方、サーチエリアデータ格納ＳＲＡＭ２ｂからは、２５６クロック毎に読み出し開始アドレスを垂直方向に１つずつずらしながらサーチエリアの分割単位ブロック（２３画素）が順次読み出される。
【００６６】
このような処理がサーチエリアの全ての範囲に対して行われる。これにより、ブロックライン１〜ブロックライン３２（参照ブロックの垂直方向位置−１６〜＋１５）までで３２×３２＝１０２４個の相関演算結果が得られることになる。
【００６７】
なお、１つの基準ブロックに対する処理が終了した場合には、順次、次の基準ブロックに対して図１２の処理を繰り返していくことにより撮影データ全体に対して相関演算を行い、画面全体の動きベクトルを求めることができる。
【００６８】
次に、本一実施形態に係る動きベクトル検出装置を適用した撮像装置の一例としてのデジタルカメラについて図１３を参照して説明する。図１３に示すデジタルカメラは、ＣＣＤ１０１と、プリプロセス部１０２と、画像バス１０３と、メインメモリ１０４と、動き検出装置１０５と、ＣＰＵバス１０６と、ＣＰＵ１０７と、画像処理部１０８と、ビデオエンコーダ１０９と、ＴＦＴ表示部１１０とから構成されている。
【００６９】
ＣＣＤ１０１は、ＣＣＤ方式の撮像素子であり、図示しない被写体を撮像して撮像信号を得る。プリプロセス部１０２は、ＣＣＤ１０１で得られた撮像信号を処理して撮像データを取得する。画像バス１０３は、プリプロセス部１０２で得られた撮像データ等の各種データを図１のデジタルカメラの各部に転送する転送路である。メインメモリ１０４は、例えばＳＤＲＡＭ等から構成され、プリプロセス部１０２において得られ、画像バス１０３を介して転送された撮像データを格納する。動き検出装置１０５は、図１に示すようにして構成され、メインメモリ１０４に格納されている２枚の撮像データ（基準フレームデータ及び参照フレームデータ）から上述したようにして動きベクトルを検出する。ＣＰＵバス１０６は、動き検出装置１０５において検出された動きベクトル等の各種データをＣＰＵ１０７に転送する転送路である。ＣＰＵ１０７は当該デジタルカメラの全体の動作制御を行う。画像処理部１０８はメインメモリ１０４に格納された撮像データを読み出して種々の画像処理を行う。ビデオエンコーダ１０９は画像処理部で処理された撮像データを表示に適する信号に変換する。ＴＦＴ表示部１１０はビデオエンコーダ１０９において変換された信号に基づいて画像表示を行う。
【００７０】
以下、図１３のような構成を有するデジタルカメラにおいて、動き検出装置１０５を手ぶれ補正に用いる場合の動作について図１４及び図１５を参照して説明する。
【００７１】
まず、ＣＣＤ１０１は、所定タイミング毎に被写体を撮像し、これによって得られた撮像信号をプリプロセス部１０２に出力する。プリプロセス部１０２は、ＣＣＤ１０１から入力された撮像信号に対してＡ／Ｄ変換や、シェーディング補正、欠陥画素補正等の前処理を行って撮像データを生成し、生成した撮像データを、画像バス１０３を介してメインメモリ１０４に書き込む（図１４（ａ））。
【００７２】
動き検出装置１０５は、メインメモリ１０４から２フレーム分の撮影データを読み出して、これら２フレーム分の撮影データに基づいて上記説明したような手法で動きベクトルを検出し、この動きベクトルを、ＣＰＵバス１０６を介してＣＰＵ１０７に転送する（図１４（ｂ））。
【００７３】
ＣＰＵ１０７は、ＣＰＵバス１０６を介して転送された動きベクトルから、２フレームの撮影データの間に発生した手ぶれ量を判定し、この手ぶれを補正するのに必要な撮影データの切り出し位置を決定して画像処理部１０８に通知する（図１５（ａ））。なお、ＣＰＵ１０７において切り出し位置を決定する際には、手ぶれによる画像の移動とユーザが意図的にデジタルカメラを移動させたことによる画像の移動とを切り分けてから決定するようにする。
【００７４】
ここで、手ぶれの補正について簡単に説明する。動画の手ぶれ補正においては電子手ぶれ補正が用いられる。電子手ぶれ補正は、図１６のように、ＣＣＤ１０１において実際の表示用の撮影データよりも広画角の撮影データ２００を取得しておき、画像処理部１０８において、撮影データ２００の中から当該デジタルカメラの画像２０１ａと画像２０１ｂとの間の動き量（手ぶれ量）に基づいて、この画像の動きを補正するような切り出し位置の撮影データを表示用の撮影データとしてメインメモリ１０４から読み出すことで行う。
【００７５】
画像処理部１０８は、ＣＰＵ１０７から通知された切り出し位置に基づいてメインメモリ１０４から表示用の撮影データを取得し、この取得した撮影データに対し、表示に必要な種々の画像処理を行う。そして、画像処理部１０８は、処理した撮像データをメインメモリ１０４に書き戻す（図１５（ｂ））。
【００７６】
その後、ビデオエンコーダ１０９は、メインメモリ１０４から手ぶれ補正後の撮影データを読み出してＮＴＳＣ信号等の映像信号に変換し、この変換した信号に基づいてＴＦＴ表示部１１０に動画表示を行う。このような動作により、手ぶれ補正がなされた動画がＴＦＴ表示部１１０に表示される（図１５（ｃ））。
【００７７】
ここで、図１４及び図１５は動画表示の際の手ぶれ補正について説明しているが、動画記録の際の手ぶれ補正も同様にして行われる。また、動画記録の際には、撮像データの圧縮にＭＥＰＧが用いられる。ＭＰＥＧ圧縮は、離散コサイン変換（ＤＣＴ）を用いた圧縮と、動きベクトルを利用した動き補償予測を用いた圧縮とを併用して動画像の圧縮を行う手法であるが、この動きベクトルの検出に、本発明の一実施形態及び変形例で説明した動きベクトル検出装置を用いることができる。
【００７８】
以上説明したように、本一実施形態によれば、基準ブロック及びサーチエリアをそれぞれ複数の単位ブロックに分割し、これら分割した基準ブロックの単位ブロック及びサーチエリアの単位ブロックのうち、基準ブロックの単位ブロックは相関演算部３ａ〜３ｈに共通に入力し、サーチエリアの単位ブロックは水平方向に隣接する複数の参照ブロックの単位ブロックを相関演算部３ａ〜３ｈに入力するようにして、水平方向の隣接する参照ブロックに係る相関演算結果を同時に得ることができるようにしている。即ち、相関演算部３ａ〜３ｈに入力するデータをほぼ共通化（基準ブロックデータは完全に共通化、参照ブロックデータは大部分を共通化）できるようにしているため、小さい回路規模で高速に相関演算を行うことが可能である。
【００７９】
また、上記した変形例のように、１つの単位ブロックの格納エリアを分割するようにすることで、ブロックサイズが大きくなっても、回路規模をそれほど増大させる必要がない。
【００８０】
なお、上記した実施形態及び変形例においては、１つの単位ブロックを設定する際の所定ラインを１ラインとしているが、これを他の任意のライン数としても良い。例えば、上記した実施形態及び変形例において、所定ラインを２ラインとした場合には基準ブロックデータ格納ＳＲＡＭ２ａ、サーチエリアデータ格納ＳＲＡＭ２ｂの１つのアドレスにそれぞれ２ライン分のデータが格納され、２ライン分のデータを単位として相関演算が行われる。
【００８１】
更に、基準ブロックのブロックサイズやサーチエリアのエリアサイズも上記した例に限られるものではない。また、これらのサイズを変更した場合には、それに応じて相関演算部の数を増減させることが好ましい。
【００８２】
また、上記した実施形態及び変形例においては、データの読み出しを水平方向に行っているが、垂直方向に行っても良い。この場合には単位ブロックを垂直方向に対して設定する。
【００８３】
また、上記した実施形態及び変形例においては、基準ブロックデータ及びサーチエリアデータをＳＲＡＭに格納しているが、これらはフリップフロップ（ＦＦ）等でも代用できる。ただし、回路規模の観点等からはＳＲＡＭを用いることが好ましい。
【００８４】
以上実施形態に基づいて本発明を説明したが、本発明は上記した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【００８５】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態に係る動きベクトル検出装置の構成について示す図である。
【図２】図２（ａ）は基準ブロックについて示す図であり、図２（ｂ）はサーチエリアについて示す図である。
【図３】図３（ａ）は基準ブロックデータ格納ＳＲＡＭの構成を示す図であり、図３（ｂ）は基準ブロックデータ格納ＳＲＡＭの各アドレスに格納されるデータについて示した図である。
【図４】図４（ａ）はサーチエリアデータ格納ＳＲＡＭの構成を示す図であり、図４（ｂ）はサーチエリアデータ格納ＳＲＡＭの各アドレスに格納されるデータについて示した図である。
【図５】基準ブロックデータ格納ＳＲＡＭ及びサーチエリアデータ格納ＳＲＡＭと各相関演算部との接続について説明するための図である。
【図６】相関演算部の構成について示す図である。
【図７】統計処理部について説明するための図である。
【図８】動きベクトル検出装置のブロックマッチングに係るタイミングチャートである。
【図９】図８のタイミングチャートに従ったブロックマッチングの概略を示した図である。
【図１０】図１０（ａ）は変形例の基準ブロックデータ格納ＳＲＡＭの構成を示す図であり、図１０（ｂ）は変形例の基準ブロックデータ格納ＳＲＡＭの各アドレスに格納されるデータについて示した図である。
【図１１】図１１（ａ）は変形例のサーチエリアデータ格納ＳＲＡＭの構成を示す図であり、図１１（ｂ）は変形例のサーチエリアデータ格納ＳＲＡＭからのデータの読み出しについて説明するための図であり、図１１（ｃ）は変形例のサーチエリアデータ格納ＳＲＡＭの各アドレスに格納されるデータについて示した図である。
【図１２】変形例のブロックマッチングの概略を示した図である。
【図１３】本発明の一実施形態に係る動きベクトル検出装置を適用した撮像装置の一例としてのデジタルカメラの構成について示す図である。
【図１４】図１３のデジタルカメラにおける手ぶれ補正の処理の流れについて説明するための第１図である。
【図１５】図１３のデジタルカメラにおける手ぶれ補正の処理の流れについて説明するための第２図である。
【図１６】電子手ぶれ補正について説明するための図である。
【図１７】ブロックマッチングの概念について説明するための図である。
【図１８】従来の動きベクトル検出装置の構成例について示す図である。
【符号の説明】
【００８７】
１…メインメモリ、２ａ…基準ブロックデータ格納ＳＲＡＭ、２ｂ…サーチエリアデータ格納ＳＲＡＭ、３ａ〜３ｈ…相関演算部、４…最小値検出部、５…タイミング回路、６…統計処理部、１０１…ＣＣＤ、１０２…プリプロセス部、１０３…画像バス、１０４…メインメモリ、１０５…動き検出装置、１０６…ＣＰＵバス、１０７…ＣＰＵ、１０８…画像処理部、１０９…ビデオエンコーダ、１１０…ＴＦＴ表示部
【図１】
0004547321.tif 000002
【図２】
0004547321.tif 000003
【図３】
0004547321.tif 000004
【図４】
0004547321.tif 000005
【図５】
0004547321.tif 000006
【図６】
0004547321.tif 000007
【図７】
0004547321.tif 000008
【図８】
0004547321.tif 000009
【図９】
0004547321.tif 000010
【図１０】
0004547321.tif 000011
【図１１】
0004547321.tif 000012
【図１２】
0004547321.tif 000013
【図１３】
0004547321.tif 000014
【図１４】
0004547321.tif 000015
【図１５】
0004547321.tif 000016
【図１６】
0004547321.tif 000017
【図１７】
0004547321.tif 000018
【図１８】
0004547321.tif 000019