(57)【要約】【課題】少ない計算量で動きベクトルを算出可能な画像処理装置および画像処理方法を提供する。【解決手段】第１および第２の画像データを記憶するフレームメモリと、複数の素子２０ｆを含むメモリ２ｆと、制御部と、プレーン分離部９とを設け、素子２０ｆは、第１の画像データの第１の画素と、第２の画像データの第２の画素と、第１の差分値と、差分総和値と、位相情報と、プレーン情報とを記憶し、素子２０ｆに記憶しているプレーン情報が一致している隣接する素子２０ｆの差分値を選択するスイッチ３０と、スイッチ３０により選択された画素差分値と、素子２０ｆの画素差分値とを加算する加算部２８ｆと、加算部２８ｆの差分総和値と、素子２０ｆが記憶する差分総和値に応じた更新を行う比較更新部２６ｆと、更新した場合には位相情報を更新する更新部２７とを設ける。【選択図】　図３０
2004078863.tif 000002
【特許請求の範囲】
【請求項１】
所定のオブジェクトを含む第１の画像データおよび第２の画像データのマッチングを行う画像処理装置であって、
マッチングデータを含む画像素子と、
前記第１および第２の画像データの前記オブジェクトに基づいて、プレーン情報を生成するプレーン情報生成手段とを有し、
前記画像素子は、
前記第１の画像データの内の参照用の第１の画素を記憶する第１の画素記憶手段と、
前記第１の画素に応じて、前記第２の画像データの所定の探索範囲の内の第２の画素を記憶する第２の画素記憶手段と、
前記第１の画素と前記第２の画素の差分値を記憶する差分値記憶手段と、
更新可能な、隣接する他の画像素子の差分値と前記差分値記憶手段に記憶されている差分値との総和である第１の総和差分値を記憶する総和差分値記憶手段と、
更新可能な、第１の画素と第２の画素との位相に関する位相情報を記憶する位相情報記憶手段と、
前記プレーン情報生成手段で生成されたプレーン情報を記憶するプレーン情報記憶手段と、
前記プレーン情報記憶手段に記憶されているプレーン情報と、前記隣接する画像素子のプレーン情報記憶手段に記憶されているプレーン情報とに基づいて、当該隣接する画像素子の差分値記憶手段に記憶されている差分値を選択する選択手段と、
前記差分値記憶手段に記憶されている差分値と、前記選択手段により選択された前記隣接する他の画像素子に記憶されている差分値とを加算し第２の総和差分値を出力する加算手段と、
前記総和差分値記憶手段に記憶されている第１の総和差分値と、前記加算手段から出力された第２の総和差分値とを比較し、前記比較の結果に応じて、前記総和差分値記憶手段に記憶されている第１の総和差分値を更新する総和差分値更新手段とを有する
画像処理装置。
【請求項２】
前記総和差分値更新手段が、前記総和差分値を更新した場合には、前記位相情報記憶手段に記憶されている位相情報を更新する位相情報更新手段を有する
請求項１に記載の画像処理装置。
【請求項３】
前記総和差分値更新手段が、前記第１の画素と、前記第２の画像データの所定の探索範囲の内の第２の画素とのマッチング処理の結果、最小の総和差分値が前記総和差分値記憶手段に記憶されているとき、前記位相情報記憶手段に記憶されている位相情報を、動きベクトルとする
請求項２に記載の画像処理装置。
【請求項４】
前記選択手段は、前記プレーン情報記憶手段に記憶されているプレーン情報と、前記隣接する画像素子のプレーン情報記憶手段に記憶されているプレーン情報とが一致している場合には、当該隣接する画像素子の差分値記憶手段に記憶されている差分値を出力する
請求項１に記載の画像処理装置。
【請求項５】
前記プレーン情報生成手段は、前記第１および第２の画像データに基づいてヒストグラムを生成し、前記ヒストグラムの内のピークを検出し、前記検出されたピークに基づいて前記オブジェクトごとのプレーン情報を生成する
請求項１に記載の画像処理装置。
【請求項６】
前記プレーン情報生成手段は、前記第１および第２の画像データに基づいて、所定のレベルごとにヒストグラムを生成するヒストグラム生成手段と、
ヒストグラムの内のピークのレベルを検出するピーク検出手段と、
前記ヒストグラムの内の、前記検出されたピークのレベルから所定の範囲内の谷部を検出する谷検出手段と、
前記ヒストグラムの内の、前記検出されたピークのレベルから所定の範囲内の谷部までのレベルのヒストグラムを消去し、前記消去されたヒストグラムを前記ピーク検出手段に出力する消去手段と、
前記ピークのレベルに基づいて、所定のラベルを含むプレーン情報を生成するラベル生成手段とを有する
請求項１に記載の画像処理装置。
【請求項７】
前記プレーン情報生成手段は、前記ピーク検出手段により検出されたピークのレベルに基づいて、所定の範囲内のレベルを統合して、前記ラベル生成手段に出力する統合手段を有する
請求項６に記載の画像処理装置。
【請求項８】
前記総和差分値更新手段は、前記総和差分値手段に記憶されている第１の総和差分値と、前記加算手段から出力された第２の総和差分値とを比較し、前記第２の総和差分値が小さい場合には、当該第２の総和差分値を、前記総和差分値記憶手段に記憶させて第１の総和差分値を更新する
請求項１に記載の画像処理装置。
【請求項９】
第１の画像素子のプレーン情報記憶手段に記憶されているプレーン情報と、当該第１の画像素子に隣接する画像素子のプレーン情報記憶手段に記憶されているプレーン情報とが一致している当該隣接する画像素子の動きベクトル記憶手段に記憶されている動きベクトルと、前記第１の画像素子の動きベクトル記憶手段に記憶されている動きベクトルとに基づいて、前記第１の画像素子の動きベクトルを補正する動きベクトル補正手段を有する
請求項１に記載の画像処理装置。
【請求項１０】
前記動きベクトル補正手段は、第１の画像素子のプレーン情報記憶手段に記憶されているプレーン情報と、当該第１の画像素子に隣接する画像素子のプレーン情報記憶手段に記憶されているプレーン情報とが一致している当該隣接する画像素子の動きベクトル記憶手段に記憶されている動きベクトルと、前記第１の画像素子の動きベクトル記憶手段に記憶されている動きベクトルの内で、頻度が多い動きベクトルを前記第１の画像素子の動きベクトルとする
請求項９に記載の画像処理装置。
【請求項１１】
所定のオブジェクトを含む第１の画像データおよび第２の画像データのマッチングを行い、マッチングデータを含む少なくとも１つの画像素子を有する画像処理装置の画像処理方法であって、
前記第１および第２の画像データの前記オブジェクトに基づいてプレーン情報を生成し、
前記画像素子は、
前記第１の画像データの内の参照用の第１の画素を記憶し、
前記第１の画素に応じて、前記第２の画像データの所定の探索範囲の内の第２の画素を記憶し、
更新可能な差分値を記憶し、
更新可能な、隣接する他の画像素子の差分値と前記記憶している差分値との総和である第１の総和差分値を記憶し、
更新可能な、第１の画素と第２の画素との位相に関する位相情報を記憶し、
前記生成したプレーン情報を記憶し、
前記記憶しているプレーン情報と、前記隣接する画像素子に記憶されているプレーン情報とに基づいて、当該隣接する画像素子に記憶されている差分値を選択し、
前記記憶している第１の差分値と、前記選択された隣接する他の画像素子から出力された差分値とを加算し第２の総和差分値を出力し、
前記記憶している第１の総和差分値と、前記出力された第２の総和差分値とを比較し、前記比較の結果に応じて、前記記憶されている第１の総和差分値を更新する
画像処理方法。
【請求項１２】
前記総和差分値を更新した場合には、前記記憶している位相情報を更新する
請求項１１に記載の画像処理方法。
【請求項１３】
前記第１の画素と、前記第２の画像データの所定の探索範囲の内の第２の画素とのマッチング処理の結果、最小の総和差分値が前記画像素子に記憶されているとき、前記記憶されている位相情報を、動きベクトルとする
請求項１２に記載の画像処理方法。
【請求項１４】
前記隣接する画像素子に記憶されている差分値を出力する際に、前記記憶しているプレーン情報と、前記隣接する画像素子に記憶されているプレーン情報とが一致している場合に、当該隣接する画像素子に記憶している差分値を出力する
請求項１１に記載の画像処理方法。
【請求項１５】
前記プレーン情報を生成する場合には、前記第１および第２の画像データに基づいてヒストグラムを生成し、前記ヒストグラムの内のピークを検出し、前記検出されたピークに基づいて前記オブジェクトごとのプレーン情報を生成する
請求項１１に記載の画像処理方法。
【請求項１６】
前記プレーン情報生成を生成する場合には、前記第１および第２の画像データに基づいて、所定のレベルごとにヒストグラムを生成し、
ヒストグラムの内のピークのレベルを検出し、
前記ヒストグラムの内の、前記検出されたピークのレベルから所定の範囲内の谷部を検出し、
前記ヒストグラムの内の、前記検出されたピークのレベルから所定の範囲内の谷部までのレベルのヒストグラムを消去し、前記消去されたヒストグラムに応じて、ピークのレベルを検出し、
前記検出されたピークのレベルに基づいて、所定のラベルを含むプレーン情報を生成する
請求項１１に記載の画像処理方法。
【請求項１７】
前記プレーン情報を生成する場合には、前記検出されたピークのレベルに基づいて、所定の範囲内のレベルを統合する
請求項１１に記載の画像処理方法。
【請求項１８】
前記総和差分値を更新する場合には、前記記憶している第１の総和差分値と、前記出力された第２の総和差分値とを比較し、前記第２の総和差分値が小さい場合には、当該第２の総和差分値を第１の総和差分値として更新する
請求項１１に記載の画像処理方法。
【請求項１９】
第１の画像素子に記憶しているプレーン情報と、当該第１の画像素子に隣接する画像素子に記憶されているプレーン情報とが一致している当該隣接する画像素子に記憶されている動きベクトルと、前記第１の画像素子に記憶されている動きベクトルとに基づいて、前記第１の画像素子に記憶されている動きベクトルを補正する
請求項１１に記載の画像処理方法。
【請求項２０】
前記動きベクトルを補正する場合には、前記第１の画像素子に記憶されているプレーン情報と、当該第１の画像素子に隣接する画像素子に記憶されているプレーン情報とが一致している当該隣接する画像素子に記憶されている動きベクトルと、前記第１の画像素子に記憶されている動きベクトルの内で、頻度が多い動きベクトルを前記第１の画像素子の動きベクトルとする
請求項１９に記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、画像データに基づいて動きベクトルを生成する画像処理装置および画像処理方法に関するものである。
【０００２】
【従来の技術】
従来より、画像のフレーム間での動きベクトルを検出する手法として、ブロックマッチングが知られている。
【０００３】
図１は一般的な画像処理装置を示す図である。図２は図１に示した一般的な画像処理装置の動作を示すフローチャートである。
図１，２を参照しながら、ブロックマッチングについて説明する。
【０００４】
ブロックマッチングとは、ある時間Ｔ−１における画像中のあるブロックが、次の時間Ｔにどの位置に動いたかを示す動きベクトルを求めるものである。
【０００５】
例えば、画像処理装置１ｓは、図１に示すように、フレームメモリ３ｓ−Ｔ、フレームメモリ３ｓ−Ｔ−１、探索範囲メモリｍｓ、参照ブロックメモリｍｒ、位相ブロックメモリｍｐ、演算部ｐｃ、評価テーブルメモリｍｖ、および最小値探索部ｐｓを有する。
【０００６】
画像処理装置１ｓは、時間Ｔにおいて探索範囲を設定し、その範囲内で時刻Ｔ−１の参照ブロックと探索範囲内の各位相（位置）におけるブロックの内の画素のマッチングを行い、最もマッチングの近い位相を、時刻Ｔでのブロックの位置とする。
そこで、２フレーム間でのブロックのシフト量を動きベクトルとする。
【０００７】
図２を参照しながら、画像処理装置１ｓの動作を説明する。
連続する入力画像が時間的に蓄えられているフレームメモリＴとフレームメモリＴ−１から、動きベクトルを求めたい位置での探索範囲と参照ブロックｂｒをそれぞれ読み出す（ＳＴ１，ＳＴ２）。
それらは探索範囲メモリｍｓおよび参照ブロックメモリｍｒに蓄えられる（ＳＴ３）。
【０００８】
次に、探索範囲メモリｍｓから各位相ごとに参照ブロックｂｒと同じ形状と大きさを持つブロックを読み出す。これを位相ブロックｂｐとする。
位相は、後述する評価テーブルへの記録が終わった時点で順次更新され、そのたびにその位相での位相ブロックｂｐが読み出される（ＳＴ４）。
【０００９】
読み出された位相ブロックｂｐは、例えば図１に示すように、位相ブロックメモリｍｐに蓄えられる。
【００１０】
図３は、位相シフトによる位相ブロックの読み出しから、評価テーブルメモリｍｒへの記録までの動作の一具体例を説明するための図である。図３（ａ）は位相シフト前の状態を示す図、図３（ｂ）は位相シフト後の状態を示す図である。図３を参照しながら評価テーブルメモリへの記録までの動作を説明する。
参照ブロックサイズを３×３画素、探索範囲を５×５画素としている。
【００１１】
ここで、位相１から、位相２にシフトしたときに読み出される位相ブロックｂｐが水平方向に１画素ずれた位置のものとなっている。例えば更新による位相のシフト量は１画素である。
【００１２】
次に演算部ｐｃにより、参照ブロックｂｒと位相ブロックｂｐの間での対応する画素ごとの差分絶対値を演算し、それらの値の差分絶対値総和Ｓを求める。
【００１３】
【数１】
2004078863.tif 000003
【００１４】
差分絶対値総和Ｓは、参照ブロックｂｒの内の画素の画素値ｋｓと、対応する位相ブロックｂｐの内の画素の画素値ｋｐを用いて、例えば、数式（１）により計算される（ＳＴ５）。
【００１５】
次に、その差分絶対値総和Ｓを、評価テーブルに記憶させる（ＳＴ６）。
具体的には、図１のように、その差分絶対値総和Ｓを評価テーブルメモリｍｖに記憶する。評価テーブルでは、読み出される位相ブロックに対応した位相ごとに、差分絶対値総和Ｓが記憶される。
【００１６】
一般的な画像処理装置１ｓは、図３に示したように、例えば位相１から位相２にシフトした場合に、そのシフトに応じて評価テーブルに記憶させる位置もシフトする。
【００１７】
探索範囲内の全ての、位相ブロックｂｐの読み出しから評価テーブルへの記録が終了すると（ＳＴ７）、最小値探索部ｐｓでは、評価テーブル内の最小値を探索する（ＳＴ８）。
【００１８】
一方、ステップＳＴ７において、すべての位相の評価値テーブルが記録していないと判別されると、ステップＳＴ３の処理に戻る。
それは、参照ブロックｂｒと最も近い探索範囲内のブロックを探索していることになる。
【００１９】
上述したように、評価テーブルでは読み出される位相ブロックｂｐに対応した位相ごとに差分絶対値総和Ｓが記録されている。したがって、評価テーブル内で最小値が分かれば、探索範囲の内の参照ブロックｂｒに対応するブロックの位相が分かる。その位相の情報を動きベクトルとして出力する。
【００２０】
【発明が解決しようとする課題】
上述した一般的な画像処理装置の問題点として、以下の３点が挙げられる。
１．位相ブロック、評価テーブルの値を一旦、格納する手順が必要である。そのためのメモリを回路の中に用意しなければならないので、回路のレイアウトが複雑になる。また、例えば、１フレーム内で多数の位置において動きベクトルを算出したい場合、その位置ごとに順を追って動きベクトルを探索する必要があり時間的なロスが生じる。
２．評価テーブル内の全ての値が記録されてはじめて、最小値の探索が始まる。そのため、各位相ブロックの読み出しと、最小値探索の２回分位相の更新をする必要がある。
３．この場合の出力は動きベクトルであり、例えば、動きベクトルから抽出される画素を読み出す処理を行う場合、動きベクトルからその画素を抽出するという別の手順が必要になる。
【００２１】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、少ない計算量で動きベクトルを算出可能な画像処理装置および画像処理方法を提供することである。
【００２２】
【課題を解決するための手段】
前記目的を達成するために、第１の発明の画像処理装置は、所定のオブジェクトを含む第１の画像データおよび第２の画像データのマッチングを行う画像処理装置であって、マッチングデータを含む画像素子と、前記第１および第２の画像データの前記オブジェクトに基づいて、プレーン情報を生成するプレーン情報生成手段とを有し、前記画像素子は、前記第１の画像データの内の参照用の第１の画素を記憶する第１の画素記憶手段と、前記第１の画素に応じて、前記第２の画像データの所定の探索範囲の内の第２の画素を記憶する第２の画素記憶手段と、前記第１の画素と前記第２の画素の差分値を記憶する差分値記憶手段と、更新可能な、隣接する他の画像素子の差分値と前記差分値記憶手段に記憶されている差分値との総和である第１の総和差分値を記憶する総和差分値記憶手段と、更新可能な、第１の画素と第２の画素との位相に関する位相情報を記憶する位相情報記憶手段と、前記プレーン情報生成手段で生成されたプレーン情報を記憶するプレーン情報記憶手段と、前記プレーン情報記憶手段に記憶されているプレーン情報と、前記隣接する画像素子のプレーン情報記憶手段に記憶されているプレーン情報とに基づいて、当該隣接する画像素子の差分値記憶手段に記憶されている差分値を選択する選択手段と、前記差分値記憶手段に記憶されている差分値と、前記選択手段により選択された前記隣接する他の画像素子に記憶されている差分値とを加算し第２の総和差分値を出力する加算手段と、前記総和差分値記憶手段に記憶されている第１の総和差分値と、前記加算手段から出力された第２の総和差分値とを比較し、前記比較の結果に応じて、前記総和差分値記憶手段に記憶されている第１の総和差分値を更新する総和差分値更新手段とを有する。
【００２３】
第１の発明の画像処理装置によれば、所定のオブジェクトを含む第１の画像データおよび第２の画像データのマッチングを行い、マッチングデータを含む画像素子と、第１および第２の画像データのオブジェクトに基づいて、プレーン情報を生成するプレーン情報生成手段とを有する。
【００２４】
画像素子において、第１の画素記憶手段では、第１の画像データの内の参照用の第１の画素が記憶される。
第２の画素記憶手段では、第１の画素に応じて、第２の画像データの所定の探索範囲の内の第２の画素が記憶される。
差分値記憶手段では、第１の画素と第２の画素の差分値が記憶される。
総和差分値記憶手段では、更新可能な、隣接する他の画像素子の差分値と差分値記憶手段に記憶されている差分値との総和である第１の総和差分値が記憶される。
位相情報記憶手段では、更新可能な、第１の画素と第２の画素との位相に関する位相情報が記憶される。
プレーン情報記憶手段では、プレーン情報生成手段で生成されたプレーン情報が記憶される。
選択手段では、プレーン情報記憶手段に記憶されているプレーン情報と、隣接する画像素子のプレーン情報記憶手段に記憶されているプレーン情報とに基づいて、当該隣接する画像素子の差分値記憶手段に記憶されている差分値が選択される。
加算手段では、差分値記憶手段に記憶されている差分値と、選択手段により選択された隣接する他の画像素子に記憶されている差分値とを加算し第２の総和差分値が出力される。
総和差分値更新手段では、総和差分値記憶手段に記憶されている第１の総和差分値と、加算手段から出力された第２の総和差分値とを比較し、比較の結果に応じて、総和差分値記憶手段に記憶されている第１の総和差分値が更新される。
【００２５】
さらに、前記目的を達成するために、第２の発明の画像処理方法は、所定のオブジェクトを含む第１の画像データおよび第２の画像データのマッチングを行い、マッチングデータを含む少なくとも１つの画像素子を有する画像処理装置の画像処理方法であって、前記第１および第２の画像データの前記オブジェクトに基づいてプレーン情報を生成し、前記画像素子は、前記第１の画像データの内の参照用の第１の画素を記憶し、前記第１の画素に応じて、前記第２の画像データの所定の探索範囲の内の第２の画素を記憶し、更新可能な差分値を記憶し、更新可能な、隣接する他の画像素子の差分値と前記記憶している差分値との総和である第１の総和差分値を記憶し、更新可能な、第１の画素と第２の画素との位相に関する位相情報を記憶し、前記生成したプレーン情報を記憶し、前記記憶しているプレーン情報と、前記隣接する画像素子に記憶されているプレーン情報とに基づいて、当該隣接する画像素子に記憶されている差分値を選択し、前記記憶している第１の差分値と、前記選択された隣接する他の画像素子から出力された差分値とを加算し第２の総和差分値を出力し、前記記憶している第１の総和差分値と、前記出力された第２の総和差分値とを比較し、前記比較の結果に応じて、前記記憶されている第１の総和差分値を更新する。
【００２６】
【発明の実施の形態】
第１実施の形態
本実施の形態に係る画像処理装置１は、複数のフレームを有する動画像のフレーム間の動きベクトルの検出を行う。
【００２７】
画素マッチング
図４は、本発明に係る画像処理装置の第１の実施の形態の機能ブロック図である。
図５（ａ）は第１の実施の形態に係る画像処理装置のメモリを示す図である。図５（ｂ）は図５（ａ）に示した画像処理装置のメモリの内の素子の機能ブロック図である。
【００２８】
本実施の形態に係る画像処理装置１は、図４に示すように、メモリ２、複数のフレームメモリ３、読出部４、および制御部１００を有する。
【００２９】
メモリ２は、後述するように、フレームメモリ３からの所定のデータ、例えば、画素の画素値および位相（位相情報とも言う）に基づいて、動きベクトルを生成および記憶する。
【００３０】
フレームメモリ３は、例えば複数のフレームメモリ３、具体的にはフレームメモリ３−Ｔ、フレームメモリ３−Ｔ−１を有する。
フレームメモリ３−Ｔは、入力された時刻Ｔの画像データ（単に画像とも言う）を記憶する。
フレームメモリ３−Ｔ−１は、時刻Ｔ−１の画像データを記憶する。
また、所定の時間後には、フレームメモリ３−Ｔに記憶された画像データがフレームメモリ３−Ｔ−１に記憶され、フレームメモリ３−Ｔには新たに画像データが記憶される。
【００３１】
読出部４は、メモリ２に記憶された動きベクトルを素子２０毎に読み出す。
制御部１００は、メモリ２、フレームメモリ３、および読出部４を、所定の処理に応じた制御を行う。
制御部１００は、例えば、フレームメモリ３に画像を記憶させる。
制御部１００は、例えば、フレームメモリ３から所定の探索範囲ｓｐおよび参照範囲の内の画素、および探索範囲ｓｐの内の探索領域ｔｐと、参照領域ｔｒとの位相をメモリ２に出力する。
【００３２】
各構成要素について詳細に説明する。
本実施の形態に係る画像処理装置１のメモリ２は、例えば、図５（ａ）に示すように、格子状に複数の素子２０を有する。
簡単のために、メモリ２の内に３×３の素子（画素）２０−１〜９を設ける。素子２０それぞれは接続されている。
【００３３】
各素子（画素）２０ごとに一遍にマッチングを行う場合を説明する。
素子２０は、図５（ｂ）に示すように、複数の画素２１、例えば画素２１−１，２、最小画素差分記憶部２２、動きベクトル記憶部２３、減算器２４、絶対値生成部２５、比較更新部２６、および更新部２７とを有する。
【００３４】
素子２０は、具体的には、単に１画素を記憶する（格納するとも言う）だけでなく例えば２画素分の画素値を格納し、それらの差分絶対値を演算し、その結果である差分絶対値を格納する。
マッチングデータは、例えば、画素値や、差分絶対値や、所定の演算結果を示すデータ等の所定のマッチング処理に係るデータである。
【００３５】
画素２１は、複数の画素、例えば画素２１−１および画素２１−２を有する。
画素２１−１は、例えば、フレームメモリ３−Ｔの内の探索範囲ｓｐの内の画素の画素値が入力される。
画素２１−２は、例えば、フレームメモリ３−Ｔ−１の参照領域ｔｒの内の画素の画素値が入力される。
【００３６】
最小画素差分記憶部２２は、差分絶対値を記憶する。
最小画素差分記憶部２２は、比較更新部２６により、記憶している差分絶対値の更新が行われる。
【００３７】
動きベクトル記憶部２３は、後述するように、動きベクトルを記憶する。
動きベクトル記憶部２３は、更新部２７により、動きベクトルの更新が行われる。
【００３８】
減算器２４は、画素２１−１に記憶された画素値と、画素２１−２に記憶された画素値とに応じて、それらの画素値の差分値を絶対値生成部２５に出力する。
【００３９】
絶対値生成部２５は、減算器２４から出力された、画素２１−１の画素値と画素２１−２の画素値との差分値に基づいて、その差分値の絶対値（差分絶対値とも言う）を比較更新部２６に出力する。
【００４０】
比較更新部２６は、絶対値生成部２５から出力された差分絶対値と、最小画素差分記憶部２２に記憶されている差分絶対値とを比較する。
【００４１】
比較更新部２６は、その比較の結果、絶対値生成部２５から出力された差分絶対値が小さい場合には、この小さい方の差分絶対値を最小画素記憶部２２に記憶させることで、差分絶対値を更新する。
比較更新部２６は、上述の比較の結果、最小画素差分記憶部２２の差分絶対値の更新を行う場合に、更新部２７に差分絶対値が更新されたことを示す更新情報を出力する。
【００４２】
更新部２７は、比較更新部２６から出力された更新情報、および位相情報に基づいて、動きベクトル記憶部２３に記憶されている動きベクトルを更新する。
具体的には、更新部２７は、比較更新部２６から差分絶対値が更新されたことを示す更新情報が出力した場合には、その時の探索領域ｔｐと参照領域ｔｒとの位相情報（位相）を動きベクトルとして、動きベクトル記憶部２３に記憶させ、動きベクトルを更新する。
【００４３】
上述したように、メモリ２は、画素値以外の動きベクトルや差分絶対値といった情報を付加情報として記憶する。
【００４４】
図６は、図４に示した画像処理装置の画素マッチングにおける位相の更新と、探索領域ｔｐの読み出しを説明するための図である。図６（ａ）は、探索範囲内の位相を示す図である。図６（ｂ）は位相と探索領域ｔｐの関係を示す図である。
【００４５】
位相（位相情報）は、例えば探索範囲ｓｐの中心と、探索領域ｔｐの中心とのずれである。例えば、図６（ａ）に示すように位相を定義する。
具体的には、図６（ａ）に示すように、探索範囲ｓｐ（５×５）の中心と、探索領域ｔｐ（３×３）の中心とが一致している場合には、位相（０，０）である。
【００４６】
例えば、探索範囲ｓｐ（５×５）の中心と、探索領域ｔｐ（３×３）の中心が、図に向かって右に１単位ずれた場合には、位相（１，０）である。
その他の位相も探索範囲ｓｐの中心と探索領域ｔｐの中心とのずれを、位相の座標とする。
【００４７】
図６（ｂ）は、位相の更新と探索領域ｔｐの読出しを示す図である。
例えば、制御部１００は、図６（ｂ）に示すように、位相を順に（−１，−１）、（０，−１）、（１、−１）、（−１，０）、（０，０）、（０，１）、（−１，１）、（０，１）、（１，１）と更新して、それに応じて探索領域ｔｐの内の画素を読み出し、メモリ２の内の対応する素子２０に出力する。
後述するように、差分絶対値が最小の場合の位相を、真の動きベクトルとする。
【００４８】
また、制御部１００の、画素の読み出す順番、および位相の順番は、この形態に限られるものではない。全ての画素を読み出すことができれば順番は、上述の形態に限られるものではない。
ここで図５においては、各素子の保有する画素２１−１に、探索領域ｔｐの内の１画素を格納する。
【００４９】
図７は、図１に示した画像処理装置１の動作を説明するためのフローチャートである。画像処理装置１の動作、特に、動きベクトルを生成する動作を、図７を参照しながら説明する。
【００５０】
例えば制御部１００は、フレームメモリ３−Ｔ−１から、任意の３×３の参照領域ｔｒの各画素を、メモリ２０内の対応する各素子２０ごとに格納する（ＳＴ１１）。
具体的には、図４に示すように、各素子２０の画素２１−２に参照領域ｔｒの１画素を格納する。
【００５１】
制御部１００は、フレームメモリ３−Ｔにおいて、探索範囲ｓｐの内で位相を更新（シフト）しながら（ＳＴ１２）、探索領域ｔｐ（３×３）の内の画素を読み出し、対応するメモリ２の内の各素子２０ごとに格納する（ＳＴ１３）。
具体的には、図４に示すように制御部１００は、各素子２０の画素２１−１に探索領域ｔｐの内の、対応する１画素を格納する。
【００５２】
制御部１００では、探索領域ｔｐの位相の更新と、探索領域ｔｐの内の画素の読み出しは、例えば、図６に示すように、（−１，−１）〜（１，１）の範囲で１画素ずつ位相をずらして計９回行われ、９回終わると終了する。
【００５３】
各素子２０の減算器２４および絶対値生成部２５で、画素２１−１に格納された画素値と画素２１−２に格納された画素値の差分絶対値が演算される。これを例えば差分絶対値ａとする（ＳＴ１４）。
比較更新部２６では、メモリ２の内の素子２０の最小画素差分記憶部２２に記憶されている差分絶対値（例えば差分絶対値ｂと言う）と、差分絶対値ａとが比較される（ＳＴ１５）。
【００５４】
ステップＳＴ１５の比較の結果、比較更新部２６では、差分絶対値ａが小さい場合、最小画素差分記憶部２２に差分絶対値ａを記憶し、差分絶対値を更新する（ＳＴ１６，ＳＴ１７）。
一方、比較更新部２６では、差分絶対値ａが大きい場合は更新を行わず（ＳＴ１６）、次の探索領域ｔｐの位相の更新および探索領域ｔｐの内の画素の読み出し処理へ移行する。
ところで、初期状態では素子２０の最小画素差分記憶部２２には、差分絶対値が格納されていない。その場合は、最小画素差分記憶部２２には、無条件に最初の差分絶対値が格納される。
【００５５】
ステップＳＴ１７において、比較更新部２６では、差分絶対値が更新された場合のみ、差分絶対値が更新されたことを示す更新情報が更新部２７に出力される。
更新部２７では、比較更新部２６から差分絶対値が更新されたことを示す更新情報が出力された場合には、その時の探索領域ｔｐの位相を、動きベクトル記憶部２３に記憶させて、動きベクトルが更新される（ＳＴ１８）。
【００５６】
そして、全ての位相の更新が終了した時点で（ＳＴ１９）、各素子２０におい、最小画素差分記憶部２１−２には、探索範囲ｓｐにおける画素差分絶対値の最小値が記憶され、それが更新されたときの位相（動きベクトル）が動きベクトル記憶部２３に記憶されている。
【００５７】
一方、ステップＳＴ１９において、全ての位相の更新が終了していない場合には、ステップＳＴ１２の処理に戻る。
【００５８】
この各動きベクトルは、参照領域ｔｒの各画素２０が時刻Ｔに探索範囲ｓｐの内のどの位置に移動したかを、画素２０間の差分絶対値に基づいて求めたものである。最終的に、読出部４は、各素子２０から、これらの動きベクトルを読出し出力する。
【００５９】
以上、説明したように、画像データを記憶する複数のフレームメモリ３と、フレームメモリ３からのデータに応じて、動きベクトルを生成および記憶するメモリ２と、メモリから素子毎の動きベクトルを読出す読出部４と、それらを制御する制御部１００とを設ける。そして、メモリ２には格子状に複数の素子２０を設ける。
【００６０】
素子２０には、異なるフレームメモリの所定の画素の画素値を記憶する画素２１−１〜２と、画素２１−１〜２の画素値の差分値を出力する減算器２４と、減算器２４から出力された差分値の絶対値（差分絶対値）を出力する絶対値生成部２５と、差分絶対値を記憶する最小画素差分記憶部２２と、差分絶対値と、最小画素差分記憶部２２に記憶されている差分絶対値を比較し、比較の結果、最小画素記憶部２２の差分絶対値を更新し、更新したことを示す更新情報を出力する比較更新部２６と、比較更新部２６から差分絶対値が更新されたことを示す更新情報が出力した場合には、その時の位相座標を動きベクトルとして、動きベクトル記憶部２３に記憶させて、動きベクトルを更新する更新部２７とを設けたので、少ない計算量で動きベクトルを算出することができる。
【００６１】
また、探索範囲ｓｐ内のすべての位相における評価テーブルの演算および最小値の探索という２段階の位相の更新を、一括して行うことができる。
【００６２】
また、差分絶対値の最小値のみを更新していくので、例えば最小値の探索のための評価テーブルを別のメモリ上に生成する必要がないので、メモリを縮小することができる。
【００６３】
本実施の形態に係る画像処理装置１では、３×３のサイズのメモリ２を用いて説明したが、これに限定されるものではない。
例えば、１フレームの全画素数分の素子２０を有するメモリ２を設けた場合には、１フレーム分の全画素ごとの動きベクトルが、位相の更新を終了させた時点で１度に求めることができる。
【００６４】
第２の実施の形態
ブロックマッチング
図８は、本発明に係る画像処理装置１ａの第２の実施の形態の機能ブロック図である。
図９（ａ）は図８に示した画像処理装置１ａのメモリを示す図である。図９（ｂ）は図８に示したメモリの構成の一具体例を示す図である。図９（ｃ）は図８に示した画像処理装置１ａの動きベクトルが格納されるメモリの構成を示す図である。
【００６５】
本実施の形態に係る画像処理装置１ａは、図８に示すように、メモリ２ａ、複数のフレームメモリ３ａ、例えばフレームメモリ３ａ−Ｔ，Ｔ−１、読出部４、および制御部１００ａを有する。
【００６６】
第１の実施の形態に係る画像処理装置１において、例えば、３×３のブロックマッチングでは、３×３の素子で、ある注目画素の動きベクトルを求めた。
第２の実施の形態の画像処理装置１ａでは、隣接する３×３の画素の動きベクトルを１度に求める。
【００６７】
メモリ２ａは、第１の実施の形態に係る画像処理装置１のメモリ２と同様に、単に１画素を格納するだけでなく２画素分格納でき、それらの差分絶対値を演算する。また、その結果である差分絶対値を格納する。
【００６８】
画素マッチングを応用したブロックマッチングの一具体例を説明する。
画像処理装置１ａと、第１の実施の形態に係る画像処理装置１との大きな相違点は、メモリの構成が異なる点である。相違点のみ説明する。
【００６９】
本実施の形態に係る画像処理装置１ａのメモリ２ａは、例えば図９に示すように、格子状に複数の素子２０ａを有する。
簡単のために、メモリ２ａの内に５×５の素子２０ａ−１〜２５を設ける。各素子２０それぞれは接続されている。
各素子２０ごとに一遍にマッチングを行う場合を説明する。
ここで、素子２０ａ−１〜２５を区別しない場合には、単に素子（画素）２０ａという。探索範囲ｓｐを画素単位で（−１，−１）から（１，１）として説明する。
【００７０】
メモリ２ａは、素子２０ａ間の配線により、図９（ａ）に示すように、注目する素子（例えば素子２０ａ−５）の８近傍の素子（例えば素子２０ａ−１〜４および素子２０ａ−６〜９）に格納されている差分絶対値を注目する素子に送ることができる。
【００７１】
各素子２０ａには、それら９つの差分絶対値を受取り加算する処理を有する。そのため注目する素子２０ａでは、その差分絶対値の総和を求め、それを格納する。
【００７２】
但し、各素子２０ａは、予め保持されている差分絶対値の総和との比較を行い、小さい場合のみその値を更新する。その差分絶対値の総和が更新された場合、その時の動きベクトル（動きベクトル）も予め格納されているものから更新される。
以下、詳細に説明する。
【００７３】
素子２０ａは、図９（ｃ）に示すように、複数の画素２１ａ、例えば画素２１ａ−１〜２、画素差分記憶部２２ａ−１、差分総和記憶部２２ａ−２、動きベクトル記憶部２３、減算器２４、絶対値生成部２５ａ、比較更新部２６ａ、更新部２７、および加算部２８とを有する。
【００７４】
素子２０ａと、第１の実施の形態に係る素子２０との相違点は、画素差分記憶部２２ａ−１、差分総和記憶部２２ａ−２、絶対値生成部２５ａ、比較更新部２６ａ、加算部２８である。
【００７５】
画素差分記憶部２２ａ−１は、絶対値生成部２５ａから出力された、画素２１ａ−１と画素２１ａ−２の差分絶対値を記憶する。
画素差分記憶部２２ａ−１は、記憶している差分絶対値を加算部２８に出力する。
【００７６】
差分総和記憶部２２ａ−２は、差分絶対値総和を記憶する。この差分絶対値総和は、後述するように比較更新部２６ａにより所定の条件の場合に更新される。
【００７７】
絶対値生成部２５ａは、減算器２４から出力された、画素２１−１の画素値と画素２１−２の画素値との差分値に基づいて、その差分値の絶対値（差分絶対値とも言う）を画素差分記憶部２２ａ−１に出力する。
【００７８】
比較更新部２６ａは、加算部２８から出力された差分絶対値総和Ａと、差分総和記憶部２２ａ−２に記憶されている差分絶対値総和（差分絶対値総和Ｂと言う）とを比較して、比較の結果、差分絶対値総和Ａが小さい場合には、差分絶対値総和Ａを差分総和記憶部２２ａ−２に記憶させて、差分絶対値総和を更新する。
【００７９】
比較更新部２６ａは、上述した更新を行った場合には、更新を行ったことを示す更新情報を更新部２７に出力する。
比較更新部２６ａは、比較の結果、差分絶対値総和Ａが大きい場合には、差分総和記憶部２２ａ−２に記憶されている差分絶対値総和Ｂの更新を行わない。
【００８０】
加算部２８は、その画素の近傍の８つの素子２０ａ（８近傍の素子２０ａとも言う）それぞれから出力された差分絶対値ａ、および画素差分記憶部２２ａ−１から出力された差分絶対値ａに基づいて、それらを加算して、差分絶対値総和Ａを生成し、比較更新部２６ａに出力する。
【００８１】
図１０は図８に示した画像処理装置の動作、特に位相の更新と探索領域ｔｐの読み出しを行う動作について説明するための図である。図１０（ａ）は探索範囲ｓｐ内の位相を示す図である。図１０（ｂ）は位相と探索領域ｔｐの関係を示す図である。
【００８２】
図１０（ａ）に示すように、例えば、位相は探索範囲ｓｐの中心と探索領域ｔｐの中心とのずれを示す。例えば、図１０（ａ）に示すように位相の座標を定義する。
具体的には、図１０（ａ）に示すように、探索範囲ｓｐ（７×７）の中心と、探索領域ｔｐ（５×５）の中心とが一致した場合には、位相（０，０）である。
【００８３】
例えば、探索範囲ｓｐ（７×７）の中心と、探索領域ｔｐ（５×５）の中心が、向かって右に１単位ずれた場合には、位相（１，０）である。
その他の状態も探索範囲ｓｐの中心と探索領域ｔｐの中心とのずれを位相の座標とする。
【００８４】
例えば、制御部１００ａは、図１０（ｂ）に示すように、位相を順に（−１，−１）、（０，−１）、（１、−１）、（−１，０）、（０，０）、（０，１）、（−１，１）、（０，１）、（１，１）と更新して、それに応じて探索領域ｔｐの内の画素を読み出し、メモリ２ａの内の対応する素子２０ａに出力する。
また、制御部１００ａの読み出す順番は、この形態に限られるものではない。全ての画素を読み出すことができれば順番は、上述の形態に限られない。
【００８５】
図１１は、図８に示した画像処理装置１ａの動作を説明するためのフローチャートである。画像処理装置１の動作、特に動きベクトル検出の動作を、図１１を参照しながら説明する。
この場合では、注目素子とは、図９において、実際に動きベクトルが格納される素子２０ａの１つと想定する。ここで注目素子はメモリ２ａの端にある素子ではない。
【００８６】
例えば制御部１００ａは、フレームメモリ３ａ−Ｔ−１から、任意の５×５の参照領域ｔｒの各画素をメモリ２ａ内の各素子２０ａごとに格納する（ＳＴ２１）。ここで図８においては、各素子２０ａの保有する画素２１−２の部分に参照領域ｔｒの１画素を格納する。
【００８７】
制御部１００ａは、探索範囲ｓｐ内で位相を更新しながら（ＳＴ２２）、５×５の領域を読み出し、その領域内の各画素をメモリ２ａ内の各素子２０ａごとに格納する（ＳＴ２３）。この５×５の領域を「探索領域ｔｐ」と名付ける。ここで図８においては、各素子２０ａの保有する画素２１ａ−１の部分に探索領域ｔｐの１画素を格納することになる。
位相の更新と探索領域ｔｐの読み出しは、例えば、図１０に示すように（−１，−１）〜（１，１）の範囲で９回行われ、９回終わると終了する。
【００８８】
次に各素子２０ａ内で、画素２１ａ−１に格納された値と画素２１ａ−２に格納された値の差分絶対値ａを演算する（ＳＴ２４）。その結果を、各素子２０ａ内の画素差分記憶部２２ａ−１に格納する。
【００８９】
次に各注目素子において、加算部２８は、その８近傍の素子２０ａから差分絶対値ａを読み込み、画素差分記憶部２２ａ−１に記憶されている差分絶対値ａと加算し、差分絶対値総和Ａを求める（ＳＴ２５）。
【００９０】
次に各注目素子において、比較更新部２６ａは、差分総和記憶部２２ａ−２に予め格納されている差分絶対値総和（差分絶対値総和Ｂ）と、加算部２８から出力された差分絶対値総和Ａを比較して（ＳＴ２６，ＳＴ２７）、差分絶対値総和Ａが小さい場合には、差分総和記憶部２２ａ−２に格納する値を、差分絶対値総和Ｂから差分絶対値総和Ａに更新する（ＳＴ２８）。
【００９１】
一方、ステップＳＴ２７において、比較更新部２６ａでは、差分絶対値総和Ａが大きい場合には更新を行わない。制御部１００ａでは、次の位相の更新および探索領域ｔｐの読み出しへと移行する。ステップＳＴ２２に戻る。
【００９２】
ところで、初期状態では注目素子に差分絶対値総和は格納されていない。その場合は、無条件に最初の差分絶対値総和が格納される。
【００９３】
ステップＳＴ２９において、更新部２７では、ある注目素子の差分絶対値総和が更新された場合のみ、そのときの位相を真の動きベクトルとして、その注目素子の、動きベクトル記憶部２３に予め格納されている動きベクトルを更新する。
【００９４】
そして、位相の更新が終了した時点で（ＳＴ３０）、９つの各注目素子２０ａには探索範囲ｓｐにおける画素差分絶対値総和の最小値と、それが格納されたときの動きベクトルが格納されている。
一方、ステップＳＴ３０において、位相の更新が終了していないと判別した場合には、ステップＳＴ２２の処理に戻る。
【００９５】
図１２は、図８に示した画像処理装置のフレームの参照領域ｔｒから切り出されるブロックを示す図である。
この各動きベクトルは、図１２に示すように参照領域ｔｒ内から切り出される９個の３×３のブロックが、時刻Ｔに探索範囲ｓｐ内のどの位置に移ったかを、３×３のブロック間の差分絶対値総和に基づいて求めたものである。
最終的には読出部４は、各注目素子から、これらの動きベクトルを読み出し出力する。
【００９６】
以上、説明したように、画像処理装置１ａでは、注目素子とその隣接する素子（３×３の素子）の差分絶対値とを加算した差分総和値に基づいて、３×３の画素の動きベクトルを１度に生成することができる。
【００９７】
本実施の形態では、３×３のブロックサイズで探索範囲ｓｐを画素単位で（−１，−１）〜（１，１）の場合のブロックマッチングを実現するメモリを説明したが、この形態に限られるものではない。
例えば、各素子２０ａ間の配線を周辺の５×５の素子２０ａから注目素子に接続するように変更することで、５×５のさらに大きなブロックサイズでのマッチングも可能である。
【００９８】
また、メモリ２ａ内の全素子数を５×５の場合で説明したが、例えばメモリ２ａに１フレーム内全画素数分の素子を設けた場合には、全画素ごとの動きベクトルが、位相の更新を終了させた時点で１度に求められる。
【００９９】
また、動きベクトルを検出する機能を持つ素子２０ａを多数用いてメモリ２ａを構成することで、隣接する複数の画素ごとの動きベクトルを一括して求めることができる。
【０１００】
第３の実施の形態
対応画素検出
上述した第２の実施の形態に係る画像処理装置１ａの画素マッチングでは、ブロックマッチングの最終的な結果として、動きベクトルがメモリ２ａ内に格納される。
【０１０１】
第３の実施の形態に係る画像処理装置１ｂは、注目するフレームとその前後のフレームで、「対応画素」そのものを直接格納し出力する。
ここで、「対応画素」とは、ある注目画素を含み、注目画素の前後のフレームにおいて、注目画素が動いても動きベクトルによって補正して同じ画素として対応させることができる画素を指す。このような格納される「対応画素」は、後述するクラス分類適応処理に利用可能である。
【０１０２】
図１３は、本発明の第３の実施の形態に係る画像処理装置の対応画素の摘出を説明するための概念図である。
横軸はｘ軸、縦軸はｙ軸、斜軸は時間軸である。
本実施の形態では、図１３に示すように、注目画素＋前後２フレーム分の画素、すなわち計５画素を対応画素として、メモリに抽出する場合を考える。
【０１０３】
簡単のために対応画素深索のためのブロックサイズを３×３画素、探索範囲ｓｐを画素単位で（−１，−１）〜（１，１）として説明する。注目画素とそれ以外の前後２フレーム間の対応画素では、等速であるという拘束条件をつけている。
【０１０４】
すなわち、フレームＴ−１において、例えば、（−１，−１）（図１３では、まる７）、の位置に対応画素がある場合、フレームＴ−２では（−２，−２）（図１３では、まる９）、フレームＴ＋１では、（１，１）（図１３では、まる１９）、フレームＴ＋２では（２，２）（図１３では、まる４１）に必ず対応画素が存在する。但し、注目画素の位置を（０，０）（図１３では、まる５）とした。
【０１０５】
本実施の形態に係る画像処理装置１ｂは、注目フレームＴにおける注目画素を中心とした３×３のブロックとそれ以外の各フレームの３×３のブロックとの差分絶対値をそれぞれ演算し、それらを全て足し合わせたものが最小となる動きベクトルを生成する。
最小となる位相において、図１３に示すような３×３のブロックの中心の画素を対応画素として、画像処理装置１ｂの内のメモリ２ｂに格納し出力する。
【０１０６】
図１４は、本発明に係る画像処理装置の第３の実施の形態の機能ブロック図である。
本実施の形態に係る画像処理装置１ｂは、図１４に示すように、メモリ２ｂ、複数のフレームメモリ３ｂ、例えばフレームメモリ３ｂ−Ｔ＋２，Ｔ＋１，Ｔ，Ｔ−１，Ｔ−２、読出部４、および制御部１００ｂを有する。
画像処理装置１ｂと、第２の実施の形態に係る画像処理装置１ａとの大きな相違点は、メモリの構成が異なる点である。
【０１０７】
また、５つのフレームメモリ３ｂ−Ｔ＋２，Ｔ＋１，Ｔ，Ｔ−１，Ｔ−２を有するのに伴い、制御部の動作が異なる。相違点のみ説明する。
【０１０８】
制御部１００ｂは、フレームメモリ３ｂ−Ｔ＋２に、例えば入力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ３ｂ−Ｔ＋１に出力する。
【０１０９】
制御部１００ｂは、フレームメモリ３ｂ−Ｔ＋１に、フレームメモリ３ｂ−Ｔ＋２から出力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ３ｂ−Ｔに出力する。
制御部１００ｂは、フレームメモリ３ｂ−Ｔに、フレームメモリ３ｂ−Ｔ＋１から出力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ３ｂ−Ｔ−１に出力する。
制御部１００ｂは、フレームメモリ３ｂ−Ｔ−１に、フレームメモリ３ｂ−Ｔから出力された画像を記憶させ、所定のタイミングで、その画像をフレームメモリ３ｂ−Ｔ−２に出力する。
制御部１００ｂは、フレームメモリ３ｂ−Ｔ−２に、フレームメモリ３ｂ−Ｔ−１から出力された画像を記憶させる。
【０１１０】
制御部１００ｂは、フレームメモリ３ｂ−Ｔから所定の参照範囲（５×５）の内の画素の画素値をメモリ２ｂに出力する。
制御部１００ｂは、フレームメモリ３ｂ−Ｔ−２から、所定の探索範囲ｓｐＴ−２（９×９）の内の探索領域ｔｐＴ−２（５×５）の画素、およびその位相情報をメモリ２ｂに出力する。
制御部１００ｂは、フレームメモリ３ｂ−Ｔ−１から、所定の探索範囲ｓｐＴ−１（７×７）の内の探索領域ｔｐＴ−１（５×５）の画素、およびその位相情報をメモリ２ｂに出力する。
制御部１００ｂは、フレームメモリ３ｂ−Ｔ＋１から、所定の探索範囲ｓｐＴ＋１（７×７）の内の探索領域ｔｐＴ＋１（５×５）の画素、およびその位相情報をメモリ２ｂに出力する。
制御部１００ｂは、フレームメモリ３ｂ−Ｔ＋２から、所定の探索範囲ｓｐＴ＋２（９×９）の内の探索領域ｔｐＴ＋２（５×５）の画素、およびその位相情報をメモリ２ｂに出力する。
【０１１１】
上述した探索領域ｔｐ（５×５）の内の画素を読み出す場合には、制御部１００ｂは、フレームメモリ３ｂ−Ｔ−２，Ｔ−１，Ｔ＋１，Ｔ＋２それぞれの探索領域ｔｐの内の画素が、例えば図１４に示したように直線状になるように設定する。
【０１１２】
図１５（ａ）は図１４に示した画像処理装置１ｂのメモリ２ｂを示す図である。図１５（ｂ）は対応画素が格納されるメモリを示す図である。図１５（ｃ）は図１５（ａ）に示したメモリ２ｂの素子２０ｂの機能ブロック図である。
【０１１３】
本実施の形態に係る画像処理装置１ｂのメモリ２ｂは、例えば図１５に示すように、５×５の素子２０ｂ−１〜２５を有しており、各素子２０ｂそれぞれは接続されている。
【０１１４】
３×３のブロックマッチングでは、ある注目画素における対応画素を求めるには３×３の素子で十分であるが、本実施の形態に係る画像処理装置１ｂでは、図１４（ｂ）に示すように、隣接する３×３の画素の動きベクトルを１度に求める。
【０１１５】
メモリ２ｂは、図１５（ａ）に示すように、複数の素子２０ｂ、例えば格子状に形成された素子２０ｂ−１〜２５を有する。
【０１１６】
素子２０ｂは、図１５（ｃ）に示すように、複数の画素２１ｂ、例えば画素２１ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２、差分絶対値総和Ａ記憶部２２ｂ−１、差分絶対値総和Ｂ記憶部２２ｂ−２、複数の減算器２４ｂ、例えば減算器２４ｂ−１〜４、複数の絶対値生成部２５ｂ、例えば絶対値生成部２５ｂ−１〜４、加算器２５０、比較更新部２６ｂ、更新部２７ｂ、加算部２８ｂ、複数の対応画素２１０ｂ、例えば対応画素２１０ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２を有する。
【０１１７】
画素２１ｂ−Ｔは、フレームＴの注目する画素（注目画素とも言う）の画素値を記憶する。
画素２１ｂ−Ｔ＋２、画素２１ｂ−Ｔ＋１、画素２１ｂ−Ｔ−１、画素２１ｂ−Ｔ−２それぞれは、図１３に示すように、注目フレームの前後±２フレームにおいて、時空間で注目画素を通る直線上に存在する４つの画素の画素値を記憶する。
【０１１８】
差分絶対値総和Ａ記憶部２２ｂ−１は、格納している注目画素と４つの各画素間でそれぞれ差分絶対値を求めた合計（差分絶対値総和Ａとも言う）を記憶する。
【０１１９】
差分絶対値総和Ｂ記憶部２２ｂ−２は、注目素子の近傍の８つの素子（８近傍の素子とも言う）にある差分絶対値総和Ａの合計（差分絶対値総和Ｂとも言う）を記憶する。
【０１２０】
減算器２４ｂ−１は、画素３ｂ−Ｔ−２から出力された画素値と、画素３ｂ−Ｔから出力された画素値とを減算し絶対値生成部２５ｂ−１に出力する。
減算器２４ｂ−２は、画素３ｂ−Ｔ−１から出力された画素値と、画素３ｂ−Ｔから出力された画素値とを減算し絶対値生成部２５ｂ−２に出力する。
減算器２４ｂ−３は、画素３ｂ−Ｔ＋１から出力された画素値と、画素３ｂ−Ｔから出力された画素値とを減算し絶対値生成部２５ｂ−３に出力する。
減算器２４ｂ−４は、画素３ｂ−Ｔ＋２から出力された画素値と、画素３ｂ−Ｔから出力された画素値とを減算し絶対値生成部２５ｂ−４に出力する。
【０１２１】
絶対値生成部２５−１は、減算器２４ｂ−１から出力された差分値の絶対値（差分絶対値）を加算器２５０に出力する。
絶対値生成部２５−２は、減算器２４ｂ−２から出力された差分絶対値を加算器２５０に出力する。
絶対値生成部２５−３は、減算器２４ｂ−３から出力された差分絶対値を加算器２５０に出力する。
絶対値生成部２５−４は、減算器２４ｂ−４から出力された差分絶対値を加算器２５０に出力する。
【０１２２】
加算器２５０は、絶対値生成部２５−１〜４それぞれから出力された差分絶対値を加算し、差分絶対値和Ａ記憶部２２ｂ−１に出力する。
【０１２３】
比較更新部２６ｂは、加算部２８ｂから出力される差分絶対値Ｂと、差分絶対値総和Ｂ記憶部２２ｂ−２に記憶されている差分絶対値総和Ｂとを比較し、比較の結果、加算部２８ｂから出力された差分絶対値総和Ｂが小さい場合には、その小さい方の差分絶対値総和Ｂを差分絶対値総和Ｂ記憶部２２ｂ−２に記憶させて更新する。
また、比較更新部２６ｂは、上述した更新を行った場合には、差分絶対値総和Ｂ記憶部２２ｂ−２の差分絶対値総和Ｂを更新したことを示す更新情報を更新部２７ｂに出力する。
【０１２４】
更新部２７ｂは、比較更新部２６ｂから、差分絶対値和Ｂが更新されたことを示す更新情報が出力されると、画素２１ｂ−Ｔ−２，Ｔ−１，Ｔ，Ｔ＋１，Ｔ＋２それぞれから出力された画素値を、対応画素２１０Ｔ−２，Ｔ−１，Ｔ＋１，Ｔ＋２に記憶させて更新する。
【０１２５】
加算部２８ｂは、差分絶対値総和Ａ記憶部２２ｂ−１から出力された差分絶対値総和Ａ、および隣接する８つの各素子２０ｂそれぞれから出力された、差分絶対値総和Ａを加算し、比較更新部２６ｂに出力する。
【０１２６】
上述したように、素子２ｂは、注目画素２１ｂ−Ｔと格納された他の４画素（画素２１ｂ−Ｔ＋２、画素２１ｂ−Ｔ＋１、画素２１ｂ−Ｔ−１、画素２１ｂ−Ｔ−２）に対して、それぞれ差分絶対値を演算できる。また、それぞれの差分絶対値の合計を求める演算もできる。
【０１２７】
本実施の形態に係る画像処理装置１ｂのブロックマッチングでは、素子間の配線により、図１５（ａ）に示すように、注目する素子（例えば、図１５（ａ）の素子２０ｂ−５）の８近傍の素子（図１５（ａ）の素子２０ｂ−１〜４，６〜９）に格納されている差分絶対値総和Ａを、注目する素子２０ｂ−５に送ることができる。
【０１２８】
各素子２０ｂには、それら９つの差分絶対値総和Ａを受取り全て加算する処理を有している。そのため注目する素子では、その差分絶対値総和Ａの合計（差分絶対値総和Ｂ）を求め、それを格納できる。
【０１２９】
但し、予め保持されている差分絶対値総和との比較を行い、小さい場合のみ、その値を更新する。
その差分絶対値の総和が更新された場合、その時に格納されている５つの画素（画素２１ｂ−Ｔ、画素２１ｂ−Ｔ＋２、画素２１ｂ−Ｔ＋１、画素２１ｂ−Ｔ−１、画素２１ｂ−Ｔ−２に記憶されている画素）を、それぞれ対応画素２１０ｂ−Ｔ、対応画素２１０ｂ−Ｔ＋２、対応画素２１０ｂ−Ｔ＋１、対応画素２１０ｂ−Ｔ−１、対応画素２１０ｂ−Ｔ−２に予め格納されている画素から全て更新する。
【０１３０】
図１６（ａ）はフレームＴ＋２の探索範囲ｓｐＴ＋２（９×９）と、探索領域ｔｐＴ＋２の位相を示す図である。図１６（ｂ）はフレームＴ＋１の探索範囲ｓｐＴ＋１（７×７）と、探索領域ｔｐＴ＋１の位相を示す図である。図１６（ｃ）はフレームＴ−１の探索範囲ｓｐＴ−１（７×７）と、探索領域ｔｐＴ−１の位相を示す図である。図１６（ｄ）はフレームＴ−２の探索範囲ｓｐＴ−２（９×９）と、探索領域ｔｐＴ−２の位相を示す図である。図１６（ｅ）は図１４に示した画像処理装置１ｂの位相の更新と探索領域ｔｐの読み出しの処理を説明するための図である。
【０１３１】
制御部１００ｂは、図１６（ａ）〜（ｄ）に示すように、位相の座標を設定する。横軸はｘ軸、縦軸はｙ軸である。
制御部１００ｂは、図１６（ｅ）に示すように、例えば探索領域ｔｐＴ＋１の位相を基準として、順に（−１，−１）、（０，−１）、（１，−１）、（−１，０）、（０，０）、（０，１）、（−１，１）、（０，１）、（１，１）と更新して、それに応じて各フレームの探索範囲ｓｐの内の探索領域ｔｐを更新する。
【０１３２】
この場合には、動きベクトルは、この位相それぞれに対応して、（−１，−１）、（０，−１）、（１，−１）、（−１，０）、（０，０）、（０，１）、（−１，１）、（０，１）、（１，１）である。
【０１３３】
また、制御部１００ｂは、各素子２０ｂの画素２１ｂ−Ｔ＋２の部分に探索領域ｔｐＴ＋２の１画素を格納し、各素子２０ｂの画素２１ｂ−Ｔ＋１の部分に探索領域ｔｐＴ＋１の１画素を格納し、各素子２０ｂの画素２１ｂ−Ｔ−１の部分に探索領域ｔｐＴ−１の１画素を格納し、各素子２０ｂの画素２１ｂ−Ｔ−２の部分に探索領域ｔｐＴ−２の１画素を格納する。
【０１３４】
図１７は、図１４に示した画像処理装置の動作を説明するためのフローチャートである。この場合では、注目素子とは、図１５（ａ）において、実際に対応画素が格納される素子の１つと想定する。注目画素はメモリの端にある素子ではないとする。
【０１３５】
まず、注目画素が存在するフレームが存在すると想定するフレームメモリＴから、任意の５×５の参照領域ｔｒの各画素をメモリ２ｂ内の各素子２０ｂごとに格納する。ここで図１５（ｃ）においては、各素子２０ｂの画素２０ｂ−Ｔに参照領域ｔｒの１画素分を格納する（ＳＴ１０１）。
【０１３６】
次に、図１４に示す注目フレームと時間的に前後するフレームメモリ３ｂ−Ｔ＋２、フレームメモリ３ｂ−Ｔ＋１、フレームメモリ３ｂ−Ｔ−１、フレームメモリ３ｂ−Ｔ−２のそれぞれから、探索範囲ｓｐ内で位相を更新しながら、５×５の領域を読み出し、その領域内の各画素をメモリ２ｂ内の各素子２０ｂごとに格納する（ＳＴ１０２）。
【０１３７】
この５×５の領域を「探索領域ｔｐ」と名付ける。但し、上述したように各フレームメモリそれぞれから読み出される探索領域ｔｐの位相は、例えば図１３に示すように時空間で必ず直線上にある。
したがって、各フレームごとにそれぞれ位相を更新するのではなく、ある１つのフレームを基準として更新することで、その他の位相は一意に決まる。
【０１３８】
例えば、探索領域ｔｐＴ＋１の位相を基準とすると、探索領域ｔｐＴ＋１の空間的な位相が（１，１）の場合、フレームメモリＴ＋２から読み出される探索領域ｔｐＴ＋２の空間的な位相は（２，２）、フレームメモリＴ−１から読み出される探索領域ｔｐＴ−１の空間的な位相は（−１，−１）、フレームメモリＴ−２から読み出される探索領域ｔｐＴ−２の空間的な位相は（−２，−２）となる。
【０１３９】
制御部１００ｂは、位相の更新と探索領域ｔｐの読み出しは、例えば図１６に示すように探索領域ｔｐＴ＋１を基準として（−１，−１）〜（１，１）の範囲で９回行い、９回終わると終了する。
【０１４０】
各素子２０ｂの画素２１ｂ−Ｔ−１に探索領域ｔｐＴ−１の１画素を格納する（ＳＴ１０３）。各素子２０ｂの保有する画素２１ｂ−Ｔ−２に探索領域ｔｐＴ−２の１画素を格納する（ＳＴ１０４）。各素子２０ｂの保有する画素２１ｂ−Ｔ＋１に探索領域ｔｐＴ＋１の１画素を格納する（ＳＴ１０５）。各素子２０ｂの画素２１ｂ−Ｔ＋２に探索領域ｔｐＴ＋２の１画素を格納する（ＳＴ１０６）。
上述したステップＳＴ１０３〜１０６の順番は、この順番でなくともよい。
【０１４１】
次に各素子２０ｂ内で、減算器２４ｂ−２および絶対値生成部２５ｂ−２は、差分画素２１ｂ−Ｔに格納された値と画素２１ｂ−Ｔ−１に格納された値の差分絶対値ａを演算する（ＳＴ１０７）。同様に各素子２０ｂ内で、減算器２４ｂ−１および絶対値生成部２５ｂ−１は、画素２１ｂ−Ｔに格納された値と画素２１ｂ−Ｔ−２に格納された値の差分絶対値ｂを演算する（ＳＴ１０８）。同様に各素子２０ｂ内で、減算器２４ｂ−３および絶対値生成部２５ｂ−３は、画素２１ｂ−Ｔに格納された値と画素２１ｂ−Ｔ＋１に格納された値の差分絶対値ｃを演算する（ＳＴ１０９）。同様に各素子２０ｂ内で、減算器２４ｂ−４および絶対値生成部２５ｂ−４は、画素Ｔに格納された値と画素Ｔ＋２に格納された値の差分絶対値ｄを演算する（ＳＴ１１０）。
上述したステップＳＴ１０７〜１１０の順番は、この順番でなくともよい。
【０１４２】
次に、加算器２５０は、差分絶対値ａ、ｂ、ｃ、ｄの和を演算し、差分絶対値総和Ａを生成し、差分絶対値総和Ａ記憶部２２ｂ−１に格納する（ＳＴ１１１）。
次に、配線によって接続されている各注目素子の８近傍の素子、例えば注目素子を図１５に示した素子２０ｂ−５とすると、その素子２０ｂ−５の８近傍の素子２０ｂ−１〜９それぞれにおいて格納されている差分絶対値総和Ａを注目の素子２０ｂ−５が読み込む。
例えば注目の素子２０ｂ−５において、その内の加算部２８ｂは、それらの値と加算器２５０から出力された差分絶対値総和Ａを加算して合計を差分絶対値総和Ｂとして求め（ＳＴ１１２）、比較更新部２６ｂに出力する。
【０１４３】
次に各注目素子２０ｂにおいて、比較更新部２６ｂは、差分絶対値総和Ｂ記憶部２２ｂ−２に、予め格納されている差分絶対値総和（差分絶対値総和Ｃ）と差分絶対値総和Ｂを比較して（ＳＴ１１３）、差分絶対値総和Ｂが小さい場合には、格納する値を差分絶対値総和Ｃから差分絶対値総和Ｂに更新する（ＳＴ１１４，１１５）。逆に、差分絶対値総和Ｃが大きい場合は更新を行わず、次の位相の更新および探索領域ｔｐの読み出しへと移行する。ステップＳＴ１０２に戻る。
初期状態では注目素子２０ｂに差分絶対値総和Ｃは格納されていない。その場合は、無条件に最初の差分絶対値総和Ｂが格納される。
【０１４４】
次に、ある注目素子２０ｂの更新部２７ｂでは、差分絶対値総和Ｂ記憶部２２ｂ−２に記憶されている差分絶対値総和が更新された場合のみ、画素２１ｂ−Ｔ、画素２１ｂ−Ｔ＋２、画素２１ｂ−Ｔ＋１、画素２１ｂ−Ｔ−１、画素２１ｂ−Ｔ−２に格納されている画素値を、それぞれ対応画素２１０ｂ−Ｔ、対応画素２１０ｂ−Ｔ＋２、対応画素２１０ｂ−Ｔ＋１、対応画素２１０ｂ−Ｔ−１、対応画素２１０ｂ−Ｔ−２へ改めて格納する。すなわち、真の対応画素として、その注目素子２０ｂに格納する対応画素が更新される（ＳＴ１１６）。
【０１４５】
以上、位相の更新が終了した時点で、９つの各注目素子２０ｂには探索範囲ｓｐにおける画素差分絶対値総和Ｂの最小値と、それが格納されたときに更新された対応画素が格納されている（ＳＴ１１７）。
一方、ステップＳＴ１１７において、位相の更新が終了されていないと判別された場合には、ステップＳＴ１０２の処理に戻る。
【０１４６】
この演算自体は、図１２に示すように、参照領域ｔｒ内から切り出される９個の３×３のブロックが時刻Ｔに探索範囲ｓｐ内のどの位置に移ったかを、３×３のブロック間の差分絶対値総和に基づいて求めたものである。
【０１４７】
この状態では、その点では、第２の実施の形態に係る画像処理装置１ａの「ブロックマッチング」の場合と同じであるが、第３の実施の形態に係る画像処理装置１ｂは、そのときのブロックの中央の画素を直接、注目画素の「対応画素」として格納および出力する。
また、２フレーム間でのブロックマッチングとは違って、５フレーム間での動きの等速性を仮定した演算により、画像にノイズがある場合でも「対応画素」の検出精度が向上するほか、後述するクラス分類適応処理によるノイズ除去とも親和性がよい。
【０１４８】
最終的には各注目素子から、例えば読出部４は、これらの５フレームにおける対応画素を読み出し出力する。例えば出力された結果は、後述するクラス分類適応処理などに利用される。
【０１４９】
上述した形態に限られるものではない。例えば、本実施の形態では、３×３のブロックサイズで、探索範囲ｓｐを画素単位で（−１，−１）〜（１，１）の場合の対応画素の抽出および出力を行うメモリを説明したが、これに限定されるものではない。
【０１５０】
例えば、各素子間の配線を周辺の５×５の素子から注目素子に接続するように変更することで、５×５のさらに大きなブロックサイズで処理することができる。
また、メモリ２ｂ内の全素子数を５×５の場合で説明したが、例えばメモリに１フレーム内全画素数分の素子を設けた場合には、全画素ごとの対応画素が、位相の更新を終了させた時点で１度に求められる。
【０１５１】
第４の実施の形態
対応画素検出を使ったクラス分類適応処理
図１８は、本発明に係る画像処理装置の第４の実施の形態の機能ブロック図である。
第４の実施の形態に係る画像処理装置１ｃは、第３の実施の形態に係る画像処理装置１ｂのメモリ２ｂを用いて、クラス分類適応処理によるノイズ除去を行う。
【０１５２】
クラス分類適応処理とは、高画質の原画像（教師画像とも言う）を劣化させて、低画質の劣化画像（生徒画像とも言う）を作成し、教師画像と生徒画像間で統計的な学習を行い、その学習したデータを利用して、劣化画像が入力された場合でも、高画質な画像に変換して出力する処理である。
【０１５３】
クラス分類適応処理およびそれによるノイズ除去は、既に出願番号４１０３０４０５８で詳細が述べられているが、本実施の形態に係る画像処理装置１ｃは、具体的に、メモリを用いて上述した処理を行う。
また、例としてＳＤ（Ｓｔａｎｄａｒｄ）フォーマットの入力画像の場合を想定するが、他のフォーマットでも同じ処理が可能である。
【０１５４】
学習
第４の実施の形態に係る画像処理装置１ｃは、図１８に示すように、メモリ２ｂ、複数のフレームメモリ３ｂ、例えばフレームメモリ３ｂ−Ｔ＋２，Ｔ＋１，Ｔ，Ｔ−１，Ｔ−２、読出部４ｃ、ノイズ付加部５、クラスコード生成部６、正規方程式加算部７、係数記憶部（ＲＡＭ）８、および制御部１００ｃを有する
【０１５５】
画像処理装置１ｃと、第３の実施の形態に係る画像処理装置１ｂとの大きな相違点は、ノイズ付加部５、クラスコード生成部６、正規方程式加算部７、および係数記憶部（ＲＡＭ）８をさらに有する点である。相違点のみ説明する。
【０１５６】
ノイズ付加部５は、入力画像に、ノイズ成分を付加する。例えば、ノイズ付加部５は、コンピュータシミュレーション的にランダムノイズを発生させ付加する。
【０１５７】
図１９は、図１８に示した画像処理装置１ｃのノイズ付加部の第１の具体例を示す機能ブロック図である。
第１の具体例に係るノイズ付加部５−１は、図１９に示すようにＲＦモジュレータ（ＲＦ　ＭＯＤＵＬＡＴＯＲ）５１、アテネータ減衰器５２、およびＲＦデモジュレータ（ＲＦ　ＤＥＭＯＤＵＬＡＴＯＲ）５３を有する。
【０１５８】
ノイズ付加部５−１において、ＲＦモジュレータ（ＲＦ　ＭＯＤＵＬＡＴＯＲ）５１では、入力画像、例えばＳＤ画像に応じてＲＦ変調処理し、アテネータ減衰器５２により減衰させ、ＲＦデモジュレータ（ＲＦ　ＤＥＭＯＤＵＬＡＴＯＲ）５３によりＲＦ復調処理を行い、ノイズを付加する。
【０１５９】
図２０は、図１８に示した画像処理装置１ｃのノイズ付加部の第２の具体例を示す機能ブロック図である。
第２の具体例に係るノイズ付加部５−２は、図２０に示すようにＲＦモジュレータ５１、アテネータ減衰器５２、ＲＦデモジュレータ５３、減算器５４、および加算器５５を有する。
【０１６０】
ノイズ付加部５−２において、ＲＦモジュレータ（ＲＦ　ＭＯＤＵＬＡＴＯＲ）５１では、背景が一様な画像（レベルが一様）をＲＦ変調処理し、アテネータ減衰器５２により減衰し、ＲＦデモジュレータ（ＲＦ　ＤＥＭＯＤＵＬＡＴＯＲ）５３によりＲＦ復調処理を行い、減算器５４により、もとの背景が一様な画像との差分処理が行われノイズ成分のみが加算器５５に出力され、加算器５５では、そのノイズ成分が入力画像（ＳＤ画像）に加算されて出力される。
【０１６１】
図２１は、図１８に示した画像処理装置１ｃのノイズ付加部の第３の具体例を示す機能ブロック図である。
第３の具体例に係るノイズ付加部５−３は、図２１に示すように、ＲＦモジュレータ（ＲＦ　ＭＯＤＵＬＡＴＯＲ）５１、アテネータ減衰器５２、ＲＦデモジュレータ（ＲＦ　ＤＥＭＯＤＵＬＡＴＯＲ）５３、減算器５４、加算器５５、およびフレーム加算器５６を有する。
【０１６２】
ノイズ付加部５−３において、ＲＦモジュレータ５１では、背景が一様な画像（レベルが一様）をＲＦ変調処理し、アテネータ減衰器５２により減衰し、ＲＦデモジュレータ５３によりＲＦ復調処理を行い、フレーム加算器５６および減算器５４によりノイズ除去を行った画像と原の画像間での差分をとり、ノイズ成分だけを抽出し、加算器５５により、このノイズ成分が入力画像（ＳＤ画像）に加算されて出力される。
【０１６３】
読出部４ｃは、素子ごとの対応画素を読み出し、クラスコード生成部６および正規方程式加算部７に出力する。
【０１６４】
クラスコード生成部６は、読出部４ｃから出力された素子ごとの対応画素の値に基づいて、ノイズ成分を検出して、クラスコードを生成し、正規方程式加算部７に出力する。
【０１６５】
図２２は、図１８に示した画像処理装置１ｃのクラスコード生成部のクラスコードを発生（ノイズ成分検出）させる原理を説明するための図である。
【０１６６】
クラスコード生成部６は、例えば図２２に示すように、メモリ２ｂから順次出力される対応画素それぞれに対し、ノイズ成分を検出し、それをクラスコードとして記述し発生させる。
メモリ２ｂにより抽出された１つの対応画素は、時刻Ｔ−２〜Ｔ＋２の５フレーム間で、基本的に動きに追従して押出した同じ画素とみなせるので、速い動きではぼけ等の劣化は見られる場合もあるが、基本的には時間的な変動はほとんどない。
【０１６７】
そのため、出力された対応画素内の値の変動がある場合、それはノイズであるとみなせる。したがって、そのノイズの変動をクラスコードとして記述することで、ノイズの変動に応じた後述する予測演算ができる。
【０１６８】
クラスコード生成部６は、対応画素内の５画素の最大値ｂ、最小値ａを求め、最大値ｂおよび最小値に応じたコード、例えば、平均値、具体的には、（最小値ａ＋最大値ｂ）／２より各対応画素のレベルが上ならば１、下ならば０であるような平均値コードを生成する。例えば、平均値コードは、図２２に示したような場合には、「１０１００」である。
【０１６９】
また、クラスコード生成部６は、対応画素内でのダイナミックレンジ（最大値ｂ−最小値ａ）を求め、それを２進数で表現し、ダイナミックレンジコードを生成する。
【０１７０】
例えば、ダイナミックレンジが１８の場合、ダイナミックレンジコードは、「１００１０」である。
クラスコード生成部６は、平均値コードおよびダイナミックレンジコードを合成して、クラスコードを生成する。
【０１７１】
例えば、上述した場合には、平均値コード「１０１００」と、ダイナミックレンジコード「１００１０」を合成して、クラスコード「１０１００１００１０」を生成する。
ここで、平均値コードは、ノイズの時間変動であり、ダイナミックレンジコードは、ノイズレベルの大きさを表現している。
画像処理装置１ｃは、このコードごとに分類することでノイズの変動やレベルに的確に対応した処理が行うことができる。
【０１７２】
正規方程式加算部７は、具体的には、クラスコード生成部６から出力されたクラスコードごとに、読出部４から出力された対応画素と教師画像の画素とに基づいて正規方程式を生成し、クラスコードごとの予測係数を生成する。
【０１７３】
具体的には、正規方程式加算部７は、対応画素をｘＴ＋２、ｘＴ＋１、ｘＴ、ｘＴ−１、ｘＴ−２として、フレームメモリＴの対応画素ｘＴに対してノイズを付加する前の教師画像から同じ位置の画素をｙとして、数式（２）に示すような正規方程式を生成する。
【０１７４】
【数２】
2004078863.tif 000004
【０１７５】
ここで、ａＴ＋２、ａＴ＋１、ａＴ、ａＴ−１、ａＴ−２は推定すべき予測係数である。
正規方程式加算部７は、クラスごとに対応画素と教師画像の画素を、数式（２）に代入して正規方程式を生成し、必要な数の正規方程式が求められたとき最小自乗推定によって、この予測係数を推定する。
【０１７６】
正規方程式加算部７は、クラスコードごとの予測係数を決定し、係数記憶部（ＲＡＭ）８に出力する。
係数記憶部（ＲＡＭ）８は、正規方程式加算部７から出力された、クラスコードごとの予測係数を記憶する。
【０１７７】
制御部１００ｃは、各フレームメモリＴ−２，Ｔ−１，Ｔ，Ｔ＋１，Ｔ＋２に保持されている画像から参照領域ｔｒを読み出し、メモリ２ｃに格納する。また、読み出された参照領域ｔｒに対応している探索範囲ｓｐを他のフレームメモリに設定し、位相を更新しながら探索領域ｔｐを読み出しメモリ２ｃに格納していく。
【０１７８】
制御部１００ｃは、読み出す参照領域ｔｒとして、例えばラスタスキャンのような順序で、フレームメモリＴ内で適当に位相をシフトしながら順次読み出していき、メモリ２ｃが最終的にフレームメモリ内の全画素の対応画素を出力できるようにする。
【０１７９】
図２３は、図１８に示した画像処理装置１ｃが、クラス分類適応処理のために、参照領域ｔｒのメモリに読み出すべき手順を説明するための図である。図２３（ａ）はシフト前の状態を示す図である。図２３（ｂ）は、シフト後の状態を示す図である。
【０１８０】
例えば、制御部１００ｃは、メモリ２ｂが５×５の場合、図２３（ａ），（ｂ）に示すように３×３画素ごとにシフトして参照領域ｔｒを切り出せば、対応画素がフレームメモリＴ内の全ての画素位置で得る。このため、フレームメモリＴの全ての画素を処理できる。この場合、１つの参照領域ｔｒの読み出しに対し、メモリ２ｃは位相の異なる９つの対応画素を得て、この９つの対応画素を順次出力する。
【０１８１】
以上、説明した構成の画像処理装置の動作を、相違点のみ簡単に説明する。
ノイズ付加部５では、入力画像にノイズ成分が付加される。
フレームメモリＴ−２，Ｔ−１，Ｔ，Ｔ＋１，Ｔ＋２では、ノイズ成分が付加された入力画像を順次、記憶する。
【０１８２】
制御部１００ｃでは、各フレームメモリから、所定の探索範囲ｓｐの内の探索領域ｔｐの画素の画素値、および位相情報が読み出され、メモリ２ｂに出力される。
読出部４ｃでは、メモリ２ｂの各素子２０ｂごとの対応画素が読み出され、クラスコード生成部６および正規方程式加算部７に出力される。
【０１８３】
クラスコード生成部６では、読出部４ｃから出力された素子ごとの対応画素の値に基づいて、ノイズ成分が検出され、上述した図２２に示すように所定の処理によりクラスコードが生成され、正規方程式加算部７に出力される。
【０１８４】
正規方程式加算部７では、クラスコードごとに、読出部４から出力された対応画素と教師画像の画素とに基づいて、上述した所定の処理により正規方程式が生成され、クラスコードごとの予測係数が生成され、係数記憶部（ＲＡＭ）８に記憶される。
【０１８５】
以上、説明したように、本実施の形態に係る画像処理装置１ｃでは、入力画像にノイズ成分を付加するノイズ付加部５と、フレームメモリ３ｂ−Ｔ＋２，Ｔ＋１，Ｔ，Ｔ−１，Ｔ−２と、メモリ２ｂと、メモリ２ｂの内の素子ごとに対応画素を読み出す読出部４ｃと、その対応画素に応じてクラスコードを生成するクラスコード生成部６と、クラスコード、対応画素および入力画素に応じて正規方程式を生成して予測係数を生成する正規方程式加算部７と、予測係数を記憶する係数記憶部（ＲＡＭ）８と、所定の制御を行う制御部１００ｃとを設けたので、所定の入力画像にノイズ成分が付加され、入力画像、およびノイズ成分が付加された画像に基づいて、クラスコードを生成して、学習を行うことができる。
この学習結果の情報は、例えば、第５の実施の形態に係る画像処理装置によりノイズ成分が付加された画像から元の高画質の画像を生成する際に用いられる。
【０１８６】
第５の実施の形態
予測
図２４は、本発明に係る画像処理装置の第５の実施の形態の機能ブロック示す図である。
本実施の形態に係る画像処理装置１ｄは、例えば第４の実施の形態に係る画像処理装置１ｃで説明したクラスコードを用いて、入力画像のノイズ成分を推定し、もとの高画質な画像を生成する。
【０１８７】
画像処理装置１ｄは、例えば図２４に示すように、メモリ２ｄ、複数のフレームメモリ３ｂ、例えばフレームメモリ３ｂ−Ｔ＋２，Ｔ＋１，Ｔ，Ｔ−１，Ｔ−２、読出部４ｃ、クラスコード生成部６、係数記憶部８ｄ、推定演算部９、および制御部１００ｄを有する
【０１８８】
本実施の形態に係る画像処理装置１ｄと、第４の実施の形態に係る画像処理装置１ｃとの、大きな相違点は、係数記憶部８ｄ、推定演算部９を有することである。
【０１８９】
画像処理装置１ｄの制御部１００ｄは、ノイズの予測処理を行う場合に、入力画像の５フレーム分（現フレームと前後２フレーム分）を、フレームメモリ３ｂ−Ｔ＋２〜Ｔ−２それぞれに保持する。
【０１９０】
制御部１００ｄは、各フレームメモリ３ｂＴに保持されている画像から参照領域ｔｒを読み出し、メモリ２ｄに格納する。
制御部１００ｄは、読み出された参照領域ｔｒに対応している探索範囲ｓｐを他のフレームメモリ３ｂ−Ｔ−２、Ｔ−１、Ｔ＋１、Ｔ＋２に設定し、位相を更新しながら探索領域ｔｐを読み出しメモリ２ｄに格納していく。
【０１９１】
制御部１００ｄは、読み出す参照領域ｔｒとしては、例えばラスタスキャンのような順序で、フレームメモリＴ内で所定の順番に位相をシフトしながら順次読み出していき、メモリ２ｄが最終的にフレームメモリ内の全画素の対応画素を出力する。
【０１９２】
例えば、制御部１００ｄは、メモリ３ｄが５×５の場合、図２３（ａ），（ｂ）に示すように３×３画素ごとにシフトして参照領域ｔｒを切り出せば、フレームメモリＴ内の全ての画素位置で対応画素を得る。このため、フレームメモリＴの全ての画素を処理できる。この場合、１つの参照領域ｔｒの読み出しに対し、メモリ２ｄは位相の異なる９つの対応画素を得て、この９つの対応画素を順次出力する。
【０１９３】
クラスコード生成部６は、メモリ２ｄから順次出力される対応画素それぞれに、画素のノイズ成分に基づいて、クラスコードを生成する。
【０１９４】
係数記憶部（ＲＯＭ）８ｄは、例えば、第４の実施の形態に係る画像処理装置１ｃで学習時に係数記憶部８に記憶されたクラスコードごとの予測係数を記憶する。
係数記憶部８ｄは、クラスコード生成部６から出力されたクラスコードに応じて、記憶されているクラスコードに応じた予測係数を出力する。
【０１９５】
推定演算部９は、係数記憶部８ｄから出力された予測係数および対応画素に応じて、予測値を推定し出力する。
具体的には、推定演算部９は、係数記憶部８ｄから出力された予測係数ａＴ＋２、ａＴ＋１、ａＴ、ａＴ−１、ａＴ−２と、対応画素ｘＴ＋２、ｘＴ＋１、ｘＴ、ｘＴ−１、ｘＴ−２に応じて、例えば上述した数式（２）により予測値ｙを算出して出力する。この予想値ｙはノイズ成分が除去された画素値である。
【０１９６】
以上、説明した構成の画像処理装置の動作を、相違点のみ簡単に説明する。
制御部１００ｄは、フレームメモリＴ−２，Ｔ−１，Ｔ，Ｔ＋１，Ｔ＋２に、ノイズ成分が付加された入力画像を記憶する。
【０１９７】
制御部１００ｄでは、各フレームメモリから、所定の探索範囲ｓｐの内の探索領域ｔｐの画素の画素値、および位相情報が読み出され、メモリ２ｄに出力される。
読出部４ｃでは、メモリ２ｄの各素子２０ｄごとの対応画素が読み出され、クラスコード生成部６および推定演算部９に出力される。
【０１９８】
クラスコード生成部６では、読出部４ｃから出力された素子ごとの対応画素の値に基づいて、ノイズ成分が検出され、上述した図２３に示すように所定の処理によりクラスコードが生成され、推定演算部９に出力される。
【０１９９】
推定演算部９では、係数記憶部（ＲＯＭ）８ｄから出力された予測係数および対応画素に応じて、上述した所定の処理を行い、予測値が推定され出力される。
【０２００】
以上、説明したように、本実施の形態に係る画像処理装置１ｄでは、フレームメモリ３ｂ−Ｔ＋２，Ｔ＋１，Ｔ，Ｔ−１，Ｔ−２と、メモリ２ｄと、メモリ２ｄの内の素子ごとに対応画素を読み出す読出部４ｃと、その対応画素に応じてクラスコードを生成するクラスコード生成部６と、クラスコードに応じた係数を記憶する係数記憶部（ＲＯＭ）８ｄと、係数記憶部（ＲＯＭ）８ｄから出力された予測係数および対応画素に応じて、予想値を生成する推定演算部９と、所定の制御を行う制御部１００ｄとを設けたので、フレームメモリＴに保持されているノイズがある入力画像に対して、１画素単位でノイズ除去をした画素を出力することができる。
【０２０１】
また、上述した構成により、クラス分類適応処理に必要な画素などを直接に探索および出力できる。これにより、例えば、動きベクトル検出後に動きベクトルによる位相補正を行い、必要な画素抽出するような手順を簡略化することができる。
【０２０２】
第６の実施の形態
図２５は、本発明に係る画像処理装置の第６の実施の形態の機能ブロック図である。図２６（ａ）は図２５に示した画像処理装置のメモリの構成図、図２６（ｂ）は図２６（ａ）に示したメモリの予想画素が格納される素子を示す図、図２６（ｃ）は図２６（ａ）に示したメモリの素子の機能ブロック図である。
【０２０３】
本実施の形態に係る画像処理装置１ｅは、図２５に示すように、メモリ２ｅ、複数のフレームメモリ３ｂ、例えばフレームメモリ３ｂ−Ｔ＋２，Ｔ＋１，Ｔ，Ｔ−１，Ｔ−２、係数記憶部（ＲＯＭ）８ｅ、および制御部１００ｅを有する。
【０２０４】
画像処理装置１ｅは、メモリ２ｅの素子２０ｅそれぞれに、第５の実施の形態に係る画像処理装置１ｄのクラス分類適応処理機能を有することである。相違点のみ説明する。
【０２０５】
メモリ２ｅは、例えば図２６（ａ）に示すように、５×５の素子２０ｅ−１〜２５を有しており、各素子２０ｅが配線により接続されている。
【０２０６】
素子２０ｅは、図２６（ｃ）に示すように、複数の画素２１ｂ、例えば画素２１ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２、差分絶対値総和Ａ記憶部２２ｂ−１、差分絶対値総和Ｂ記憶部２２ｂ−２、複数の減算器２４ｂ、例えば減算器２４ｂ−１〜４、複数の絶対値生成部２５ｂ、例えば絶対値生成部２５ｂ−１〜４、加算器２５０、比較更新部２６ｅ、クラスコード生成部６ｅ、推定演算部９ｅ、および加算部２８ｂを有する。
【０２０７】
クラスコード生成部６ｅは、比較更新部２６ｅから、差分絶対値総和を更新したことを示す更新情報と、画素２１ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２から出力された画素値に応じて、クラスコードを生成し、係数記憶部（ＲＯＭ）８ｅに出力する。
【０２０８】
具体的には、クラスコード生成部６ｅは、比較更新部２６ｅから、差分絶対値総和を更新したことを示す更新情報が入力されると、画素２１ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２から出力された画素値に応じたクラスコードを生成し、係数記憶部（ＲＯＭ）８ｅに出力する。
【０２０９】
推定演算部９ｅは、係数記憶部（ＲＯＭ）８ｅから出力された予測係数、および画素２１ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２から出力された画素に基づいて、予測値を推定し出力する。
【０２１０】
以上説明した構成の画像処理装置１ｅの動作を、相違点のみ簡単に説明する。
制御部１００ｅは、ノイズの予測処理を行う場合に、入力画像の５フレーム分（現フレームと前後２フレーム分）を、フレームメモリ３ｂ−Ｔ＋２〜Ｔ−２それぞれに保持する。
【０２１１】
制御部１００ｅは、各フレームメモリ３ｂＴに保持されている画像から参照領域ｔｒを読み出し、メモリ２ｅに格納する。
制御部１００ｅは、読み出された参照領域ｔｒに対応している探索範囲ｓｐを他のフレームメモリ３ｂ−Ｔ−２、Ｔ−１、Ｔ＋１、Ｔ＋２に設定し、位相を更新しながら探索領域ｔｐを読み出しメモリ２ｅに格納していく。
【０２１２】
制御部１００ｅは、読み出す参照領域ｔｒとしては、例えばラスタスキャンのような順序で、フレームメモリＴ内で所定の順番に位相をシフトしながら順次読み出していき、メモリ２ｅが最終的にフレームメモリ内の全画素の対応画素を出力できるようにする。
【０２１３】
メモリ２ｅの内の素子２０ｅにおいて、クラスコード生成部６ｅでは、比較更新部２６ｅから、差分絶対値総和を更新したことを示す更新情報が入力されると、画素２１ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２から出力された画素値に応じたクラスコードを生成し、係数記憶部（ＲＯＭ）８ｅに出力する。
【０２１４】
係数記憶部（ＲＯＭ）８ｅでは、クラスコード生成部６ｅから出力されたクラスコードに応じて、記憶している係数が推定演算部９ｅに出力される。
推定演算部９ｅでは、係数記憶部（ＲＯＭ）８ｅから出力された予測係数、および画素２１ｂ−Ｔ，Ｔ＋２，Ｔ＋１，Ｔ−１，Ｔ−２から出力された画素に基づいて、予測値が推定され出力される。
【０２１５】
推定演算部９では、係数記憶部（ＲＯＭ）８ｅから出力された予測係数および対応画素に応じて、上述した所定の処理を行い、予測値が推定され、例えばフレームメモリ等へ出力される。
【０２１６】
以上、説明したように、本実施の形態に係る画像処理装置１ｅでは、メモリ２ｅの各素子２０ｅごとに、クラスコード生成部６ｅ、推定演算部９ｅをさらに設けたことにより、クラス分類適応処理機能を持たせることができる。
【０２１７】
具体的には、差分絶対値総和が更新されるたびに、画素Ｔ、画素Ｔ＋１、画素Ｔ＋２、画素Ｔ−１、画素Ｔ−２に格納されている画素を使って、クラス分類適応処理によるノイズ除去がなされ、予測された画素がその都度出力される。画素の出力のたびに、別のフレームメモリなどに、その値がかき換えられるようにしておくと最終的にノイズ除去後の画像が得られる。
【０２１８】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。
例えば、第４の実施の形態に係る画像処理装置１ｃと、第５の実施の形態に係る画像処理装置１ｄとをまとめてもよい。こうすることにより、ノイズ成分を学習してクラスコードを生成し、生成されたクラスコードに応じてノイズ成分を推定し高画質の画像を生成することができる。
【０２１９】
第７の実施の形態
プレーンマッチング
図２７は、本発明に係る画像処理装置に係る第７の実施の形態の動作を説明するための概念図である。
例えば、図２７（ａ）に示すように、入力画像の中に、時間の経過により移動するオブジェクトｏｂ１，ｏｂ２が存在し、所定の大きさの参照ブロックを設定した場合に、図２７（ｂ）に示すように、参照ブロック内に複数のオブジェクトが含まれてしまう場合がある。
【０２２０】
ブロックマッチングでは、ブロック全体の動きとして、動きベクトルを捉えるものであるため、参照ブロックの注目画素が本来持っている動き（オブジェクトｏｂ１）が別のオブジェクト（オブジェクトｏｂ２）の動きベクトルになってしまったり、両者のオブジェクトの中間の動きが求まってしまう場合がある。
【０２２１】
本実施の形態に係る画像処理装置では、後述するプレーンマッチングを行い、参照ブロック内に複数のオブジェクトが含まれている場合であっても、正確な動きベクトルを生成する。
【０２２２】
図２８は、本発明に係る画像処理装置の第７の実施の形態のプレーンマッチングの動作を説明するための概念図である。図２８を参照しながら、画像処理装置のプレーンマッチングの動作を説明する。
【０２２３】
プレーンマッチングは、例えば、図２８（ａ）に示すようにオブジェクトｏｂ１，２が存在する場合に、図２８（ｂ）に示すように参照ブロックを設定し、図２８（ｃ）に示すように参照ブロックの内から注目画素と同一のオブジェクトだけの画素を摘出し、抽出した画素に基づいてマッチングを行う。
画像中から、プレーンマッチングのために、同一のオブジェクトごとの画素を抽出することを「プレーン分離」と言う。
【０２２４】
図２９は、本発明に係る画像処理装置の第７の実施の形態の機能ブロック図である。
本実施の形態に係る画像処理装置１ｆは、図２９に示すように、メモリ２ｆ、複数のフレームメモリ３ｆ、例えばフレームメモリ３ｆ−Ｔ，Ｔ−１、読出部４ｆ、制御部１００ｆ、およびプレーン分離部１１０を有する。相違点のみ説明する。
【０２２５】
メモリ２ｆは、例えば図２９に示すように、入力画像のサイズをｗ×ｂとすると、（ｗ−２）×（ｈ−２）のようにほぼ全画面の素子数を有する。
画像処理装置１ｆは、動きベクトルの探索を行うために、例えば予めフレームメモリ３ｆ−Ｔ−１の全画面にプレーン分離処理を行い、各画素のプレーン情報を、メモリ２ｆの内の全素子に格納する処理を行う。
【０２２６】
フレームメモリ３ｆ−Ｔは、時刻Ｔのフレームを記憶する。フレームメモリ３ｆ−Ｔは、例えば探索範囲ｓｐ（ｗ×ｈ）の大きさのフレームメモリであり、例えば制御部１００ｆにより、所定の探索領域ｔｐ（ｗ−２）×（ｈ−２）の内の画素が読出され、メモリ２ｆに出力される。
【０２２７】
フレームメモリ３ｆ−Ｔ−１は、時刻Ｔ−１のフレームを記憶する。フレームメモリ３ｆ−Ｔ−１は、例えばｗ×ｈの大きさのフレームメモリであり、例えば制御部１００ｆにより、所定の参照領域ｔｒ（ｗ−２）×（ｈ−２）の内の画素が読み出され、メモリ２ｆに出力される。
【０２２８】
読出部４ｆは、メモリ２ｆの各素子ごとに記憶されている動きベクトルを読み出して出力する。
プレーン分離部１１０は、フレームメモリ３ｆ−Ｔ−１に記憶されている画像データに基づいて、後述するプレーン分離処理を行い、処理の結果のプレーン情報をメモリ２ｆに出力する。
制御部１００ｆは、後述する所定の処理を行う。
【０２２９】
各構成要素について、以下、詳細に説明する。
メモリの構成
図３０（ａ）は図２９に示した画像処理装置のメモリを模式的に示す図である。図３０（ｂ）は図３０（ａ）の一部を拡大した図である。図３０（ｃ）は図３０（ｂ）に示したメモリの素子の機能ブロック図である。
【０２３０】
メモリ２ｆは、図３０（ａ），（ｂ）に示すように、複数の素子２０ｆを有する。
素子２０ｆは、図３０（ｃ）に示すように、画素２０−１、画素２０−２、画素差分記憶部２２ｆ−１、差分総和記憶部２２ｆ−２、動きベクトル記憶部２３、減算器２４、絶対値生成部２５、比較更新部２６ｆ、更新部２７、加算部２８ｆ、プレーン情報記憶部２９、およびスイッチ（Ｓｗｉｔｃｈ）３０を有する。
【０２３１】
メモリ２ｆは、素子２０ｆ間の配線により、例えば図１５に示すように、注目する素子（図１５では素子２０ｆ−５）の８近傍の素子（図１５では素子２０ｆ−１〜４，６〜９）に格納されている差分絶対値を、注目する素子に出力する。
但し、各素子２０ｆごとに、出力するか否かの判定を、スイッチ（ｓｗｉｔｃｈ）３０が行う。
【０２３２】
また、メモリ２ｆは、第１の実施の形態に係るメモリ２ａと同様に、単に１画素を格納するだけでなく２画素分、格納でき、それらの差分絶対値を演算できる。また、その結果である差分絶対値を格納する。
また、本実施の形態に格納される画素に対応した「プレーン情報」が格納できる点が、第２の実施の形態に係る画像処理装置とは異なる。
以下、各構成要素の相違点のみ説明する。
【０２３３】
画素差分記憶部２２ｆ−１は、記憶している差分絶対値を加算部２８ｆへ出力する。
差分総和記憶部２２ｆ−２は、加算部２８ｆから出力されたデータと、差分総和記憶部２２ａ−２に記憶されている総和差分絶対値を総和に基づいて、更新を差分総和記憶部２２ａ−２に出力する。
【０２３４】
加算部２８ｆは、スイッチ３０から出力されたデータ、および画素差分記憶部２２ｆ−１に記憶されている総和差分絶対値に基づいて、それらを加算し、比較更新部２６ｆに出力する。
【０２３５】
比較更新部２６ｆは、加算部２８ｆから出力された差分絶対値総和Ａと、差分総和記憶部２２ａ−２に記憶されている差分絶対値総和（差分絶対値総和Ｂと言う）とを比較して、比較の結果、差分絶対値総和Ａが小さい場合には、差分絶対値総和Ａを差分総和記憶部２２ｆ−２に記憶させて、差分絶対値総和を更新する。
【０２３６】
比較更新部２６ｆは、上述した更新を行った場合には、更新を行ったことを示す更新情報を更新部２７に出力する。
比較更新部２６ｆは、比較の結果、差分絶対値総和Ａが大きい場合には、差分総和記憶部２２ａ−２に記憶されている差分絶対値総和Ｂの更新を行わない。
【０２３７】
更新部２７ｆは、比較更新部２６ｆから出力された更新情報、および位相情報に基づいて、動きベクトル記憶部２３に記憶されている動きベクトルを更新する。
具体的には、更新部２７ｆは、比較更新部２６ｆから差分絶対値が更新されたことを示す更新情報が出力した場合には、その時の位相を動きベクトルとして、動きベクトル記憶部２３に記憶させることで、動きベクトルを更新する。
【０２３８】
加算部２８ｆは、画素差分記憶部２２ａ−１から出力された差分絶対値ａ、および、スイッチ３０から出力された、その画素の近傍の８つの素子２０ａ（８近傍の素子２０ａとも言う）それぞれの差分絶対値ａに基づいて、それらを加算して、差分絶対値総和Ａを生成し、比較更新部２６ｆに出力する。
プレーン情報記憶部２９は、後述するプレーン情報を記憶する。
【０２３９】
スイッチ３０は、プレーン情報の一致の判定を行い、各素子２０ｆの差分絶対値ａを加算部２８ｆに出力するゲートの役割を有する。
例えばスイッチ（Ｓｗｉｔｃｈ）３０は、注目する素子２０ｆのプレーン情報と、他の８近傍の素子２０ｆのプレーン情報に応じて、差分絶対値を加算部２８ｆに出力する。
【０２４０】
具体的には、スイッチ３０は、注目する素子２０ｆのプレーン情報記憶部２９に記憶されているプレーン情報と、他の８近傍の素子２０ｆそれぞれのプレーン情報記憶部２９に記憶されているプレーン情報とを比較し、一致している場合には、画素差分記憶部２２ｆ−１に記憶されている差分絶対値を加算部２８ｆに出力し、一致していない場合には８近傍の素子２０ｆそれぞれに記憶されている差分値絶対値を加算部２８ｆに出力しない。
【０２４１】
各素子２０１の総和が更新された場合、その時の動きベクトル（動きベクトル）も予め格納されているものから更新される。
【０２４２】
プレーン分離とプレーン情報
図３１は、図２９に示した画像処理装置のプレーン分離部の処理を説明するための図である。
入力画像中の背景やそれぞれのオブジェクトなどの各要素をプレーンと言う。また、それぞれのプレーンに分離することをプレーン分離と言う。
【０２４３】
プレーン分離部１１０は、例えば図３１に示すように「プレーン１にはＬＥＶＥＬ１を割り当てる」というようにプレーン分離された各プレーンに所定の値（ラベル）を割り当てる。画像中の各画素がどのプレーンに属しているかを表したものを、プレーン情報と言う。
以下、プレーン分離の手法の一具体例を説明する。
【０２４４】
図３２は、画像処理装置１ｆのプレーン分離部の一具体例を示す機能ブロックである。
例えばプレーン分離部１１０は、入力された画像を、画像中の同じオブジェクトや背景などでは、その内部の輝度や色は同じ様なレベルであるということを利用して、所定のプレーンに分離する。
【０２４５】
プレーン分離部１１０は、例えば図３２に示すように、ヒストグラム演算部１１１、ピーク検出部１１２、谷検出部１１３、消去部１１４、谷統合部１１５、およびラベリング部１１６を有する。
【０２４６】
ヒストグラム演算部１１１は、入力画像に応じて、レベル（輝度あるいは色）ごとのヒストグラム（度数分布）を生成し、保持する。
図３３は、図３２に示した画像処理装置１ｆのプレーン分離部のヒストグラム演算部１１１が生成するヒストグラムの一具体例を示す図である。横軸はレベル、縦軸はヒストグラム（度数）を示す。
【０２４７】
ヒストグラム演算部１１１は、入力画像に応じて、例えば図３３に示すようにヒストグラムを生成する。
ヒストグラム演算部１１１は、生成したヒストグラム（度数分布）を、ピーク検出部１１２に出力する。
【０２４８】
ピーク検出部１１２は、入力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル（ピーク）を検出し、谷検出部１１３に出力する。
例えば、ピーク検出部１１２は、ヒストグラム演算部１１１から出力されたヒストグラム、または消去部１１４から出力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル（ピーク）を検出し、谷検出部１１３に出力する。
【０２４９】
谷検出部１１３は、ヒストグラムのピークに基づいて、例えば、そのピークを含むオブジェクトの度数を特定する。
例えば、谷検出部１１３は、ピーク検出部１１２から出力された、最大の度数のレベル（ピーク）に基づいてヒストグラムの、そのレベルピークの両脇の谷を２点それぞれ検出する。
【０２５０】
具体的には、谷検出部１１３は、ピークを中心とした所定の範囲内、例えば＋ａの内で最も度数の少ない点を右側の谷とし、所定の範囲内、例えば−ａの内で、最も度数の少ない点を左側の谷とする。
【０２５１】
消去部１１４は、例えば、所定のピークを含むオブジェクトの度数を消去する。
例えば、消去部１１４は、ヒストグラムのピークを中心として、左右の２点の谷に囲まれるレベルに対応する度数を、ヒストグラムの中から消去し、ピーク検出部１１２に出力する。
【０２５２】
図３４は、図３２に示した画像処理装置のプレーン分離部の消去部の動作を説明するためのヒストグラムの一具体例である。
消去部１１４は、例えば図３４に示すように、所定のピークを中心として、左右の２点の谷に囲まれるレベルに対応する度数を、ヒストグラムの中から消去し、ピーク検出部１１２に出力する。
【０２５３】
消去部１１４は、ヒストグラム中の全てのレベルに対する度数が０になったと判別した場合には、谷の度数を谷統合部１１５に出力する。
【０２５４】
谷統合部１１５は、消去部１１４から出力された各谷の度数に基づいて、レベルの近い谷を統合し、所定のラベリング部１１６に出力する。
具体的には、谷統合部１１５は、各谷に対してレベルの近い谷は統合する。
より具体的には、谷統合部１１５は、谷の検出された順を優先して、先に検出された谷の所定の範囲、例えば±ｂの範囲に含まれる他の谷を消去する。
【０２５５】
図３５は、図３２に示した画像処理装置の谷統合部により統合される前のヒストグラムの谷を説明するための図である。図３６は、図３２に示した画像処理装置の谷統合部により統合されたヒストグラムの谷を説明するための図である。
【０２５６】
谷統合部１１５では、具体的には、例えば図３５に示すように消去部１１４から出力された各谷の度数に基づいて、図３６に示すように、レベルの近い谷を統合する。
【０２５７】
ラベリング部１１６は、入力画像、および谷統合部１１５から出力された画像に応じて、プレーン分離された各プレーンに所定の値（ラベル）ラベルを割り当てる。具体的には、ラベリング部１１６は、入力画像の各画素に対して、各谷の間に存在する画素は同じプレーンとみなし、同じラベルを割り当てる。
【０２５８】
ラベリング部１１６は、より具体的には、各画素ごとにレベル（輝度あるいは色）がどの谷の内部にあるかを判定し、その谷の内部の画素ごとに同一ラベルを割り当てる。
【０２５９】
図３７は、図３２に示した画像処理装置のプレーン分離部の動作を説明するためのフローチャートである。
【０２６０】
ステップＳＴ２０１において、ヒストグラム演算部１１１では、値レベル（輝度あるいは色）ごとのヒストグラムが生成され保持される。
また、ヒストグラム演算部１１１では、生成されたヒストグラムが、ピーク検出部１１２に出力される。
【０２６１】
ステップＳＴ２０２において、ピーク検出部１１２では、入力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル（ピーク）が検出され、谷検出部１１３に出力される。
具体的には、ピーク検出部１１２では、ヒストグラム演算部１１１から出力されたヒストグラム、または消去部１１４から出力されたヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル（ピーク）が検出され、谷検出部１１３に出力される。
【０２６２】
ステップＳＴ２０３において、谷検出部１１３では、ピークの両脇の谷が検出される。具体的には、谷検出部１１３では、ピークを中心とした＋ａの範囲内での最も度数の少ない点を右側の谷とする。また、谷検出部１１３では、−ａの範囲内での最も度数の少ない点を左側の谷とする。
【０２６３】
谷検出部１１３は、ヒストグラムのピークに基づいて、例えば、そのピークを含むオブジェクトの度数を特定する。
例えば、谷検出部１１３は、ピーク検出部１１２から出力された、最大の度数のレベル（ピーク）に基づいてヒストグラムの、そのレベルピークの両脇の谷を２点それぞれ検出する。
具体的には、谷検出部１１３は、ピークを中心とした所定の範囲内、例えば＋ａの内で最も度数の少ない点を右側の谷とし、所定の範囲内、例えば−ａの内で、最も度数の少ない点を左側の谷とする。
【０２６４】
ステップＳＴ２０５において、消去部１１４では、左右の２点の谷に囲まれるレベルに対応する度数がヒストグラム中から消去される。
また、消去部１１４では、ヒストグラムの中の全てのレベルに対する度数が０になったか否かが判別され、０になっていないと判別された場合には、ステップＳＴ２０２の処理に戻る。
【０２６５】
一方、ステップＳＴ２０５の判別において、消去部１１４では、ヒストグラム中の全てのレベルに対する度数が０になったと判別された場合には、谷の度数が谷統合部１１５に出力される。
【０２６６】
ステップＳＴ２０６において、谷統合部１１５では、消去部１１４から出力された各谷の度数に基づいて、レベルの近いものが統合され、所定のラベリング部１１６に出力される。具体的には、谷統合部１１５では、各谷に対してレベルの近いものが統合される。より具体的には、谷統合部１１５では、谷の検出された順を優先して、先に検出された谷の所定の範囲、例えば±ｂの範囲に含まれる他の谷が消去される。
【０２６７】
ステップＳＴ２０７において、ラベリング部１１６では、入力画像、および谷統合部１１５から出力された画像に応じて、プレーン分離された各プレーンに所定の値（ラベル）ラベルが割り当てられる。
【０２６８】
具体的には、ラベリング部１１６では、入力画像の各画素に対して、各谷の間に存在する画素は同じプレーンとみなし、同じラベルが割り当てられる。ラベリング部１１６では、より具体的には、各画素ごとにレベル（輝度あるいは色）がどの谷の内部にあるかが判定され、その谷の内部の画素ごとに同一ラベルが割り当てられる。
そして、一連のプレーン分離に関する動作を終了する。
【０２６９】
図３８は、図２９に示した画像処理装置の動作を説明するためのフローチャートである。画像処理装置１ｆの動作を、素子２０ｆを中心に図３８を参照しながら説明する。
【０２７０】
簡単のため、プレーンマッチングを行うメモリに関して、簡単のためにブロックサイズ３×３画素、探索範囲ｓｐを画素単位で（−１，−１）〜（１，１）として説明する。
【０２７１】
ここで、注目素子とは、図３０（ｂ）において、実際に動きベクトルが格納される素子の１つと想定する。メモリ２０ｆの端にある素子ではない。
簡単な説明のために画像のサイズをｗ×ｂとする。
【０２７２】
プレーン分離部１１０では、フレームメモリ３ｆ−Ｔ−１に記憶されている画像に基づいて、上述した所定のプレーン分離処理が行われ、処理の結果のプレーン情報がメモリ２ｆの内の各素子２０ｆごとに出力される。
素子２０ｆそれぞれは、プレーン分離部１１０から出力されたプレーン情報を記憶する。
具体的には、素子２０ｆのプレーン情報記憶部２９それぞれに、１画素分のプレーン情報が格納される（ＳＴ３０１）。
【０２７３】
フレームメモリ３ｆ−Ｔ−１から、図２９に示すように、（ｗ−２）×（ｈ−２）参照領域ｔｒの各画素が、メモリ２ｆの内の各素子２０ｆそれぞれに格納される。
具体的には、図３０（ｃ）に示すように、各素子２ｆの画素２０−２に参照領域ｔｒの１画素を格納することになる。
次に、探索範囲ｓｐ内で位相を更新しながら、（ｗ−２）×（ｈ−２）の領域を読み出し、その領域内の各画素をメモリ内の各素子ごとに格納する（ＳＴ３０２）。この（ｗ−２）×（ｈ−２）の領域を「探索領域ｔｐ」と言う。
【０２７４】
図３０（ｃ）に示すように、各素子２０ｆの画素２０−１の部分に探索領域ｔｐの１画素を格納することになる。
位相の更新と探索領域ｔｐの読み出しは、実際には探索領域ｔｐの画素数が違うだけで前述したブロックマッチングの場合と同様で（−１，−１）〜（１−１）の範囲で９回行われ、９回終わると終了する。
【０２７５】
各素子２０内で、減算器２４では、画素２０−１に格納された値と画素２０−２に格納された値の差分値が生成され、絶対値生成部２５では減算器２４から出力された差分値の絶対値（差分絶対値ａ）が生成され、画素差分記憶部２２ｆ−１では差分絶対値ａが格納される（ＳＴ３０５）。
【０２７６】
次に各注目素子において、その８近傍の素子からプレーン情報を読み出される。
具体的には、スイッチ３０では、注目素子２０ｆのプレーン情報記憶部２９に記憶されているプレーン情報と、他の８近傍の素子２０ｆのプレーン情報記憶部２９が記憶する各プレーン情報とが同じであるか否かの判定が行われる。
スイッチ３０では、同じであると判定された素子２０ｆの画素差分記憶部２２ｆ−１が記憶している差分絶対値ａが読み出されて加算される。
加算部２８ｆでは、スイッチ３０それぞれから出力された差分絶対値ａが加算され、差分絶対値総和Ａが求められる（ＳＴ３０６）。
【０２７７】
次に各注目素子において、比較更新部２６ｆでは、予め格納されている差分絶対値総和（差分絶対値総和Ｂ）と差分絶対値総和Ａが比較され（ＳＴ３０７）、差分絶対値総和Ａが小さい場合、差分総和記憶部２２ｆ−２に格納する値を差分絶対値総和Ｂから差分絶対値総和Ａに更新する（ＳＴ３０９）。
一方、比較更新部２６ｆでは、差分絶対値総和Ａが大きい場合は更新を行わず、次の位相の更新および探索領域ｔｐの読み出しへと移行する。
ところで、初期状態では注目素子に差分絶対値総和は格納されていない。その場合は、無条件に最初の差分絶対値総和が格納される。
【０２７８】
次に、ある注目素子の差分絶対値総和が更新された場合のみ、そのときの位相を真の動きベクトルとしてその注目素子に予め格納されている動きベクトルが更新される（ＳＴ３１０）。
以上より位相の更新が終了した時点で、９つの各注目素子には探索範囲ｓｐにおける画素差分絶対値総和の最小値と、それが格納されたときの動きベクトルが格納されている。
読出部４ｆでは、各注目素子から、これらの動きベクトルが読出され出力される。
【０２７９】
以上、説明したように本実施の形態に係る画像処理装置では、入力画像に応じてレベル（輝度あるいは色）ごとのヒストグラム（度数分布）を生成するヒストグラム演算部１１１と、そのヒストグラムに基づいて、そのヒストグラムの内の最大の度数のレベル（ピーク）を検出するピーク検出部１１２と、ヒストグラムのピークに基づいて、例えば、そのピークを含むオブジェクトの度数を特定する谷検出部１１３と、所定のピークを含むオブジェクトの度数を消去する消去部１１４と、消去部１１４から出力された各谷の度数に基づいて、レベルの近い谷を統合する谷統合部１１５と、入力画像、およぴ谷統合部１１５から出力された画像に応じて、プレーン分離された各プレーンに所定の値（ラベル）ラベルを割り当てるラベリング部１１６とを有するプレーン分離部１１０と、素子２０ｆそれぞれに、プレーン情報を記憶するプレーン情報記憶部２９と、プレーン情報の一致の判定を行い、各素子２０ｆの差分絶対値ａを加算部２８ｆに出力するスイッチ３０とを設けたので、例えば参照ブロックの内に複数のオブジェクトが含まれている場合であっても、正確な動きベクトルを生成することができる。
【０２８０】
第８の実施の形態
図３９は、本発明に係る画像処理装置の第８の実施の形態の機能ブロック図である。
本実施の形態に係る画像処理装置１ｇは、図３９に示すように、メモリ２ｇ、複数のフレームメモリ３ｇ、例えばフレームメモリ３ｇ−Ｔ，Ｔ−１、読出部４ｇ、制御部１００ｇ、プレーン分離部１１０ｇ、プレーン情報バッファ１２０を有する。
【０２８１】
画像処理装置１ｇと、第７の実施の形態に係る画像処理装置１ｆの相違点は、メモリ２ｇ、複数のフレームメモリ３ｇ、例えばフレームメモリ３ｇ−Ｔ，Ｔ−１、読出部４ｇ、制御部１００ｇ、プレーン分離部１１０ｇ、およびプレーン情報バッファ１２０である。相違点のみ説明する。
【０２８２】
メモリ２ｇは、所定の数の素子２０ｆ、例えば５×５の素子２０ｆを有する。
プレーン分離部１１０ｇは、フレームメモリ３ｇ−Ｔ−１に記憶されている画像データの参照領域ｔｒ、例えば５×５の大きさの参照領域ｔｒごとに、その参照領域ｔｒの内の画素に基づいてプレーン分離処理を行い、処理の結果のプレーン情報をプレーン情報バッファ１２０に出力する。
【０２８３】
また、このプレーン分離部１１０ｇは、この形態に限られるものではない。プレーン分離部１１０ｇは、フレームメモリ３ｇ−Ｔ−１に記憶されている画像データに基づいて、フレームメモリＴ−１に記憶されている画像のプレーン分離処理を行い、処理の結果のプレーン情報をプレーン情報バッファ１２０に出力してもよい。
【０２８４】
プレーン情報バッファ１２０は、例えば、プレーン分離部１１０ｇから出力された全画面サイズの画素を記憶する。
プレーン情報バッファ１２０は、例えば、プレーン分離部１１０ｇから出力された５×５の参照領域ｔｒごとのプレーン情報を、所定の位置（アドレス）に格納してもよい。
プレーン情報バッファ１２０は、所定の位置（アドレス）のプレーン情報をメモリ２ｇに出力し、メモリ２ｇの対応する素子２０ｆのプレーン情報記憶部２９に記憶させる。
【０２８５】
制御部１００ｇは、例えば、上述した処理に応じて所定の処理を行う。
また、制御部１００ｇは、例えば上述した処理に応じて、フレームメモリ３ｇやメモリ２ｇ等に、所定のデータの書込み処理や読み込み処理等を行う。
【０２８６】
以上、説明した構成の画像処理装置の動作を、相違点のみ簡単に説明する。
プレーン分離部１１０ｇでは、フレームメモリ３ｇ−Ｔ−１に記憶されている画像データの参照領域ｔｒ、例えば５×５の大きさの参照領域ｔｒごとに、その参照領域ｔｒの内の画素に基づいてプレーン分離処理が行われ、処理の結果のプレーン情報がプレーン情報バッファ１２０に出力され、プレーン情報バッファ１２０では、そのプレーン情報が所定の位置（アドレス）に格納される。
【０２８７】
以降は、上述した第７の実施の形態と同様に、メモリ２ｇにおいて、画素２１−１に参照領域ｔｒの画素が記憶され、画素２１−２に探索領域ｔｐの画素が記憶される。
【０２８８】
減算器２４により画素２１−１に記憶されている画素と、画素２１−２に記憶されている探索領域ｔｐの画素の差分値が生成され、絶対値生成部２５によりその差分値の絶対値である差分絶対値が生成され、画素差分記憶部２２−１に記憶される。
【０２８９】
スイッチ３０では、プレーン情報記憶部２９に記憶されているプレーン情報と、注目素子の周辺の素子２０のプレーン情報記憶部２９に記憶されているプレーン情報とが比較され、一致している場合には、その周辺部の素子２０の画素差分記憶部２２ｆ−１に記憶されている差分絶対値が、注目画素の加算部２８ｆに出力される。
加算部２８ｆでは、スイッチ３０から出力された差分絶対値と、画素差分記憶部２２ｆ−１に記憶されている差分絶対値が加算され、比較更新部２６ｆに出力される。
【０２９０】
比較更新部２６ｆでは、差分総和記憶部２２ｆ−２に記憶されている差分総和値と、加算部２８ｆから出力された差分総和値とが比較され、加算部２８ｆから出力された差分総和値の方が小さい場合には、その小さい差分総和値が差分総和記憶部２２ｆ−２に出力される。差分総和記憶部２２ｆ−２では、その差分総和値が記憶されて、更新される。
【０２９１】
また、比較更新部２６ｆでは、画素差分記憶部２２ｆ−２に記憶されている差分総和値を更新した場合には、更新したことを示す更新情報を更新部２７が出力される。
更新部２７では、比較更新部２６ｆから、その更新したことを示す更新情報が出力されると、探索領域ｔｐと参照領域ｔｒとの位相情報が動きベクトル記憶部２３に記憶される。
探索範囲ｓｐの内の探索領域ｔｐの位相が更新されて、全ての探索範囲ｓｐの内の全ての位相の探索領域ｔｐと参照領域ｔｒとが比較され、動きベクトルが生成される。
【０２９２】
以上、説明したように、本実施の形態に係る画像処理装置１ｇは、第７の実施の形態に係る画像処理装置１ｆと比べて、フレームメモリ３ｇ−Ｔ−１に記憶されている画像データに基づいて、プレーン分離を行いプレーン情報を生成するプレーン分離部１１０ｇと、そのプレーン情報を記憶するプレーン情報記憶部２９とを設け、所定の大きさ、例えば５×５の素子２０ｆを含むメモリ２ｇに、所定の探索範囲ｓｐおよび参照領域ｔｒの内の画像とを入力し、周辺の素子２０ｆのプレーン情報と一致している場合にのみ、差分総和記憶部２２ｆ−２に記憶されている差分総和値を更新し、更新された場合にのみ動きベクトルを更新するので、参照領域ｔｒの内に複数のオブジェクトがある場合であっても、正確に動きベクトルを生成することができる。
また、プレーン情報バッファ１２０を設けたことにより、全画面サイズのプレーン情報を記憶して効率よく所定の処理を行うことができる。
【０２９３】
第９の実施の形態
プレーン情報を使った動きベクトルの補正
ブロックマッチングのブロックサイズやプレーンマッチングのプレーンの面積が小さい場合は、入力画像にノイズがのっていたりすると各画素の動きベクトル検出が誤る可能性が高くなる。
第９の実施の形態に係る画像処理装置１ｈのメモリ２ｈに格納されているプレーン情報を利用して、上述のような場合でも精度のよい動きベクトルを生成する。
【０２９４】
図４０は、本発明に係る画像処理装置の第９の実施の形態の機能ブロック図である。
画像処理装置１ｈは、プレーンマッチング、動きベクトル検出の結果と、プレーン情報が格納されるメモリの構造を利用して、動きベクトルの検出を行う。
【０２９５】
画像処理装置１ｈは、図４０に示すように、メモリ２ｆ、複数のフレームメモリ３ｆ、例えばフレームメモリ３ｆ−Ｔ，Ｔ−１、読出部４ｈ、制御部１００ｈ、プレーン分離部１１０ｈ、および動きベクトル補正部１３０とを有する。
【０２９６】
画像処理装置１ｈのメモリ２ｆは、第７の実施の形態に係る画像処理装置１ｆのメモリ２ｆと同じ構造である。
画像処理装置１ｈは、メモリ２ｆの内に、プレーン情報や動きベクトルを格納される処理や、プレーンマッチング処理も、第７の実施の形態に係る画像処理装置１ｆとほぼ同様である。
【０２９７】
図４１は、図４０に示した画像処理装置の動きベクトル補正部の動作を説明するための図である。
画像処理装置１ｈは、上述した第７の実施の形態に係る画像処理装置１ｆのプレーンマッチングを出力するメモリ２ｆでの動きベクトル検出が終了した時点で、図４１に示すように、ある注目画素に対する動きベクトルを出力する。以下、詳細に説明する。
【０２９８】
動きベクトル補正部１３０は、注目素子を中心とした、例えばメモリ内の５×５の格子領域に対して注目素子と同じプレーン情報をもつ素子のみから、動きベクトルを読み出し、その読み出された動きベクトルの頻度を求め、最も高い動きベクトルを注目素子の動きベクトルとする。
【０２９９】
具体的には、動きベクトル補正部１３０は、例えば読出部４ｈから出力された、注目素子を中心とした、例えばメモリ内の５×５の格子領域に対して注目素子のプレーン情報記憶部２９に記憶されているプレーン情報と、同じプレーン情報をもつ素子のみから、動きベクトル記憶部２３に記憶されている動きベクトルを読み出し、その読み出された動きベクトルの頻度を求め、最も高い動きベクトルを注目素子の動きベクトルとする。
【０３００】
以上説明した構成の動作を、簡単に説明する。
読出部４ｈから注目素子を中心とした、例えばメモリ内の５×５の格子領域に対して注目素子のプレーン情報記憶部２９に記憶されているプレーン情報と、同じプレーン情報をもつ素子のみから、動きベクトル記憶部２３に記憶されている動きベクトルが読み出される。
動きベクトル補正部１３０では、その読み出された動きベクトルの頻度を求め、最も高い動きベクトルを注目素子の動きベクトルとする。
【０３０１】
以上、説明したように、動きベクトル補正部１３０は、注目画素周辺の同一のプレーンの画素はほぼ同じ動きであると仮定して、通常のマッチングでは注目画素の動きベクトルが誤っている場合でも、その注目画素が本来持っている可能性が高い動きベクトルを算出し、それに置き換えることで動きベクトルの精度をあげることができる。
【０３０２】
また、各素子ごとにプレーン情報を格納できるメモリ２ｆを設けたので、動きベクトルを導出する際に、誤りやすい複数のオブジェクトの境界部分などにおいても、動きベクトルを正確に求めることができる。
【０３０３】
また、注目画素の周辺の領域で同一プレーンごとに最頻の動きベクトルを求め、その動きベクトルを用いて補正することで、例えばノイズなどによって動きベクトルが誤りやすい場合でも、正確に動きベクトルを求めることができる。
【０３０４】
【発明の効果】
本発明によれば、少ない計算量で動きベクトルを算出可能な画像処理装置および画像処理方法を提供することができる。
【図面の簡単な説明】
【図１】一般的な画像処理装置を示す図である。
【図２】図１に示した一般的な画像処理装置の動作を示すフローチャートである。
【図３】位相シフトによる位相ブロック読み出しから、評価テーブルメモリへの記録までの動作の一具体例を説明するための図である。
【図４】本発明に係る画像処理装置の第１の実施の形態の機能ブロック図である。
【図５】（ａ）は第１の実施の形態に係る画像処理装置のメモリを示す図である。（ｂ）は（ａ）に示した画像処理装置のメモリの内の素子の機能ブロック図である。
【図６】図４に示した画像処理装置の画素マッチングにおける位相の更新と、探索領域ｔｐの読み出しを説明するための図である。（ａ）は、探索範囲内の位相を示す図である。（ｂ）は位相と探索領域ｔｐの関係を示す図である。
【図７】図１に示した画像処理装置１の動作を説明するためのフローチャートである。
【図８】本発明に係る画像処理装置の第２の実施の形態の機能ブロック図である。
【図９】（ａ）は図８に示した画像処理装置１ａのメモリを示す図である。（ｂ）は図８に示したメモリの構成の一具体例を示す図である。（ｃ）は図８に示した画像処理装置１ａの動きベクトルが格納されるメモリの構成を示す図である。
【図１０】図８に示した画像処理装置の動作、特に位相の更新と探索領域ｔｐの読み出しを行う動作について説明するための図である。（ａ）は探索範囲ｓｐ内の位相を示す図である。（ｂ）は位相と探索領域ｔｐの関係を示す図である。
【図１１】図８に示した画像処理装置１ａの動作を説明するためのフローチャートである。
【図１２】図８に示した画像処理装置のフレームの参照領域ｔｒから切り出されるブロックを示す図である。
【図１３】本発明の第３の実施の形態に係る画像処理装置の対応画素の摘出を説明するための概念図である。
【図１４】本発明に係る画像処理装置の第３の実施の形態の機能ブロック図である。
【図１５】（ａ）は図１４に示した画像処理装置１ｂのメモリ２ｂを示す図である。（ｂ）は対応画素が格納されるメモリを示す図である。（ｃ）は、（ａ）に示したメモリ２ｂの素子２０ｂの機能ブロック図である。
【図１６】（ａ）は、フレームＴ＋２の探索範囲ｓｐＴ＋２（９×９）と、探索領域ｔｐＴ＋２の位相を示す図である。（ｂ）は、フレームＴ＋１の探索範囲ｓｐＴ＋１（７×７）と、探索領域ｔｐＴ＋１の位相を示す図である。（ｃ）は、フレームＴ−１の探索範囲ｓｐＴ−１（７×７）と、探索領域ｔｐＴ−１の位相を示す図である。（ｄ）は、フレームＴ−２の探索範囲ｓｐＴ−２（９×９）と、探索領域ｔｐＴ−２の位相を示す図である。（ｅ）は、図１４に示した画像処理装置１ｂの位相の更新と探索領域ｔｐの読み出しの処理を説明するための図である。
【図１７】図１４に示した画像処理装置の動作を説明するためのフローチャートである。
【図１８】本発明に係る画像処理装置の第４の実施の形態の機能ブロック図である。
【図１９】図１８に示した画像処理装置１ｃのノイズ付加部の第１の具体例を示す機能ブロック図である。
【図２０】図１８に示した画像処理装置１ｃのノイズ付加部の第２の具体例を示す機能ブロック図である。
【図２１】図１８に示した画像処理装置１ｃのノイズ付加部の第３の具体例を示す機能ブロック図である。
【図２２】図１８に示した画像処理装置１ｃのクラスコード生成部のクラスコードを発生（ノイズ成分検出）させる原理を説明するための図である。
【図２３】図１８に示した画像処理装置１ｃが、クラス分類適応処理のために、参照領域ｔｒのメモリに読み出すべき手順を説明するための図である。（ａ）はシフト前の状態を示す図である。（ｂ）は、シフト後の状態を示す図である。
【図２４】本発明に係る画像処理装置の第５の実施の形態の機能ブロック示す図である。
【図２５】本発明に係る画像処理装置の第６の実施の形態の機能ブロック図である。
【図２６】（ａ）は図２５に示した画像処理装置のメモリの構成図、（ｂ）は（ａ）に示したメモリの予想画素が格納される素子を示す図、（ｃ）は（ａ）に示したメモリの素子の機能ブロック図である。
【図２７】本発明に係る画像処理装置に係る第７の実施の形態の動作を説明するための概念図である。
【図２８】本発明に係る画像処理装置の第７の実施の形態のプレーンマッチングの動作を説明するための概念図である。
【図２９】本発明に係る画像処理装置の第７の実施の形態の機能ブロック図である。
【図３０】（ａ）は図２９に示した画像処理装置のメモリを模式的に示す図である。（ｂ）は（ａ）の一部を拡大した図である。（ｃ）は（ｂ）に示したメモリの素子の機能ブロック図である。
【図３１】図２９に示した画像処理装置のプレーン分離部の処理を説明するための図である。
【図３２】画像処理装置１ｆのプレーン分離部の一具体例を示す機能ブロックである。
【図３３】図３２に示した画像処理装置１ｆのプレーン分離部のヒストグラム演算部が生成するヒストグラムの一具体例を示す図である。
【図３４】図３２に示した画像処理装置のプレーン分離部の消去部の動作を説明するためのヒストグラムの一具体例である。
【図３５】図３２に示した画像処理装置の谷統合部により統合される前のヒストグラムの谷を説明するための図である。
【図３６】図３２に示した画像処理装置の谷統合部により統合されるヒストグラムの谷を説明するための図である。
【図３７】図３２に示した画像処理装置のプレーン分離部の動作を説明するためのフローチャートである。
【図３８】図２９に示した画像処理装置の動作を説明するためのフローチャートである。
【図３９】本発明に係る画像処理装置の第８の実施の形態の機能ブロック図である。
【図４０】本発明に係る画像処理装置の第９の実施の形態の機能ブロック図である。
【図４１】図４０に示した画像処理装置の動きベクトル補正部の動作を説明するための図である。
【符号の説明】
１…画像処理装置、２…メモリ、３…フレームメモリ、４…読出部、５…ノイズ付加部、６…クラスコード生成部、７…正規方程式加算部、８…係数記憶部、９…推定演算部、２０…素子、２１…画素、２２…最小画素差分記憶部、２２ａ−１…画素差分記憶部、２２ａ−２…差分総和記憶部、２２ｂ−１…差分絶対値総和Ａ記憶部、２２ｂ−２…差分絶対値総和Ｂ記憶部、２３…動きベクトル記憶部、２４…減算器、２５…絶対値生成部、２６…比較更新部、２７…更新部、２８…加算器、２９…プレーン情報記憶部、５１…ＲＦモジュレータ（ＲＦ　ＭＯＤＵＬＡＴＯＲ）、５２…アテネータ減衰器、５３…ＲＦデモジュレータ（ＲＦＤＥＭＯＤＵＬＡＴＯＲ）、５４…減算器、５５…加算器、５６…フレーム加算器、１００…制御部、１１０…プレーン分離部、１１１…ヒストグラム演算部、１１２…ピーク検出部、１１３…谷検出部、１１４…消去部、１１５…谷統合部、１１６…ラベリング部、１２０…プレーン情報バッファ、１３０…動きベクトル補正部、２５０…加算器。
【図１】
2004078863.tif 000005
【図２】
2004078863.tif 000006
【図３】
2004078863.tif 000007
【図４】
2004078863.tif 000008
【図５】
2004078863.tif 000009
【図６】
2004078863.tif 000010
【図７】
2004078863.tif 000011
【図８】
2004078863.tif 000012
【図９】
2004078863.tif 000013
【図１０】
2004078863.tif 000014
【図１１】
2004078863.tif 000015
【図１２】
2004078863.tif 000016
【図１３】
2004078863.tif 000017
【図１４】
2004078863.tif 000018
【図１５】
2004078863.tif 000019
【図１６】
2004078863.tif 000020
【図１７】
2004078863.tif 000021
【図１８】
2004078863.tif 000022
【図１９】
2004078863.tif 000023
【図２０】
2004078863.tif 000024
【図２１】
2004078863.tif 000025
【図２２】
2004078863.tif 000026
【図２３】
2004078863.tif 000027
【図２４】
2004078863.tif 000028
【図２５】
2004078863.tif 000029
【図２６】
2004078863.tif 000030
【図２７】
2004078863.tif 000031
【図２８】
2004078863.tif 000032
【図２９】
2004078863.tif 000033
【図３０】
2004078863.tif 000034
【図３１】
2004078863.tif 000035
【図３２】
2004078863.tif 000036
【図３３】
2004078863.tif 000037
【図３４】
2004078863.tif 000038
【図３５】
2004078863.tif 000039
【図３６】
2004078863.tif 000040
【図３７】
2004078863.tif 000041
【図３８】
2004078863.tif 000042
【図３９】
2004078863.tif 000043
【図４０】
2004078863.tif 000044
【図４１】
2004078863.tif 000045