(57)【要約】【課題】マッチングを行う場合において、探索範囲を抑制せずに処理量を確実に軽減する。【解決手段】分類部２２は、マッチングの間隔に基づいて、評価ブロックをグループに分類する。メモリ制御部１２は、グループごとに、評価ブロックを順に、マッチングの対象とする対象ブロックとして決定する。メモリ１３は、参照画像のうちの、差分絶対値部３１に記憶されている画素以外の、対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給する。差分絶対値部３１は、供給された探索範囲群を構成する画素と、記憶している画素とを、探索画素群を構成する全ての画素として出力し、供給された探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶する。本発明は、例えば、マッチングを行う画像処理装置に適用することができる。【選択図】図１
2008108044.tif 000002
【特許請求の範囲】
【請求項１】
マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う画像処理装置において、
前記所定の間隔に基づいて、前記評価ブロックをグループに分類する分類手段と、
前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定する決定手段と、
前記参照画像のうちの、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給する供給手段と、
前記探索範囲群を構成する全ての画素を出力する出力手段と、
供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶する記憶手段と、
前記供給手段は、前記参照画像のうちの、記憶されている画素以外の、前記探索画素群を構成する画素を供給し、
前記出力手段は、供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力する
画像処理装置。
【請求項２】
所定の方向の前記所定の間隔は、前記評価ブロックの前記所定の方向の長さのＮ（Ｎは１以上の整数）分の１であり、
前記分類手段は、各グループに属する評価ブロックの前記所定の方向の間隔が、前記評価ブロックの前記所定の方向の長さと等しくなるように、前記評価ブロックをグループに分類し、
前記決定手段は、前記グループごとに、前記評価ブロックを、前記所定の方向に並ぶ順に、前記マッチングの対象とする対象ブロックとして決定する
請求項１に記載の画像処理装置。
【請求項３】
マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う画像処理装置の画像処理方法において、
前記所定の間隔に基づいて、前記評価ブロックをグループに分類し、
前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定し、
前記参照画像のうちの、記憶されている画素以外の、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給し、
供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力し、
供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶させる
ステップを含む画像処理方法。
【請求項４】
マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う処理を、コンピュータに行わせるプログラムにおいて、
前記所定の間隔に基づいて、前記評価ブロックをグループに分類し、
前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定し、
前記参照画像のうちの、記憶されている画素以外の、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給し、
供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力し、
供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶させる
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、マッチングを行う場合において、探索範囲を抑制せずに、処理量を確実に軽減することができるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、動画像から動きベクトルを検出する手法として、ブロックマッチング法が一般的に用いられている。このブロックマッチング法は、勾配法などの他の方法に比べ、急激な輝度変化や、拡大、縮小、回転などに強いという特徴を有するが、ブロックマッチング法では、基本的に、画像全体に対して探索が行われるため、処理量が非常に多かった。
【０００３】
そこで、最初に、所定の領域全体を、探索範囲としてマッチング間隔の荒いマッチングを行い、その後、前に行ったマッチングの評価値が最高となった点を中心とした限られた範囲を探索範囲としてマッチング間隔が密なマッチングを行い、そのマッチングの結果に基づいて動きベクトルを検出する動きベクトル検出方法がある（例えば、特許文献１参照）。なお、探索範囲とは、マッチングの基準となる基準画像の中の１つの画素に対して探索する、そのマッチングにおいて参照される参照画像の範囲である。
【０００４】
この動きベクトル検出方法では、所定の領域全体を探索範囲としてマッチング間隔が密のマッチングを行う場合に比べて、探索回数が減少し、これにより、処理量を軽減することができる。
【０００５】
しかしながら、特許文献１に記載されている動きベクトル検出方法では、動きベクトルの基になるマッチングの探索範囲が抑制されるため、特に高解像度の動画像の動きベクトルを検出する場合、検出される動きベクトルが全体としての最適解ではなく、ある極小解である可能性がある。従って、検出される動きベクトルの精度が低くなってしまう。
【０００６】
また、マッチングの対象とするブロック内の画素と、その画素に対応する探索範囲内の画素の差分の絶対値が閾値より大きい場合、差分の絶対値の加算を中止したり、探索履歴がある探索範囲に対しては探索をスキップしたりして、処理量を軽減する動きベクトル検出装置がある（例えば、特許文献２参照）。
【０００７】
しかしながら、この動きベクトル検出装置においては、差分の絶対値が閾値以下である場合、または、探索履歴がない探索範囲である場合の処理量は軽減されない。即ち、特許文献２に記載されている動きベクトル検出装置における処理量の最悪値は軽減されない。従って、特許文献２に記載されている動きベクトル検出装置は、処理量を確実に軽減しているとはいえない。
【０００８】
【特許文献１】特開平１０−１３８３５号公報
【０００９】
【特許文献２】特開２００５−６３５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
以上のように、マッチングを行う場合において、探索範囲を抑制せずに、処理量を確実に軽減することは困難であった。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、マッチングを行う場合において、探索範囲を抑制せずに、処理量を確実に軽減することができるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の画像処理装置は、マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う画像処理装置において、前記所定の間隔に基づいて、前記評価ブロックをグループに分類する分類手段と、前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定する決定手段と、前記参照画像のうちの、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給する供給手段と、前記探索範囲群を構成する全ての画素を出力する出力手段と、供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶する記憶手段と、前記供給手段は、前記参照画像のうちの、記憶されている画素以外の、前記探索画素群を構成する画素を供給し、前記出力手段は、供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力する。
【００１３】
本発明の一側面の画像処理装置では、所定の方向の前記所定の間隔が、前記評価ブロックの前記所定の方向の長さのＮ（Ｎは１以上の整数）分の１である場合、前記分類手段は、各グループに属する評価ブロックの前記所定の方向の間隔が、前記評価ブロックの前記所定の方向の長さと等しくなるように、前記評価ブロックをグループに分類し、前記決定手段は、前記グループごとに、前記評価ブロックを、前記所定の方向に並ぶ順に、前記マッチングの対象とする対象ブロックとして決定することができる。
【００１４】
本発明の一側面の画像処理方法は、マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う画像処理装置の画像処理方法において、前記所定の間隔に基づいて、前記評価ブロックをグループに分類し、前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定し、前記参照画像のうちの、記憶されている画素以外の、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給し、供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力し、供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶させるステップを含む。
【００１５】
本発明の一側面のプログラムは、マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う処理を、コンピュータに行わせるプログラムにおいて、前記所定の間隔に基づいて、前記評価ブロックをグループに分類し、前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定し、前記参照画像のうちの、記憶されている画素以外の、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給し、供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力し、供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶させるステップを含む。
【００１６】
本発明の一側面においては、マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う場合において、前記所定の間隔に基づいて、前記評価ブロックをグループが分類され、前記グループごとに、前記評価ブロックが順に、前記マッチングの対象とする対象ブロックとして決定され、前記参照画像のうちの、記憶されている画素以外の、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素が供給され、供給された前記探索画素群を構成する画素と、記憶されている画素とが、前記探索画素群を構成する全ての画素として出力され、供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素が記憶される。
【発明の効果】
【００１７】
以上のように、本発明の一側面によれば、マッチングを行うことができる。
【００１８】
また、本発明の一側面によれば、マッチングを行う場合において、探索範囲を抑制せずに、処理量を確実に軽減することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
本発明の一側面の画像処理装置は、
マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う画像処理装置(例えば、図１の画像処理装置１)において、
前記所定の間隔に基づいて、前記評価ブロックをグループに分類する分類手段(例えば、図１の分類部２２)と、
前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定する決定手段(例えば、図１のメモリ制御部１２)と、
前記参照画像のうちの、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給する供給手段(例えば、図１のメモリ１３)と、
前記探索範囲群を構成する全ての画素を出力する出力手段(例えば、図１３の画素メモリ１０１−３乃至１０１−５，１０１−１０乃至１０１−１２、および１０１−１７乃至１０１−１９)と、
供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶する記憶手段(例えば、図１３の画素メモリ１０１−１乃至１０１−２１)と、
前記供給手段は、前記参照画像のうちの、記憶されている画素以外の、前記探索画素群を構成する画素を供給し、
前記出力手段は、供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力する。
【００２１】
本発明の一側面の画像処理方法は、
マッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられた所定のサイズの範囲である評価ブロックを構成する各画素と、その画素に対応する、前記マッチングにおいて参照される参照画像のうちの所定のサイズの範囲である探索範囲とのマッチングを行う画像処理装置(例えば、図１の画像処理装置１)の画像処理方法において、
前記所定の間隔に基づいて、前記評価ブロックをグループに分類し(例えば、図３５のステップＳ３２またはＳ３３)、
前記グループごとに、前記評価ブロックを順に、前記マッチングの対象とする対象ブロックとして決定し(例えば、図３３のステップＳ１３)、
前記参照画像のうちの、記憶されている画素以外の、前記対象ブロック内の全ての画素に対応する探索範囲からなる探索画素群を構成する画素を供給し(例えば、図３３のステップＳ１６)、
供給された前記探索画素群を構成する画素と、記憶されている画素とを、前記探索画素群を構成する全ての画素として出力し(例えば、図３３のステップＳ１８)、
供給された前記探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶させる(例えば、図３３のステップＳ１７)
ステップを含む。
【００２２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２３】
図１は、本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【００２４】
図１の画像処理装置１は、マッチング制御部１１、メモリ制御部１２、メモリ１３、およびマッチング演算部１４により構成され、入力画像どうしのマッチングを行い、そのマッチングに対する評価値に応じて、入力画像の動きベクトルを決定する。
【００２５】
マッチング制御部１１は、生成部２１と分類部２２により構成される。
【００２６】
マッチング制御部１１には、図示せぬ他の装置からマッチングの開始指示と、マッチングに関するパラメータ(以下、マッチングパラメータという)が供給される。マッチング制御部１１に供給されるマッチングパラメータは、メモリ１３に入力画像として入力されるマッチングの基準となる基準画像に所定の間隔ごとに格子状に設けられる、動きベクトルを決定する所定のサイズの範囲である評価ブロックの位置(以下、マッチング位置という)、評価ブロック数、およびマッチング間隔により構成される。
【００２７】
なお、マッチング間隔は、隣り合う評価ブロック内の同一の位置の画素どうしの縦方向および横方向の長さである。
【００２８】
生成部２１は、マッチングの開始指示に応じて、入力画像の読出指示をメモリ制御部１２に供給する。また、生成部２１は、分類部２２から供給される、各グループに分類された評価ブロックを特定する情報(以下、グループ情報)、並びに、マッチングパラメータのマッチング位置とマッチング間隔に基づいて、グループごとに、グループ内の各評価ブロックの先頭の画素(例えば、左上の画素)の位置の座標(以下、ブロック位置情報という)を生成する。
【００２９】
このように、生成部２１は、マッチング位置とマッチング間隔に基づいてブロック位置情報を生成するので、後述するメモリ１３が、ブロック位置情報に対応するアドレスにしたがって画素を読み出すことにより、任意のマッチング位置とマッチング間隔でマッチングを行うことができる。
【００３０】
また、生成部２１は、ブロック位置情報に基づいて、メモリ１３に入力画像として入力される、マッチングにおいて参照される参照画像のうちの、各評価ブロックの全ての画素に対応する探索範囲を構成する全ての画素からなる探索画素群の先頭の画素の位置(例えば、左上の画素)の座標(以下、探索位置情報という)を生成する。生成部２１は、ブロック位置情報と探索位置情報をメモリ制御部１２に供給する。
【００３１】
分類部２２は、マッチングパラメータのマッチング間隔と、予め設定されている探索範囲のサイズとに基づいて、評価ブロックをグループに分類する。分類部２２は、各グループに分類された評価ブロックの先頭からの順番などのグループ情報を、生成部２１に供給する。
【００３２】
メモリ制御部１２は、マッチング制御部１１の生成部２１から供給される読出開始の指示に応じて、評価ブロックを構成する各画素を順次、マッチングの対象として注目する注目画素に決定する。メモリ制御部１２は、生成部２１から供給されるブロック位置情報に基づいて、注目画素が記憶されているメモリ１３上のアドレスをメモリ１３に供給する。
【００３３】
また、メモリ制御部１２は、生成部２１から供給される読出開始の指示と探索位置情報に基づいて、探索画素群を構成する画素が記憶されているメモリ１３上のアドレスをメモリ１３に供給する。さらに、メモリ制御部１２は、後述するマッチング演算部１４のベクトル決定部２３から出力される動きベクトルの同期信号を出力する。
【００３４】
メモリ１３には、図示せぬ外部の装置から基準画像と参照画像が入力画像として入力され、メモリ１３は、基準画像と参照画像を記憶する。また、メモリ１３は、メモリ制御部１２から供給されるアドレスにしたがって、注目画素と探索画素群を構成する画素を読み出し、マッチング演算部１４に供給する。
【００３５】
マッチング演算部１４は、差分絶対値部３１、加算部３２、およびベクトル決定部３３により構成される。
【００３６】
差分絶対値部３１は、メモリ１３から供給される注目画素と探索画素群を構成する画素に基づいて、注目画素と、その注目画素に対応する探索範囲の各画素との差分の絶対値をそれぞれ演算し、加算部３２に供給する。
【００３７】
加算部３２は、差分絶対値部３１から供給される差分の絶対値を記憶する。加算部３２は、記憶している差分の絶対値または前回の加算結果と、差分絶対値部３１から供給される差分の絶対値とを、その差分の絶対値の演算に用いられる画素の探索範囲内の位置ごとに加算し、その結果得られる加算結果を記憶する。加算部３２は、評価ブロックを構成する全ての画素を注目画素としたときの探索範囲内の位置ごとの加算結果を、マッチングに対する評価値として出力してリセットする。
【００３８】
ベクトル決定部３３は、加算部３２から供給される探索範囲内の位置ごとの評価値を比較し、その最小値に対応する探索範囲内の位置に基づいて、評価ブロックの動きベクトルを決定する。ベクトル決定部３３は、決定した動きベクトルを、図示せぬ外部の装置に出力する。
【００３９】
図２は、図１の差分絶対値部３１の詳細構成例を示すブロック図である。
【００４０】
図２の差分絶対値部３１は、ラインメモリ６１、シフトレジスタ６２、および演算部６３により構成される。
【００４１】
ラインメモリ６１には、図１のメモリ１３から探索画素群を構成する画素が入力される。ラインメモリ６１は、その画素を一時的に記憶する。ラインメモリ６１は、記憶している画素をシフトレジスタ６２に供給する。
【００４２】
シフトレジスタ６２は、ラインメモリ６１から供給される画素を一時的に記憶する。シフトレジスタ６２は、記憶している画素のうち、注目画素に対応する探索範囲の全ての画素を演算部６３に供給する。
【００４３】
演算部６３には、メモリ１３から注目画素が入力される。演算部６３は、その注目画素と、シフトレジスタ６２から供給される注目画素に対応する探索範囲の各画素の差分の絶対値を演算し、図１の加算部３２に供給する。
【００４４】
ここで、図３乃至図１１を参照して、評価ブロックを構成する各画素に対応する探索範囲の重複について説明する。
【００４５】
なお、図３乃至図１１において、評価ブロック７１と探索画素群７３内の正方形は画素を表している。図３乃至図１１においては、説明の便宜上、画素を表す正方形どうしの間に余白を設けているが、実際には、画素どうしは隣接している。このことは、以下の図においても同様である。
【００４６】
また、図３乃至図１１の例では、評価ブロック７１は３×３の範囲となっている。なお、以下において、ｉ×ｊの範囲とは、横方向にｉ個、縦方向にｊ個並ぶｉ×ｊ個の画素から構成される矩形の範囲を表す。即ち、評価ブロック７１は、９個の画素７２−１乃至７２−９から構成される。さらに、図３乃至図１１の例では、探索範囲は３×３の範囲となっている。従って、探索画素群７３は５×５の範囲である。
【００４７】
図３に示すように、評価ブロック７１内の左上の画素７２−１が注目画素とされると、その注目画素に対応する探索範囲８１は、画素７２−１に対応する３×３の範囲となる。次に、図４に示すように、評価ブロック７１内の画素７２−１の右隣の画素７２−２が注目画素とされると、その注目画素に対応する探索範囲８２は、図３の探索範囲８１を１画素分右に移動させた範囲となる。即ち、探索範囲８２内の左側の２×３の範囲は、探索範囲８１内の画素と重複している。
【００４８】
その後、図５に示すように、評価ブロック７１内の画素７２−２の右隣の画素７２−３が注目画素とされると、その注目画素に対応する探索範囲８３は、図４の探索範囲８２を１画素分右に移動させた範囲となる。即ち、探索範囲８３内の左側の１×３の範囲は、探索範囲８１および８２内の画素と重複し、探索範囲８３内の中央の１×３の範囲は、探索範囲８２内の画素と重複している。
【００４９】
次に、図６に示すように、評価ブロック７１内の画素７２−１の下の画素７２−４が注目画素とされると、その注目画素に対応する探索範囲８４は、図３の探索範囲８１を１画素分下に移動させた範囲となる。即ち、探索範囲８４内の左上の１×２の画素は、探索範囲８１内の画素と重複し、中央上の１×２の画素は、探索範囲８１および８２内の画素と重複し、右上の１×２の画素は、探索範囲８１乃至８３内の画素と重複している。
【００５０】
その後、図７に示すように、評価ブロック７１内の画素７２−４の右隣の画素７２−５が注目画素とされると、その注目画素に対応する探索範囲８５は、図６の探索範囲８４を１画素分右に移動させた範囲となる。即ち、探索範囲８５内の左上の１×２の画素は、探索範囲８１，８２、および８４内の画素と重複し、中央の１×２の画素は、探索範囲８１乃至８４内の画素と重複し、右上の１×２の画素は、探索範囲８２および８３内の画素と重複する。また、探索範囲８５内の左下の２×１の画素は、探索範囲８４内の画素と重複する。
【００５１】
次に、図８に示すように、評価ブロック７１内の画素７２−５の右隣の画素７２−６が注目画素とされると、その注目画素に対応する探索範囲８６は、図７の探索範囲８５を１画素分右に移動させた範囲となる。
【００５２】
即ち、探索範囲８６内の左上の１×２の画素は、探索範囲８１乃至８５内の画素と重複し、中央の１×２の画素は、探索範囲８２，８３、および８５内の画素と重複し、右上の１×２の画素は、探索範囲８３内の画素と重複する。また、探索範囲８６内の左下の１×１の画素は、探索範囲８４および８５内の画素と重複し、その右隣の１×１の画素は、探索範囲８５内の画素と重複している。
【００５３】
その後、図９に示すように、評価ブロック７１内の画素７２−４の下の画素７２−７が注目画素とされると、その注目画素に対応する探索範囲８７は、図６の探索範囲８４を１画素分下に移動させた範囲となる。
【００５４】
即ち、探索範囲８７内の左上の１×１の画素は、探索範囲８１および８４内の画素と重複し、その右隣の１×１の画素は、探索範囲８１，８２，８４、および８５内の画素と重複し、右上の１×１の画素は、探索範囲８１乃至８６内の画素と重複している。探索範囲８７内の左中央の１×１の画素は、探索範囲８４内の画素と重複し、中心の１×１の画素は、探索範囲８４および８５内の画素と重複し、右中央の１×１の画素は、探索範囲８４乃至８６内の画素と重複する。
【００５５】
次に、図１０に示すように、評価ブロック７１内の画素７２−７の右隣の画素７２−８が注目画素とされると、その注目画素に対応する探索範囲８８は、図９の探索範囲８７を１画素分右に移動させた範囲となる。
【００５６】
即ち、探索範囲８８内の左上の１×１の画素は、探索範囲８１，８２，８４，８５、および８７内の画素と重複し、その右隣の１×１の画素は、探索範囲８１乃至８７内の画素と重複し、右上の１×１の画素は、探索範囲８２，８３，８５，および８６内の画素と重複している。探索範囲８８内の左中央の１×１の画素は、探索範囲８４，８５、および８７内の画素と重複し、中心の１×１の画素は、探索範囲８４乃至８７内の画素と重複し、右中央の１×１の画素は、探索範囲８５および８６内の画素と重複する。探索範囲８８内の左下の２×１の画素は、探索範囲８７内の画素と重複する。
【００５７】
最後に、図１１に示すように、評価ブロック７１内の画素７２−８の右隣の画素７２−９が注目画素とされると、その注目画素に対応する探索範囲８９は、図１０の探索範囲８８を１画素分右に移動させた範囲となる。
【００５８】
即ち、探索範囲８９内の左上の１×１の画素は、探索範囲８１乃至８８内の画素と重複し、その右隣の１×１の画素は、探索範囲８２，８３，８５，８６、および８８内の画素と重複し、右上の１×１の画素は、探索範囲８３および８６内の画素と重複している。探索範囲８９内の左中央の１×１の画素は、探索範囲８４乃至８８内の画素と重複し、中心の１×１の画素は、探索範囲８５，８６、および８８内の画素と重複し、右中央の１×１の画素は、探索範囲８６内の画素と重複する。探索範囲８９内の左下の１×１の画素は、探索範囲８７および８８内の画素と重複し、その右隣の１×１の画素は、探索範囲８８内の画素と重複する。
【００５９】
以上のように、評価ブロック７１を構成する画素７２−１乃至７２−９に対応する探索範囲８１乃至８９の多くの画素は、互いに重複している。従って、注目画素ごとに、その注目画素に対応する探索範囲の全ての画素が読み出される場合、１つの評価ブロックに対して、同一の画素が複数回読み出されることになり、読み出しの効率が悪い。
【００６０】
次に、図１２を参照して、２つの評価ブロックに対応する探索画素群について説明する。
【００６１】
図１２の例では、縦方向のマッチング間隔Ｉが評価ブロックの縦の長さと等しくなっている。従って、図１２に示すように、縦方向に隣り合う２つの評価ブロック９１と９２は、評価ブロック９１の一番下側の全ての画素と、評価ブロック９２の一番上側の全ての画素とが隣接するように設けられている。
【００６２】
図１２において、探索範囲の縦の画素数が１より大きい場合、評価ブロック９１に対応する探索画素群９３の下側の画素と、評価ブロック９２に対応する探索画素群９４の上側の画素は重複する。従って、評価ブロックごとに、その評価ブロックに対応する探索画素群の全ての画素が読み出される場合、複数の評価ブロックに対して、同一の画素が複数回読み出されることになり、読み出しの効率が悪い。例えば、評価ブロック数がＮである場合、同一の画素を含む２５×Ｎ個の画素を読み出す必要がある。
【００６３】
そこで、図１の画像処理装置１は、図２のラインメモリ６１とシフトレジスタ６２を用いて、図３乃至図１２で説明した各探索範囲または各探索画素群の重複を利用した効率的な探索画素群の画素の読み出しを行う。
【００６４】
図１３は、図２のラインメモリ６１とシフトレジスタ６２の詳細構成例を示すブロック図である。
【００６５】
図１３のラインメモリ６１は、５個の画素メモリ１０１−１乃至１０１−５から構成される。画素メモリ１０１−１乃至１０１−５は、図１のメモリ１３から入力される画素をそれぞれ記憶する。また、画素メモリ１０１−１乃至１０１−５は、記憶している画素をシフトレジスタ６２にそれぞれ出力する。
【００６６】
シフトレジスタ６２は、横に７個並べられ、縦に３個並べられた計２１個の画素メモリ１０２−１乃至１０２−２１から構成される。画素メモリ１０２−１乃至１０２−２１は、ラインメモリ６１を介して供給される画素をそれぞれ記憶する。
【００６７】
シフトレジスタ６２の中央に位置する、横に３個並べられ、縦に３個並べられた計９個の画素メモリ１０２−３乃至１０２−５，１０２−１０乃至１０２−１２、および１０２−１７乃至１０２−１９は、探索範囲である３×３の範囲を構成する画素に対応しており、記憶している画素を、注目画素に対応する探索範囲の画素として、図２の演算部６３に出力する。
【００６８】
また、シフトレジスタ６２の左端に位置する、横に２個並べられ、縦に３個並べられた計６個の画素メモリ１０２−１，１０２−２，１０２−８，１０２−９，１０２−１５、および１０２−１６、並びに、シフトレジスタ６２の右端に位置する、横に２個並べられ、縦に３個並べられた計６個の画素メモリ１０２−６，１０２−７，１０２−１３，１０２−１４，１０２−２０、および１０２−２１は、後述するように、メモリ１３からの読み出しを効率良く行うために設けられている。
【００６９】
ラインメモリ６１の画素メモリ１０１−１乃至１０１−５から入力される各画素は、シフトレジスタ６２の画素メモリ１０２−１７乃至１０２−２１に供給される。画素メモリ１０２−２１は、画素メモリ１０１−５から供給される画素を記憶し、記憶している画素を、左隣の画素メモリ１０２−２０に供給する。
【００７０】
画素メモリ１０２−２０は、ラインメモリ６１の画素メモリ１０１−４から供給される画素、または、右隣の画素メモリ１０２−２１から供給される画素を、左隣の画素メモリ１０２−１９に供給する。
【００７１】
画素メモリ１０２−１９は、ラインメモリ６１の画素メモリ１０１−３から供給される画素、または、右隣の画素メモリ１０２−２０から供給される画素を記憶し、記憶している画素を、左隣の画素メモリ１０２−１８、１つ飛ばした右隣の上の画素メモリ１０２−１４、または演算部６３（図２）に供給する。
【００７２】
画素メモリ１０２−１７と１０２−１８は、画素メモリ１０２−１９と同様に、ラインメモリ６１の画素メモリ１０１−１または１０１−２から供給される画素、もしくは、右隣の画素メモリ１０２−１８または１０２−１９から供給される画素をそれぞれ記憶し、記憶している画素を、左隣の画素メモリ１０２−１６または１０２−１７、１つ飛ばした右隣の上の画素メモリ１０２−１２または１０２−１３、もしくは演算部６３にそれぞれ供給する。
【００７３】
画素メモリ１０２−１６は、右隣の画素メモリ１０２−１７から供給される画素を記憶し、記憶している画素を、左隣の画素メモリ１０２−１５、または１つ飛ばした右隣の上の画素メモリ１０２−１１に供給する。画素メモリ１０２−１５は、右隣の画素メモリ１０２−１６から供給される画素を記憶し、記憶している画素を、１つ飛ばした右隣の上の画素メモリ１０２−１０に供給する。
【００７４】
画素メモリ１０２−１４は、１つ飛ばした左隣の下の画素メモリ１０２−１９から供給される画素を記憶し、記憶している画素を左隣の画素メモリ１０２−１３に供給する。画素メモリ１０２−１３は、１つ飛ばした左隣の下の画素メモリ１０２−１８から供給される画素、または、右隣の画素メモリ１０２−１４から供給される画素を記憶し、記憶している画素を左隣の画素メモリ１０２−１２に供給する。
【００７５】
画素メモリ１０２−１２は、１つ飛ばした左隣の下の画素メモリ１０２−１７から供給される画素、または、右隣の画素メモリ１０２−１３から供給される画素を記憶し、記憶している画素を、左隣の画素メモリ１０２−１１、１つ飛ばした右隣の上の画素メモリ１０２−７、または演算部６３に供給する。
【００７６】
画素メモリ１０２−１０と１０２−１１は、画素メモリ１０２−１２と同様に、１つ飛ばした左隣の下の画素メモリ１０２−１５または１０２−１６から供給される画素、もしくは、右隣の画素メモリ１０２−１１または１０２−１２から供給される画素をそれぞれ記憶し、記憶している画素を、左隣の画素メモリ１０２−９または１０２−１０、１つ飛ばした右隣の上の画素メモリ１０２−５または１０２−６、もしくは演算部６３にそれぞれ供給する。
【００７７】
画素メモリ１０２−９は、画素メモリ１０２−１６と同様に、右隣の画素メモリ１０２−１０から供給される画素を記憶し、記憶している画素を、左隣の画素メモリ１０２−８、または１つ飛ばした右隣の上の画素メモリ１０２−４に供給する。画素メモリ１０２−８は、画素メモリ１０２−１５と同様に、右隣の画素メモリ１０２−９から供給される画素を記憶し、記憶している画素を、１つ飛ばした右隣の上の画素メモリ１０２−３に供給する。
【００７８】
画素メモリ１０２−７は、画素メモリ１０２−１４と同様に、１つ飛ばした左隣の下の画素メモリ１０２−１２から供給される画素を記憶し、記憶している画素を左隣の画素メモリ１０２−６に供給する。画素メモリ１０２−６は、画素メモリ１０２−１３と同様に、１つ飛ばした左隣の下の画素メモリ１０２−１１から供給される画素、または、右隣の画素メモリ１０２−７から供給される画素を記憶し、記憶している画素を左隣の画素メモリ１０２−５に供給する。
【００７９】
画素メモリ１０２−５は、１つ飛ばした左隣の下の画素メモリ１０２−１０から供給される画素、または、右隣の画素メモリ１０２−６から供給される画素を記憶し、記憶している画素を、左隣の画素メモリ１０２−４、または演算部６３に供給する。
【００８０】
画素メモリ１０２−３と１０２−４は、画素メモリ１０２−５と同様に、１つ飛ばした左隣の下の画素メモリ１０２−８または１０２−９から供給される画素、もしくは、右隣の画素メモリ１０２−４または１０２−５から供給される画素をそれぞれ記憶し、記憶している画素を、左隣の画素メモリ１０２−２または１０２−３、もしくは演算部６３にそれぞれ供給する。
【００８１】
画素メモリ１０２−２は、右隣の画素メモリ１０２−３から供給される画素を記憶し、記憶している画素を、左隣の画素メモリ１０２−１に供給する。画素メモリ１０２−１は、右隣の画素メモリ１０２−２から供給される画素を記憶する。
【００８２】
次に、図１４乃至図２２を参照して、１つの評価ブロック７１に対応する探索範囲８１乃至８９を読み出す場合の、ラインメモリ６１とシフトレジスタ６２の動作について説明する。
【００８３】
なお、図１４乃至図２２において、評価ブロック７１と探索画素群７３内の正方形は画素を表し、探索画素群７３の正方形内に記載されている数字は、説明の便宜上付された、画素を特定するための情報である。数字「ｉｊ」は、探索画素群７３内の上からｉ番目、かつ、左からｊ番目（ｉ，ｊは１以上の整数）の画素を特定するための情報である。
【００８４】
以下では、数字「ｉｊ」が付された画素を、画素＃ｉｊという。即ち、探索画素群７３は、画素＃１１乃至＃１５、画素＃２１乃至＃２５、画素＃３１乃至＃３５、画素＃４１乃至＃４５、および画素＃５１乃至＃５５により構成されるが、図１４乃至図２２において、探索画素群７３に記載されている画素は、ラインメモリ６１またはシフトレジスタ６２に記憶されている画素である。
【００８５】
まず最初に、図１４に示すように、評価ブロック７１を構成する左上の画素７２−１が注目画素とされると、まだシフトレジスタ６２には何も記憶されていないので、まず最初に、画素７２−１に対応する探索範囲８１を含む、探索画素群７３の横の画素数×探索範囲８１の縦の画素数の範囲である５×３の範囲を構成する、画素＃１１乃至＃１５、画素＃２１乃至＃２５、および画素＃３１乃至＃３５が、メモリ１３から読み出される。この読み出しを、以下では、適宜、事前読み出しという。
【００８６】
メモリ１３から読み出された画素＃１１乃至＃１５、画素＃２１乃至＃２５、画素＃３１乃至＃３５は、ラインメモリ６１を介して、シフトレジスタ６２の画素メモリ１０２−３乃至１０２−７、１０２−１０乃至１０２−１４、１０２−１７乃至１０２−２１に、画素単位で記憶される。
【００８７】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９は、記憶している画素＃１１乃至＃１３、画素＃２１乃至＃２３、画素＃３１乃至＃３３をそれぞれ図２の演算部６３に出力する。従って、演算部６３には、注目画素に対応する探索範囲８１を構成する全ての画素が入力される。
【００８８】
また、この場合、図１４に示すように、メモリ１３から２個の画素＃４１と画素＃４２が読み出され、ラインメモリ６１の画素メモリ１０１−１または１０１−２に画素単位で記憶される。
【００８９】
次に、図１５に示すように、評価ブロック７１を構成する中央上の画素７２−２が注目画素とされると、シフトレジスタ６２の画素メモリ１０２−３乃至１０２−７、１０２−１０乃至１０２−１４、１０２−１７乃至１０２−２１は、それぞれ、記憶している画素＃１１乃至１５、画素＃２１乃至２５、画素＃３１乃至＃３５を、左隣の画素メモリ１０２−２乃至１０２−６、１０２−９乃至１０２−１３、１０２−１６乃至１０２−２０に出力し、記憶させる。
【００９０】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９は、記憶している画素＃１２乃至１４、画素＃２２乃至２４、画素＃３２乃至＃３４を、それぞれ演算部６３に出力する。これにより、演算部６３には、注目画素に対応する、図１４の探索範囲８１を１画素分右に移動させた探索範囲８２を構成する全ての画素が入力される。
【００９１】
また、この場合、図１５に示すように、メモリ１３から２個の画素＃４３と画素＃４４が読み出され、ラインメモリ１０１−３または１０１−４に画素単位で記憶される。
【００９２】
その後、図１６に示すように、評価ブロック７１を構成する右上の画素７２−３が注目画素とされると、シフトレジスタ６２の画素メモリ１０２−２乃至１０２−６、１０２−９乃至１０２−１３、１０２−１６乃至１０２−２０は、それぞれ、記憶している画素＃１１乃至＃１５、画素＃２１乃至＃２５、画素＃３１乃至＃３５を左隣の画素メモリ１０２−１乃至１０２−５、１０２−８乃至１０−１２、１０２−１５乃至１０２−１９に出力し、記憶させる。
【００９３】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９は、記憶している画素＃１３乃至＃１５、画素＃２３乃至＃２５、画素＃３３乃至＃３５を、それぞれ演算部６３に出力する。これにより、演算部６３には、注目画素に対応する、図１５の探索範囲８２を１画素分右に移動させた探索範囲８３を構成する全ての画素が入力される。
【００９４】
また、この場合、図１６に示すように、メモリ１３から１個の画素＃４５が読み出され、ラインメモリ１０１−５に記憶される。
【００９５】
次に、図１７に示すように、評価ブロック７１を構成する左中央の画素７２−４が注目画素とされると、シフトレジスタ６２の画素メモリ１０２−８乃至１０２−１２、１０２−１５乃至１０２−１９は、それぞれ、記憶している画素＃２１乃至２５、画素＃３１乃至＃３５を、１つ飛ばした右隣の上の画素メモリ１０２−３乃至１０２−７、１０２−１０乃至１０２−１４に出力し、記憶させる。その後、画素メモリ１０２−１７乃至１０２−２１には、ラインメモリ６１の画素メモリ１０１−１乃至１０１−５から画素＃４１乃至＃４５がそれぞれ入力され、記憶される。
【００９６】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９は、記憶している画素＃２１乃至＃２３、画素＃３１乃至＃３３、画素＃４１乃至＃４３を、それぞれ演算部６３に出力する。これにより、演算部６３には、注目画素に対応する、図１４の探索範囲８１を１画素分下に移動させた探索範囲８４を構成する全ての画素が入力される。
【００９７】
また、この場合、図１７に示すように、メモリ１３から２個の画素＃５１と画素＃５２が読み出され、それぞれ、ラインメモリ１０１−１または１０１−２に記憶される。
【００９８】
次に、図１８に示すように、評価ブロック７１を構成する中心の画素７２−５が注目画素とされると、ラインメモリ６１とシフトレジスタ６２は、図１５の場合と同様の処理を行う。その結果、シフトレジスタ６２の画素メモリ１０２−２乃至１０２−６、１０２−９乃至１０２−１３、１０２−１６乃至１０２−２０には、それぞれ、画素＃２１乃至２５、画素＃３１乃至３５、画素＃４１乃至＃４５が記憶される。
【００９９】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、図１７の探索範囲８４を１画素分右に移動させた探索範囲８５を構成する画素＃２２乃至＃２４、画素＃３２乃至＃３４、および画素＃４２乃至＃４４が、演算部６３に出力される。
【０１００】
また、この場合、図１８に示すように、ラインメモリ６１の画素メモリ１０１−３と１０１−４には、メモリ１３から読み出された２個の画素＃５３または＃５４がそれぞれ画素単位で記憶される。
【０１０１】
次に、図１９に示すように、評価ブロック７１を構成する右中央の画素７２−６が注目画素とされると、ラインメモリ６１とシフトレジスタ６２は、図１６の場合と同様の処理を行う。その結果、シフトレジスタ６２の画素メモリ１０２−１乃至１０２−５、１０２−８乃至１０２−１２、１０２−１５乃至１０２−１９には、それぞれ、画素＃２１乃至＃２５、画素＃３１乃至＃３５、画素＃４１乃至＃４５が記憶される。
【０１０２】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、図１８の探索範囲８５を１画素分右に移動させた探索範囲８６を構成する画素＃２３乃至２５、画素＃３３乃至３５、および画素＃４３乃至＃４５が、演算部６３に出力される。
【０１０３】
また、この場合、図１９に示すように、ラインメモリ６１の画素メモリ１０１−５には、メモリ１３から読み出された１個の画素＃５５が記憶される。
【０１０４】
次に、図２０に示すように、評価ブロック７１を構成する左下の画素７２−７が注目画素とされると、ラインメモリ６１とシフトレジスタ６２は、図１７の場合と同様の処理を行う。その結果、シフトレジスタ６２の画素メモリ１０２−３乃至１０２−７、１０２−１０乃至１０２−１４、１０２−１７乃至１０２−２１には、それぞれ、画素＃３１乃至＃３５、画素＃４１乃至＃４５、画素＃５１乃至＃５５が記憶される。
【０１０５】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、図１７の探索範囲８４を１画素分下に移動させた探索範囲８７を構成する画素＃３１乃至＃３３、画素＃４１乃至＃４３、および画素＃５１乃至＃５３が、演算部６３に出力される。
【０１０６】
次に、図２１に示すように、評価ブロック７１を構成する中央下の画素７２−８が注目画素とされると、ラインメモリ６１とシフトレジスタ６２は、図１５や図１８の場合と同様の処理を行う。その結果、シフトレジスタ６２の画素メモリ１０２−２乃至１０２−６、１０２−９乃至１０２−１３、１０２−１６乃至１０２−２０には、それぞれ、画素＃３１乃至＃３５、画素＃４１乃至＃４５、画素＃５１乃至＃５５が記憶される。
【０１０７】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、図２０の探索範囲８７を１画素分右に移動させた探索範囲８８を構成する画素＃３２乃至＃３４、画素＃４２乃至＃４４、および画素＃５２乃至＃５４が、演算部６３に出力される。
【０１０８】
最後に、図２２に示すように、評価ブロック７１を構成する右下の画素７２−９が注目画素とされると、ラインメモリ６１とシフトレジスタ６２は、図１６や図１９の場合と同様の処理を行う。その結果、図２２に示すように、シフトレジスタ６２の画素メモリ１０２−１乃至１０２−５、１０２−８乃至１０２−１２、１０２−１５乃至１０２−１９には、それぞれ、画素＃３１乃至＃３５、画素＃４１乃至＃４５、画素＃５１乃至＃５５が記憶される。
【０１０９】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、図２１の探索範囲８８を１画素分右に移動させた探索範囲８９を構成する画素＃３３乃至＃３５、画素＃４３乃至＃４５、および画素＃５３乃至＃５５が、演算部６３に出力される。
【０１１０】
以上のように、図１３のシフトレジスタ６２には、評価ブロック７１を構成する各画素に対応する探索範囲８１乃至８９の横方向への最大の移動分である２画素分の画素メモリ１０２−１，１０２−２，１０２−６乃至１０２−９，１０２−１３乃至１０２−１６，１０２−２０，および１０２−２１が、探索範囲８１乃至８９を構成する画素に対応する画素メモリ１０２−３乃至１０２−５，１０２−１０乃至１０２−１２、および１０２−１７乃至１０２−１９の左右の両側に余分に設けられるので、探索範囲８１乃至８９に対応する画素メモリ１０２−３乃至１０２−５，１０２−１０乃至１０２−１２、および１０２−１７乃至１０２−１９は、記憶している画素を左右方向に２画素分ずつシフトさせることができる。
【０１１１】
これにより、探索範囲８１乃至８９を構成する画素として読み出された、他の探索範囲８１乃至８９と重複する画素を、他の探索範囲を構成する画素として再利用することができる。その結果、探索画素群７３を構成する画素の読み出しを効率良く行うことができる。
【０１１２】
また、図１３のラインメモリ６１には、評価ブロック７１に対応する探索画素群７３の横方向の画素数である５個の画素メモリ１７１−１乃至１７１−５が設けられるので、図１のメモリ１３は、シフトレジスタ６２に各探索範囲８１乃至８９を構成する全ての画素を同時に出力させるために、探索範囲８１乃至８９が下方向に移動するまでの間、即ち３個の注目画素に対応する探索範囲の全ての画素のシフトレジスタ６２からの出力が行われるまでの間に、５個の画素を読み出せばよい。従って、探索範囲を構成する全ての画素の１回の出力時に、メモリ１３は多くても２個の画素を読み出せばよく、メモリ１３のバス幅は２画素分で済む。
【０１１３】
これに対して、注目画素に対応する探索範囲を構成する全ての画素が１度に読み出される場合、参照画像が記憶されているメモリのバス幅は、探索範囲を構成する画素の数である９画素分必要となる。以上のように、図１の画像処理装置１は、注目画素に対応する探索範囲を構成する全ての画素が１度に読み出される場合に比べて、少ないバス幅で、探索範囲を構成する全ての画素を同時に出力することができる。即ち、バスの効率を向上させることができる。
【０１１４】
次に、図２３乃至図３０を参照して、２つの評価ブロックに対応する探索範囲を読み出す場合の、ラインメモリ６１とシフトレジスタ６２の動作について説明する。
【０１１５】
なお、図２３乃至図３０において、図１４乃至図２２の場合と同様に、評価ブロック７１と探索画素群７３、並びに、評価ブロック１１１と探索画素群１１３内の正方形は画素を表し、探索画素群７３または１１３の正方形内に記載されている数字は、説明の便宜上付された、画素を特定するための情報である。
【０１１６】
また、図２３乃至図３０の例では、縦のマッチング間隔が評価ブロック７１の縦の長さと等しくなっている。従って、図２３乃至図３０に示すように、縦方向に隣り合う２つの評価ブロック７１と１１１は、評価ブロック７１の一番下側の全ての画素と、評価ブロック１１１の一番上側の全ての画素とが隣接するように設けられている。
【０１１７】
この場合、評価ブロック１１１に対応する探索画素群１１３は、評価ブロック７１に対応する探索画素群７３の下側の２×５の範囲を含む５×５の範囲となる。即ち、探索画素郡７３は、画素＃１１乃至＃１５、画素＃２１乃至＃２５、画素＃３１乃至＃３５、画素＃４１乃至＃４５、および画素＃５１乃至＃５５により構成され、探索画素群１１３は、画素＃４１乃至＃４５、画素＃５１乃至５５、画素６１乃至＃６５、画素＃７１乃至７５、および画素＃８１乃至８５により構成されるが、図２３乃至図３０において、探索画素群７３と１１３内に記載されている画素は、ラインメモリ６１またはシフトレジスタ６２に記憶されている画素である。
【０１１８】
まず最初に、図２３に示すように、１つ目の評価ブロック７１を構成する左上の画素７２−１が注目画素とされると、図１４の場合と同様に事前読み出しが行われ、シフトレジスタ６２の画素メモリ１０２−３乃至１０２−７、１０２−１０乃至１０２−１４、１０２−１７乃至１０２−２１には、画素＃１１乃至＃１５、画素＃２１乃至＃２５、画素＃３１乃至＃３５が画素単位で記憶される。また、ラインメモリ６１の画素メモリ１０１−１と１０１−２には、画素＃４１または画素＃４２が、それぞれ記憶される。
【０１１９】
さらに、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、探索画素８１を構成する画素＃１１乃至１３、画素＃２１乃至２３、および画素＃３１乃至＃３３が、演算部６３に出力される。
【０１２０】
次に、図２４に示すように、１つ目の評価ブロック７１を構成する中央上の画素７２−２が注目画素とされると、図１５の場合と同様に、シフトレジスタ６２の画素メモリ１０２−２乃至１０２−６、１０２−９乃至１０２−１３、１０２−１６乃至１０２−２０には、画素＃１１乃至＃１５、画素＃２１乃至＃２５、画素３１＃乃至＃３５が画素単位で記憶され、ラインメモリ６１の画素メモリ１０１−３と１０１−４には、画素＃４３または画素＃４４がそれぞれ記憶される。
【０１２１】
また、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、探索範囲８２を構成する画素＃１２乃至＃１４、画素＃２２乃至＃２４、および画素＃３２乃至＃３４が、演算部６３に出力される。
【０１２２】
以降も、ラインメモリ６１とシフトレジスタ６２は、上述した図１６乃至図１９と同様に処理を行い、その後、図２５に示すように、１つ目の評価ブロック７１を構成する左下の画素７２−７が注目画素とされると、図２０の場合と同様に、シフトレジスタ６２の画素メモリ１０２−３乃至１０２−７、１０２−１０乃至１０２−１４、１０２−１７乃至１０２−２１には、それぞれ、画素＃３１乃至＃３５、画素＃４１乃至＃４５、画素５１＃乃至＃５５が記憶される。
【０１２３】
そして、図２０の場合と同様に、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、探索範囲８７を構成する画素＃３１乃至＃３３、画素＃４１乃至＃４３、および画素＃５１乃至＃５３が、演算部６３に出力される。
【０１２４】
また、この場合、図２５に示すように、メモリ１３から、２つ目の評価ブロック１１１に対応する探索画素群１１３を構成する、１つ目の評価ブロック７１に対応する探索画素群７３を構成する画素以外の画素のうち、左上から順に右方向に並ぶ２個の画素＃６１と画素＃６２が読み出され、それぞれ、ラインメモリ１０１−１または１０１−２に記憶される。
【０１２５】
次に、図２６に示すように、１つ目の評価ブロック７１を構成する中央下の画素７２−８が注目画素とされると、図２１の場合と同様に、シフトレジスタ６２の画素メモリ１０２−２乃至１０２−６、１０２−９乃至１０２−１３、１０２−１６乃至１０２−２０には、それぞれ、画素＃３１乃至＃３５、画素＃４１乃至＃４５、画素５１＃乃至＃５５が記憶される。
【０１２６】
そして、図２１の場合と同様に、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、探索範囲８８を構成する画素＃３２乃至＃３４、画素＃４２乃至＃４４、および画素＃５２乃至＃５４が、演算部６３に出力される。
【０１２７】
また、この場合、図２６に示すように、メモリ１３から、２つ目の評価ブロック１１１に対応する探索画素群１１３を構成する、画素＃６２の右隣の２個の画素＃６３と画素＃６４が読み出され、それぞれ、ラインメモリ１０１−３または１０１−４に記憶される。
【０１２８】
次に、図２７に示すように、１つ目の評価ブロック７１を構成する右下の画素７２−９が注目画素とされると、図２２の場合と同様に、シフトレジスタ６２の画素メモリ１０２−１乃至１０２−５、１０２−８乃至１０２−１２、１０２−１５乃至１０２−１９には、それぞれ、画素＃３１乃至＃３５、画素＃４１乃至＃４５、画素５１＃乃至＃５２が記憶される。
【０１２９】
そして、図２２の場合と同様に、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、探索範囲８９を構成する画素＃３３乃至＃３５、画素＃４３乃至＃４５、および画素＃５３乃至＃５５が、演算部６３に出力される。
【０１３０】
また、この場合、図２７に示すように、メモリ１３から、２つ目の評価ブロック１１１に対応する探索画素群１１３を構成する、画素＃６４の右隣の画素＃６５が読み出され、ラインメモリ１０１−５に記憶される。
【０１３１】
次に、図２８に示すように、２つ目の評価ブロック１１１を構成する左上の画素１１２−１が注目画素とされると、図１７と同様に、シフトレジスタ６２の画素メモリ１０２−８乃至１０２−１２、１０２−１５乃至１０２−１９は、それぞれ、記憶している画素＃４１乃至４５、画素＃５１乃至５５を、１つ飛ばした右隣の上の画素メモリ１０２−３乃至１０２−７、１０２−１０乃至１０２−１４に出力し、記憶させる。その後、画素メモリ１０２−１７乃至１０２−２１には、ラインメモリ６１の画素メモリ１０１−１乃至１０１−５から画素＃６１乃至＃６５がそれぞれ入力され、記憶される。
【０１３２】
そして、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９は、記憶している画素＃４１乃至＃４３、画素＃５１乃至＃５３、画素＃６１乃至＃６３を、それぞれ演算部６３に出力する。これにより、演算部６３には、注目画素に対応する、図２５の探索範囲８７を１画素分下に移動させた探索範囲１２１を構成する全て画素が入力される。
【０１３３】
また、この場合、図２８に示すように、メモリ１３から２個の画素＃７１と画素＃７２が読み出され、それぞれ、ラインメモリ１０１−１または１０１−２に記憶される。
【０１３４】
次に、図２９に示すように、２つ目の評価ブロック１１１を構成する中央上の画素１１２−２が注目画素とされると、図２４の場合と同様に、シフトレジスタ６２の画素メモリ１０２−２乃至１０２−６、１０２−９乃至１０２−１３、１０２−１６乃至１０２−２０には、画素＃４１乃至＃４５、画素＃５１乃至＃５５、画素＃６１乃至＃６５が画素単位で記憶され、ラインメモリ６１の画素メモリ１０１−３と１０１−４には、画素＃７３または画素＃７４がそれぞれ記憶される。
【０１３５】
また、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、探索範囲１２２を構成する画素＃４２乃至４４、画素＃５２乃至＃５４、および画素＃６２乃至＃６４が、演算部６３に出力される。
【０１３６】
以降も、ラインメモリ６１とシフトレジスタ６２は、上述した図１６乃至図２１と同様に処理を行い、その後、図３０に示すように、２つ目の評価ブロック１１１を構成する右下の画素１１２−９が注目画素とされると、図２２の場合と同様に、シフトレジスタ６２の画素メモリ１０２−１乃至１０２−５、１０２−８乃至１０２−１２、１０２−１５乃至１０２−１９には、それぞれ、画素＃６１乃至＃６５、画素＃７１乃至＃７５、画素＃８１乃至＃８５が記憶される。
【０１３７】
そして、図２２の場合と同様に、画素メモリ１０２−３乃至１０２−５、１０２−１０乃至１０２−１２、１０２−１７乃至１０２−１９に記憶されている、探索範囲１２９を構成する画素＃６３乃至＃６５、画素＃７３乃至＃７５、および画素＃８３乃至＃８５が、演算部６３に出力される。
【０１３８】
以上のように、図１３のシフトレジスタ６２は、１つ目の評価ブロック７１に対応する探索画素群７３を構成する画素のうち、２つ目の評価ブロック１１１に対応する探索画素群１１３と重複する画素を、評価ブロック７１を構成する全ての画素に対応する探索範囲８１乃至８９の画素の出力後も記憶しているので、１つ目の評価ブロック７１に対応する探索範囲８６乃至８９を構成する画素として読み出された、２つ目の評価ブロック１１１に対応する探索範囲１２１，１２２などと重複する画素を、評価ブロック１１１に対応する探索範囲１２１，１２２などを構成する画素として再利用することができる。
【０１３９】
従って、図１のメモリ１３は、２つ目の評価ブロック１１１に対応する探索範囲１２１を構成する全ての画素をシフトレジスタ６２に出力させるために、１つ目の評価ブロック７１の場合のように事前読み出しを行う必要がない。これにより、メモリ１３に記憶されている画素に対するアクセス数を抑制することができる。即ち、探索画素群７３と１１３を構成する画素の読み出しを効率良く行うことができる。その結果、画像処理装置１における処理量(処理コスト)は軽減される。
【０１４０】
なお、図２３乃至図３０では、評価ブロック数を２としたが、評価ブロック数が２より大きい場合であっても、同様の処理を行うことにより、処理量を軽減することができる。具体的には、図２３乃至図３０の例において、評価ブロック数をＮとすると、メモリ１３から読み出される画素の数は、１つ目の評価ブロックに対応する探索画素群の画素数と、２つ目以降の評価ブロックに対応する探索画素群を構成する画素のうち、１つ前の評価ブロックに対応する探索画素群と重複する範囲以外の範囲の画素数との和である25+15×(N-1)個となる。
【０１４１】
上述したように、評価ブロックごとに、その評価ブロックに対応する探索画素群の全ての画素が読み出される場合にメモリから読み出される画素の数は、25×N個であるため、評価ブロック数が1である場合、メモリから読み出される画素の数は、両者で等しいが、評価ブロック数が2である場合、画像処理装置１においてメモリ１３から読み出される画素の数は、探索画素群の全ての画素が読み出される場合に読み出される画素の数の８０％(=(25+15)/(25×2))となる。
【０１４２】
また、評価ブロック数が3である場合、画像処理装置１においてメモリ１３から読み出される画素の数は、探索画素群の全ての画素が読み出される場合に読み出される画素の数の約７３％(=(25+15×2)/(25×3))となり、評価ブロック数が4である場合、７０％(=(25+15×3)/(25×4))となる。
【０１４３】
以降も同様に、評価ブロック数が増加するにつれて、画像処理装置１においてメモリ１３から読み出される画素の数の、探索画素群の全ての画素が読み出される場合に読み出される画素の数に対する割合(以下、読出割合という)は減少していき、理論的には、その割合の最小値は、以下の式（１）に示すように、６０％となる。
【０１４４】
【数１】
2008108044.tif 000003
【０１４５】
また、評価ブロック数が現実的な数である場合であっても、読出割合は７０％以下になると考えられる。
【０１４６】
ここで、一般的な読出割合について説明する。
【０１４７】
評価ブロックの範囲がbx×byの範囲であり、探索範囲の範囲がsx×sy範囲であるとすると、１つの評価ブロックに対応する探索画素群の画素数は、(bx+sx-1)×(by+sy-1)となる。従って、評価ブロック数をＮとすると、評価ブロックごとに、その評価ブロックに対応する探索画素群の全ての画素が読み出される場合に読み出される画素の数は、N×｛(bx+sx-1)×(by+sy-1)｝となる。
【０１４８】
一方、画像処理装置１において、２つ目以降の評価ブロックに対して読み出される探索画素群を構成する画素の数は、(bx+sx-1)×syとなる。従って、評価ブロック数をＮとすると、画像処理装置１において読み出される画素の数は、(bx+sx-1)×(by+sy-1)+(N-1)×｛(bx+sx-1)×by｝=(bx+sx-1)×(sy+N×by-1)となる。よって、読出割合f(N)は、以下の式（２）で表される。
【０１４９】
【数２】
2008108044.tif 000004
【０１５０】
式（２）において、評価ブロック数Ｎが増加すると、読出割合f(N)は減少していき、理論的には、読出割合f(N)の最小値は、以下の式（３）で表されるようになる。
【０１５１】
【数３】
2008108044.tif 000005
【０１５２】
次に、図３１を参照して、評価ブロックが１６×８の範囲であり、探索範囲が３２×１６の範囲である場合の、評価ブロック数Ｎと読出割合の関係について説明する。
【０１５３】
図３１に示すように、評価ブロック数Ｎが１である場合、読出割合は100％であるが、評価ブロック数Ｎが2,3,4,5,6,10,30,・・・,∞である場合、読出割合は約67％,57％,51％,48％,46％,41％,37％,・・・,35％となる。即ち、最大で、メモリ１３から読み出される画素の数を、評価ブロックごとに探索画素群を読み出す場合の35％にまで削減することができる。
【０１５４】
次に、図３２を参照して、分類部２２による分類について説明する。
【０１５５】
図３２の例では、１０個の評価ブロック１３１−１乃至１３１−１０が縦方向に並んでおり、評価ブロック１３１−１乃至１３１−１０は、それぞれ、３２×１６の範囲となっている。また、評価ブロック１３１−１乃至１３１−１０の縦方向のマッチング間隔は４画素となっている。即ち、評価ブロック１３１−１乃至１３１−１０の縦方向のマッチング間隔は、評価ブロック１３１−１乃至１３１−１０の縦方向の長さの1/4倍である。
【０１５６】
分類部２２は、各グループに属する評価ブロック１３１−１乃至１３１−１０の縦方向のマッチング間隔が評価ブロック１３１−１乃至１３１−１０の縦方向の長さと等しくなるように、評価ブロック１３１−１乃至１３１−１０をグループに分類する。具体的には、分類部２２は、評価ブロック１３１−１乃至１３１−１０のうち、評価ブロック１３１−１乃至１３１−１０の縦方向のマッチング間隔が、評価ブロック１３１−１乃至１３−１０の縦方向の長さである１６画素分の長さとなる評価ブロック１３１−１乃至１３１−１０を同一のグループに分類する。
【０１５７】
図３２の例では、分類部２２は、評価ブロック１３１−１、評価ブロック１３１−１との縦方向のマッチング間隔が１６画素分の長さである、評価ブロック１３１−１の３つ飛ばした隣の評価ブロック１３１−５、および、評価ブロック１３１−５との縦方向のマッチング間隔が１６画素分の長さである、評価ブロック１３１−５の３つ飛ばした隣の評価ブロック１３１−９を、グループＡに分類する。
【０１５８】
同様に、分類部２２は、評価ブロック１３１−２、評価ブロック１３１−２の３つ飛ばした隣の評価ブロック１３１−６、および評価ブロック１３１−６の３つ飛ばした隣の評価ブロック１３１−１０をグループＢに分類し、評価ブロック１３１−３と、評価ブロック１３１−３の３つ飛ばした隣の評価ブロック１３１−７とをグループＣに分類する。また同様に、分類部２２は、評価ブロック１３１−４と、評価ブロック１３１−４の３つ飛ばした隣の評価ブロック１３１−８とをグループＤに分類する。
【０１５９】
以上のように、分類部２２は、評価ブロック１３１−１乃至１３１−１０の縦方向のマッチング間隔が、評価ブロック１３１−１乃至１３１−１０の縦方向の長さと等しくなるように、評価ブロック１３１−１乃至１３１−１０の縦方向の長さをマッチング間隔で除算した数（図３２の例では、4(=16/4)）のグループに分類する。また、生成部２１は、グループごとに、マッチングパラメータのマッチング位置とマッチング間隔に基づいてブロック位置情報を生成する。
【０１６０】
その結果、図１のメモリ１３から、分類されたグループごとに、図２３乃至図３０の場合と同様に、グループに属する評価ブロック１３１−１乃至１３１−１０に対応する探索画素群を構成する画素を読み出すことができる。従って、事前読み出しの回数は、グループ数となり、処理量を軽減することができる。
【０１６１】
この場合も、上述したように、各グループにおいて、メモリ１３から読み出される画素の数は、評価ブロックごとに探索画素群を読み出す場合の読出割合分となる。
【０１６２】
次に、図３３と図３４を参照して、図１の画像処理装置１がマッチングを行うマッチング処理について説明する。このマッチング処理は、例えば、図示せぬ他の装置からマッチングの開始指示とマッチングパラメータが入力されたとき、開始される。
【０１６３】
ステップＳ１０において、マッチング制御部１１の分類部２２は、評価ブロックをグループに分類するグループ処理を行う。このグループ処理の詳細は、図３５で後述する。
【０１６４】
ステップＳ１１において、生成部２１は、分類部２２から供給されるグループ情報に基づいて、まだマッチングの対象とされていない評価ブロックのグループを、マッチングの対象とする評価ブロックのグループである処理グループとして決定する。
【０１６５】
ステップＳ１２において、生成部２１は、分類部２２から供給されるグループ情報、並びに、マッチングパラメータのマッチング位置とマッチング間隔に基づいて、処理グループのブロック位置情報を生成するとともに、ブロック位置情報に基づいて、探索位置情報を生成する。そして、生成部２１は、入力画像の読出指示とともに、ブロック位置情報と探索位置情報をメモリ制御部１２に供給する。
【０１６６】
ステップＳ１３において、メモリ制御部１２は、生成部２１から供給される読出開始の指示に応じて、処理グループ内の最初の評価ブロックを、マッチングの対象とする対象ブロックとして決定し、対象ブロックを構成する画素のうち、まだ注目画素とされていない画素を注目画素に決定する。
【０１６７】
ステップＳ１４において、メモリ制御部１２は、生成部２１から供給されるブロック位置情報に基づいて、注目画素が記憶されているメモリ１３上のアドレスを生成するとともに、探索位置情報に基づいて、探索画素群を構成する画素が記憶されているメモリ１３上のアドレスを生成し、生成したアドレスをメモリ１３に供給する。
【０１６８】
ステップＳ１５において、メモリ１３は、メモリ制御部１２から供給されるアドレスにしたがって、事前読み出しを行う。ステップＳ１６において、メモリ１３は、メモリ制御部１２から供給されるアドレスにしたがって、探索画素群を構成する画素を読み出す。
【０１６９】
ステップＳ１７において、メモリ１３は、読み出した画素を、マッチング演算部１４の差分絶対値部３１に供給して記憶させる。具体的には、メモリ１３は、読み出した画素を、図１４乃至図３０で上述したように、差分絶対値部３１のラインメモリ６１を介してシフトレジスタ６２に供給し、記憶させる。
【０１７０】
ステップＳ１８において、シフトレジスタ６２は、ステップＳ１３で決定された注目画素に対応する探索範囲の全ての画素を演算部６３に出力する。図３４のステップＳ１９において、メモリ１３は、メモリ制御部１２から供給されるアドレスにしたがって、注目画素を読み出し、マッチング演算部１４の演算部６３に供給する。
【０１７１】
ステップＳ２０において、演算部６３は、注目画素と、シフトレジスタ６２から供給される探索範囲の各画素との差分の絶対値を演算し、加算部３２に供給する。
【０１７２】
ステップＳ２１において、加算部３２は、探索範囲内の位置ごとに、既に記憶している前回のステップＳ２１の処理による加算結果と、演算部６３から供給される今回の差分の絶対値を、それぞれ加算し、その加算結果を記憶する。なお、最初のステップＳ２１の処理では、加算部３２は、探索範囲内の位置ごとに、演算部６３から供給される差分の絶対値を、それぞれ記憶する。
【０１７３】
ステップＳ２２において、メモリ制御部１２は、対象ブロックを構成する全ての画素を注目画素としたかどうかを判定し、全ての画素を注目画素としていないと判定された場合、処理は、図３３のステップＳ１３に戻る。そして、ステップＳ１３において、メモリ制御部１２は、対象ブロックを構成する画素のうち、まだ注目画素とされていない画素を新たに注目画素に決定し、処理は、ステップＳ１４に進み、上述した処理が繰り返される。
【０１７４】
一方、ステップＳ２２において、対象ブロックを構成する全ての画素を注目画素としたと判定された場合、加算部３２は、記憶している最後の加算結果、即ち対象ブロックを構成する全ての画素を注目画素としたときの探索範囲内の位置ごとの加算結果を、評価値として出力してリセットし、処理は、ステップＳ２３に進む。
【０１７５】
ステップＳ２３において、ベクトル決定部３３は、加算部３２から供給される探索範囲内の位置ごとの評価値を比較する。ステップＳ２４において、ベクトル決定部３３は、比較の結果得られる評価値の最小値に対応する探索範囲内の位置に基づいて、評価ブロックの動きベクトルを決定し、その動きベクトルを、図示せぬ外部の装置に出力する。
【０１７６】
ステップＳ２５において、メモリ制御部１２は、処理グループ内の全ての評価ブロックを対象ブロックとしたかどうかを判定する。
【０１７７】
ステップＳ２５において、処理グループ内の全ての評価ブロックを対象ブロックとしていないと判定された場合、図３３のステップＳ１３において、メモリ制御部１２は、処理グループ内の評価ブロックのうち、まだ対象ブロックとされていない評価ブロックを対象ブロックに決定し、対象ブロックを構成する画素のうち、まだ注目画素とされていない画素を注目画素に決定する。そして、処理はステップＳ１４に進み、上述した処理が繰り返される。
【０１７８】
一方、ステップＳ２５において、処理グループ内の全ての評価ブロックを対象ブロックとしたと判定された場合、ステップＳ２６において、生成部２１は、分類部２２から供給されるグループ情報に基づいて、全てのグループを処理グループとしたかどうかを判定し、全てのグループを処理グループとしていない、即ちまだ処理グループとしていないグループがあると判定した場合、処理は図３３のステップＳ１１に戻り、上述した処理が繰り返される。
【０１７９】
一方、ステップＳ２６において、全てのグループを処理グループとしたと判定された場合、処理は終了する。
【０１８０】
次に、図３５を参照して、図３３のステップＳ１０のグループ処理について説明する。
【０１８１】
ステップＳ３１において、分類部２２は、マッチングパラメータのマッチング間隔と、予め設定されている探索範囲のサイズとに基づいて、縦方向のマッチング間隔が、探索範囲の縦方向の長さのＭ分の１（Ｍは１以上の整数）であるかどうかを判定し、縦方向のマッチング間隔が、探索範囲の縦方向の長さのＭ分の１であると判定した場合、処理はステップＳ３２に進む。
【０１８２】
ステップＳ３２において、分類部２２は、各グループに属する評価ブロックの縦方向のマッチング間隔が、探索範囲の縦方向の長さと等しくなるように、評価ブロックを、評価ブロックの縦方向の長さをマッチング間隔で除算した数であるＭ個のグループに分類し、処理は図３３のステップＳ１０に戻る。
【０１８３】
一方、ステップＳ３１において、縦方向のマッチング間隔が、探索範囲の縦方向の長さのＭ分の１ではないと判定された場合、分類部２２は、評価ブロックを評価ブロック数個のグループに分類する。即ち、分類部２２は、各評価ブロックを、それぞれ異なるグループに分類する。従って、この場合、評価ブロックごとに、図１４乃至図２２で上述したように、探索画素群を構成する画素が読み出される。
【０１８４】
以上のように、画像処理装置１は、マッチング間隔に基づいて、評価ブロックをグループに分類し、そのグループごとに、評価ブロックを順に対象ブロックとして決定し、探索画素群を構成する画素のうち、次の対象ブロックの探索画素群を構成する画素を記憶するので、マッチングを行う場合において、探索範囲を抑制せずに、処理量を確実に軽減することができる。
【０１８５】
なお、上述した画像処理装置１は、評価ブロックを構成する各画素を注目画素として、注目画素と、その注目画素に対応する探索範囲の各画素との差分の絶対値をそれぞれ演算し、その差分の絶対値を探索範囲内の位置ごとに加算することにより、評価ブロックを構成する各画素と、その画素に対応する探索範囲とのマッチングを行ったが、探索範囲内の各位置を注目位置として、評価ブロックと、その評価ブロックの各画素に対応する各探索範内の注目位置の画素から構成される範囲であるブロック探索範囲との差分の絶対値をそれぞれ演算し、その差分の絶対値をブロック探索範囲ごとに加算することにより、上述したマッチングを行うようにしてもよい。
【０１８６】
この場合のブロック探索範囲の重複について、図３６乃至図４０を参照して説明する。
【０１８７】
なお、図３６乃至図４０において、評価ブロック７１と探索画素群７３内の正方形は画素を表している。
【０１８８】
図３６に示すように、３×３の範囲である探索範囲内の左上の位置が注目位置とされると、その注目位置に対応するブロック探索範囲１５１は、評価ブロック７１の各画素に対応する各探索範囲内の左上の位置の画素から構成される、３×３の範囲となる。
【０１８９】
次に、図３７に示すように、３×３の範囲である探索範囲内の中央上の位置が注目位置とされると、その注目位置に対応するブロック探索範囲１５２は、図３６のブロック探索範囲１５１を１画素分右に移動させた範囲となる。即ち、ブロック探索範囲１５２内の左側の２×３の範囲は、ブロック探索範囲１５１内の画素と重複している。
【０１９０】
その後、図３８に示すように、３×３の範囲である探索範囲内の右上の位置が注目位置とされると、その注目位置に対応するブロック探索範囲１５３は、図３７のブロック探索範囲１５２を１画素分右に移動させた範囲となる。即ち、ブロック探索範囲１５３内の左側の１×３の範囲は、ブロック探索範囲１５１および１５２内の画素と重複し、その右隣の１×３の範囲は、ブロック探索範囲１５２内の画素と重複する。
【０１９１】
次に、図３９に示すように、３×３の範囲である探索範囲内の左中央の位置が注目位置とされると、その注目位置に対応するブロック探索範囲１５４は、図３６のブロック探索範囲１５１を１画素分下に移動させた範囲となる。即ち、ブロック探索範囲１５４内の左側の１×２の範囲は、ブロック探索範囲１５１内の画素と重複し、その右隣の１×２の範囲は、ブロック探索範囲１５１および１５２内の画素と重複し、一番右側の１×２の範囲は、ブロック探索範囲１５１乃至１５３内の画素と重複する。
【０１９２】
以降も同様に、３×３の範囲である探索範囲内の位置が順次注目位置とされ、最後に、図４０に示すように、３×３の範囲である探索範囲内の右下の位置が注目位置とされると、その注目位置に対応するブロック探索範囲１５９は、図３８のブロック探索範囲１５３を２画素分下に移動させた範囲となる。即ち、ブロック探索範囲１５９内の左側の２×３の範囲と右側の１×２の範囲は、ブロック探索範囲１５１乃至１５４などの、ブロック探索範囲１５９よりも前のブロック探索範囲と重複する。
【０１９３】
以上のように、評価ブロック７１に対応するブロック探索範囲の多くの画素は、互いに重複している。従って、注目位置ごとに、その注目位置に対応するブロック探索範囲の全ての画素が読み出される場合、１つの評価ブロックに対して、同一の画素が複数回読み出されることになり、読み出しの効率が悪い。また、複数の評価ブロックについても、同様に読み出しの効率が悪い。
【０１９４】
この場合においても、上述した図１４乃至図３０の場合と同様に、探索画素群７３を構成する画素を、重複を利用して効率的に読み出すことにより、探索範囲を抑制せずに、処理量を確実に軽減することができる。
【０１９５】
本発明は、例えば、特開2005-303983号に記載されている画像処理装置に適用することができる。この場合、例えば、動物体を追尾する際に、動物体領域を決定するために行われる追尾点の近傍の動きベクトルを検出する処理の処理量を軽減することができる。この処理では、追尾点の近傍に非常に密に評価ブロックを設ける必要があり、処理量の軽減の効果は大きい。
【０１９６】
また、本発明は、特開2005-301984号に記載されている画像処理装置に適用することができる。この場合、画像全体の動きベクトルの頻度分布を算出する処理の処理量を軽減することができる。この処理において、ロバスト性を高めるためには、非常に密に評価ブロックを設ける必要があるが、縦方向のマッチング間隔を、評価ブロックの縦方向の長さのＭ分の１にすることにより、処理量を軽減することができる。その結果、同一の処理量で、ロバスト性を高めることができる。
【０１９７】
さらに、本発明は、MPEG(Moving Picture Experts Group)方式等に準拠した動画像の圧縮において、縦方向および横方向のマッチング間隔が評価ブロックの縦方向および横方向の長さとそれぞれ等しい、即ち評価ブロックがタイル状に設けられたマッチングを行って、各評価ブロックのフレーム間の動きベクトルを決定し、その動きベクトルに応じて最適な動き補償を行うことにより、残差を少なくし、符号量を削減する方法が用いられている装置に適用することができる。
【０１９８】
この場合、動きベクトルを検出する処理において、処理量を削減することができる。このように、本発明は、評価ブロックがタイル状に設けられたマッチングを行う場合、事前読み出しの回数がより少なくなり、極めて大きな効果を得ることができる。
【０１９９】
また、本発明は、マッチングを行う装置であれば、動きベクトルを決定する装置以外にも適用することができる。例えば、本発明は、基準画像に含まれる所定の画像を参照画像から検出する検出装置に適用することができる。
【０２００】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２０１】
図４１は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成例を示すブロック図である。CPU（Central Processing Unit）100１は、ROM（Read Only Memory）1002、または記憶部1008に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）1003には、CPU1001が実行するプログラムやデータなどが適宜記憶される。これらのCPU1001、ROM1002、およびRAM1003は、バス1004により相互に接続されている。
【０２０２】
CPU1001にはまた、バス1004を介して入出力インターフェース1005が接続されている。入出力インターフェース1005には、キーボード、マウス、マイクロホン、図示せぬリモートコントローラから送信されてくる指令を受信する受信部などよりなる入力部1006、ディスプレイ、スピーカなどよりなる出力部1007が接続されている。CPU1001は、入力部1006から入力される指令に対応して各種の処理を実行する。そして、CPU1001は、処理の結果を出力部1007に出力する。
【０２０３】
入出力インターフェース1005に接続されている記憶部1008は、例えばハードディスクからなり、CPU1001が実行するプログラムや各種のデータを記憶する。通信部1009は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０２０４】
また、通信部1009を介してプログラムを取得し、記憶部1008に記憶してもよい。
【０２０５】
入出力インターフェース1005に接続されているドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア1011が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部1008に転送され、記憶される。
【０２０６】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０７】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２０８】
【図１】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図２】差分絶対値部の詳細構成例を示すブロック図である。
【図３】探索範囲の重複について説明する図である。
【図４】探索範囲の重複について説明する図である。
【図５】探索範囲の重複について説明する図である。
【図６】探索範囲の重複について説明する図である。
【図７】探索範囲の重複について説明する図である。
【図８】探索範囲の重複について説明する図である。
【図９】探索範囲の重複について説明する図である。
【図１０】探索範囲の重複について説明する図である。
【図１１】探索範囲の重複について説明する図である。
【図１２】探索画素群の重複について説明する図である。
【図１３】シフトレジスタとラインメモリの詳細構成例を示すブロック図である。
【図１４】シフトレジスタとラインメモリの動作について説明する図である。
【図１５】シフトレジスタとラインメモリの動作について説明する図である。
【図１６】シフトレジスタとラインメモリの動作について説明する図である。
【図１７】シフトレジスタとラインメモリの動作について説明する図である。
【図１８】シフトレジスタとラインメモリの動作について説明する図である。
【図１９】シフトレジスタとラインメモリの動作について説明する図である。
【図２０】シフトレジスタとラインメモリの動作について説明する図である。
【図２１】シフトレジスタとラインメモリの動作について説明する図である。
【図２２】シフトレジスタとラインメモリの動作について説明する図である。
【図２３】シフトレジスタとラインメモリの動作について説明する図である。
【図２４】シフトレジスタとラインメモリの動作について説明する図である。
【図２５】シフトレジスタとラインメモリの動作について説明する図である。
【図２６】シフトレジスタとラインメモリの動作について説明する図である。
【図２７】シフトレジスタとラインメモリの動作について説明する図である。
【図２８】シフトレジスタとラインメモリの動作について説明する図である。
【図２９】シフトレジスタとラインメモリの動作について説明する図である。
【図３０】シフトレジスタとラインメモリの動作について説明する図である。
【図３１】読出割合の例を示す図である。
【図３２】分類について説明する図である。
【図３３】マッチング処理を説明するフローチャートである。
【図３４】マッチング処理を説明するフローチャートである。
【図３５】グループ処理を説明するフローチャートである。
【図３６】探索画素群を構成する
【図３７】本発明を適用した画像処理装置の他の実施の形態における探索画素群の読出しについて説明する図である。
【図３８】本発明を適用した画像処理装置の他の実施の形態における探索画素群の読出しについて説明する図である。
【図３９】本発明を適用した画像処理装置の他の実施の形態における探索画素群の読出しについて説明する図である。
【図４０】本発明を適用した画像処理装置の他の実施の形態における探索画素群の読出しについて説明する図である。
【図４１】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２０９】
１  画像処理装置，  １１  マッチング制御部，  １３  メモリ，  １４  マッチング演算部，  ２１  生成部，  ２２  分類部，  ３１  差分絶対値部，  ６１  ラインメモリ，  ６２  シフトレジスタ，  1001  CPU，  1002  ROM，  1003  RAM，  1008  記憶部，  1011  リムーバブルメディア
【図１】
2008108044.tif 000006
【図２】
2008108044.tif 000007
【図３】
2008108044.tif 000008
【図４】
2008108044.tif 000009
【図５】
2008108044.tif 000010
【図６】
2008108044.tif 000011
【図７】
2008108044.tif 000012
【図８】
2008108044.tif 000013
【図９】
2008108044.tif 000014
【図１０】
2008108044.tif 000015
【図１１】
2008108044.tif 000016
【図１２】
2008108044.tif 000017
【図１３】
2008108044.tif 000018
【図１４】
2008108044.tif 000019
【図１５】
2008108044.tif 000020
【図１６】
2008108044.tif 000021
【図１７】
2008108044.tif 000022
【図１８】
2008108044.tif 000023
【図１９】
2008108044.tif 000024
【図２０】
2008108044.tif 000025
【図２１】
2008108044.tif 000026
【図２２】
2008108044.tif 000027
【図２３】
2008108044.tif 000028
【図２４】
2008108044.tif 000029
【図２５】
2008108044.tif 000030
【図２６】
2008108044.tif 000031
【図２７】
2008108044.tif 000032
【図２８】
2008108044.tif 000033
【図２９】
2008108044.tif 000034
【図３０】
2008108044.tif 000035
【図３１】
2008108044.tif 000036
【図３２】
2008108044.tif 000037
【図３３】
2008108044.tif 000038
【図３４】
2008108044.tif 000039
【図３５】
2008108044.tif 000040
【図３６】
2008108044.tif 000041
【図３７】
2008108044.tif 000042
【図３８】
2008108044.tif 000043
【図３９】
2008108044.tif 000044
【図４０】
2008108044.tif 000045
【図４１】
2008108044.tif 000046