(57)【要約】【課題】マッチングブロック処理による動きベクトルの検出を精度よく行う。【解決手段】対象フレームＦｃの注目画素位置に係る特徴量としてのクラスコードＣＬn-1をＭＥメモリ部１２１に供給し、動きベクトルの候補位置情報および候補総数情報を得る。また、クラスコードＣＬn-1をマッチングブロックテーブルメモリ１２２に供給し、クラスコードＣＬn-1に対応したブロックパターン情報を得る。動きベクトル演算部１２３は、ブロックパターン情報で示すブロックパターンの、対象フレームＦｃの注目画素位置に対応した基準ブロックと、動きベクトルの候補位置情報で特定される、参照フレームＦｒの複数の画素位置に対応した、複数の参照ブロックのそれぞれとの間のマッチング演算を行って、対象フレームＦｃの注目画素位置に対応した動きベクトルを求める。【選択図】        図３
2005063319.tif 000002
【特許請求の範囲】
【請求項１】
第１のフレームの画像信号および第２のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出装置であって、
上記第１のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る特徴量取得手段と、
特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルを記憶した記憶手段と、
上記記憶手段に記憶されているマッチングブロックテーブルから上記特徴量取得手段で得られた特徴量に対応したブロックパターン情報を得るブロックパターン情報取得手段と、
上記ブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、上記第１のフレームの注目画素位置に対応した第１の画素ブロックと、上記ブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、上記第２のフレームの複数の第２の画素ブロックのそれぞれとの間のマッチング演算を行うマッチング演算手段と、
上記マッチング演算手段で求められた上記複数の第２の画素ブロックに対応したマッチング演算結果に基づいて、上記第１のフレームの注目画素位置に対応した動きベクトルを得る動きベクトル取得手段と
を備えることを特徴とする動きベクトル検出装置。
【請求項２】
上記第２のフレームの各画素位置毎に、該画素位置の近傍に位置する複数の画素データに基づいて該画素位置の特徴量を得、該特徴量と上記第２のフレームの各画素位置との対応関係を示すテーブルを生成するテーブル生成手段と、
上記テーブル生成手段で生成されたテーブルから、上記特徴量取得手段で得られた特徴量に対応した上記第２のフレームの複数の画素位置を得る画素位置取得手段とをさらに備え、
上記第２のフレームの複数の第２の画素ブロックは、それぞれ上記画素位置取得手段で得られた複数の画素位置に対応した画素ブロックである
ことを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
上記第２のフレームの複数の第２の画素ブロックは、上記第１のフレームの注目画素位置に対応した上記第２のフレームのサーチエリア内の画素ブロックである
ことを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項４】
上記特徴量取得手段は、上記複数の画素データをそれぞれ１ビットデータに符号化して得られるコードを上記特徴量とする
ことを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項５】
上記マッチング演算手段で行われるマッチング演算は、上記第１の画素ブロックを構成する画素データと上記第２の画素ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、該求められた差分絶対値の和を求める演算である
ことを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項６】
第１のフレームの画像信号および第２のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出方法であって、
上記第１のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る第１のステップと、
特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、上記第１のステップで得られた特徴量に対応したブロックパターン情報を得る第２のステップと、
上記第２のステップで得られたブロックパターン情報で示すブロックパターンの、上記第１のフレームの注目画素位置に対応した第１の画素ブロックと、上記第２のステップで得られたブロックパターン情報で示すブロックパターンの、上記第２のフレームの複数の第２の画素ブロックのそれぞれとの間のマッチング演算を行う第３のステップと、
上記第３のステップで求められた上記複数の第２の画素ブロックに対応したマッチング演算結果に基づいて、上記第１のフレームの注目画素位置に対応した動きベクトルを得る第４のステップと
を備えることを特徴とする動きベクトル検出方法。
【請求項７】
第１のフレームの画像信号および第２のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出するために、
上記第１のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る第１のステップと、
特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、上記第１のステップで得られた特徴量に対応したブロックパターン情報を得る第２のステップと、
上記第２のステップで得られたブロックパターン情報で示すブロックパターンの、上記第１のフレームの注目画素位置に対応した第１の画素ブロックと、上記第２のステップで得られたブロックパターン情報で示すブロックパターンの、上記第２のフレームの複数の第２の画素ブロックのそれぞれとの間のマッチング演算を行う第３のステップと、
上記第３のステップで求められた上記複数の第２の画素ブロックに対応したマッチング演算結果に基づいて、上記第１のフレームの注目画素位置に対応した動きベクトルを得る第４のステップと
を備える動きベクトル検出方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な媒体。
【請求項８】
第１のフレームの画像信号および第２のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出するために、
上記第１のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る第１のステップと、
特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、上記第１のステップで得られた特徴量に対応したブロックパターン情報を得る第２のステップと、
上記第２のステップで得られたブロックパターン情報で示すブロックパターンの、上記第１のフレームの注目画素位置に対応した第１の画素ブロックと、上記第２のステップで得られたブロックパターン情報で示すブロックパターンの、上記第２のフレームの複数の第２の画素ブロックのそれぞれとの間のマッチング演算を行う第３のステップと、
上記第３のステップで求められた上記複数の第２の画素ブロックに対応したマッチング演算結果に基づいて、上記第１のフレームの注目画素位置に対応した動きベクトルを得る第４のステップと
を備える動きベクトル検出方法をコンピュータに実行させるためのプログラム。
【請求項９】
所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する装置であって、
時間的に連続する第１〜第３のフレームの画像信号を記憶する記憶手段と、
上記記憶手段に記憶されている上記第１のフレームの画像信号および上記第３のフレームの画像信号を用い、各ブロックパターン毎に、上記第１のフレームの各画素位置に対応した上記第３のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第２のフレームの各画素位置と、上記第１のフレームおよび上記第３のフレームの画素位置との対応関係を示す通過画素テーブルを生成する通過画素テーブル生成手段と、
上記記憶手段に記憶されている上記第１のフレームの画像信号および上記第３のフレームの画像信号と、上記通過画素テーブル生成手段で生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第２のフレームの各画素位置に対応して、上記通過画素テーブルから第１のフレームおよび第３のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第２のフレームの画素値を求め、上記第２のフレームの画像信号に対応した動き補償画像信号を生成する動き補償画像生成手段と、
上記記憶手段に記憶されている上記第２のフレームの画像信号と、上記動き補償画像生成手段で生成された動き補償画像信号とを用い、上記第２のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第２のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成するブロック評価テーブル生成手段と、
上記ブロック評価テーブル生成手段で生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成するマッチングブロックテーブル生成手段と
を備えることを特徴とするマッチングブロックテーブル生成装置。
【請求項１０】
所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する方法であって、
時間的に連続する第１〜第３のフレームの画像信号を用意し、
上記第１のフレームの画像信号および上記第３のフレームの画像信号を用い、各ブロックパターン毎に、上記第１のフレームの各画素位置に対応した上記第３のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第２のフレームの各画素位置と、上記第１のフレームおよび上記第３のフレームの画素位置との対応関係を示す通過画素テーブルを生成する第１のステップと、
上記第１のフレームの画像信号および上記第３のフレームの画像信号と、上記第１のステップで生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第２のフレームの各画素位置に対応して、上記通過画素テーブルから第１のフレームおよび第３のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第２のフレームの画素値を求め、上記第２のフレームの画像信号に対応した動き補償画像信号を生成する第２のステップと、
上記第２のフレームの画像信号と、上記第２のステップで生成された動き補償画像信号とを用い、上記第２のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第２のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する第３のステップと、
上記第３のステップで生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成する第４のステップと
を備えることを特徴とするマッチングブロックテーブル生成方法。
【請求項１１】
所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成するために、
時間的に連続する第１〜第３のフレームの画像信号を用意し、
上記第１のフレームの画像信号および上記第３のフレームの画像信号を用い、各ブロックパターン毎に、上記第１のフレームの各画素位置に対応した上記第３のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第２のフレームの各画素位置と、上記第１のフレームおよび上記第３のフレームの画素位置との対応関係を示す通過画素テーブルを生成する第１のステップと、
上記第１のフレームの画像信号および上記第３のフレームの画像信号と、上記第１のステップで生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第２のフレームの各画素位置に対応して、上記通過画素テーブルから第１のフレームおよび第３のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第２のフレームの画素値を求め、上記第２のフレームの画像信号に対応した動き補償画像信号を生成する第２のステップと、
上記第２のフレームの画像信号と、上記第２のステップで生成された動き補償画像信号とを用い、上記第２のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第２のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する第３のステップと、
上記第３のステップで生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成する第４のステップと
を備えるマッチングブロックテーブル生成方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な媒体。
【請求項１２】
所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成するために、
時間的に連続する第１〜第３のフレームの画像信号を用意し、
上記第１のフレームの画像信号および上記第３のフレームの画像信号を用い、各ブロックパターン毎に、上記第１のフレームの各画素位置に対応した上記第３のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第２のフレームの各画素位置と、上記第１のフレームおよび上記第３のフレームの画素位置との対応関係を示す通過画素テーブルを生成する第１のステップと、
上記第１のフレームの画像信号および上記第３のフレームの画像信号と、上記第１のステップで生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第２のフレームの各画素位置に対応して、上記通過画素テーブルから第１のフレームおよび第３のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第２のフレームの画素値を求め、上記第２のフレームの画像信号に対応した動き補償画像信号を生成する第２のステップと、
上記第２のフレームの画像信号と、上記第２のステップで生成された動き補償画像信号とを用い、上記第２のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第２のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する第３のステップと、
上記第３のステップで生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成する第４のステップと
を備えるマッチングブロックテーブル生成方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば動き補償予測符号化装置で動き補償を行うための動きベクトルを検出する際に適用して好適な動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムに関する。
【０００２】
詳しくは、この発明は、所定フレームの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素位置に係る特徴量に対応したブロックパターンの画素ブロックを用いることによって、動きベクトルを精度よく検出しようとした動きベクトル検出装置等に係るものである。
【背景技術】
【０００３】
例えば、MPEG２(Moving Picture Experts Group)方式等の画像信号を圧縮符号化する処理においては、隣接する２フレーム間の相関関係に基づく符号化処理、いわゆる動き補償フレーム間予測が用いられている。動き補償フレーム間予測では、隣接する２フレーム（一方を対象フレーム、他方を参照フレームと記述する）の間における各画素単位または所定サイズの画素ブロック単位の動きベクトルを検出する処理が必要となる。
【０００４】
動きベクトルを検出する方法としては、従来、ブロックマッチング法が用いられている（例えば、特許文献１参照）。図２２は、ブロックマッチング法に従って動きベクトルを検出する動きベクトル検出装置３００の構成例を示している。
【０００５】
この動きベクトル検出装置３００は、画像信号が入力される入力端子３０１と、対象フレームＦｃの画像信号を蓄積するフレームメモリ３０２と、参照フレームＦｒの画像信号を蓄積するフレームメモリ３０３とを有している。入力端子３０１からあるフレームの画像信号がフレームメモリ３０２に供給されて書き込まれる際に、このフレームメモリ３０２に記憶されていた１フレーム前の画像信号が読み出されてフレームメモリ３０３に供給されて書き込まれる。
【０００６】
また、動きベクトル検出装置３００は、フレームメモリ３０２に蓄積されている対象フレームＦｃの画像信号と、フレームメモリ３０３に蓄積されている参照フレームＦｒの画像信号とを用いて、対象フレームＦｃの各画素位置に対応した動きベクトルを検出する動き検出部３０４と、この動き検出部３０４で検出された動きベクトルを出力する出力端子３０５とを有している。
【０００７】
動き検出部３０４は、ブロックマッチング法に従って、上述したように対象フレームＦｃの各画素位置に対応した動きベクトルを検出する。図２３および図２４を用いて、動き検出部３０４における動きベクトルの検出処理について説明する。図２３は、対象フレームＦｃと参照フレームＦｒの対応関係を示している。図２４は、検出処理の手順を示している。
【０００８】
動き検出部３０４は、対象フレームＦｃ内の全ての画素位置が、順次、注目画素位置に指定され、注目画素位置を中心とする所定サイズ（Ｌ×Ｌ画素）の基準ブロックと、参照フレームＦｒに設けられたサーチエリアＳＲ内で移動される参照ブロック（基準ブロックと同じサイズ）との対応する画素対の画素値の差分絶対値和を、（１）式に従って演算する。
ΣiΣj＝｜Ｆｃ（ｉ，ｊ）−Ｆｒｎ（ｉ，ｊ）｜              ・・・（１）
【０００９】
ただし、Ｆｃ（ｉ，ｊ）は基準ブロックの画素の画素値であり、Ｆｒｎ（ｉ，ｊ）は識別番号ｎの参照ブロックの画素の画素値である。また、Σiはｉを１からＬまで１ずつインクリメントしたときの総和演算を意味し、Σjはｊを１からＬまで１ずつインクリメントしたときの総和演算を意味するものとする。
【００１０】
そして、基準ブロックと参照ブロックとの対応する画素対の画素値の差分絶対値和が最小となるときの参照ブロックの中心の画素位置と注目画素位置との差分ベクトルを、当該注目画素位置に対応した動きベクトルとして算出する。
【００１１】
具体的には、対象フレームＦｃの注目画素位置に対して、動き検出部３０４は、以下の処理を行う。
【００１２】
ステップＳ１で、参照フレームＦｒに、対象フレームＦｃの注目画素位置と同じ画素位置を中心として、基準ブロックよりも大きなサイズのサーチエリアＳＲを設定する。そして、ステップＳ２で、差分絶対値和の最小値を格納する変数ｍｉｎを、その最大値に初期化する。例えば、１画素の画素値が８ビット、基準ブロックのサイズが４×４画素である場合、変数ｍｉｎは、４０９６（＝２8×１６）に初期化される。
【００１３】
次に、ステップＳ３で、サーチエリアＳＲ内で移動させる参照ブロックの識別番号ｎを１に初期化する。そして、ステップＳ４で、差分絶対値和の演算結果を格納する変数ｓｕｍを０に初期化する。
【００１４】
次に、ステップＳ５で、対象フレームＦｃの基準ブロックと、参照フレームＦｒに設定したサーチエリアＳＲ内の識別番号ｎの参照ブロックとの対応する場所に位置する画素対の画素値の差分絶対値和を演算して、変数ｓｕｍに代入する。そして、ステップＳ６で、ステップＳ５の演算結果である変数ｓｕｍと変数ｍｉｎを比較し、変数ｓｕｍが変数ｍｉｎよりも小さいか否かを判定する。変数ｓｕｍが変数ｍｉｎよりも小さいと判定した場合、ステップＳ７に進む。
【００１５】
ステップＳ７では、変数ｍｉｎを変数ｓｕｍで置換し、参照ブロックの識別番号ｎを動きベクトル番号として記憶する。このステップＳ７の処理の後、ステップＳ８に進む。なお、上述のステップＳ６で、変数ｓｕｍが変数ｍｉｎよりも小さくないと判定された場合、ステップＳ７の処理をスキップし、ステップＳ８に進む。
【００１６】
ステップＳ８では、参照ブロックの識別番号ｎが最大値であるか否か、すなわち、サーチエリアＳＲの全域に参照ブロックを移動し終えたか否かを判定する。参照ブロックの識別番号ｎが最大値ではないと判定した場合、ステップＳ９に進む。ステップＳ９では、参照ブロックの識別番号ｎをインクリメントし、ステップＳ４の処理に戻って、それ以降の処理を繰り返す。
【００１７】
また、ステップＳ８で、参照ブロックの識別番号ｎが最大値であると判定した場合、すなわち、サーチエリアＳＲの全域に参照ブロックを移動し終えた場合、ステップＳ１０に進む。このステップＳ１０では、動きベクトル番号として記憶している識別番号ｎに対応する参照ブロックの中心の画素位置と、対象フレームＦｃの注目画素位置との差分ベクトルを、対象フレームＦｃの注目画素位置に対応した動きベクトルとして算出する。
【００１８】
【特許文献１】特許第３２７７４１７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上述したように動きベクトル検出をブロックマッチング法で行う場合、ブロックマッチングを行う際の画素ブロックのブロックパターンをどのように設定するかが問題となる。すなわち、画素ブロックを小さく設定することで、小動きに対処できるが、逆にノイズに弱く、結果にバラツキが発生する。一方、画素ブロックを大きく設定することで、ノイズに強く、結果が安定するが、逆に小動きに対処できなくなる。
【００２０】
この発明の目的は、適切なブロックパターンの画素ブロックを用いて動きベクトルを精度よく検出することにある。
【課題を解決するための手段】
【００２１】
この発明に係る動きベクトル検出装置は、第１のフレームの画像信号および第２のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出装置であって、第１のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、この複数の画素データに基づいてその注目画素位置に係る特徴量を得る特徴量取得手段と、特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルを記憶した記憶手段と、この記憶手段に記憶されているマッチングブロックテーブルから特徴量取得手段で得られた特徴量に対応したブロックパターン情報を得るブロックパターン情報取得手段と、このブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、第１のフレームの注目画素位置に対応した第１の画素ブロックと、ブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、第２のフレームの複数の第２の画素ブロックのそれぞれとの間のマッチング演算を行うマッチング演算手段と、このマッチング演算手段で求められた複数の第２の画素ブロックに対応したマッチング演算結果に基づいて、第１のフレームの注目画素位置に対応した動きベクトルを得る動きベクトル取得手段とを備えるものである。
【００２２】
また、この発明に係る動きベクトル検出方法は、第１のフレームの画像信号および第２のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出方法であって、第１のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、この複数の画素データに基づいてその注目画素位置に係る特徴量を得る第１のステップと、特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、第１のステップで得られた特徴量に対応したブロックパターン情報を得る第２のステップと、この第２のステップで得られたブロックパターン情報で示すブロックパターンの、第１のフレームの注目画素位置に対応した第１の画素ブロックと、第２のステップで得られたブロックパターン情報で示すブロックパターンの、第２のフレームの複数の第２の画素ブロックのそれぞれとの間のマッチング演算を行う第３のステップと、この第３のステップで求められた複数の第２の画素ブロックに対応したマッチング演算結果に基づいて、第１のフレームの注目画素位置に対応した動きベクトルを得る第４のステップとを備えるものである。
【００２３】
また、この発明に係るプログラムは、上述した動きベクトル検出方法をコンピュータに実行させるためのものである。また、この発明に係るコンピュータ読み取り可能な媒体は、上述のプログラムを記録したものである。
【００２４】
この発明においては、第１のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データが抽出され、この複数の画素データに基づいてその注目画素位置に係る特徴量が得られる。この場合、特徴量は、複数の画素データの特徴を表すものであればよい。例えば、複数の画素データをそれぞれ１ビットデータに符号化して得られる複数ビットのコードが特徴量とされる。また例えば、複数の画素データからなる画素ブロックに対してＤＣＴ(Discrete Cosine Transform)等の直交変換を行って得られる係数データから特徴量を得るようにしてもよい。
【００２５】
また、特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルが用意される。ここで、ある特徴量に対応するブロックパターンは、その特徴量が得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、予め学習によって求められる。
【００２６】
このマッチングブロックテーブルから、上述した注目画素位置に係る特徴量に対応したブロックパターン情報が取得される。そして、この取得されたブロックパターン情報で示すブロックパターンの、第１のフレーム（対象フレーム）の注目画素位置に対応した第１の画素ブロック（基準ブロック）と、取得されたブロックパターン情報で示すブロックパターンの、第２のフレーム（参照フレーム）の複数の第２の画素ブロック（参照ブロック）のそれぞれとの間のマッチング演算が行われる。
【００２７】
このマッチング演算は、第１の画素ブロックと第２の画素ブロックとの間の相関の程度を示す値をその結果として得ることができるものであればよい。例えば、マッチング演算は、第１の画素ブロックを構成する画素データと第２の画素ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、その求められた差分絶対値の和を求める演算とされる。また例えば、マッチング演算は、差分二乗和を求める演算とされてもよい。
【００２８】
複数の第２の画素ブロックに対応したマッチング演算結果に基づいて、第１のフレームの注目画素位置に対応した動きベクトルが得られる。この場合、第１の画素ブロックとマッチングの程度が最良の第２のブロックの中心画素位置と注目画素値との差分ベクトルが動きベクトルとして求められる。
【００２９】
上述したように、この発明においては、第１のフレームの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素位置に係る特徴量に対応したブロックパターンの画素ブロックを用いるものであり、適切なブロックパターンの画素ブロックによるブロックマッチング処理を行うことができ、当該注目画素位置に対応した動きベクトルを精度よく検出できる。
【００３０】
例えば、第１のフレームの注目画素位置に対応した第１の画素ブロックとマッチング演算される第２のフレームの複数の第２の画素ブロックは、例えば第１のフレームの注目画素位置に対応した第２のフレームのサーチエリア内の画素ブロックである。この場合、第２のフレームのサーチエリア内を対象として動きベクトルを検出できる。
【００３１】
また例えば、第２のフレームの各画素位置毎に、その画素位置の近傍に位置する複数の画素データに基づいてその画素位置の特徴量を得、その特徴量と第２のフレームの各画素位置との対応関係を示すテーブルが生成され、このテーブルから上述した注目画素位置に係る特徴量に対応した第２のフレームの複数の画素位置が取得されるようにし、第１のフレームの注目画素位置に対応した第１の画素ブロックとマッチング演算される第２のフレームの複数の第２の画素ブロックは、この第２のフレームの複数の画素位置に対応した画素ブロックとされる。この場合、マッチング演算をすべき第２の画素ブロックの個数を少なくできるので、演算量を大幅に低減できる。
【００３２】
この発明に係るマッチングブロックテーブル生成装置は、所定フレームの注目画素位置に対応した動きベクトルを、その注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する装置であって、記憶手段と、通過画素テーブル生成手段と、動き補償画像生成手段と、ブロック評価テーブル生成手段と、マッチングブロックテーブル生成手段とを備えるものである。
【００３３】
そして、記憶手段は、時間的に連続する第１〜第３のフレームの画像信号を記憶するものである。また、通過画素テーブル生成手段は、記憶手段に記憶されている第１のフレームの画像信号および第３のフレームの画像信号を用い、各ブロックパターン毎に、第１のフレームの各画素位置に対応した第３のフレームの画素位置を、そのブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、第２のフレームの各画素位置と、第１のフレームおよび第３のフレームの画素位置との対応関係を示す通過画素テーブルを生成するものである。
【００３４】
動き補償画像生成手段は、記憶手段に記憶されている第１のフレームの画像信号および第３のフレームの画像信号と、通過画素テーブル生成手段で生成された通過画素テーブルとを用い、各ブロックパターン毎に、第２のフレームの各画素位置に対応して、通過画素テーブルから第１のフレームおよび第３のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて第２のフレームの画素値を求め、第２のフレームの画像信号に対応した動き補償画像信号を生成するものである。
【００３５】
ブロック評価テーブル生成手段は、記憶手段に記憶されている第２のフレームの画像信号と、動き補償画像生成手段で生成された動き補償画像信号とを用い、第２のフレームの画素位置およびブロックパターンの組み合わせ毎に、その画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、第２のフレームの画像信号および動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、その算出された評価値を、そのブロックパターンおよび求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成するものである。
【００３６】
マッチングブロックテーブル生成手段は、ブロック評価テーブル生成手段で生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、マッチングブロックテーブルを生成するものである。
【００３７】
また、この発明に係るマッチングブロックテーブル生成方法は、所定フレームの注目画素位置に対応した動きベクトルを、その注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する方法であって、上述した通過画素テーブルを生成する第１のステップと、上述した動き補償画像信号を生成する第２のステップと、上述したブロック評価テーブルを生成する第３のステップと、上述したマッチングブロックテーブルを生成する第４のステップとを備えるものである。
【００３８】
また、この発明に係るプログラムは、上述したマッチングブロックテーブル生成方法をコンピュータに実行させるためのものである。また、この発明に係るコンピュータ読み取り可能な媒体は、上述のプログラムを記録したものである。
【００３９】
この発明においては、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルが生成される。この場合、ある特徴量に対応するブロックパターンは、その特徴量が得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、学習によって求められる。
【発明の効果】
【００４０】
この発明によれば、第１のフレームの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素値に係る特徴量に対応したブロックパターンの画素ブロックを用いるものであり、適切なブロックパターンの画素ブロックによるブロックマッチング処理を行うことができ、動きベクトルを精度よく検出できる。
【００４１】
またこの発明によれば、第１のフレームの注目画素位置に係る特徴量と同じ特徴量を持つ第２のフレームの複数の画素位置を取得し、第１のフレームの注目画素位置に対応した第１の画素ブロックとマッチング演算される第２のフレームの複数の第２の画素ブロックを、この取得された複数の画素位置に対応した画素ブロックとするものであり、マッチング演算をすべき第２の画素ブロックの個数を少なくできるので、演算量を大幅に低減できる。
【発明を実施するための最良の形態】
【００４２】
以下、この発明の実施の形態を図面を参照して説明する。図１は、実施の形態としての動きベクトル検出装置１００の構成を示している。この動きベクトル検出装置１００は、ブロックマッチング法に従って動きベクトルを検出する。
【００４３】
この動きベクトル検出装置１００は、画像信号が入力される入力端子１０１と、第１のフレームとしての対象フレームＦｃの画像信号を蓄積するフレームメモリ１０２と、第２のフレームとしての参照フレームＦｒの画像信号を蓄積するフレームメモリ１０３とを有している。
【００４４】
入力端子１０１からあるフレームの画像信号がフレームメモリ１０２に供給されて書き込まれる際に、このフレームメモリ１０２に記憶されていた１フレーム前の画像信号が読み出されてフレームメモリ１０３に供給されて書き込まれる。この場合、対象フレームＦｃの画像信号が＃ｎ−１フレームの画像信号であるとき、参照フレームＦｒの画像信号はその１フレーム前の＃ｎ−２フレームの画像信号となる。
【００４５】
また、動きベクトル検出装置１００は、クラスコード生成部１０４を有している。このクラスコード生成部１０４は、対象フレームＦｃの各画素位置を順次注目画素位置として、当該注目画素位置に係る特徴量としてのクラスコードＣＬn-1を生成する。この場合、クラスコード生成部１０４は、フレームメモリ１０２に蓄積されている対象フレームＦｃの画像信号から、注目画素位置の近傍に位置する複数の画素データを抽出し、この複数の画素データのそれぞれを１ビットデータに符号化してクラスコードＣＬn-1を取得する。
【００４６】
ここで、注目位置の近傍に位置する複数の画素データは、例えば図２に示すように、注目画素を中心とするＰ１〜Ｐ９の９画素とされ、クラスコードＣＬn-1として９ビットコードが得られる。このクラスコードＣＬn-1は、例えば１ビットＡＤＲＣ(Adaptive Dynamic Range Coding)により求められる。
【００４７】
１ビットＡＤＲＣにおいては、複数の画素データから最大値ＭＡＸおよび最小値が検出され、さらにダイナミックレンジＤＲ＝ＭＡＸ−ＭＩＮが検出され、複数の画素データのそれぞれについて、その画素データから最小値ＭＩＮが減算され、その減算値がＤＲ／２で除算される。これにより、複数の画素データのそれぞれが１ビットデータに符号化され、それを所定の順番で並べたビット列がクラスコードＣＬn-1とされる。
【００４８】
また、動きベクトル検出装置１００は、フレームメモリ１０２に蓄積されている対象フレームＦｃの画像信号と、フレームメモリ１０３に蓄積されている参照フレームＦｒの画像信号と、さらにクラスコード生成部１０４で生成された、対象フレームＦｃの注目画素位置に係る特徴量としてのクラスコードＣＬn-1とを用いて、当該対象フレームＦｃの注目画素位置に対応した動きベクトルを求める動きベクトル算出部１０５と、この動きベクトル算出部１０５で得られた動きベクトルを出力する出力端子１０６とを有している。
【００４９】
図１に示す動きベクトル検出装置１００の動作を説明する。
【００５０】
入力端子１０１に入力される画像信号はフレームメモリ１０２に供給されて書き込まれる。これにより、フレームメモリ１０２には、＃ｎ−１フレームの画像信号が対象フレームＦｃの画像信号として蓄積される。またこの際、フレームメモリ１０２に記憶されていた１フレーム前の画像信号が読み出されてフレームメモリ１０３に供給されて書き込まれる。これにより、フレームメモリ１０３には、＃ｎ−２フレームの画像信号が参照フレームＦｒの画像信号として蓄積される。
【００５１】
クラスコード生成部１０４では、対象フレームＦｃの各画素位置を順次注目画素位置とし、フレームメモリ１０２に蓄積されている対象フレームＦｃの画像信号に基づいて注目画素値の近傍に位置する複数の画素データが抽出され（図２参照）、この複数の画素データを用いて、当該注目画素位置に係る特徴量としてのクラスコードＣＬn-1が生成される。このクラスコード生成部１０４で生成されるクラスコードＣＬn-1は、動きベクトル算出部１０５に供給される。
【００５２】
動きベクトル算出部１０５では、フレームメモリ１０２に蓄積されている対象フレームＦｃの画像信号と、フレームメモリ１０３に蓄積されている参照フレームＦｒの画像信号と、さらにクラスコード生成部１０４で生成された、対象フレームＦｃの注目画素位置に係る特徴量としてのクラスコードＣＬn-1とから、当該対象フレームＦｃの注目画素位置に対応した動きベクトルが求められる。そして、この動きベクトル算出部１０５で得られた動きベクトルは出力端子１０６に導出される。
【００５３】
次に、動きベクトル算出部１０５の詳細を説明する。図３は、動きベクトル算出部１０５の構成を示している。
この動きベクトル算出部１０５は、ＭＥメモリ部１２１を有している。このＭＥメモリ部１２１には、クラスコードと参照フレームＦｒの各画素位置との対応関係を示すテーブルが記憶されている。このテーブルは、参照フレームＦｒの画像信号としての＃ｎ−２フレームの画像信号がフレームメモリ１０２に蓄積されている状態で、クラスコード生成部１０４で生成される当該＃ｎ−２フレームの各画素位置に係る特徴量としてのクラスコードＣＬn-2を用いて生成される。
【００５４】
図４は、ＭＥメモリ部１２１が記憶するテーブルの構造を示している。このテーブルは、特徴量アドレス０〜ａと、フラグアドレス０〜ｂによって示される（ａ＋１）×（ｂ＋１）個のセルにより構成される。以下、例えば、特徴量アドレス「１」、フラグアドレス「２」のセルをセル（１，２）と記述する。特徴量アドレスは、クラスコード生成部１０４によって生成される＃ｎ−２フレームの各画素位置に係る特徴量としてのクラスコードＣＬn-2に対応する。例えば、クラスコードが９ビットである場合、特徴量アドレスの最大値ａ＝２9−１となる。
【００５５】
特徴量アドレス０のフラグアドレス「１」以降のセルには、クラスコード生成部１０４によってクラスコード「000000000」が生成された＃ｎ−２フレームの画素位置の座標がラスタ順に格納される。特徴量アドレス「０」のフラグアドレス「０」のセル（０，０）には、クラスコード「000000000」が生成された画素位置の座標が既に格納されている、特徴量アドレス「０」のフラグアドレス「１」以降のセル、すなわち、使用済のセルの数が格納される。例えば、＃ｎ−２フレームの各画素位置のうち、３画素位置に対してそれぞれクラスコード「000000000」が生成された場合、セル（０，１）、セル（０，２）、セル（０，３）に３画素位置それぞれの座標が格納され、セル（０，０）に座標が格納されているセルの数である３が格納される。
【００５６】
特徴量アドレス「１」のフラグアドレス「１」以降のセルには、クラスコード生成部１０４によってクラスコード「000000001」が生成された＃ｎ−２フレームの画素位置の座標がラスタ順に格納される。特徴量アドレス「１」のフラグアドレス「０」のセル（１，０）には、クラスコード「000000001」が生成された画素位置の座標が格納されている、特徴量アドレス「０」のフラグアドレス「１」以降のセルの数が格納される。例えば、＃ｎ−２フレームの各画素位置のうち、１０画素位置に対して同一のクラスコード「000000001」が生成された場合、セル（１，１）、…、セル（１，１０）に１０画素位置それぞれの座標が格納され、セル（１，０）に、座標が格納されているセルの数である１０が格納される。特徴量アドレス「２」以降のセルについても同様であるので、その説明は省略する。
【００５７】
また、ＭＥメモリ部１２１は、上述したように記憶されているクラスコードと参照フレームＦｒの各画素位置との対応関係を示すテーブル（図４参照）に基づいて、クラスコード生成部１０４で生成される、対象フレームＦｃの注目画素位置に係るクラスコードＣＬn-1に対応した、参照フレームＦｒの画素位置の情報を、動きベクトルの候補位置情報として出力する。この場合、ＭＥメモリ部１２１は、クラスコードＣＬn-1に対応した特徴量アドレスの部分を参照し、フラグアドレス「０」のセルに格納される数をｍとするとき、フラグアドレス「１」〜「ｍ」に格納される座標を動きベクトルの候補位置情報として出力する。またこの場合、ＭＥメモリ部１２１は、ｍを動きベクトルの候補総数情報として出力する。
【００５８】
また、動きベクトル算出部１０５は、マッチングブロックテーブルメモリ１２２を有している。このメモリ１２２は、特徴量してのクラスコードとブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルを記憶しており、クラスコード生成部１０４で生成される、対象フレームＦｃの注目画素位置に係るクラスコードＣＬn-1に対応した、ブロックパターン情報を出力する。このメモリ１２２は、マッチングブロックテーブルの記憶手段およびブロックパターン情報取得手段を構成している。各ブロックパターンは、ブロックの形状（四角形、十字形など）や画素数が異なるものである。
【００５９】
図５は、マッチングブロックテーブルの一例を示している。この例では、ブロックパターンの情報として、ブロックパターン番号ｂが記憶されている。図６は、マッチングブロックテーブルの他の例を示している。この例では、ブロックパターンの情報として、画素位置コードが記憶されている。この画素位置コードは、中心画素位置に対する相対位置を示すものである。ここで、あるクラスコードに対応するブロックパターンは、そのクラスコードが得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、予め学習によって求められる。マッチングブロックテーブルの生成に関しては後述する。
【００６０】
また、動きベクトル算出部１０５は、ＭＥメモリ部１２１より出力される、対象フレームＦｃの注目画素位置に対応した、動きベクトルの候補位置情報および候補総数情報と、メモリ１２２より出力される、対象フレームＦｃの注目画素位置に対応した、ブロックマッチングで使用すべき画素ブロックのブロックパターン情報と、フレームメモリ１０２（図１参照）に蓄積されている対象フレームＦｃの画像信号と、フレームメモリ１０３（図１参照）に蓄積されている参照フレームＦｒの画像信号とを用いて、対象フレームＦｃの注目画素位置に対応した動きベクトルを求める動きベクトル演算部１２３を有している。この動きベクトル演算部１２３は、マッチング演算手段および動きベクトル取得手段を構成している。
【００６１】
すなわち、動きベクトル演算部１２３は、メモリ１２２から供給されるブロックパターン情報で示すブロックパターンの、対象フレームＦｃの注目画素位置に対応した、第１の画素ブロックとしての基準ブロックと、ＭＥメモリ部１２１から供給される動きベクトルの候補位置情報で特定される、参照フレームＦｒの複数の画素位置に対応した、複数の第２の画素ブロックとしての参照ブロックのそれぞれとの間のマッチング演算を行う。また、動きベクトル演算部１２３は、複数の参照ブロックに対応したマッチング演算結果に基づいて、対象フレームＦｃの注目画素位置に対応した動きベクトルを求める。この場合、動きベクトル演算部１２３は、基準ブロックとマッチングの程度が最良である参照ブロックの中心画素位置と注目画素値との差分ベクトルを動きベクトルとして求める。
【００６２】
図３に示す動きベクトル算出部１０５の動作を説明する。
クラスコード生成部１０４（図１参照）で生成された、対象フレームＦｃの注目画素位置に係る特徴量としてのクラスコードＣＬn-1は、ＭＥメモリ部１２１に供給される。このＭＥメモリ部１２１には、クラスコードと参照フレームＦｒの各画素位置との対応関係を示すテーブル（図４参照）が記憶されている。
【００６３】
このＭＥメモリ部１２１からは、そのテーブルのうちクラスコードＣＬn-1に対応した特徴量アドレスの部分が参照され、そのクラスコードＣＬn-1に対応した参照フレームＦｒの複数の画素位置の座標が動きベクトルの候補位置情報として出力され、またその複数の画素位置の個数が動きベクトルの候補総数情報として出力される。このようにＭＥメモリ部１２１から出力される動きベクトルの候補位置情報および候補総数情報は動きベクトル演算部１２３に供給される。
【００６４】
また、クラスコード生成部１０４（図１参照）で生成された、対象フレームＦｃの注目画素位置に係る特徴量としてのクラスコードＣＬn-1は、マッチングブロックテーブルメモリ１２２に供給される。このメモリ１２２には、クラスコードとブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブル（図５、図６参照）が記憶されている。このメモリ１２２からは、そのテーブルから対象フレームＦｃの注目画素位置に係るクラスコードＣＬn-1に対応したブロックパターン情報が読み出されて出力される。このようにメモリ１２２から出力されるブロックパターン情報は、動きベクトル演算部１２３に供給される。
【００６５】
動きベクトル演算部１２３では、メモリ１２２から供給されるブロックパターン情報で示すブロックパターンの、対象フレームＦｃの注目画素位置に対応した基準ブロックと、ＭＥメモリ部１２１から供給される動きベクトルの候補位置情報で特定される、参照フレームＦｒの複数の画素位置に対応した、複数の参照ブロックのそれぞれとの間のマッチング演算が行われる。
【００６６】
このマッチング演算は、フレームメモリ１０２に蓄積されている対象フレームＦｃの画像信号およびフレームメモリ１０３に蓄積されている参照フレームＦｒの画像信号を用いて行われる。本実施の形態においては、このマッチング演算は、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求める演算とされる。
【００６７】
また、動きベクトル演算部１２３では、複数の参照ブロックに対応したマッチング演算結果に基づいて、対象フレームＦｃの注目画素位置に対応した動きベクトルが求められる。この場合、基準ブロックとマッチングの程度が最良である参照ブロックの中心画素位置と注目画素値との差分ベクトルが動きベクトルとして求められる。
【００６８】
次に、動きベクトル演算部１２３の詳細を説明する。図７は、動きベクトル演算部１２３の構成を示している。
この動きベクトル演算部１２３は、候補番号ｎを１に初期化する候補番号初期化部１３０と、この候補番号初期化部１３０における候補番号ｎの初期化を受けて、差分絶対値和の最小値ｍｉｎを初期化する最小値初期化部１３１を有している。最小値初期化部１３１は、ブロックパターン情報からブロック内の画素数を取得し、差分絶対値和の最小値ｍｉｎを、その最大値に初期化する。この場合、１画素の画素値が８ビットであるとき、最小値ｍｉｎは、（２8×ブロック内の画素数）に初期化される。
【００６９】
また、動きベクトル演算部１２３は、候補番号初期化部１３０における候補番号ｎの初期化あるいは後述する次候補番号決定部１３８における次の候補番号ｎの決定を受けて、評価値である差分絶対値和ｓｕｍを０に初期化する評価値初期化部１３２と、この評価値初期化部１３２における差分絶対値和ｓｕｍの初期化を受けて、候補番号ｎに対応した評価値である差分絶対値和ｓｕｍを演算する評価値演算部１３３とを有している。
【００７０】
評価値演算部１３３は、メモリ１２２（図３参照）から供給されるブロックパターン情報で示すブロックパターンに基づいて、対象フレームＦｃの注目画素位置に対応した基準ブロックを設定し、また参照フレームＦｒの候補番号ｎの候補位置に対応した参照ブロックを設定する。そして、この評価値演算部１３３は、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、差分絶対値和ｓｕｍを求める。
【００７１】
また、動きベクトル演算部１２３は、評価値判定部１３４を有している。この評価値判定部１３４は、評価値演算部１３３で求められた評価値である差分絶対値和ｓｕｍと、最小値初期化部１３１で初期化された、あるいは後述する最小値再設定部１３５で再設定された最小値ｍｉｎとを比較し、ｍｉｎ＞ｓｕｍであるか否かを判定し、その判定結果を出力する。
【００７２】
また、動きベクトル演算部１２３は、最小値再設定部１３５と、動きベクトル番号設定部１３６とを有している。最小値再設定部１３５は、評価値判定部１３４の判定結果がｍｉｎ＞ｓｕｍであることを示すとき、最小値ｍｉｎを、評価値演算部１３３で求められた差分絶対値和ｓｕｍに再設定する。動きベクトル番号設定部１３６は、評価値判定部１３４の判定結果がｍｉｎ＞ｓｕｍであることを示すとき、動きベクトル番号をそのときの候補番号ｎに設定する。
【００７３】
また、動きベクトル演算部１２３は、選択済み候補番号数判定部１３７を有している。この判定部１３７は、評価値判定部１３４で候補番号ｎに係る判定が行われる毎に、候補番号ｎが候補総数と同じであるか否かを判定し、候補番号ｎが候補総数と同じであるときは、動きベクトル番号設定部１３６で最終的に設定された動きベクトル番号を出力する。
【００７４】
また、動きベクトル演算部１２３は、候補番号判定部１３７の判定を受け、候補番号ｎが候補総数と同じでないとき、次の候補番号ｎを決定する次候補番号決定部１３８を有している。この場合、次候補番号決定部１３８は、候補番号ｎをインクリメントして、次の候補番号ｎを決定する。
【００７５】
また、動きベクトル演算部１２３は、判定部１３７から出力される動きベクトル番号を動きベクトルに変換する動きベクトル番号／動きベクトル変換部１３９を有している。この変換部１３９は、動きベクトル番号に対応した参照フレームの候補位置と対象フレームの注目画素位置との差分ベクトルを、対象フレームＦｃの注目画素位置に対応した動きベクトルとして求める。
【００７６】
次に、図７に示す動きベクトル演算部１２３の動作を説明する。ＭＥメモリ部１２１（図３参照）より出力される候補位置情報は、評価値演算部１３３に供給される。また、ＭＥメモリ部１２１（図３参照）より出力される候補総数情報は、選択済み候補番号数判定部１３７に供給される。さらに、マッチングブロックテーブル１２２（図３参照）より出力されるブロックパターン情報は、最小値初期化部１３１および評価値演算部１３３に供給される。
【００７７】
候補番号初期化部１３０では、候補番号ｎが１に初期化される。最小値初期化部１３１では、候補番号ｎの初期化を受けて、差分絶対値和の最小値ｍｉｎが、その最大値（２8×ブロック内の画素数）に初期化される。この最小値初期化部１３１で得られる最小値ｍｉｎは評価値判定部１３４に供給される。
【００７８】
また、評価値初期化部１３２では、候補番号ｎの初期化を受けて、評価値である差分絶対値和ｓｕｍが０に初期化される。そして、評価値演算部１３３では、この差分絶対値和ｓｕｍの初期化を受けて、候補番号１に対応した評価値である差分絶対値和ｓｕｍが演算される。
【００７９】
この場合、評価値演算部１３３では、ブロックパターン情報で示すブロックパターンに基づいて、対象フレームＦｃの注目画素位置に対応した基準ブロックが設定され、また参照フレームＦｒの候補番号１の候補位置に対応した参照ブロックが設定される。そして、この評価値演算部１３３では、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値が求められ、さらに求められた複数の差分絶対値の和が求められることで、候補番号１の評価値である差分絶対値和ｓｕｍが求められる。この評価値演算部１３３で求められた差分絶対値和ｓｕｍは、評価値判定部１３４に供給される。
【００８０】
評価値演算部１３３では、評価値演算部１３３で求められた差分絶対値和ｓｕｍと最小値初期化部１３１で初期化された最小値ｍｉｎとが比較され、ｍｉｎ＞ｓｕｍであるか否かが判定される。この評価値判定部１３４の判定結果は最小値再設定部１３５および動きベクトル番号設定部１３６に供給される。最小値再設定部１３５では、判定結果がｍｉｎ＞ｓｕｍであることを示すときは、最小値ｍｉｎが評価値演算部１３３で求められた差分絶対値和ｓｕｍに再設定される。このように、最小値再設定部１３５で最小値ｍｉｎが再設定された場合、それ以降に評価値判定部１３４で使用される最小値ｍｉｎは、最小値初期化部１３１で初期化された最小値ｍｉｎではなく、当該再設定された最小値ｍｉｎとされる。また、動きベクトル番号設定部１３６では、判定結果がｍｉｎ＞ｓｕｍであることを示すときは、候補番号１が動きベクトル番号として設定される。
【００８１】
選択済み候補番号数判定部１３７では、評価値判定部１３４で候補番号１に係る判定が行われた後、候補番号１が候補総数と同じであるか否かが判定され、候補番号１が候補総数と同じであるときは、動きベクトル番号設定部１３６で最終的に設定された動きベクトル番号が出力される。候補番号ｎが候補総数と同じでないとき、次候補番号決定部１３８では、次の候補番号２が決定され、その候補番号２は評価値初期化部１３２に供給される。
【００８２】
以下、候補番号２について、上述した候補番号１の場合と同様の動作が行われる。以下、候補番号ｎが候補総数と同じ値となるまで、同様の動作が繰り返し行われる。これにより、動きベクトル番号設定部１３６では、候補総数分の各候補番号に対応した差分絶対値和ｓｕｍのうち、最もその値が小さくなる候補番号が動きベクトル番号として最終的に設定される。そして、判定部１３７から動きベクトル番号／動きベクトル変換部１３９にその動きベクトル番号が供給される。そして、変換部１３９では、動きベクトル番号に対応した参照フレームＦｒの候補位置と対象フレームＦｃの注目画素位置との差分ベクトルが、対象フレームＦｃの注目画素位置に対応した動きベクトルとして求められる。
【００８３】
次に、図３に示す動きベクトル算出部１０５における、注目画素位置に対応した動きベクトルを算出する処理について、図８に示すフローチャートを参照して説明する。
まず、ステップＳＴ１１で、処理を開始し、ステップＳＴ１２で、対象ブロックＦｃの注目画素位置に係るクラスコードＣＬn-1に対応した候補総数情報および候補位置情報を取得する。そして、ステップＳＴ１２で、クラスコードＣＬn-1に対応したブロックパターン情報を取得する。
【００８４】
その後に、ステップＳＴ１４で、対象ブロックＦｃの注目画素位置に対応した動きベクトル情報を取得する。すなわち、ステップＳＴ１５で、差分絶対値和の最小値を格納する変数ｍｉｎを、その最大値（２8×ブロック内の画素数）に初期化する。そして、ステップＳＴ１６で、候補番号ｎを１に初期化する。
【００８５】
次に、ステップＳＴ１７で、差分絶対値和の演算結果を格納する変数ｓｕｍを０に初期化する。そして、ステップＳＴ１８で、対象フレームＦｃの注目画素位置に、ステップＳＴ１３で取得したブロックパターン情報で示されるブロックパターンの基準ブロックを設定し、参照フレームＦｒの識別番号ｎの候補位置に、ステップＳＴ１３で取得したブロックパターン情報で示されるブロックパターンの参照ブロックを設定する。さらに、このステップＳＴ１８で、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた差分絶対値の和（差分絶対値和）を求め、変数ｓｕｍに代入する。ここで、差分絶対値和の演算を、（２）式に従って行う。
Σi＝｜Ｆｃ（ｉ）−Ｆｒｎ（ｉ）｜              ・・・（２）
【００８６】
ただし、Ｆｃ（ｉ）は基準ブロックにおける画素の画素値であり、Ｆｒｎ（ｉ）は候補番号ｎの参照ブロックにおける画素の画素値である。また、Σiはｉを１からＬ（＝ブロック内の画素数）まで１ずつインクリメントしたときの総和演算を意味するものとする。そして、ステップＳ１９で、ステップＳ１８の演算結果である変数ｓｕｍと変数ｍｉｎを比較し、変数ｓｕｍが変数ｍｉｎよりも小さいか否かを判定する。変数ｓｕｍが変数ｍｉｎよりも小さいと判定した場合、ステップＳＴ２０に進む。
【００８７】
ステップＳＴ２０では、変数ｍｉｎを変数ｓｕｍで置換し、候補番号ｎを動きベクトル番号として記憶する。このステップＳＴ２０の処理の後、ステップＳＴ２１に進む。なお、上述のステップＳＴ１９で、変数ｓｕｍが変数ｍｉｎよりも小さくないと判定された場合、ステップＳＴ２０の処理をスキップし、ステップＳＴ２１に進む。
【００８８】
ステップＳＴ２１では、候補番号ｎが候補総数と同じであるか否かを判定する。候補番号ｎが候補総数と同じでないときは、ステップＳＴ２２で、候補番号ｎをインクリメントし、その後にステップＳＴ１７に戻って、次の候補番号ｎについての処理を行う。一方、候補番号ｎが候補総数と同じであるときは、候補総数分の各候補番号についての処理を終了したことを意味し、ステップＳＴ２３で、最終的に記憶されている動きベクトル番号に対応した、参照フレームＦｒの候補位置と、対象フレームＦｃの注目画素位置との差分ベクトルを、対象フレームＦｃの注目画素位置に対応した動きベクトルとして算出する。そして、ステップＳＴ２４で、処理を終了する。
【００８９】
以上説明したように、図１に示す動きベクトル検出装置１００においては、対象フレームＦｃの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素位置に係る特徴量としてのクラスコードＣＬn-1に対応したブロックパターンの画素ブロックを用いるものであり、適切なブロックパターンの画素ブロックによるブロックマッチング処理を行うことができ、当該注目画素位置に対応した動きベクトルを精度よく検出できる。
【００９０】
また、図１に示す動きベクトル検出装置１００においては、参照フレームＦｒの各画素位置毎に、その画素位置に対応した複数の画素データに基づいてその画素位置の特徴量としてのクラスコードＣＬn-2を得、そのクラスコードＣＬn-2と参照フレームＦｒの各画素位置との対応関係を示すテーブル（図４参照）が生成され、このテーブルから対象フレームＦｃの注目画素位置に係るクラスコードＣＬn-1に対応した参照フレームＦｒの複数の画素位置を取得し、対象フレームＦｃの注目画素位置に対応した基準ブロックとマッチング演算される参照フレームＦｒの複数の参照ブロックを、この参照フレームＦｒの複数の画素位置に対応した画素ブロックとするものであり、マッチング演算をすべき参照ブロックの個数を少なくでき、演算量を大幅に低減できる。
【００９１】
次に、マッチングブロックテーブルの生成について説明する。図９は、マッチングブロックテーブル生成装置２００の構成を示している。
このテーブル生成装置２００は、画像信号が入力される入力端子２０１と、連続した第１〜第３のフレームの画像信号を蓄積するフレームメモリ２０２〜２０４とを有している。
【００９２】
入力端子１０１からあるフレームの画像信号がフレームメモリ２０４に供給されて書き込まれる際に、このフレームメモリ２０４に記憶されていた１フレーム前の画像信号が読み出されてフレームメモリ２０３に供給されて書き込まれる。また、フレームメモリ２０４からあるフレームの画像信号がフレームメモリ２０３に供給されて書き込まれる際に、このフレームメモリ２０３に記憶されていた１フレーム前の画像信号が読み出されてフレームメモリ２０２に供給されて書き込まれる。
【００９３】
この場合、フレームメモリ２０２に第１のフレームとしての＃ｎ−２フレームの画像信号が蓄積され、フレームメモリ２０３に第２のフレームとしての＃ｎ−１フレームの画像信号が蓄積され、フレームメモリ２０４に第３のフレームとしての＃ｎフレームの画像信号が蓄積された状態となる。
【００９４】
また、テーブル生成装置２００は、通過画素テーブル生成部２０５を有している。この通過画素テーブル生成部２０５は、フレームメモリ２０２に蓄積されている＃ｎ−２フレームの画像信号およびフレームメモリ２０４に蓄積されている＃ｎフレームの画像信号を用い、各ブロックパターン毎に、＃ｎ−２フレームの各画素位置に対応した、＃ｎフレームの画素位置を、そのブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、＃ｎ−１フレームの各画素位置と＃ｎ−２フレームおよび＃ｎフレームの画素位置との対応関係を示す通過画素テーブル（図１０参照）を生成する。
【００９５】
図１１は、通過画素テーブル生成部２０５の構成を示している。この通過画素テーブル生成部２０５は、ブロックパターンを設定するブロックパターン設定部２１１と、＃ｎ−２フレームの注目画素位置（ｘn-2，ｙn-2）を設定する注目画素位置設定部２１２とを有している。
【００９６】
また、通過画素テーブル生成部２０５は、ブロックマッチング部２１３を有している。このブロックマッチング部２１３は、＃ｎ−２フレームに注目画素位置（ｘn-2，ｙn-2）に対応し、ブロックパターン設定部２１１で設定されたブロックパターンに対応した基準ブロックを設定し、また＃ｎフレームの上述の注目画素位置（ｘn-2，ｙn-2）に対応したサーチエリア内に、ブロックパターン設定部２１１で設定されたブロックパターンに対応した複数の参照ブロックを設定する。そして、ブロックマッチング部２１３は、基準ブロックと複数の参照ブロックのそれぞれとの間における差分絶対値和を順次求める。
【００９７】
また、通過画素テーブル生成部２０５は、＃ｎ−２フレームの注目画素位置（ｘn-2，ｙn-2）に対応した、＃ｎフレームの画素位置（ｘn，ｙn）を決定する対応画素位置決定部２１４を有している。この対応画素位置決定部２１４は、ブロックマッチング部２１３で求められた複数の参照ブロックのそれぞれに対応した差分絶対値和のうち、最小の差分絶対値和に対応した参照ブロックの中心画素位置を、＃ｎフレームの画素位置（ｘn，ｙn）に決定する。
【００９８】
また、通過画素テーブル生成部２０５は、テーブル書き込み部２１５を有している。このテーブル書き込み部２１５は、注目画素位置設定部２１２で設定された注目画素位置（ｘn-2，ｙn-2）および対応画素位置決定部２１４で決定された画素位置（ｘn，ｙn）を用い、＃ｎ−１における対応画素位置Ｐを求める（図１２参照）。この場合、水平方向に関しては、ｘn-2，ｘnの加算平均値を求め、この加算平均値に切り下げ処理を行って得られる画素位置ｘn-11と、この加算平均値に切り上げ処理を行って得られる画素位置ｘn-12とを求める。同様に、垂直方向に関しては、ｙn-2，ｙnの加算平均値を求め、この加算平均値に切り下げ処理を行って得られる画素位置ｙn-11と、この加算平均値に切り上げ処理を行って得られる画素位置ｙn-12とを求める。これにより、＃ｎ−１における対応画素位置Ｐとして、（ｘn-11，ｙn-11）、（ｘn-11，ｙn-12）、（ｘn-12，ｙn-11）、（ｘn-12，ｙn-12）が得られる。
【００９９】
さらに、テーブル書き込み部２１５は、通過画素テーブルメモリ２０５Ｍにおける、ブロックパターン設定部２１１で設定されたブロックパターンに対応した領域の、アドレス（ｘn-11，ｙn-11）、（ｘn-11，ｙn-12）、（ｘn-12，ｙn-11）、（ｘn-12，ｙn-12）に、＃ｎ−２フレームの注目画素位置（ｘn-2，ｙn-2）およびそれに対応した＃ｎフレームの画素位置（ｘn，ｙn）を書き込む。
【０１００】
また、通過画素テーブル生成部２０５は、選択済み画素数判定部２１６と、選択済みブロックパターン数判定部２１７とを有している。判定部２１６は、テーブル書き込み部２１５の処理終了を受けて、＃ｎ−２フレームの全画素位置に対する処理が終了したか否かを判定し、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部２１２に、次の注目画素位置を設定するように促す。
【０１０１】
判定部２１７は、判定部２１６が全画素位置に対する処理が終了したと判定するとき、全ブロックパターンに対する処理が終了したか否かを判定し、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部２１１に、次のブロックパターンを設定するように促す。
【０１０２】
次に、図１１に示す通過画素テーブル生成部２０５の動作を説明する。
ブロックパターン設定部２１１では、複数のブロックパターンのうち、最初のブロックパターンが設定される。そして、注目画素位置設定部２１２では、＃ｎ−２フレームの最初の注目画素位置（ｘn-2，ｙn-2）が設定される。
【０１０３】
ブロックマッチング部２１３では、＃ｎ−２フレームに注目画素位置（ｘn-2，ｙn-2）に対応し、ブロックパターン設定部２１１で設定されたブロックパターンに対応した基準ブロックが設定され、また＃ｎフレームの上述の注目画素位置（ｘn-2，ｙn-2）に対応したサーチエリア内に、ブロックパターン設定部２１１で設定されたブロックパターンに対応した複数の参照ブロックが設定される。そして、このブロックマッチング部２１３では、基準ブロックと複数の参照ブロックのそれぞれとの間における差分絶対値和が順次求められる。
【０１０４】
このようにブロックマッチング部２１３で求められた複数の参照ブロックにそれぞれ対応した差分絶対値和は、対応画素位置決定部２１４に供給される。この対応画素位置決定部２１４では、この複数の参照ブロックにそれぞれ対応した差分絶対値和のうち、最小の差分絶対値和が検出され、この最小の差分絶対値に対応した参照ブロックの中心画素位置が、＃ｎフレームの画素位置（ｘn，ｙn）に決定される。
【０１０５】
テーブル書き込み部２１５では、注目画素位置設定部２１２で設定された注目画素位置（ｘn-2，ｙn-2）および対応画素値決定部２１４で決定された画素位置（ｘn，ｙn）を用い、＃ｎ−１における対応画素位置Ｐが求められる（図１２参照）。この場合、水平方向に関しては、ｘn-2，ｘnの加算平均値に切り下げ処理を行って得られる画素位置ｘn-11と、その加算平均値に切り上げ処理を行って得られる画素位置ｘn-12とが求められる。同様に、垂直方向に関しては、ｙn-2，ｙnの加算平均値に切り下げ処理を行って得られる画素位置ｙn-11と、その加算平均値に切り上げ処理を行って得られる画素位置ｙn-12とが求められる。すなわち、テーブル書き込み部２１５では、＃ｎ−１における対応画素位置Ｐとして、（ｘn-11，ｙn-11）、（ｘn-11，ｙn-12）、（ｘn-12，ｙn-11）、（ｘn-12，ｙn-12）が得られる。
【０１０６】
そして、このテーブル書き込み部２１５では、通過画素テーブルメモリ２０５Ｍにおける、ブロックパターン設定部２１１で設定されたブロックパターンに対応した領域の、アドレス（ｘn-11，ｙn-11）、（ｘn-11，ｙn-12）、（ｘn-12，ｙn-11）、（ｘn-12，ｙn-12）に、＃ｎ−２フレームの注目画素位置（ｘn-2，ｙn-2）およびそれに対応した＃ｎフレームの画素位置（ｘn，ｙn）が書き込まれる。
【０１０７】
テーブル書き込み部２１５の処理終了を受けて、選択済み画素数判定部２１６では、＃ｎ−２フレームの全画素位置に対する処理が終了したか否かが判定される。そして、この判定部２１６は、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部２１２に、次の注目画素位置を設定するように促す。
【０１０８】
そのため、注目画素位置設定部２１２で＃ｎ−２フレームの全画素位置が設定されて処理が行われるまで、上述した＃ｎ−２フレームの注目画素位置（ｘn-2，ｙn-2）に対応した処理が繰り返し行われる。これにより、通過画素テーブルメモリ２０５Ｍにおける、ブロックパターン設定部２１１で設定されたブロックパターンに対応した領域に、当該ブロックパターンに対応した、＃ｎ−１フレームの各画素位置と、＃ｎ−２フレームおよび＃ｎフレームの画素位置との対応関係を示す通過画素テーブル（図１０参照）が生成される。
【０１０９】
また、選択済み画素数判定部２１６で＃ｎ−２フレームの全画素位置に対する処理が終了したと判定されるとき、選択済みブロックパターン数判定部２１７では、全ブロックパターンに対する処理が終了したか否かが判定される。そして、この判定部２１７は、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部２１１に、次のブロックパターンを設定するように促す。
【０１１０】
そのため、ブロックパターン設定部２１１で全ブロックパターンが設定されて処理が行われるまで、上述した設定されたブロックパターンに対応した通過画素テーブル（図１０参照）を生成する処理が繰り返し行われる。これにより、通過画素テーブル２０５Ｍには、ブロックパターン設定部２１１で設定される各ブロックパターンに対応した通過画素テーブルが生成される。
【０１１１】
図１１に示す通過画素テーブル生成部２０５における、通過画素テーブルを生成する処理について、図１３に示すフローチャートを参照して説明する。
まず、ステップＳＴ３１で、処理を開始し、ステップＳＴ３２で、最初のブロックパターンを設定する。そして、ステップＳＴ３３で、＃ｎ−２フレームの最初の注目画素位置（ｘn-2，ｙn-2）を設定する。
【０１１２】
次に、ステップＳＴ３４で、＃ｎ−２フレームに、ステップＳＴ３２で設定されたブロックパターンに対応した、注目画素位置（ｘn-2，ｙn-2）を含む基準ブロックを設定する。そして、ステップＳＴ３５で、＃ｎフレームの上述の注目画素位置（ｘn-2，ｙn-2）に対応したサーチエリア内に、ステップＳＴ３２で設定されたブロックパターンに対応した複数の参照ブロックを設定する。そして、このステップＳＴ３５で、基準ブロックと複数の参照ブロックのそれぞれとの間でブロックマッチング処理をして、＃ｎフレームにおける注目画素位置（ｘn-2，ｙn-2）に対応した画素位置（ｘn，ｙn）を取得する。この場合、マッチング演算結果としての差分絶対値和が最小となる参照ブロックの中心の画素位置を、画素位置（ｘn，ｙn）として取得する。
【０１１３】
次に、ステップＳＴ３６で、ステップＳＴ３３で設定された注目画素位置（ｘn-2，ｙn-2）およびステップＳＴ３５で取得された画素位置（ｘn，ｙn）を用い、＃ｎ−１フレームにおける対応画素位置Ｐを求める（図１２参照）。この場合、水平方向に関しては、ｘn-2，ｘnの加算平均値に切り下げ処理を行って得られる画素位置ｘn-11と、その加算平均値に切り上げ処理を行って得られる画素位置ｘn-12とを求める。同様に、垂直方向に関しては、ｙn-2，ｙnの加算平均値に切り下げ処理を行って得られる画素位置ｙn-11と、その加算平均値に切り上げ処理を行って得られる画素位置ｙn-12とを求める。すなわち、＃ｎ−１における対応画素位置Ｐとして、（ｘn-11，ｙn-11）、（ｘn-11，ｙn-12）、（ｘn-12，ｙn-11）、（ｘn-12，ｙn-12）を取得する。
【０１１４】
そして、ステップＳＴ３７で、通過画素テーブルメモリ２０５Ｍにおける、ステップＳＴ３２で設定されたブロックパターンに対応した領域の、アドレス（ｘn-11，ｙn-11）、（ｘn-11，ｙn-12）、（ｘn-12，ｙn-11）、（ｘn-12，ｙn-12）に、＃ｎ−２フレームの注目画素位置（ｘn-2，ｙn-2）およびそれに対応した＃ｎフレームの画素位置（ｘn，ｙn）を書き込む。
【０１１５】
次に、ステップＳＴ３８で、＃ｎ−２フレームの全画素位置に対する処理が終了したか否かを判定する。全画素位置に対する処理が終了していないと判定するときは、ステップＳＴ３３に戻って、＃ｎ−２フレームの次の注目画素位置（ｘn-2，ｙn-2）を設定し、上述したと同様の処理を繰り返す。これにより、通過画素テーブルメモリ２０５Ｍにおける、ステップＳＴ３２で設定されたブロックパターンに対応した領域には、当該ブロックパターンに対応した通過画素テーブル（図１０参照）が生成される。
【０１１６】
また、ステップＳＴ３８で、全画素位置に対する処理が終了したと判定するときは、ステップＳＴ３９に進む。このステップＳＴ３９では、全ブロックパターンに対する処理が終了したか否かを判定する。全ブロックパターンに対する処理が終了していないと判定するときは、ステップＳＴ３２に戻って、次のブロックパターンを設定し、上述したと同様の処理を繰り返す。これにより、通過画素テーブルメモリ２０５Ｍには、ステップＳＴ３２で設定される各ブロックパターンに対応した通過画素テーブルが生成される。
【０１１７】
ステップＳＴ３９で、全ブロックパターンに対する処理が終了したと判定するときは、ステップＳＴ４０に進み、処理を終了する。
【０１１８】
図９に戻って、また、テーブル生成装置２００は、ＭＣ画像生成部（動き補償画像生成部）２０６を有している。このＭＣ画像生成部２０６は、＃ｎ−２フレームの画像信号および＃ｎフレームの画像信号と、通過画素テーブル生成部２０５で生成された通過画素テーブルとを用い、各ブロックパターン毎に、＃ｎ−１フレームの各画素位置に対応して、通過画素テーブルから＃ｎ−２フレームおよび＃ｎフレームの画素位置を求め、この求められた画素位置の画素値に基づいて＃ｎ−１フレームの画素値を求め、＃ｎ−１フレームの画像信号に対応した動き補償画像信号を生成する。
【０１１９】
図１４は、ＭＣ画像生成部２０６の構成を示している。このＭＣ画像生成部２０６は、ブロックパターンを設定するブロックパターン設定部２２１と、＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）を設定する注目画素位置設定部２２２とを有している。
【０１２０】
また、ＭＣ画像生成部２０６は、注目画素位置設定部２２２で設定された注目画素位置（ｘn-1，ｙn-1）の画素値を算出する画素値算出部２２３を有している。この画素値算出部２２３は、通過画素テーブル生成部２０５の通過画素テーブルメモリ２０５Ｍに生成された、ブロックパターン設定部２２１で設定されたブロックパターンに対応した通過画素テーブル（図１０参照）を参照して、＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）に対応した、＃ｎ−２フレームおよび＃ｎフレームの画素位置を求める。
【０１２１】
さらに、この画素値算出部２２３は、求められた＃ｎ−２フレームおよび＃ｎフレームの画素位置の画素値を加算平均して、＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）の画素値を算出する。例えば、図１５に示すように、＃ｎ−１フレームの注目画素位置Ｐに対応した＃ｎ−２フレームおよび＃ｎフレームの画素位置がＱ１，Ｑ２，Ｒ１，Ｒ２であるとき、注目画素位置Ｐの画素値は、画素位置Ｑ１，Ｑ２，Ｒ１，Ｒ２の画素値を加算平均して得られる。
【０１２２】
また、ＭＣ画像生成部２０６は、書き込み部２２４を有している。この書き込み部２２４は、ＭＣ画像メモリ２０６Ｍにおける、ブロックパターン設定部２２１で設定されたブロックパターンに対応した領域の、注目画素位置設定部２２２で設定された注目画素位置（ｘn-1，ｙn-1）に対応したアドレスに、画素値算出部２２３で算出された当該注目画素位置（ｘn-1，ｙn-1）の画素値を書き込む。
【０１２３】
また、ＭＣ画像生成部２０６は、選択済み画素数判定部２２５と、選択済みブロックパターン数判定部２２６とを有している。判定部２２５は、書き込み部２２４の処理終了を受けて、＃ｎ−１フレームの全画素位置に対する処理が終了したか否かを判定し、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部２２２に、次の注目画素位置を設定するように促す。
【０１２４】
判定部２２６は、判定部２２５が全画素位置に対する処理が終了したと判定するとき、全ブロックパターンに対する処理が終了したか否かを判定し、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部２２１に、次のブロックパターンを設定するように促す。
【０１２５】
次に、図１４に示す通過画素テーブル生成部２０６の動作を説明する。
ブロックパターン設定部２２１では、複数のブロックパターンのうち、最初のブロックパターンが設定される。そして、注目画素位置設定部２２２では、＃ｎ−１フレームの最初の注目画素位置（ｘn-2，ｙn-2）が設定される。
【０１２６】
そして、画素値算出部２２３では、ブロックパターン設定部２２１で設定されたブロックパターンに対応した通過画素テーブル（図１０参照）を参照して、＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）に対応した、＃ｎ−２フレームおよび＃ｎフレームの画素位置が求められ、その求められた画素位置の画素値が加算平均されて、＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）の画素値が算出される。このように画素値算出部２２３で求められた＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）の画素値は、書き込み部２２４に供給される。
【０１２７】
書き込み部２２４では、ＭＣ画像メモリ２０６Ｍにおける、ブロックパターン設定部２２１で設定されたブロックパターンに対応した領域の、注目画素位置設定部２２２で設定された注目画素位置（ｘn-1，ｙn-1）に対応したアドレスに、画素値算出部２２３で算出された当該注目画素位置（ｘn-1，ｙn-1）の画素値が書き込まれる。
【０１２８】
書き込み部２２４の処理終了を受けて、選択済み画素数判定部２２５では、＃ｎ−１フレームの全画素位置に対する処理が終了したか否かが判定される。そして、この判定部２２５は、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部２２２に、次の注目画素位置を設定するように促す。
【０１２９】
そのため、注目画素位置設定部２２２で＃ｎ−１フレームの全画素位置が設定されて処理が行われるまで、上述した＃ｎ−１フレームの注目画素位置（ｘn-2，ｙn-2）に対応した処理が繰り返し行われる。これにより、ＭＣ画像メモリ２０５Ｍにおける、ブロックパターン設定部２２１で設定されたブロックパターンに対応した領域に、当該ブロックパターンに対応した、動き補償画像信号が生成される。
【０１３０】
また、選択済み画素数判定部２２５で＃ｎ−１フレームの全画素位置に対する処理が終了したと判定されるとき、選択済みブロックパターン数判定部２２６では、全ブロックパターンに対する処理が終了したか否かが判定される。そして、この判定部２２６は、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部２２１に、次のブロックパターンを設定するように促す。
【０１３１】
そのため、ブロックパターン設定部２２１で全ブロックパターンが設定されて処理が行われるまで、上述した設定されたブロックパターンに対応した動き補償画像信号を生成する処理が繰り返し行われる。これにより、ＭＣ画像メモリ２０６Ｍには、ブロックパターン設定部２２１で設定される各ブロックパターンに対応した動き補償画像信号が生成される。
【０１３２】
図１４に示すＭＣ画像生成部２０６における、動き補償画像信号を生成する処理について、図１６に示すフローチャートを参照して説明する。
まず、ステップＳＴ４１で、処理を開始し、ステップＳＴ４２で、最初のブロックパターンを設定する。そして、ステップＳＴ４３で、＃ｎ−１フレームの最初の注目画素位置（ｘn-1，ｙn-1）を設定する。
【０１３３】
次に、ステップＳＴ４４で、ステップＳＴ４２で設定されたブロックパターンに対応した通過画素テーブル（図１０参照）を参照して、ステップＳＴ４３で設定された＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）に対応した、＃ｎ−２フレームおよび＃ｎフレームの画素位置を求める。さらに、このステップＳＴ４４で、求められた画素位置の画素値を加算平均して、＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）の画素値を算出する。
【０１３４】
次に、ステップＳＴ４５で、ＭＣ画像メモリ２０６Ｍにおける、ステップＳＴ４２で設定されたブロックパターンに対応した領域の、ステップＳＴ４３で設定された注目画素位置（ｘn-1，ｙn-1）に対応したアドレスに、ステップＳＴ４４で算出された当該注目画素位置（ｘn-1，ｙn-1）の画素値を書き込む。
【０１３５】
次に、ステップＳＴ４６で、＃ｎ−１フレームの全画素位置に対する処理が終了したか否かを判定する。全画素位置に対する処理が終了していないと判定するときは、ステップＳＴ４３に戻って、＃ｎ−１フレームの次の注目画素位置（ｘn-1，ｙn-1）を設定し、上述したと同様の処理を繰り返す。これにより、ＭＣ画像メモリ２０６Ｍにおける、ステップＳＴ４２で設定されたブロックパターンに対応した領域には、当該ブロックパターンに対応した動き補償画像信号が生成される。
【０１３６】
また、ステップＳＴ４６で、全画素位置に対する処理が終了したと判定するときは、ステップＳＴ４７に進む。このステップＳＴ４７では、全ブロックパターンに対する処理が終了したか否かを判定する。全ブロックパターンに対する処理が終了していないと判定するときは、ステップＳＴ４２に戻って、次のブロックパターンを設定し、上述したと同様の処理を繰り返す。これにより、ＭＣ画像メモリ２０６Ｍには、ステップＳＴ４２で設定される各ブロックパターンに対応した動き補償画像信号が生成される。
【０１３７】
ステップＳＴ４７で、全ブロックパターンに対する処理が終了したと判定するときは、ステップＳＴ４８に進み、処理を終了する。
【０１３８】
図９に戻って、また、テーブル生成装置２００は、ブロック評価テーブル生成部２０７を有している。このブロック評価テーブル生成部２０７は、＃ｎ−１フレームの画像信号と、ＭＣ画像生成部２０６で生成された動き補償画像信号とを用いて、ブロック評価テーブルを生成する。すなわち、ブロック評価テーブル生成部２０７は、＃ｎ−１フレームの画素位置およびブロックパターンの組み合わせ毎に、その画素位置に対応した＃ｎ−１フレームの複数の画素データに基づいて、特徴量としてのクラスコードＣＬn-1を求めると共に、＃ｎ−１フレームの画像信号および動き補償画像信号のそれぞれからその画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、この算出された評価値を、そのブロックパターンおよび求められたクラスコードＣＬn-1に対応したアドレスの値に加算することで、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する。
【０１３９】
図１７は、ブロック評価テーブル生成部２０７の構成を示している。このブロック評価テーブル生成部２０７は、＃ｎ−１フレームの注目画素位置（ｘn-1，ｙn-1）を設定する注目画素位置設定部２３１と、ブロックパターンを設定するブロックパターン設定部２３２とを有している。
【０１４０】
また、ブロック評価テーブル生成部２０７は、クラスコード生成用画素ブロック取得部２３３を有している。この画素ブロック取得部２３３は、＃ｎ−１フレームの画像信号から、注目画素位置（ｘn-1，ｙn-1）に対応した、クラスコード生成用の画素ブロックＳを取得する（図１８参照）。この場合、画素ブロック取得部２３３は、＃ｎ−１フレームの画像信号から、注目画素位置（ｘn-1，ｙn-1）の近傍に位置する複数の画素データを画素ブロックＳとして抽出する。ここで、この複数の画素データは、上述した動きベクトル検出装置１００（図１参照）のクラスコード生成部１０４においてクラスコードを生成するために抽出される複数の画素データと同様に、注目画素位置（ｘn-1，ｙn-1）の画素を中心とするＰ１〜Ｐ９の９画素とされる（図２参照）。
【０１４１】
また、ブロック評価テーブル生成部２０７は、画素ブロック取得部２３３で取得された画素ブロックＳからクラスコードＣＬn-1を生成するクラスコード生成部２３４を有している。このクラスコード生成部２３４では、上述した動きベクトル検出装置１００のクラスコード生成部１０４でクラスコードＣＬn-1を生成する場合と同様に、画素ブロックＳを構成する複数の画素データのそれぞれを１ビットデータに符号化して、９ビットコードであるクラスコードＣＬn-1を取得する。
【０１４２】
また、ブロック評価テーブル生成部２０７は、＃ｎ−１フレームの画像信号から、注目画素位置（ｘn-1，ｙn-1）に対応した、評価用画素ブロックＴ（図１８参照）を取得する評価用画素ブロック取得部２３５を有している。この場合、画素ブロック取得部２３５は、＃ｎ−１フレームの画像信号から、注目画素位置（ｘn-1，ｙn-1）の近傍に位置する複数の画素データを画素ブロックＴとして抽出する。なお、画素ブロックＴが上述したが画素ブロックＳと同じであるときは、この画素ブロック取得部２３５として、上述した画素ブロック取得部２３３を兼用できる。
【０１４３】
また、ブロック評価テーブル生成部２０７は、ＭＣ画像メモリ２０６Ｍに蓄積されている、ブロックパターン設定部２３２で設定されたブロックパターンに対応した動き補償画像信号から、注目画素位置（ｘn-1，ｙn-1）に対応した、評価用画素ブロックＫ（図１８参照）を取得する評価用画素ブロック取得部２３６を有している。この場合、画素ブロック取得部２３６は、動き補償画像信号から、注目画素位置（ｘn-1，ｙn-1）の近傍に位置する複数の画素データを画素ブロックＫとして抽出する。
【０１４４】
また、ブロック評価テーブル生成部２０７は、評価用画素ブロック取得部２３５，２３６でそれぞれ取得された画素ブロックＴ，Ｋに基づいて、評価値を算出する評価値算出部２３７を有している。評価値算出部２３７は、画素ブロックＴを構成する複数の画素データと画素ブロックＫを構成する複数の画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、評価値としての差分絶対値和を求める。
【０１４５】
また、ブロック評価テーブル生成部２０７は、テーブル書き込み部２３８を有している。このテーブル書き込み部２３８は、ブロック評価テーブルメモリ２０７Ｍのアドレス（ｂ，ＣＬn-1）に記憶されている値に、評価値算出部２３７で算出された評価値を加算する。ここで、ｂは、ブロックパターン設定部２３２で設定されたブロックパターンの番号を示しており、ＣＬn-1はクラスコード生成部２３４で生成されたクラスコードである。
【０１４６】
また、ブロック評価テーブル生成部２０７は、選択済みブロックパターン数判定部２３９と、選択済み画素数判定部２４０とを有している。判定部２３９は、テーブル書き込み部２３８の処理終了を受けて、全ブロックパターンに対する処理が終了したか否かを判定し、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部２３２に、次のブロックパターンを設定するように促す。
【０１４７】
判定部２４０は、判定部２３９が全ブロックパターンに対する処理が終了したと判定するとき、＃ｎ−１フレームの全画素位置に対する処理が終了したか否かを判定し、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部２３１に、次の注目画素位置を設定するように促す。
【０１４８】
次に、図１７に示すブロック評価テーブル生成部２０７の動作を説明する。
注目画素位置設定部２３１では、＃ｎ−１フレームの最初の注目画素位置（ｘn-1，ｙn-1）が設定される。そして、ブロックパターン設定部２３２では、複数のブロックパターンのうち、最初のブロックパターンが設定される。
【０１４９】
クラスコード生成用画素ブロック取得部２３３では、＃ｎ−１フレームの画像信号から、注目画素位置（ｘn-1，ｙn-1）に対応した、クラスコード生成用の画素ブロックＳが取得される（図１８参照）。この画素ブロックＳはクラスコード生成部２３４に供給される。このクラスコード生成部２３４では、画素ブロックＳを構成する複数の画素データのそれぞれが１ビットデータに符号化されて、９ビットコードであるクラスコードＣＬn-1が得られる。このクラスコードＣＬn-1はテーブル書き込み部２３８に、アドレス情報として供給される。また、ブロックパターン設定部２３２からテーブル書き込み部２３８には、ブロックパターン番号ｂがアドレス情報として供給される。
【０１５０】
評価用画素ブロック取得部２３５では、＃ｎ−１フレームの画像信号から、注目画素位置（ｘn-1，ｙn-1）に対応した、評価用画素ブロックＴが取得される（図１８参照）。同様に、評価用画素ブロック取得部２３６では、ＭＣ画像メモリ２０６Ｍに蓄積されている、ブロックパターン設定部２３２で設定されたブロックパターンに対応した動き補償画像信号から、注目画素位置（ｘn-1，ｙn-1）に対応した、評価用画素ブロックＫが取得される（図１８参照）。これら画素ブロックＴ，Ｋは、それぞれ評価値算出部２３７に供給される。
【０１５１】
評価値算出部２３７では、画素ブロックＴを構成する複数の画素データと画素ブロックＫを構成する複数の画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、評価値としての差分絶対値和が求められる。このように評価値算出部２３７で算出された、ブロックパターン設定部２３２で設定されたブロックパターンの評価値はテーブル書き込み部２３８に供給される。テーブル書き込み部２３８は、ブロック評価テーブルメモリ２０７Ｍのアドレス（ｂ，ＣＬn-1）に記憶されている値に、評価値算出部２３７で算出された評価値を加算する。
【０１５２】
テーブル書き込み部２３８の処理終了を受けて、選択済みブロックパターン数判定部２３８では、全ブロックパターンに対する処理が終了したか否かが判定される。そして、この判定部２３８は、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部２３２に、次のブロックパターンを設定するように促す。
【０１５３】
そのため、ブロックパターン設定部２３２で全ブロックパターンが設定されて処理が行われるまで、上述したブロックパターンに対応した評価値を評価値算出部２３７で算出し、テーブル書き込み部２３８が、ブロック評価テーブルメモリ２０７Ｍのアドレス（ｂ，ＣＬn-1）に記憶されている値にその評価値を加算する処理が、繰り返し行われる。
【０１５４】
これにより、ブロック評価テーブルメモリ２０７Ｍにおける、注目画素位置（ｘn-1，ｙn-1）に係る特徴量としてのクラスコードＣＬn-1に対応した領域に記憶されている、各ブロックパターンの値に、対応する評価値が順次加算されていく。
【０１５５】
また、選択済みブロックパターン数判定部２３９で全ブロックパターンに対する処理が終了したと判定されるとき、選択済み画素数判定部２４０では、＃ｎ−１フレームの全画素に対する処理が終了したか否かが判定される。そして、この判定部２４０は、全画素に対する処理が終了していないと判定するときは、注目画素位置設定部２３１に、次の注目画素位置（ｘn-1，ｙn-1）を設定するように促す。
【０１５６】
そのため、注目画素位置設定部２３１で＃ｎ−１フレームの全画素位置が注目画素位置（ｘn-1，ｙn-1）として設定されて処理が行われるまで、上述した注目画素位置（ｘn-1，ｙn-1）係る処理が繰り返し行われる。これにより、ブロック評価テーブルメモリ２０７Ｍには、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルが生成される。
【０１５７】
次に、図１７に示すブロック評価テーブル生成部２０７における、ブロック評価テーブルを生成する処理について、図１９に示すフローチャートを参照して説明する。
まず、ステップＳＴ５１で、処理を開始し、ステップＳＴ５２で、＃ｎ−１フレームの最初の注目画素位置（ｘn-1，ｙn-1）を設定する。そして、ステップＳＴ５３で、＃ｎ−１フレームの画像信号から、ステップＳＴ５２で設定された注目画素位置（ｘn-1，ｙn-1）に対応した、クラスコード生成用の画素ブロックＳを取得する（図１８参照）。さらに、ステップＳＴ５４で、画素ブロックＳを構成する複数の画素データのそれぞれを１ビットデータに符号化して、９ビットコードであるクラスコードＣＬn-1を生成する。
【０１５８】
次に、ステップＳＴ５５で、＃ｎ−１フレームの画像信号から、ステップＳＴ５２で設定された注目画素位置（ｘn-1，ｙn-1）に対応した、評価用画素ブロックＴを取得する（図１８参照）。
【０１５９】
次に、ステップＳＴ５６で、最初のブロックパターンを設定する。このブロックパターンは、ブロックパターン番号ｂで特定され、最初はｂ＝１とされる。そして、ステップＳＴ５７で、ＭＣ画像メモリ２０６Ｍに蓄積されている、ステップＳＴ５６で設定されたブロックパターンに対応した動き補償画像信号から、ステップＳＴ５２で設定された注目画素位置（ｘn-1，ｙn-1）に対応した、評価用画素ブロックＫを取得する（図１８参照）。
【０１６０】
次に、ステップＳＴ５８で、ステップＳＴ５５で取得された画素ブロックＴを構成する複数の画素データと、ステップＳＴ５７で取得された画素ブロックＫを構成する複数の画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、評価値としての差分絶対値和を算出する。そして、ステップＳＴ５９で、ブロック評価テーブルメモリ２０７Ｍのアドレス（ｂ，ＣＬn-1）に記憶されている値に、ステップＳＴ５８で算出された評価値を加算する。
【０１６１】
次に、ステップＳＴ６０で、全ブロックパターンに対する処理が終了したか否かを判定する。全ブロックパターンに対する処理が終了していないと判定するときは、ステップＳＴ５６に戻って、次のブロックパターンを設定し、上述したと同様の処理を繰り返す。これにより、ブロック評価テーブルメモリ２０７Ｍにおける、注目画素位置（ｘn-1，ｙn-1）に係る特徴量としてのクラスコードＣＬn-1に対応した領域に記憶されている、各ブロックパターンの値に、対応する評価値が順次加算されていく。
【０１６２】
また、ステップＳＴ６０で、全ブロックパターンに対する処理が終了したと判定するときは、ステップＳＴ６１に進む。このステップＳＴ６１では、＃ｎ−１フレームの全画素位置に対する処理が終了したか否かを判定する。全画素位置に対する処理が終了していないと判定するときは、ステップＳＴ５２に戻って、次の注目画素位置（ｘn-1，ｙn-1）を設定する。これにより、ブロック評価テーブルメモリ２０７Ｍには、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルが生成される。
【０１６３】
ステップＳＴ６１で、全画素に対する処理が終了したと判定するときは、ステップＳＴ６２に進み、処理を終了する。
【０１６４】
図９に戻って、また、テーブル生成装置２００は、マッチングブロックテーブル（図５、図６参照）を生成するマッチングブロックテーブル生成部２０８を有している。このテーブル生成部２０８は、上述したテーブル生成部２０７で生成されてブロック評価テーブルメモリ２０７Ｍに記憶されている、各クラスコードのブロック評価テーブルに基づいて、各クラスコード毎に、ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、マッチングブロックテーブルを生成する。そして、テーブル生成部２０８は、このように生成されるマッチングブロックテーブルを、マッチングブロックテーブルメモリ２０８に記憶しておく。
【０１６５】
本実施の形態においては、上述したようにテーブル生成部２０７では評価値として差分絶対値和を求めているので、テーブル生成部２０８は、それぞれのクラスコードに関して評価値の累積値が最小となるブロックパターンを、ブロックマッチングで使用すべき画素ブロックのブロックパターンに決定する。
【０１６６】
例えば、図２０Ａは、クラスコードＣＬａに関する、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルの内容を示している。このクラスコードＣＬａに関しては、累積値が最小となるブロックパターン番号ｂａのブロックパターンが、ブロックマッチングで使用すべき画素ブロックのブロックパターンに決定される。また例えば、図２０Ｂは、クラスコードＣＬｂに関する、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルの内容を示している。このクラスコードＣＬｂに関しては、累積値が最小となるブロックパターン番号１のブロックパターンが、ブロックマッチングで使用すべき画素ブロックのブロックパターンに決定される。なお、図２０Ａ，Ｂにおいて、ｂmaxはブロックパターン番号ｂの最大値を示している。
【０１６７】
次に、図９に示すマッチングブロックテーブル生成装置２００の動作を説明する。
入力端子２０１から画像信号が入力され、フレームメモリ２０２〜２０４は、連続した連続した第１〜第３のフレームの画像信号が蓄積された状態となる。この場合、フレームメモリ２０２に第１のフレームとしての＃ｎ−２フレームの画像信号が蓄積され、フレームメモリ２０３に第２のフレームとしての＃ｎ−１フレームの画像信号が蓄積され、フレームメモリ２０４に第３のフレームとしての＃ｎフレームの画像信号が蓄積された状態となる。
【０１６８】
通過画素テーブル生成部２０５では、フレームメモリ２０２に蓄積されている＃ｎ−２フレームの画像信号およびフレームメモリ２０４に蓄積されている＃ｎフレームの画像信号が用いられ、通過画素テーブルが生成され、通過画素テーブルメモリ２０５Ｍに記憶される。この場合、各ブロックパターン毎に、＃ｎ−２フレームの各画素位置に対応した、＃ｎフレームの画素位置を、そのブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出することで、＃ｎ−１フレームの各画素位置と＃ｎ−２フレームおよび＃ｎフレームの画素位置との対応関係を示す通過画素テーブル（図２参照）が生成される。
【０１６９】
ＭＣ画像生成部２０６では、＃ｎ−２フレームの画像信号および＃ｎフレームの画像信号と、通過画素テーブル生成部２０５で生成された、各ブロックパターンに対応した通過画素テーブルとが用いられ、補償用画像信号が生成され、ＭＣ画像メモリ２０６Ｍに記憶される。この場合、各ブロックパターン毎に、＃ｎ−１フレームの各画素位置に対応して、通過画素テーブルから＃ｎ−２フレームおよび＃ｎフレームの画素位置を求め、この求められた画素位置の画素値に基づいて＃ｎ−１フレームの画素値を求めることで、＃ｎ−１フレームの画像信号に対応した動き補償画像信号が生成される。
【０１７０】
ブロック評価テーブル生成部２０７では、＃ｎ−１フレームの画像信号と、ＭＣ画像生成部２０６で生成された各ブロックパターンに対応した動き補償画像信号とが用いられて、ブロック評価テーブルが生成され、ブロック評価テーブルメモリ２０７Ｍに記憶される。この場合、＃ｎ−１フレームの画素位置およびブロックパターンの組み合わせ毎に、その画素位置に対応した複数の画素データに基づいて、特徴量としてのクラスコードＣＬn-1を求めると共に、＃ｎ−１フレームの画像信号および動き補償画像信号のそれぞれからその画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、この算出された評価値を、そのブロックパターンおよび求められたクラスコードＣＬn-2に対応したアドレスの値に加算することで、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルが生成される。
【０１７１】
マッチングブロックテーブル生成部２０８では、テーブル生成部２０７で生成されてブロック評価テーブルメモリ２０７Ｍに記憶されている、各クラスコードのブロック評価テーブルに基づいて、各クラスコード毎に、ブロックマッチングで使用すべき画素ブロックのブロックパターンが決定されて、マッチングブロックテーブルが生成され、マッチングブロックテーブルメモリ２０８Ｍに記憶される。
【０１７２】
このように、図９に示すマッチングブロックテーブル生成装置２００により、特徴量としてのクラスコードとブロックパターンとの対応関係を示すマッチングブロックテーブルが生成される。この場合、あるクラスコードに対応するブロックパターンは、そのクラスコードが得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、学習によって求められる。
【０１７３】
なお、上述実施の形態においては、特徴量として複数の画素データをそれぞれ１ビットデータに符号化して得られたクラスコードを取得するものを示したが、特徴量はこれに限定されるものではない。特徴量は、複数の画素データの特徴を表すものであればよい。例えば、複数の画素データからなる画素ブロックに対してＤＣＴ(Discrete Cosine Transform)等の直交変換を行って得られる係数データから特徴量を得るようにしてもよい。
【０１７４】
また、上述実施の形態においては、マッチング演算は差分絶対値和を得る演算を示したが、これに限定されるものではない。このマッチング演算は、第１の画素ブロックと第２の画素ブロックとの間の相関の程度を示す値をその結果として得ることができるものであればよい。例えば、マッチング演算は、差分二乗和を求める演算とされてもよい。
【０１７５】
また、上述実施の形態においては、各処理をハードウェアで処理するように説明しているが、例えば図２１に示すようなハードウェア構成のコンピュータ３００を用い、ソフトウェアで処理することも当然可能である。
【０１７６】
このコンピュータ３００は、ＣＰＵ(Central Processing Unit)３３１を内蔵している。このＣＰＵ３１にはバス３３４を介して、入出力インタフェース３３５が接続されている。バス３３４には、ＲＯＭ(Read Only Memory)３３２およびＲＡＭ(Random Access Memory)３３３が接続されている。
【０１７７】
入出力インタフェース３３５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部３３６、操作画面や処理結果を示す画面などを表示するＣＲＴ(Cathode Ray Tube)またはＬＣＤ(Liquid Crystal Display)等よりなる出力部３３７、プログラムや各種データを格納するハードディスクドライブ等よりなる記憶部３３８、およびモデム、ＬＡＮ（Local Area Network）アダプタ等よりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部３３９が接続されている。また、磁気ディスク３４１、光ディスク３４２、光磁気ディスク３４３、および半導体メモリ３４４などの記録媒体に対してデータを読み書きするドライブ３４０が接続されている。
【０１７８】
ＣＰＵ３３１に上述した一連の処理を実行させるプログラムは、磁気ディスク３４１（フレキシブルディスクを含む）、光ディスク３４２（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク３４３（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリ３４４に格納された状態でコンピュータ３００に供給され、ドライブ３４０によって読み出されて記憶部３３８に内蔵されるハードディスクドライブにインストールされている。記憶部３３８にインストールされているプログラムは、入力部３３６に入力されるユーザからのコマンドに対応するＣＰＵ３３１の指令によって、記憶部３３８からＲＡＭ３３３にロードされて実行される。
【０１７９】
なお、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。また、処理対象となる画像信号は、例えば記録媒体によって提供され、あるいは通信部３１８を介してネットワークから提供され、記憶部３３８に内蔵されるハードディスクドライブに蓄積されて処理される。
【０１８０】
また、上述実施の形態においては、参照フレームＦｒの各画素位置毎に、その画素位置の近傍に位置する複数の画素データに基づいてその画素位置の特徴量としてのクラスコードＣＬn-2を得、そのクラスコードＣＬn-2と参照フレームの各画素位置との対応関係を示すテーブル（図４参照）を生成し、このテーブルから対象フレームＦｃの注目画素位置に係るクラスコードＣＬn-1に対応した参照フレームＦｒの複数の画素位置を取得し、対象フレームＦｃの注目画素位置に対応した基準ブロックとマッチング演算される参照フレームＦｒの複数の参照ブロックを、この参照フレームＦｒの複数の画素位置に対応した画素ブロックとして、演算量を大幅に低減するものを示した。
【０１８１】
しかし、この発明は、対象フレームＦｃの注目画素位置に対応した基準ブロックとマッチング演算される参照フレームＦｒの複数の参照ブロックが、対象フレームＦｃの注目画素位置に対応した参照フレームＦｒのサーチエリア内の画素ブロックであるもの（図２３参照）にも、同様に適用でき、動きベクトルの検出精度を高めることができる。
【産業上の利用可能性】
【０１８２】
注目画素位置に係る特徴量に対応したブロックパターンの画素ブロックを用い、ブロックマッチング処理により動きベクトルを精度よく検出できるものであり、例えば動き補償予測符号化装置で動き補償を行うために動きベクトルを検出する用途に適用できる。
【図面の簡単な説明】
【０１８３】
【図１】実施の形態としての動きベクトル検出装置の構成を示すブロック図である。
【図２】クラスコードを得るための複数の画素例を示す図である。
【図３】動きベクトル算出部の構成を示すブロック図である。
【図４】クラスコードと参照フレームの各画素位置との対応関係を示すテーブルの構造を示す図である。
【図５】マッチングブロックテーブルの一例を示す図である。
【図６】マッチングブロックテーブルの他の例を示す図である。
【図７】動きベクトル演算部の構成を示すブロック図である。
【図８】動きベクトル算出処理を示すフローチャートである。
【図９】マッチングブロックテーブル生成装置の構成を示すブロック図である。
【図１０】通過画素テーブルを示す図である。
【図１１】通過画素テーブル生成部の構成を示すブロック図である。
【図１２】通過画素テーブルの生成処理を説明するための図である。
【図１３】通過画素テーブルの生成処理を示すフローチャートである。
【図１４】ＭＣ画像生成部の構成を示すブロック図である。
【図１５】ＭＣ画像生成処理を説明するための図である。
【図１６】ＭＣ画像の生成処理を示すフローチャートである。
【図１７】ブロック評価テーブル生成部の構成を示すブロック図である。
【図１８】ブロック評価テーブルの生成処理を説明するための図である。
【図１９】ブロック評価テーブルの生成処理を示すフローチャートである。
【図２０】ブロック評価テーブルの内容例を示す図である。
【図２１】コンピュータのハードウェア構成を示す図である。
【図２２】従来の動きベクトル検出装置の構成を示すブロック図である。
【図２３】動きベクトルを検出する際の対象フレームと参照フレームとの対応関係を示す図である。
【図２４】従来の動きベクトル検出処理を示すフローチャートである。
【符号の説明】
【０１８４】
１００・・・動きベクトル検出装置、１０１・・・入力端子、１０２，１０３・・・フレームメモリ、１０３・・・クラスコード生成部、１０５・・・動きベクトル算出部、１０６・・・出力端子、１２１・・・ＭＥメモリ部、１２２・・・マッチングブロックテーブルメモリ、１２３・・・動きベクトル演算部、２００・・・マッチングブロックテーブル生成装置、２０１・・・入力端子、２０２〜２０４・・・フレームメモリ、２０５・・・通過画素テーブル生成部、２０６・・・ＭＣ画像生成部、２０７・・・ブロック評価テーブル生成部、２０８・・・マッチングブロックテーブル生成部、３００・・・コンピュータ
【図１】
2005063319.tif 000003
【図２】
2005063319.tif 000004
【図３】
2005063319.tif 000005
【図４】
2005063319.tif 000006
【図５】
2005063319.tif 000007
【図６】
2005063319.tif 000008
【図７】
2005063319.tif 000009
【図８】
2005063319.tif 000010
【図９】
2005063319.tif 000011
【図１０】
2005063319.tif 000012
【図１１】
2005063319.tif 000013
【図１２】
2005063319.tif 000014
【図１３】
2005063319.tif 000015
【図１４】
2005063319.tif 000016
【図１５】
2005063319.tif 000017
【図１６】
2005063319.tif 000018
【図１７】
2005063319.tif 000019
【図１８】
2005063319.tif 000020
【図１９】
2005063319.tif 000021
【図２０】
2005063319.tif 000022
【図２１】
2005063319.tif 000023
【図２２】
2005063319.tif 000024
【図２３】
2005063319.tif 000025
【図２４】
2005063319.tif 000026