JP2005063319A - 動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体 - Google Patents

動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体 Download PDF

Info

Publication number
JP2005063319A
JP2005063319A JP2003295514A JP2003295514A JP2005063319A JP 2005063319 A JP2005063319 A JP 2005063319A JP 2003295514 A JP2003295514 A JP 2003295514A JP 2003295514 A JP2003295514 A JP 2003295514A JP 2005063319 A JP2005063319 A JP 2005063319A
Authority
JP
Japan
Prior art keywords
block
frame
pixel
pixel position
image signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003295514A
Other languages
English (en)
Other versions
JP4547881B2 (ja
Inventor
Tetsujiro Kondo
哲二郎 近藤
Yasushi Tatsuhira
靖 立平
Junichi Ishibashi
淳一 石橋
Seiji Wada
成司 和田
Yasuhiro Shudo
泰広 周藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003295514A priority Critical patent/JP4547881B2/ja
Publication of JP2005063319A publication Critical patent/JP2005063319A/ja
Application granted granted Critical
Publication of JP4547881B2 publication Critical patent/JP4547881B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】マッチングブロック処理による動きベクトルの検出を精度よく行う。
【解決手段】対象フレームFcの注目画素位置に係る特徴量としてのクラスコードCLn-1をMEメモリ部121に供給し、動きベクトルの候補位置情報および候補総数情報を得る。また、クラスコードCLn-1をマッチングブロックテーブルメモリ122に供給し、クラスコードCLn-1に対応したブロックパターン情報を得る。動きベクトル演算部123は、ブロックパターン情報で示すブロックパターンの、対象フレームFcの注目画素位置に対応した基準ブロックと、動きベクトルの候補位置情報で特定される、参照フレームFrの複数の画素位置に対応した、複数の参照ブロックのそれぞれとの間のマッチング演算を行って、対象フレームFcの注目画素位置に対応した動きベクトルを求める。
【選択図】 図3



Description

この発明は、例えば動き補償予測符号化装置で動き補償を行うための動きベクトルを検出する際に適用して好適な動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムに関する。
詳しくは、この発明は、所定フレームの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素位置に係る特徴量に対応したブロックパターンの画素ブロックを用いることによって、動きベクトルを精度よく検出しようとした動きベクトル検出装置等に係るものである。
例えば、MPEG2(Moving Picture Experts Group)方式等の画像信号を圧縮符号化する処理においては、隣接する2フレーム間の相関関係に基づく符号化処理、いわゆる動き補償フレーム間予測が用いられている。動き補償フレーム間予測では、隣接する2フレーム(一方を対象フレーム、他方を参照フレームと記述する)の間における各画素単位または所定サイズの画素ブロック単位の動きベクトルを検出する処理が必要となる。
動きベクトルを検出する方法としては、従来、ブロックマッチング法が用いられている(例えば、特許文献1参照)。図22は、ブロックマッチング法に従って動きベクトルを検出する動きベクトル検出装置300の構成例を示している。
この動きベクトル検出装置300は、画像信号が入力される入力端子301と、対象フレームFcの画像信号を蓄積するフレームメモリ302と、参照フレームFrの画像信号を蓄積するフレームメモリ303とを有している。入力端子301からあるフレームの画像信号がフレームメモリ302に供給されて書き込まれる際に、このフレームメモリ302に記憶されていた1フレーム前の画像信号が読み出されてフレームメモリ303に供給されて書き込まれる。
また、動きベクトル検出装置300は、フレームメモリ302に蓄積されている対象フレームFcの画像信号と、フレームメモリ303に蓄積されている参照フレームFrの画像信号とを用いて、対象フレームFcの各画素位置に対応した動きベクトルを検出する動き検出部304と、この動き検出部304で検出された動きベクトルを出力する出力端子305とを有している。
動き検出部304は、ブロックマッチング法に従って、上述したように対象フレームFcの各画素位置に対応した動きベクトルを検出する。図23および図24を用いて、動き検出部304における動きベクトルの検出処理について説明する。図23は、対象フレームFcと参照フレームFrの対応関係を示している。図24は、検出処理の手順を示している。
動き検出部304は、対象フレームFc内の全ての画素位置が、順次、注目画素位置に指定され、注目画素位置を中心とする所定サイズ(L×L画素)の基準ブロックと、参照フレームFrに設けられたサーチエリアSR内で移動される参照ブロック(基準ブロックと同じサイズ)との対応する画素対の画素値の差分絶対値和を、(1)式に従って演算する。
ΣiΣj=|Fc(i,j)−Frn(i,j)| ・・・(1)
ただし、Fc(i,j)は基準ブロックの画素の画素値であり、Frn(i,j)は識別番号nの参照ブロックの画素の画素値である。また、Σiはiを1からLまで1ずつインクリメントしたときの総和演算を意味し、Σjはjを1からLまで1ずつインクリメントしたときの総和演算を意味するものとする。
そして、基準ブロックと参照ブロックとの対応する画素対の画素値の差分絶対値和が最小となるときの参照ブロックの中心の画素位置と注目画素位置との差分ベクトルを、当該注目画素位置に対応した動きベクトルとして算出する。
具体的には、対象フレームFcの注目画素位置に対して、動き検出部304は、以下の処理を行う。
ステップS1で、参照フレームFrに、対象フレームFcの注目画素位置と同じ画素位置を中心として、基準ブロックよりも大きなサイズのサーチエリアSRを設定する。そして、ステップS2で、差分絶対値和の最小値を格納する変数minを、その最大値に初期化する。例えば、1画素の画素値が8ビット、基準ブロックのサイズが4×4画素である場合、変数minは、4096(=28×16)に初期化される。
次に、ステップS3で、サーチエリアSR内で移動させる参照ブロックの識別番号nを1に初期化する。そして、ステップS4で、差分絶対値和の演算結果を格納する変数sumを0に初期化する。
次に、ステップS5で、対象フレームFcの基準ブロックと、参照フレームFrに設定したサーチエリアSR内の識別番号nの参照ブロックとの対応する場所に位置する画素対の画素値の差分絶対値和を演算して、変数sumに代入する。そして、ステップS6で、ステップS5の演算結果である変数sumと変数minを比較し、変数sumが変数minよりも小さいか否かを判定する。変数sumが変数minよりも小さいと判定した場合、ステップS7に進む。
ステップS7では、変数minを変数sumで置換し、参照ブロックの識別番号nを動きベクトル番号として記憶する。このステップS7の処理の後、ステップS8に進む。なお、上述のステップS6で、変数sumが変数minよりも小さくないと判定された場合、ステップS7の処理をスキップし、ステップS8に進む。
ステップS8では、参照ブロックの識別番号nが最大値であるか否か、すなわち、サーチエリアSRの全域に参照ブロックを移動し終えたか否かを判定する。参照ブロックの識別番号nが最大値ではないと判定した場合、ステップS9に進む。ステップS9では、参照ブロックの識別番号nをインクリメントし、ステップS4の処理に戻って、それ以降の処理を繰り返す。
また、ステップS8で、参照ブロックの識別番号nが最大値であると判定した場合、すなわち、サーチエリアSRの全域に参照ブロックを移動し終えた場合、ステップS10に進む。このステップS10では、動きベクトル番号として記憶している識別番号nに対応する参照ブロックの中心の画素位置と、対象フレームFcの注目画素位置との差分ベクトルを、対象フレームFcの注目画素位置に対応した動きベクトルとして算出する。
特許第3277417号公報
上述したように動きベクトル検出をブロックマッチング法で行う場合、ブロックマッチングを行う際の画素ブロックのブロックパターンをどのように設定するかが問題となる。すなわち、画素ブロックを小さく設定することで、小動きに対処できるが、逆にノイズに弱く、結果にバラツキが発生する。一方、画素ブロックを大きく設定することで、ノイズに強く、結果が安定するが、逆に小動きに対処できなくなる。
この発明の目的は、適切なブロックパターンの画素ブロックを用いて動きベクトルを精度よく検出することにある。
この発明に係る動きベクトル検出装置は、第1のフレームの画像信号および第2のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出装置であって、第1のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、この複数の画素データに基づいてその注目画素位置に係る特徴量を得る特徴量取得手段と、特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルを記憶した記憶手段と、この記憶手段に記憶されているマッチングブロックテーブルから特徴量取得手段で得られた特徴量に対応したブロックパターン情報を得るブロックパターン情報取得手段と、このブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、第1のフレームの注目画素位置に対応した第1の画素ブロックと、ブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、第2のフレームの複数の第2の画素ブロックのそれぞれとの間のマッチング演算を行うマッチング演算手段と、このマッチング演算手段で求められた複数の第2の画素ブロックに対応したマッチング演算結果に基づいて、第1のフレームの注目画素位置に対応した動きベクトルを得る動きベクトル取得手段とを備えるものである。
また、この発明に係る動きベクトル検出方法は、第1のフレームの画像信号および第2のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出方法であって、第1のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、この複数の画素データに基づいてその注目画素位置に係る特徴量を得る第1のステップと、特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、第1のステップで得られた特徴量に対応したブロックパターン情報を得る第2のステップと、この第2のステップで得られたブロックパターン情報で示すブロックパターンの、第1のフレームの注目画素位置に対応した第1の画素ブロックと、第2のステップで得られたブロックパターン情報で示すブロックパターンの、第2のフレームの複数の第2の画素ブロックのそれぞれとの間のマッチング演算を行う第3のステップと、この第3のステップで求められた複数の第2の画素ブロックに対応したマッチング演算結果に基づいて、第1のフレームの注目画素位置に対応した動きベクトルを得る第4のステップとを備えるものである。
また、この発明に係るプログラムは、上述した動きベクトル検出方法をコンピュータに実行させるためのものである。また、この発明に係るコンピュータ読み取り可能な媒体は、上述のプログラムを記録したものである。
この発明においては、第1のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データが抽出され、この複数の画素データに基づいてその注目画素位置に係る特徴量が得られる。この場合、特徴量は、複数の画素データの特徴を表すものであればよい。例えば、複数の画素データをそれぞれ1ビットデータに符号化して得られる複数ビットのコードが特徴量とされる。また例えば、複数の画素データからなる画素ブロックに対してDCT(Discrete Cosine Transform)等の直交変換を行って得られる係数データから特徴量を得るようにしてもよい。
また、特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルが用意される。ここで、ある特徴量に対応するブロックパターンは、その特徴量が得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、予め学習によって求められる。
このマッチングブロックテーブルから、上述した注目画素位置に係る特徴量に対応したブロックパターン情報が取得される。そして、この取得されたブロックパターン情報で示すブロックパターンの、第1のフレーム(対象フレーム)の注目画素位置に対応した第1の画素ブロック(基準ブロック)と、取得されたブロックパターン情報で示すブロックパターンの、第2のフレーム(参照フレーム)の複数の第2の画素ブロック(参照ブロック)のそれぞれとの間のマッチング演算が行われる。
このマッチング演算は、第1の画素ブロックと第2の画素ブロックとの間の相関の程度を示す値をその結果として得ることができるものであればよい。例えば、マッチング演算は、第1の画素ブロックを構成する画素データと第2の画素ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、その求められた差分絶対値の和を求める演算とされる。また例えば、マッチング演算は、差分二乗和を求める演算とされてもよい。
複数の第2の画素ブロックに対応したマッチング演算結果に基づいて、第1のフレームの注目画素位置に対応した動きベクトルが得られる。この場合、第1の画素ブロックとマッチングの程度が最良の第2のブロックの中心画素位置と注目画素値との差分ベクトルが動きベクトルとして求められる。
上述したように、この発明においては、第1のフレームの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素位置に係る特徴量に対応したブロックパターンの画素ブロックを用いるものであり、適切なブロックパターンの画素ブロックによるブロックマッチング処理を行うことができ、当該注目画素位置に対応した動きベクトルを精度よく検出できる。
例えば、第1のフレームの注目画素位置に対応した第1の画素ブロックとマッチング演算される第2のフレームの複数の第2の画素ブロックは、例えば第1のフレームの注目画素位置に対応した第2のフレームのサーチエリア内の画素ブロックである。この場合、第2のフレームのサーチエリア内を対象として動きベクトルを検出できる。
また例えば、第2のフレームの各画素位置毎に、その画素位置の近傍に位置する複数の画素データに基づいてその画素位置の特徴量を得、その特徴量と第2のフレームの各画素位置との対応関係を示すテーブルが生成され、このテーブルから上述した注目画素位置に係る特徴量に対応した第2のフレームの複数の画素位置が取得されるようにし、第1のフレームの注目画素位置に対応した第1の画素ブロックとマッチング演算される第2のフレームの複数の第2の画素ブロックは、この第2のフレームの複数の画素位置に対応した画素ブロックとされる。この場合、マッチング演算をすべき第2の画素ブロックの個数を少なくできるので、演算量を大幅に低減できる。
この発明に係るマッチングブロックテーブル生成装置は、所定フレームの注目画素位置に対応した動きベクトルを、その注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する装置であって、記憶手段と、通過画素テーブル生成手段と、動き補償画像生成手段と、ブロック評価テーブル生成手段と、マッチングブロックテーブル生成手段とを備えるものである。
そして、記憶手段は、時間的に連続する第1〜第3のフレームの画像信号を記憶するものである。また、通過画素テーブル生成手段は、記憶手段に記憶されている第1のフレームの画像信号および第3のフレームの画像信号を用い、各ブロックパターン毎に、第1のフレームの各画素位置に対応した第3のフレームの画素位置を、そのブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、第2のフレームの各画素位置と、第1のフレームおよび第3のフレームの画素位置との対応関係を示す通過画素テーブルを生成するものである。
動き補償画像生成手段は、記憶手段に記憶されている第1のフレームの画像信号および第3のフレームの画像信号と、通過画素テーブル生成手段で生成された通過画素テーブルとを用い、各ブロックパターン毎に、第2のフレームの各画素位置に対応して、通過画素テーブルから第1のフレームおよび第3のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて第2のフレームの画素値を求め、第2のフレームの画像信号に対応した動き補償画像信号を生成するものである。
ブロック評価テーブル生成手段は、記憶手段に記憶されている第2のフレームの画像信号と、動き補償画像生成手段で生成された動き補償画像信号とを用い、第2のフレームの画素位置およびブロックパターンの組み合わせ毎に、その画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、第2のフレームの画像信号および動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、その算出された評価値を、そのブロックパターンおよび求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成するものである。
マッチングブロックテーブル生成手段は、ブロック評価テーブル生成手段で生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、マッチングブロックテーブルを生成するものである。
また、この発明に係るマッチングブロックテーブル生成方法は、所定フレームの注目画素位置に対応した動きベクトルを、その注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する方法であって、上述した通過画素テーブルを生成する第1のステップと、上述した動き補償画像信号を生成する第2のステップと、上述したブロック評価テーブルを生成する第3のステップと、上述したマッチングブロックテーブルを生成する第4のステップとを備えるものである。
また、この発明に係るプログラムは、上述したマッチングブロックテーブル生成方法をコンピュータに実行させるためのものである。また、この発明に係るコンピュータ読み取り可能な媒体は、上述のプログラムを記録したものである。
この発明においては、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルが生成される。この場合、ある特徴量に対応するブロックパターンは、その特徴量が得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、学習によって求められる。
この発明によれば、第1のフレームの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素値に係る特徴量に対応したブロックパターンの画素ブロックを用いるものであり、適切なブロックパターンの画素ブロックによるブロックマッチング処理を行うことができ、動きベクトルを精度よく検出できる。
またこの発明によれば、第1のフレームの注目画素位置に係る特徴量と同じ特徴量を持つ第2のフレームの複数の画素位置を取得し、第1のフレームの注目画素位置に対応した第1の画素ブロックとマッチング演算される第2のフレームの複数の第2の画素ブロックを、この取得された複数の画素位置に対応した画素ブロックとするものであり、マッチング演算をすべき第2の画素ブロックの個数を少なくできるので、演算量を大幅に低減できる。
以下、この発明の実施の形態を図面を参照して説明する。図1は、実施の形態としての動きベクトル検出装置100の構成を示している。この動きベクトル検出装置100は、ブロックマッチング法に従って動きベクトルを検出する。
この動きベクトル検出装置100は、画像信号が入力される入力端子101と、第1のフレームとしての対象フレームFcの画像信号を蓄積するフレームメモリ102と、第2のフレームとしての参照フレームFrの画像信号を蓄積するフレームメモリ103とを有している。
入力端子101からあるフレームの画像信号がフレームメモリ102に供給されて書き込まれる際に、このフレームメモリ102に記憶されていた1フレーム前の画像信号が読み出されてフレームメモリ103に供給されて書き込まれる。この場合、対象フレームFcの画像信号が#n−1フレームの画像信号であるとき、参照フレームFrの画像信号はその1フレーム前の#n−2フレームの画像信号となる。
また、動きベクトル検出装置100は、クラスコード生成部104を有している。このクラスコード生成部104は、対象フレームFcの各画素位置を順次注目画素位置として、当該注目画素位置に係る特徴量としてのクラスコードCLn-1を生成する。この場合、クラスコード生成部104は、フレームメモリ102に蓄積されている対象フレームFcの画像信号から、注目画素位置の近傍に位置する複数の画素データを抽出し、この複数の画素データのそれぞれを1ビットデータに符号化してクラスコードCLn-1を取得する。
ここで、注目位置の近傍に位置する複数の画素データは、例えば図2に示すように、注目画素を中心とするP1〜P9の9画素とされ、クラスコードCLn-1として9ビットコードが得られる。このクラスコードCLn-1は、例えば1ビットADRC(Adaptive Dynamic Range Coding)により求められる。
1ビットADRCにおいては、複数の画素データから最大値MAXおよび最小値が検出され、さらにダイナミックレンジDR=MAX−MINが検出され、複数の画素データのそれぞれについて、その画素データから最小値MINが減算され、その減算値がDR/2で除算される。これにより、複数の画素データのそれぞれが1ビットデータに符号化され、それを所定の順番で並べたビット列がクラスコードCLn-1とされる。
また、動きベクトル検出装置100は、フレームメモリ102に蓄積されている対象フレームFcの画像信号と、フレームメモリ103に蓄積されている参照フレームFrの画像信号と、さらにクラスコード生成部104で生成された、対象フレームFcの注目画素位置に係る特徴量としてのクラスコードCLn-1とを用いて、当該対象フレームFcの注目画素位置に対応した動きベクトルを求める動きベクトル算出部105と、この動きベクトル算出部105で得られた動きベクトルを出力する出力端子106とを有している。
図1に示す動きベクトル検出装置100の動作を説明する。
入力端子101に入力される画像信号はフレームメモリ102に供給されて書き込まれる。これにより、フレームメモリ102には、#n−1フレームの画像信号が対象フレームFcの画像信号として蓄積される。またこの際、フレームメモリ102に記憶されていた1フレーム前の画像信号が読み出されてフレームメモリ103に供給されて書き込まれる。これにより、フレームメモリ103には、#n−2フレームの画像信号が参照フレームFrの画像信号として蓄積される。
クラスコード生成部104では、対象フレームFcの各画素位置を順次注目画素位置とし、フレームメモリ102に蓄積されている対象フレームFcの画像信号に基づいて注目画素値の近傍に位置する複数の画素データが抽出され(図2参照)、この複数の画素データを用いて、当該注目画素位置に係る特徴量としてのクラスコードCLn-1が生成される。このクラスコード生成部104で生成されるクラスコードCLn-1は、動きベクトル算出部105に供給される。
動きベクトル算出部105では、フレームメモリ102に蓄積されている対象フレームFcの画像信号と、フレームメモリ103に蓄積されている参照フレームFrの画像信号と、さらにクラスコード生成部104で生成された、対象フレームFcの注目画素位置に係る特徴量としてのクラスコードCLn-1とから、当該対象フレームFcの注目画素位置に対応した動きベクトルが求められる。そして、この動きベクトル算出部105で得られた動きベクトルは出力端子106に導出される。
次に、動きベクトル算出部105の詳細を説明する。図3は、動きベクトル算出部105の構成を示している。
この動きベクトル算出部105は、MEメモリ部121を有している。このMEメモリ部121には、クラスコードと参照フレームFrの各画素位置との対応関係を示すテーブルが記憶されている。このテーブルは、参照フレームFrの画像信号としての#n−2フレームの画像信号がフレームメモリ102に蓄積されている状態で、クラスコード生成部104で生成される当該#n−2フレームの各画素位置に係る特徴量としてのクラスコードCLn-2を用いて生成される。
図4は、MEメモリ部121が記憶するテーブルの構造を示している。このテーブルは、特徴量アドレス0〜aと、フラグアドレス0〜bによって示される(a+1)×(b+1)個のセルにより構成される。以下、例えば、特徴量アドレス「1」、フラグアドレス「2」のセルをセル(1,2)と記述する。特徴量アドレスは、クラスコード生成部104によって生成される#n−2フレームの各画素位置に係る特徴量としてのクラスコードCLn-2に対応する。例えば、クラスコードが9ビットである場合、特徴量アドレスの最大値a=29−1となる。
特徴量アドレス0のフラグアドレス「1」以降のセルには、クラスコード生成部104によってクラスコード「000000000」が生成された#n−2フレームの画素位置の座標がラスタ順に格納される。特徴量アドレス「0」のフラグアドレス「0」のセル(0,0)には、クラスコード「000000000」が生成された画素位置の座標が既に格納されている、特徴量アドレス「0」のフラグアドレス「1」以降のセル、すなわち、使用済のセルの数が格納される。例えば、#n−2フレームの各画素位置のうち、3画素位置に対してそれぞれクラスコード「000000000」が生成された場合、セル(0,1)、セル(0,2)、セル(0,3)に3画素位置それぞれの座標が格納され、セル(0,0)に座標が格納されているセルの数である3が格納される。
特徴量アドレス「1」のフラグアドレス「1」以降のセルには、クラスコード生成部104によってクラスコード「000000001」が生成された#n−2フレームの画素位置の座標がラスタ順に格納される。特徴量アドレス「1」のフラグアドレス「0」のセル(1,0)には、クラスコード「000000001」が生成された画素位置の座標が格納されている、特徴量アドレス「0」のフラグアドレス「1」以降のセルの数が格納される。例えば、#n−2フレームの各画素位置のうち、10画素位置に対して同一のクラスコード「000000001」が生成された場合、セル(1,1)、…、セル(1,10)に10画素位置それぞれの座標が格納され、セル(1,0)に、座標が格納されているセルの数である10が格納される。特徴量アドレス「2」以降のセルについても同様であるので、その説明は省略する。
また、MEメモリ部121は、上述したように記憶されているクラスコードと参照フレームFrの各画素位置との対応関係を示すテーブル(図4参照)に基づいて、クラスコード生成部104で生成される、対象フレームFcの注目画素位置に係るクラスコードCLn-1に対応した、参照フレームFrの画素位置の情報を、動きベクトルの候補位置情報として出力する。この場合、MEメモリ部121は、クラスコードCLn-1に対応した特徴量アドレスの部分を参照し、フラグアドレス「0」のセルに格納される数をmとするとき、フラグアドレス「1」〜「m」に格納される座標を動きベクトルの候補位置情報として出力する。またこの場合、MEメモリ部121は、mを動きベクトルの候補総数情報として出力する。
また、動きベクトル算出部105は、マッチングブロックテーブルメモリ122を有している。このメモリ122は、特徴量してのクラスコードとブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルを記憶しており、クラスコード生成部104で生成される、対象フレームFcの注目画素位置に係るクラスコードCLn-1に対応した、ブロックパターン情報を出力する。このメモリ122は、マッチングブロックテーブルの記憶手段およびブロックパターン情報取得手段を構成している。各ブロックパターンは、ブロックの形状(四角形、十字形など)や画素数が異なるものである。
図5は、マッチングブロックテーブルの一例を示している。この例では、ブロックパターンの情報として、ブロックパターン番号bが記憶されている。図6は、マッチングブロックテーブルの他の例を示している。この例では、ブロックパターンの情報として、画素位置コードが記憶されている。この画素位置コードは、中心画素位置に対する相対位置を示すものである。ここで、あるクラスコードに対応するブロックパターンは、そのクラスコードが得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、予め学習によって求められる。マッチングブロックテーブルの生成に関しては後述する。
また、動きベクトル算出部105は、MEメモリ部121より出力される、対象フレームFcの注目画素位置に対応した、動きベクトルの候補位置情報および候補総数情報と、メモリ122より出力される、対象フレームFcの注目画素位置に対応した、ブロックマッチングで使用すべき画素ブロックのブロックパターン情報と、フレームメモリ102(図1参照)に蓄積されている対象フレームFcの画像信号と、フレームメモリ103(図1参照)に蓄積されている参照フレームFrの画像信号とを用いて、対象フレームFcの注目画素位置に対応した動きベクトルを求める動きベクトル演算部123を有している。この動きベクトル演算部123は、マッチング演算手段および動きベクトル取得手段を構成している。
すなわち、動きベクトル演算部123は、メモリ122から供給されるブロックパターン情報で示すブロックパターンの、対象フレームFcの注目画素位置に対応した、第1の画素ブロックとしての基準ブロックと、MEメモリ部121から供給される動きベクトルの候補位置情報で特定される、参照フレームFrの複数の画素位置に対応した、複数の第2の画素ブロックとしての参照ブロックのそれぞれとの間のマッチング演算を行う。また、動きベクトル演算部123は、複数の参照ブロックに対応したマッチング演算結果に基づいて、対象フレームFcの注目画素位置に対応した動きベクトルを求める。この場合、動きベクトル演算部123は、基準ブロックとマッチングの程度が最良である参照ブロックの中心画素位置と注目画素値との差分ベクトルを動きベクトルとして求める。
図3に示す動きベクトル算出部105の動作を説明する。
クラスコード生成部104(図1参照)で生成された、対象フレームFcの注目画素位置に係る特徴量としてのクラスコードCLn-1は、MEメモリ部121に供給される。このMEメモリ部121には、クラスコードと参照フレームFrの各画素位置との対応関係を示すテーブル(図4参照)が記憶されている。
このMEメモリ部121からは、そのテーブルのうちクラスコードCLn-1に対応した特徴量アドレスの部分が参照され、そのクラスコードCLn-1に対応した参照フレームFrの複数の画素位置の座標が動きベクトルの候補位置情報として出力され、またその複数の画素位置の個数が動きベクトルの候補総数情報として出力される。このようにMEメモリ部121から出力される動きベクトルの候補位置情報および候補総数情報は動きベクトル演算部123に供給される。
また、クラスコード生成部104(図1参照)で生成された、対象フレームFcの注目画素位置に係る特徴量としてのクラスコードCLn-1は、マッチングブロックテーブルメモリ122に供給される。このメモリ122には、クラスコードとブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブル(図5、図6参照)が記憶されている。このメモリ122からは、そのテーブルから対象フレームFcの注目画素位置に係るクラスコードCLn-1に対応したブロックパターン情報が読み出されて出力される。このようにメモリ122から出力されるブロックパターン情報は、動きベクトル演算部123に供給される。
動きベクトル演算部123では、メモリ122から供給されるブロックパターン情報で示すブロックパターンの、対象フレームFcの注目画素位置に対応した基準ブロックと、MEメモリ部121から供給される動きベクトルの候補位置情報で特定される、参照フレームFrの複数の画素位置に対応した、複数の参照ブロックのそれぞれとの間のマッチング演算が行われる。
このマッチング演算は、フレームメモリ102に蓄積されている対象フレームFcの画像信号およびフレームメモリ103に蓄積されている参照フレームFrの画像信号を用いて行われる。本実施の形態においては、このマッチング演算は、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求める演算とされる。
また、動きベクトル演算部123では、複数の参照ブロックに対応したマッチング演算結果に基づいて、対象フレームFcの注目画素位置に対応した動きベクトルが求められる。この場合、基準ブロックとマッチングの程度が最良である参照ブロックの中心画素位置と注目画素値との差分ベクトルが動きベクトルとして求められる。
次に、動きベクトル演算部123の詳細を説明する。図7は、動きベクトル演算部123の構成を示している。
この動きベクトル演算部123は、候補番号nを1に初期化する候補番号初期化部130と、この候補番号初期化部130における候補番号nの初期化を受けて、差分絶対値和の最小値minを初期化する最小値初期化部131を有している。最小値初期化部131は、ブロックパターン情報からブロック内の画素数を取得し、差分絶対値和の最小値minを、その最大値に初期化する。この場合、1画素の画素値が8ビットであるとき、最小値minは、(28×ブロック内の画素数)に初期化される。
また、動きベクトル演算部123は、候補番号初期化部130における候補番号nの初期化あるいは後述する次候補番号決定部138における次の候補番号nの決定を受けて、評価値である差分絶対値和sumを0に初期化する評価値初期化部132と、この評価値初期化部132における差分絶対値和sumの初期化を受けて、候補番号nに対応した評価値である差分絶対値和sumを演算する評価値演算部133とを有している。
評価値演算部133は、メモリ122(図3参照)から供給されるブロックパターン情報で示すブロックパターンに基づいて、対象フレームFcの注目画素位置に対応した基準ブロックを設定し、また参照フレームFrの候補番号nの候補位置に対応した参照ブロックを設定する。そして、この評価値演算部133は、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、差分絶対値和sumを求める。
また、動きベクトル演算部123は、評価値判定部134を有している。この評価値判定部134は、評価値演算部133で求められた評価値である差分絶対値和sumと、最小値初期化部131で初期化された、あるいは後述する最小値再設定部135で再設定された最小値minとを比較し、min>sumであるか否かを判定し、その判定結果を出力する。
また、動きベクトル演算部123は、最小値再設定部135と、動きベクトル番号設定部136とを有している。最小値再設定部135は、評価値判定部134の判定結果がmin>sumであることを示すとき、最小値minを、評価値演算部133で求められた差分絶対値和sumに再設定する。動きベクトル番号設定部136は、評価値判定部134の判定結果がmin>sumであることを示すとき、動きベクトル番号をそのときの候補番号nに設定する。
また、動きベクトル演算部123は、選択済み候補番号数判定部137を有している。この判定部137は、評価値判定部134で候補番号nに係る判定が行われる毎に、候補番号nが候補総数と同じであるか否かを判定し、候補番号nが候補総数と同じであるときは、動きベクトル番号設定部136で最終的に設定された動きベクトル番号を出力する。
また、動きベクトル演算部123は、候補番号判定部137の判定を受け、候補番号nが候補総数と同じでないとき、次の候補番号nを決定する次候補番号決定部138を有している。この場合、次候補番号決定部138は、候補番号nをインクリメントして、次の候補番号nを決定する。
また、動きベクトル演算部123は、判定部137から出力される動きベクトル番号を動きベクトルに変換する動きベクトル番号/動きベクトル変換部139を有している。この変換部139は、動きベクトル番号に対応した参照フレームの候補位置と対象フレームの注目画素位置との差分ベクトルを、対象フレームFcの注目画素位置に対応した動きベクトルとして求める。
次に、図7に示す動きベクトル演算部123の動作を説明する。MEメモリ部121(図3参照)より出力される候補位置情報は、評価値演算部133に供給される。また、MEメモリ部121(図3参照)より出力される候補総数情報は、選択済み候補番号数判定部137に供給される。さらに、マッチングブロックテーブル122(図3参照)より出力されるブロックパターン情報は、最小値初期化部131および評価値演算部133に供給される。
候補番号初期化部130では、候補番号nが1に初期化される。最小値初期化部131では、候補番号nの初期化を受けて、差分絶対値和の最小値minが、その最大値(28×ブロック内の画素数)に初期化される。この最小値初期化部131で得られる最小値minは評価値判定部134に供給される。
また、評価値初期化部132では、候補番号nの初期化を受けて、評価値である差分絶対値和sumが0に初期化される。そして、評価値演算部133では、この差分絶対値和sumの初期化を受けて、候補番号1に対応した評価値である差分絶対値和sumが演算される。
この場合、評価値演算部133では、ブロックパターン情報で示すブロックパターンに基づいて、対象フレームFcの注目画素位置に対応した基準ブロックが設定され、また参照フレームFrの候補番号1の候補位置に対応した参照ブロックが設定される。そして、この評価値演算部133では、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値が求められ、さらに求められた複数の差分絶対値の和が求められることで、候補番号1の評価値である差分絶対値和sumが求められる。この評価値演算部133で求められた差分絶対値和sumは、評価値判定部134に供給される。
評価値演算部133では、評価値演算部133で求められた差分絶対値和sumと最小値初期化部131で初期化された最小値minとが比較され、min>sumであるか否かが判定される。この評価値判定部134の判定結果は最小値再設定部135および動きベクトル番号設定部136に供給される。最小値再設定部135では、判定結果がmin>sumであることを示すときは、最小値minが評価値演算部133で求められた差分絶対値和sumに再設定される。このように、最小値再設定部135で最小値minが再設定された場合、それ以降に評価値判定部134で使用される最小値minは、最小値初期化部131で初期化された最小値minではなく、当該再設定された最小値minとされる。また、動きベクトル番号設定部136では、判定結果がmin>sumであることを示すときは、候補番号1が動きベクトル番号として設定される。
選択済み候補番号数判定部137では、評価値判定部134で候補番号1に係る判定が行われた後、候補番号1が候補総数と同じであるか否かが判定され、候補番号1が候補総数と同じであるときは、動きベクトル番号設定部136で最終的に設定された動きベクトル番号が出力される。候補番号nが候補総数と同じでないとき、次候補番号決定部138では、次の候補番号2が決定され、その候補番号2は評価値初期化部132に供給される。
以下、候補番号2について、上述した候補番号1の場合と同様の動作が行われる。以下、候補番号nが候補総数と同じ値となるまで、同様の動作が繰り返し行われる。これにより、動きベクトル番号設定部136では、候補総数分の各候補番号に対応した差分絶対値和sumのうち、最もその値が小さくなる候補番号が動きベクトル番号として最終的に設定される。そして、判定部137から動きベクトル番号/動きベクトル変換部139にその動きベクトル番号が供給される。そして、変換部139では、動きベクトル番号に対応した参照フレームFrの候補位置と対象フレームFcの注目画素位置との差分ベクトルが、対象フレームFcの注目画素位置に対応した動きベクトルとして求められる。
次に、図3に示す動きベクトル算出部105における、注目画素位置に対応した動きベクトルを算出する処理について、図8に示すフローチャートを参照して説明する。
まず、ステップST11で、処理を開始し、ステップST12で、対象ブロックFcの注目画素位置に係るクラスコードCLn-1に対応した候補総数情報および候補位置情報を取得する。そして、ステップST12で、クラスコードCLn-1に対応したブロックパターン情報を取得する。
その後に、ステップST14で、対象ブロックFcの注目画素位置に対応した動きベクトル情報を取得する。すなわち、ステップST15で、差分絶対値和の最小値を格納する変数minを、その最大値(28×ブロック内の画素数)に初期化する。そして、ステップST16で、候補番号nを1に初期化する。
次に、ステップST17で、差分絶対値和の演算結果を格納する変数sumを0に初期化する。そして、ステップST18で、対象フレームFcの注目画素位置に、ステップST13で取得したブロックパターン情報で示されるブロックパターンの基準ブロックを設定し、参照フレームFrの識別番号nの候補位置に、ステップST13で取得したブロックパターン情報で示されるブロックパターンの参照ブロックを設定する。さらに、このステップST18で、基準ブロックを構成する画素データと参照ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた差分絶対値の和(差分絶対値和)を求め、変数sumに代入する。ここで、差分絶対値和の演算を、(2)式に従って行う。
Σi=|Fc(i)−Frn(i)| ・・・(2)
ただし、Fc(i)は基準ブロックにおける画素の画素値であり、Frn(i)は候補番号nの参照ブロックにおける画素の画素値である。また、Σiはiを1からL(=ブロック内の画素数)まで1ずつインクリメントしたときの総和演算を意味するものとする。そして、ステップS19で、ステップS18の演算結果である変数sumと変数minを比較し、変数sumが変数minよりも小さいか否かを判定する。変数sumが変数minよりも小さいと判定した場合、ステップST20に進む。
ステップST20では、変数minを変数sumで置換し、候補番号nを動きベクトル番号として記憶する。このステップST20の処理の後、ステップST21に進む。なお、上述のステップST19で、変数sumが変数minよりも小さくないと判定された場合、ステップST20の処理をスキップし、ステップST21に進む。
ステップST21では、候補番号nが候補総数と同じであるか否かを判定する。候補番号nが候補総数と同じでないときは、ステップST22で、候補番号nをインクリメントし、その後にステップST17に戻って、次の候補番号nについての処理を行う。一方、候補番号nが候補総数と同じであるときは、候補総数分の各候補番号についての処理を終了したことを意味し、ステップST23で、最終的に記憶されている動きベクトル番号に対応した、参照フレームFrの候補位置と、対象フレームFcの注目画素位置との差分ベクトルを、対象フレームFcの注目画素位置に対応した動きベクトルとして算出する。そして、ステップST24で、処理を終了する。
以上説明したように、図1に示す動きベクトル検出装置100においては、対象フレームFcの注目画素位置に対応した動きベクトルをブロックマッチング処理を行って検出する際に、当該注目画素位置に係る特徴量としてのクラスコードCLn-1に対応したブロックパターンの画素ブロックを用いるものであり、適切なブロックパターンの画素ブロックによるブロックマッチング処理を行うことができ、当該注目画素位置に対応した動きベクトルを精度よく検出できる。
また、図1に示す動きベクトル検出装置100においては、参照フレームFrの各画素位置毎に、その画素位置に対応した複数の画素データに基づいてその画素位置の特徴量としてのクラスコードCLn-2を得、そのクラスコードCLn-2と参照フレームFrの各画素位置との対応関係を示すテーブル(図4参照)が生成され、このテーブルから対象フレームFcの注目画素位置に係るクラスコードCLn-1に対応した参照フレームFrの複数の画素位置を取得し、対象フレームFcの注目画素位置に対応した基準ブロックとマッチング演算される参照フレームFrの複数の参照ブロックを、この参照フレームFrの複数の画素位置に対応した画素ブロックとするものであり、マッチング演算をすべき参照ブロックの個数を少なくでき、演算量を大幅に低減できる。
次に、マッチングブロックテーブルの生成について説明する。図9は、マッチングブロックテーブル生成装置200の構成を示している。
このテーブル生成装置200は、画像信号が入力される入力端子201と、連続した第1〜第3のフレームの画像信号を蓄積するフレームメモリ202〜204とを有している。
入力端子101からあるフレームの画像信号がフレームメモリ204に供給されて書き込まれる際に、このフレームメモリ204に記憶されていた1フレーム前の画像信号が読み出されてフレームメモリ203に供給されて書き込まれる。また、フレームメモリ204からあるフレームの画像信号がフレームメモリ203に供給されて書き込まれる際に、このフレームメモリ203に記憶されていた1フレーム前の画像信号が読み出されてフレームメモリ202に供給されて書き込まれる。
この場合、フレームメモリ202に第1のフレームとしての#n−2フレームの画像信号が蓄積され、フレームメモリ203に第2のフレームとしての#n−1フレームの画像信号が蓄積され、フレームメモリ204に第3のフレームとしての#nフレームの画像信号が蓄積された状態となる。
また、テーブル生成装置200は、通過画素テーブル生成部205を有している。この通過画素テーブル生成部205は、フレームメモリ202に蓄積されている#n−2フレームの画像信号およびフレームメモリ204に蓄積されている#nフレームの画像信号を用い、各ブロックパターン毎に、#n−2フレームの各画素位置に対応した、#nフレームの画素位置を、そのブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、#n−1フレームの各画素位置と#n−2フレームおよび#nフレームの画素位置との対応関係を示す通過画素テーブル(図10参照)を生成する。
図11は、通過画素テーブル生成部205の構成を示している。この通過画素テーブル生成部205は、ブロックパターンを設定するブロックパターン設定部211と、#n−2フレームの注目画素位置(xn-2,yn-2)を設定する注目画素位置設定部212とを有している。
また、通過画素テーブル生成部205は、ブロックマッチング部213を有している。このブロックマッチング部213は、#n−2フレームに注目画素位置(xn-2,yn-2)に対応し、ブロックパターン設定部211で設定されたブロックパターンに対応した基準ブロックを設定し、また#nフレームの上述の注目画素位置(xn-2,yn-2)に対応したサーチエリア内に、ブロックパターン設定部211で設定されたブロックパターンに対応した複数の参照ブロックを設定する。そして、ブロックマッチング部213は、基準ブロックと複数の参照ブロックのそれぞれとの間における差分絶対値和を順次求める。
また、通過画素テーブル生成部205は、#n−2フレームの注目画素位置(xn-2,yn-2)に対応した、#nフレームの画素位置(xn,yn)を決定する対応画素位置決定部214を有している。この対応画素位置決定部214は、ブロックマッチング部213で求められた複数の参照ブロックのそれぞれに対応した差分絶対値和のうち、最小の差分絶対値和に対応した参照ブロックの中心画素位置を、#nフレームの画素位置(xn,yn)に決定する。
また、通過画素テーブル生成部205は、テーブル書き込み部215を有している。このテーブル書き込み部215は、注目画素位置設定部212で設定された注目画素位置(xn-2,yn-2)および対応画素位置決定部214で決定された画素位置(xn,yn)を用い、#n−1における対応画素位置Pを求める(図12参照)。この場合、水平方向に関しては、xn-2,xnの加算平均値を求め、この加算平均値に切り下げ処理を行って得られる画素位置xn-11と、この加算平均値に切り上げ処理を行って得られる画素位置xn-12とを求める。同様に、垂直方向に関しては、yn-2,ynの加算平均値を求め、この加算平均値に切り下げ処理を行って得られる画素位置yn-11と、この加算平均値に切り上げ処理を行って得られる画素位置yn-12とを求める。これにより、#n−1における対応画素位置Pとして、(xn-11,yn-11)、(xn-11,yn-12)、(xn-12,yn-11)、(xn-12,yn-12)が得られる。
さらに、テーブル書き込み部215は、通過画素テーブルメモリ205Mにおける、ブロックパターン設定部211で設定されたブロックパターンに対応した領域の、アドレス(xn-11,yn-11)、(xn-11,yn-12)、(xn-12,yn-11)、(xn-12,yn-12)に、#n−2フレームの注目画素位置(xn-2,yn-2)およびそれに対応した#nフレームの画素位置(xn,yn)を書き込む。
また、通過画素テーブル生成部205は、選択済み画素数判定部216と、選択済みブロックパターン数判定部217とを有している。判定部216は、テーブル書き込み部215の処理終了を受けて、#n−2フレームの全画素位置に対する処理が終了したか否かを判定し、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部212に、次の注目画素位置を設定するように促す。
判定部217は、判定部216が全画素位置に対する処理が終了したと判定するとき、全ブロックパターンに対する処理が終了したか否かを判定し、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部211に、次のブロックパターンを設定するように促す。
次に、図11に示す通過画素テーブル生成部205の動作を説明する。
ブロックパターン設定部211では、複数のブロックパターンのうち、最初のブロックパターンが設定される。そして、注目画素位置設定部212では、#n−2フレームの最初の注目画素位置(xn-2,yn-2)が設定される。
ブロックマッチング部213では、#n−2フレームに注目画素位置(xn-2,yn-2)に対応し、ブロックパターン設定部211で設定されたブロックパターンに対応した基準ブロックが設定され、また#nフレームの上述の注目画素位置(xn-2,yn-2)に対応したサーチエリア内に、ブロックパターン設定部211で設定されたブロックパターンに対応した複数の参照ブロックが設定される。そして、このブロックマッチング部213では、基準ブロックと複数の参照ブロックのそれぞれとの間における差分絶対値和が順次求められる。
このようにブロックマッチング部213で求められた複数の参照ブロックにそれぞれ対応した差分絶対値和は、対応画素位置決定部214に供給される。この対応画素位置決定部214では、この複数の参照ブロックにそれぞれ対応した差分絶対値和のうち、最小の差分絶対値和が検出され、この最小の差分絶対値に対応した参照ブロックの中心画素位置が、#nフレームの画素位置(xn,yn)に決定される。
テーブル書き込み部215では、注目画素位置設定部212で設定された注目画素位置(xn-2,yn-2)および対応画素値決定部214で決定された画素位置(xn,yn)を用い、#n−1における対応画素位置Pが求められる(図12参照)。この場合、水平方向に関しては、xn-2,xnの加算平均値に切り下げ処理を行って得られる画素位置xn-11と、その加算平均値に切り上げ処理を行って得られる画素位置xn-12とが求められる。同様に、垂直方向に関しては、yn-2,ynの加算平均値に切り下げ処理を行って得られる画素位置yn-11と、その加算平均値に切り上げ処理を行って得られる画素位置yn-12とが求められる。すなわち、テーブル書き込み部215では、#n−1における対応画素位置Pとして、(xn-11,yn-11)、(xn-11,yn-12)、(xn-12,yn-11)、(xn-12,yn-12)が得られる。
そして、このテーブル書き込み部215では、通過画素テーブルメモリ205Mにおける、ブロックパターン設定部211で設定されたブロックパターンに対応した領域の、アドレス(xn-11,yn-11)、(xn-11,yn-12)、(xn-12,yn-11)、(xn-12,yn-12)に、#n−2フレームの注目画素位置(xn-2,yn-2)およびそれに対応した#nフレームの画素位置(xn,yn)が書き込まれる。
テーブル書き込み部215の処理終了を受けて、選択済み画素数判定部216では、#n−2フレームの全画素位置に対する処理が終了したか否かが判定される。そして、この判定部216は、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部212に、次の注目画素位置を設定するように促す。
そのため、注目画素位置設定部212で#n−2フレームの全画素位置が設定されて処理が行われるまで、上述した#n−2フレームの注目画素位置(xn-2,yn-2)に対応した処理が繰り返し行われる。これにより、通過画素テーブルメモリ205Mにおける、ブロックパターン設定部211で設定されたブロックパターンに対応した領域に、当該ブロックパターンに対応した、#n−1フレームの各画素位置と、#n−2フレームおよび#nフレームの画素位置との対応関係を示す通過画素テーブル(図10参照)が生成される。
また、選択済み画素数判定部216で#n−2フレームの全画素位置に対する処理が終了したと判定されるとき、選択済みブロックパターン数判定部217では、全ブロックパターンに対する処理が終了したか否かが判定される。そして、この判定部217は、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部211に、次のブロックパターンを設定するように促す。
そのため、ブロックパターン設定部211で全ブロックパターンが設定されて処理が行われるまで、上述した設定されたブロックパターンに対応した通過画素テーブル(図10参照)を生成する処理が繰り返し行われる。これにより、通過画素テーブル205Mには、ブロックパターン設定部211で設定される各ブロックパターンに対応した通過画素テーブルが生成される。
図11に示す通過画素テーブル生成部205における、通過画素テーブルを生成する処理について、図13に示すフローチャートを参照して説明する。
まず、ステップST31で、処理を開始し、ステップST32で、最初のブロックパターンを設定する。そして、ステップST33で、#n−2フレームの最初の注目画素位置(xn-2,yn-2)を設定する。
次に、ステップST34で、#n−2フレームに、ステップST32で設定されたブロックパターンに対応した、注目画素位置(xn-2,yn-2)を含む基準ブロックを設定する。そして、ステップST35で、#nフレームの上述の注目画素位置(xn-2,yn-2)に対応したサーチエリア内に、ステップST32で設定されたブロックパターンに対応した複数の参照ブロックを設定する。そして、このステップST35で、基準ブロックと複数の参照ブロックのそれぞれとの間でブロックマッチング処理をして、#nフレームにおける注目画素位置(xn-2,yn-2)に対応した画素位置(xn,yn)を取得する。この場合、マッチング演算結果としての差分絶対値和が最小となる参照ブロックの中心の画素位置を、画素位置(xn,yn)として取得する。
次に、ステップST36で、ステップST33で設定された注目画素位置(xn-2,yn-2)およびステップST35で取得された画素位置(xn,yn)を用い、#n−1フレームにおける対応画素位置Pを求める(図12参照)。この場合、水平方向に関しては、xn-2,xnの加算平均値に切り下げ処理を行って得られる画素位置xn-11と、その加算平均値に切り上げ処理を行って得られる画素位置xn-12とを求める。同様に、垂直方向に関しては、yn-2,ynの加算平均値に切り下げ処理を行って得られる画素位置yn-11と、その加算平均値に切り上げ処理を行って得られる画素位置yn-12とを求める。すなわち、#n−1における対応画素位置Pとして、(xn-11,yn-11)、(xn-11,yn-12)、(xn-12,yn-11)、(xn-12,yn-12)を取得する。
そして、ステップST37で、通過画素テーブルメモリ205Mにおける、ステップST32で設定されたブロックパターンに対応した領域の、アドレス(xn-11,yn-11)、(xn-11,yn-12)、(xn-12,yn-11)、(xn-12,yn-12)に、#n−2フレームの注目画素位置(xn-2,yn-2)およびそれに対応した#nフレームの画素位置(xn,yn)を書き込む。
次に、ステップST38で、#n−2フレームの全画素位置に対する処理が終了したか否かを判定する。全画素位置に対する処理が終了していないと判定するときは、ステップST33に戻って、#n−2フレームの次の注目画素位置(xn-2,yn-2)を設定し、上述したと同様の処理を繰り返す。これにより、通過画素テーブルメモリ205Mにおける、ステップST32で設定されたブロックパターンに対応した領域には、当該ブロックパターンに対応した通過画素テーブル(図10参照)が生成される。
また、ステップST38で、全画素位置に対する処理が終了したと判定するときは、ステップST39に進む。このステップST39では、全ブロックパターンに対する処理が終了したか否かを判定する。全ブロックパターンに対する処理が終了していないと判定するときは、ステップST32に戻って、次のブロックパターンを設定し、上述したと同様の処理を繰り返す。これにより、通過画素テーブルメモリ205Mには、ステップST32で設定される各ブロックパターンに対応した通過画素テーブルが生成される。
ステップST39で、全ブロックパターンに対する処理が終了したと判定するときは、ステップST40に進み、処理を終了する。
図9に戻って、また、テーブル生成装置200は、MC画像生成部(動き補償画像生成部)206を有している。このMC画像生成部206は、#n−2フレームの画像信号および#nフレームの画像信号と、通過画素テーブル生成部205で生成された通過画素テーブルとを用い、各ブロックパターン毎に、#n−1フレームの各画素位置に対応して、通過画素テーブルから#n−2フレームおよび#nフレームの画素位置を求め、この求められた画素位置の画素値に基づいて#n−1フレームの画素値を求め、#n−1フレームの画像信号に対応した動き補償画像信号を生成する。
図14は、MC画像生成部206の構成を示している。このMC画像生成部206は、ブロックパターンを設定するブロックパターン設定部221と、#n−1フレームの注目画素位置(xn-1,yn-1)を設定する注目画素位置設定部222とを有している。
また、MC画像生成部206は、注目画素位置設定部222で設定された注目画素位置(xn-1,yn-1)の画素値を算出する画素値算出部223を有している。この画素値算出部223は、通過画素テーブル生成部205の通過画素テーブルメモリ205Mに生成された、ブロックパターン設定部221で設定されたブロックパターンに対応した通過画素テーブル(図10参照)を参照して、#n−1フレームの注目画素位置(xn-1,yn-1)に対応した、#n−2フレームおよび#nフレームの画素位置を求める。
さらに、この画素値算出部223は、求められた#n−2フレームおよび#nフレームの画素位置の画素値を加算平均して、#n−1フレームの注目画素位置(xn-1,yn-1)の画素値を算出する。例えば、図15に示すように、#n−1フレームの注目画素位置Pに対応した#n−2フレームおよび#nフレームの画素位置がQ1,Q2,R1,R2であるとき、注目画素位置Pの画素値は、画素位置Q1,Q2,R1,R2の画素値を加算平均して得られる。
また、MC画像生成部206は、書き込み部224を有している。この書き込み部224は、MC画像メモリ206Mにおける、ブロックパターン設定部221で設定されたブロックパターンに対応した領域の、注目画素位置設定部222で設定された注目画素位置(xn-1,yn-1)に対応したアドレスに、画素値算出部223で算出された当該注目画素位置(xn-1,yn-1)の画素値を書き込む。
また、MC画像生成部206は、選択済み画素数判定部225と、選択済みブロックパターン数判定部226とを有している。判定部225は、書き込み部224の処理終了を受けて、#n−1フレームの全画素位置に対する処理が終了したか否かを判定し、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部222に、次の注目画素位置を設定するように促す。
判定部226は、判定部225が全画素位置に対する処理が終了したと判定するとき、全ブロックパターンに対する処理が終了したか否かを判定し、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部221に、次のブロックパターンを設定するように促す。
次に、図14に示す通過画素テーブル生成部206の動作を説明する。
ブロックパターン設定部221では、複数のブロックパターンのうち、最初のブロックパターンが設定される。そして、注目画素位置設定部222では、#n−1フレームの最初の注目画素位置(xn-2,yn-2)が設定される。
そして、画素値算出部223では、ブロックパターン設定部221で設定されたブロックパターンに対応した通過画素テーブル(図10参照)を参照して、#n−1フレームの注目画素位置(xn-1,yn-1)に対応した、#n−2フレームおよび#nフレームの画素位置が求められ、その求められた画素位置の画素値が加算平均されて、#n−1フレームの注目画素位置(xn-1,yn-1)の画素値が算出される。このように画素値算出部223で求められた#n−1フレームの注目画素位置(xn-1,yn-1)の画素値は、書き込み部224に供給される。
書き込み部224では、MC画像メモリ206Mにおける、ブロックパターン設定部221で設定されたブロックパターンに対応した領域の、注目画素位置設定部222で設定された注目画素位置(xn-1,yn-1)に対応したアドレスに、画素値算出部223で算出された当該注目画素位置(xn-1,yn-1)の画素値が書き込まれる。
書き込み部224の処理終了を受けて、選択済み画素数判定部225では、#n−1フレームの全画素位置に対する処理が終了したか否かが判定される。そして、この判定部225は、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部222に、次の注目画素位置を設定するように促す。
そのため、注目画素位置設定部222で#n−1フレームの全画素位置が設定されて処理が行われるまで、上述した#n−1フレームの注目画素位置(xn-2,yn-2)に対応した処理が繰り返し行われる。これにより、MC画像メモリ205Mにおける、ブロックパターン設定部221で設定されたブロックパターンに対応した領域に、当該ブロックパターンに対応した、動き補償画像信号が生成される。
また、選択済み画素数判定部225で#n−1フレームの全画素位置に対する処理が終了したと判定されるとき、選択済みブロックパターン数判定部226では、全ブロックパターンに対する処理が終了したか否かが判定される。そして、この判定部226は、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部221に、次のブロックパターンを設定するように促す。
そのため、ブロックパターン設定部221で全ブロックパターンが設定されて処理が行われるまで、上述した設定されたブロックパターンに対応した動き補償画像信号を生成する処理が繰り返し行われる。これにより、MC画像メモリ206Mには、ブロックパターン設定部221で設定される各ブロックパターンに対応した動き補償画像信号が生成される。
図14に示すMC画像生成部206における、動き補償画像信号を生成する処理について、図16に示すフローチャートを参照して説明する。
まず、ステップST41で、処理を開始し、ステップST42で、最初のブロックパターンを設定する。そして、ステップST43で、#n−1フレームの最初の注目画素位置(xn-1,yn-1)を設定する。
次に、ステップST44で、ステップST42で設定されたブロックパターンに対応した通過画素テーブル(図10参照)を参照して、ステップST43で設定された#n−1フレームの注目画素位置(xn-1,yn-1)に対応した、#n−2フレームおよび#nフレームの画素位置を求める。さらに、このステップST44で、求められた画素位置の画素値を加算平均して、#n−1フレームの注目画素位置(xn-1,yn-1)の画素値を算出する。
次に、ステップST45で、MC画像メモリ206Mにおける、ステップST42で設定されたブロックパターンに対応した領域の、ステップST43で設定された注目画素位置(xn-1,yn-1)に対応したアドレスに、ステップST44で算出された当該注目画素位置(xn-1,yn-1)の画素値を書き込む。
次に、ステップST46で、#n−1フレームの全画素位置に対する処理が終了したか否かを判定する。全画素位置に対する処理が終了していないと判定するときは、ステップST43に戻って、#n−1フレームの次の注目画素位置(xn-1,yn-1)を設定し、上述したと同様の処理を繰り返す。これにより、MC画像メモリ206Mにおける、ステップST42で設定されたブロックパターンに対応した領域には、当該ブロックパターンに対応した動き補償画像信号が生成される。
また、ステップST46で、全画素位置に対する処理が終了したと判定するときは、ステップST47に進む。このステップST47では、全ブロックパターンに対する処理が終了したか否かを判定する。全ブロックパターンに対する処理が終了していないと判定するときは、ステップST42に戻って、次のブロックパターンを設定し、上述したと同様の処理を繰り返す。これにより、MC画像メモリ206Mには、ステップST42で設定される各ブロックパターンに対応した動き補償画像信号が生成される。
ステップST47で、全ブロックパターンに対する処理が終了したと判定するときは、ステップST48に進み、処理を終了する。
図9に戻って、また、テーブル生成装置200は、ブロック評価テーブル生成部207を有している。このブロック評価テーブル生成部207は、#n−1フレームの画像信号と、MC画像生成部206で生成された動き補償画像信号とを用いて、ブロック評価テーブルを生成する。すなわち、ブロック評価テーブル生成部207は、#n−1フレームの画素位置およびブロックパターンの組み合わせ毎に、その画素位置に対応した#n−1フレームの複数の画素データに基づいて、特徴量としてのクラスコードCLn-1を求めると共に、#n−1フレームの画像信号および動き補償画像信号のそれぞれからその画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、この算出された評価値を、そのブロックパターンおよび求められたクラスコードCLn-1に対応したアドレスの値に加算することで、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する。
図17は、ブロック評価テーブル生成部207の構成を示している。このブロック評価テーブル生成部207は、#n−1フレームの注目画素位置(xn-1,yn-1)を設定する注目画素位置設定部231と、ブロックパターンを設定するブロックパターン設定部232とを有している。
また、ブロック評価テーブル生成部207は、クラスコード生成用画素ブロック取得部233を有している。この画素ブロック取得部233は、#n−1フレームの画像信号から、注目画素位置(xn-1,yn-1)に対応した、クラスコード生成用の画素ブロックSを取得する(図18参照)。この場合、画素ブロック取得部233は、#n−1フレームの画像信号から、注目画素位置(xn-1,yn-1)の近傍に位置する複数の画素データを画素ブロックSとして抽出する。ここで、この複数の画素データは、上述した動きベクトル検出装置100(図1参照)のクラスコード生成部104においてクラスコードを生成するために抽出される複数の画素データと同様に、注目画素位置(xn-1,yn-1)の画素を中心とするP1〜P9の9画素とされる(図2参照)。
また、ブロック評価テーブル生成部207は、画素ブロック取得部233で取得された画素ブロックSからクラスコードCLn-1を生成するクラスコード生成部234を有している。このクラスコード生成部234では、上述した動きベクトル検出装置100のクラスコード生成部104でクラスコードCLn-1を生成する場合と同様に、画素ブロックSを構成する複数の画素データのそれぞれを1ビットデータに符号化して、9ビットコードであるクラスコードCLn-1を取得する。
また、ブロック評価テーブル生成部207は、#n−1フレームの画像信号から、注目画素位置(xn-1,yn-1)に対応した、評価用画素ブロックT(図18参照)を取得する評価用画素ブロック取得部235を有している。この場合、画素ブロック取得部235は、#n−1フレームの画像信号から、注目画素位置(xn-1,yn-1)の近傍に位置する複数の画素データを画素ブロックTとして抽出する。なお、画素ブロックTが上述したが画素ブロックSと同じであるときは、この画素ブロック取得部235として、上述した画素ブロック取得部233を兼用できる。
また、ブロック評価テーブル生成部207は、MC画像メモリ206Mに蓄積されている、ブロックパターン設定部232で設定されたブロックパターンに対応した動き補償画像信号から、注目画素位置(xn-1,yn-1)に対応した、評価用画素ブロックK(図18参照)を取得する評価用画素ブロック取得部236を有している。この場合、画素ブロック取得部236は、動き補償画像信号から、注目画素位置(xn-1,yn-1)の近傍に位置する複数の画素データを画素ブロックKとして抽出する。
また、ブロック評価テーブル生成部207は、評価用画素ブロック取得部235,236でそれぞれ取得された画素ブロックT,Kに基づいて、評価値を算出する評価値算出部237を有している。評価値算出部237は、画素ブロックTを構成する複数の画素データと画素ブロックKを構成する複数の画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、評価値としての差分絶対値和を求める。
また、ブロック評価テーブル生成部207は、テーブル書き込み部238を有している。このテーブル書き込み部238は、ブロック評価テーブルメモリ207Mのアドレス(b,CLn-1)に記憶されている値に、評価値算出部237で算出された評価値を加算する。ここで、bは、ブロックパターン設定部232で設定されたブロックパターンの番号を示しており、CLn-1はクラスコード生成部234で生成されたクラスコードである。
また、ブロック評価テーブル生成部207は、選択済みブロックパターン数判定部239と、選択済み画素数判定部240とを有している。判定部239は、テーブル書き込み部238の処理終了を受けて、全ブロックパターンに対する処理が終了したか否かを判定し、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部232に、次のブロックパターンを設定するように促す。
判定部240は、判定部239が全ブロックパターンに対する処理が終了したと判定するとき、#n−1フレームの全画素位置に対する処理が終了したか否かを判定し、全画素位置に対する処理が終了していないと判定するときは、注目画素位置設定部231に、次の注目画素位置を設定するように促す。
次に、図17に示すブロック評価テーブル生成部207の動作を説明する。
注目画素位置設定部231では、#n−1フレームの最初の注目画素位置(xn-1,yn-1)が設定される。そして、ブロックパターン設定部232では、複数のブロックパターンのうち、最初のブロックパターンが設定される。
クラスコード生成用画素ブロック取得部233では、#n−1フレームの画像信号から、注目画素位置(xn-1,yn-1)に対応した、クラスコード生成用の画素ブロックSが取得される(図18参照)。この画素ブロックSはクラスコード生成部234に供給される。このクラスコード生成部234では、画素ブロックSを構成する複数の画素データのそれぞれが1ビットデータに符号化されて、9ビットコードであるクラスコードCLn-1が得られる。このクラスコードCLn-1はテーブル書き込み部238に、アドレス情報として供給される。また、ブロックパターン設定部232からテーブル書き込み部238には、ブロックパターン番号bがアドレス情報として供給される。
評価用画素ブロック取得部235では、#n−1フレームの画像信号から、注目画素位置(xn-1,yn-1)に対応した、評価用画素ブロックTが取得される(図18参照)。同様に、評価用画素ブロック取得部236では、MC画像メモリ206Mに蓄積されている、ブロックパターン設定部232で設定されたブロックパターンに対応した動き補償画像信号から、注目画素位置(xn-1,yn-1)に対応した、評価用画素ブロックKが取得される(図18参照)。これら画素ブロックT,Kは、それぞれ評価値算出部237に供給される。
評価値算出部237では、画素ブロックTを構成する複数の画素データと画素ブロックKを構成する複数の画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、評価値としての差分絶対値和が求められる。このように評価値算出部237で算出された、ブロックパターン設定部232で設定されたブロックパターンの評価値はテーブル書き込み部238に供給される。テーブル書き込み部238は、ブロック評価テーブルメモリ207Mのアドレス(b,CLn-1)に記憶されている値に、評価値算出部237で算出された評価値を加算する。
テーブル書き込み部238の処理終了を受けて、選択済みブロックパターン数判定部238では、全ブロックパターンに対する処理が終了したか否かが判定される。そして、この判定部238は、全ブロックパターンに対する処理が終了していないと判定するときは、ブロックパターン設定部232に、次のブロックパターンを設定するように促す。
そのため、ブロックパターン設定部232で全ブロックパターンが設定されて処理が行われるまで、上述したブロックパターンに対応した評価値を評価値算出部237で算出し、テーブル書き込み部238が、ブロック評価テーブルメモリ207Mのアドレス(b,CLn-1)に記憶されている値にその評価値を加算する処理が、繰り返し行われる。
これにより、ブロック評価テーブルメモリ207Mにおける、注目画素位置(xn-1,yn-1)に係る特徴量としてのクラスコードCLn-1に対応した領域に記憶されている、各ブロックパターンの値に、対応する評価値が順次加算されていく。
また、選択済みブロックパターン数判定部239で全ブロックパターンに対する処理が終了したと判定されるとき、選択済み画素数判定部240では、#n−1フレームの全画素に対する処理が終了したか否かが判定される。そして、この判定部240は、全画素に対する処理が終了していないと判定するときは、注目画素位置設定部231に、次の注目画素位置(xn-1,yn-1)を設定するように促す。
そのため、注目画素位置設定部231で#n−1フレームの全画素位置が注目画素位置(xn-1,yn-1)として設定されて処理が行われるまで、上述した注目画素位置(xn-1,yn-1)係る処理が繰り返し行われる。これにより、ブロック評価テーブルメモリ207Mには、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルが生成される。
次に、図17に示すブロック評価テーブル生成部207における、ブロック評価テーブルを生成する処理について、図19に示すフローチャートを参照して説明する。
まず、ステップST51で、処理を開始し、ステップST52で、#n−1フレームの最初の注目画素位置(xn-1,yn-1)を設定する。そして、ステップST53で、#n−1フレームの画像信号から、ステップST52で設定された注目画素位置(xn-1,yn-1)に対応した、クラスコード生成用の画素ブロックSを取得する(図18参照)。さらに、ステップST54で、画素ブロックSを構成する複数の画素データのそれぞれを1ビットデータに符号化して、9ビットコードであるクラスコードCLn-1を生成する。
次に、ステップST55で、#n−1フレームの画像信号から、ステップST52で設定された注目画素位置(xn-1,yn-1)に対応した、評価用画素ブロックTを取得する(図18参照)。
次に、ステップST56で、最初のブロックパターンを設定する。このブロックパターンは、ブロックパターン番号bで特定され、最初はb=1とされる。そして、ステップST57で、MC画像メモリ206Mに蓄積されている、ステップST56で設定されたブロックパターンに対応した動き補償画像信号から、ステップST52で設定された注目画素位置(xn-1,yn-1)に対応した、評価用画素ブロックKを取得する(図18参照)。
次に、ステップST58で、ステップST55で取得された画素ブロックTを構成する複数の画素データと、ステップST57で取得された画素ブロックKを構成する複数の画素データとの間で対応する画素データ同士の差分絶対値を求め、さらに求められた複数の差分絶対値の和を求めることで、評価値としての差分絶対値和を算出する。そして、ステップST59で、ブロック評価テーブルメモリ207Mのアドレス(b,CLn-1)に記憶されている値に、ステップST58で算出された評価値を加算する。
次に、ステップST60で、全ブロックパターンに対する処理が終了したか否かを判定する。全ブロックパターンに対する処理が終了していないと判定するときは、ステップST56に戻って、次のブロックパターンを設定し、上述したと同様の処理を繰り返す。これにより、ブロック評価テーブルメモリ207Mにおける、注目画素位置(xn-1,yn-1)に係る特徴量としてのクラスコードCLn-1に対応した領域に記憶されている、各ブロックパターンの値に、対応する評価値が順次加算されていく。
また、ステップST60で、全ブロックパターンに対する処理が終了したと判定するときは、ステップST61に進む。このステップST61では、#n−1フレームの全画素位置に対する処理が終了したか否かを判定する。全画素位置に対する処理が終了していないと判定するときは、ステップST52に戻って、次の注目画素位置(xn-1,yn-1)を設定する。これにより、ブロック評価テーブルメモリ207Mには、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルが生成される。
ステップST61で、全画素に対する処理が終了したと判定するときは、ステップST62に進み、処理を終了する。
図9に戻って、また、テーブル生成装置200は、マッチングブロックテーブル(図5、図6参照)を生成するマッチングブロックテーブル生成部208を有している。このテーブル生成部208は、上述したテーブル生成部207で生成されてブロック評価テーブルメモリ207Mに記憶されている、各クラスコードのブロック評価テーブルに基づいて、各クラスコード毎に、ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、マッチングブロックテーブルを生成する。そして、テーブル生成部208は、このように生成されるマッチングブロックテーブルを、マッチングブロックテーブルメモリ208に記憶しておく。
本実施の形態においては、上述したようにテーブル生成部207では評価値として差分絶対値和を求めているので、テーブル生成部208は、それぞれのクラスコードに関して評価値の累積値が最小となるブロックパターンを、ブロックマッチングで使用すべき画素ブロックのブロックパターンに決定する。
例えば、図20Aは、クラスコードCLaに関する、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルの内容を示している。このクラスコードCLaに関しては、累積値が最小となるブロックパターン番号baのブロックパターンが、ブロックマッチングで使用すべき画素ブロックのブロックパターンに決定される。また例えば、図20Bは、クラスコードCLbに関する、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルの内容を示している。このクラスコードCLbに関しては、累積値が最小となるブロックパターン番号1のブロックパターンが、ブロックマッチングで使用すべき画素ブロックのブロックパターンに決定される。なお、図20A,Bにおいて、bmaxはブロックパターン番号bの最大値を示している。
次に、図9に示すマッチングブロックテーブル生成装置200の動作を説明する。
入力端子201から画像信号が入力され、フレームメモリ202〜204は、連続した連続した第1〜第3のフレームの画像信号が蓄積された状態となる。この場合、フレームメモリ202に第1のフレームとしての#n−2フレームの画像信号が蓄積され、フレームメモリ203に第2のフレームとしての#n−1フレームの画像信号が蓄積され、フレームメモリ204に第3のフレームとしての#nフレームの画像信号が蓄積された状態となる。
通過画素テーブル生成部205では、フレームメモリ202に蓄積されている#n−2フレームの画像信号およびフレームメモリ204に蓄積されている#nフレームの画像信号が用いられ、通過画素テーブルが生成され、通過画素テーブルメモリ205Mに記憶される。この場合、各ブロックパターン毎に、#n−2フレームの各画素位置に対応した、#nフレームの画素位置を、そのブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出することで、#n−1フレームの各画素位置と#n−2フレームおよび#nフレームの画素位置との対応関係を示す通過画素テーブル(図2参照)が生成される。
MC画像生成部206では、#n−2フレームの画像信号および#nフレームの画像信号と、通過画素テーブル生成部205で生成された、各ブロックパターンに対応した通過画素テーブルとが用いられ、補償用画像信号が生成され、MC画像メモリ206Mに記憶される。この場合、各ブロックパターン毎に、#n−1フレームの各画素位置に対応して、通過画素テーブルから#n−2フレームおよび#nフレームの画素位置を求め、この求められた画素位置の画素値に基づいて#n−1フレームの画素値を求めることで、#n−1フレームの画像信号に対応した動き補償画像信号が生成される。
ブロック評価テーブル生成部207では、#n−1フレームの画像信号と、MC画像生成部206で生成された各ブロックパターンに対応した動き補償画像信号とが用いられて、ブロック評価テーブルが生成され、ブロック評価テーブルメモリ207Mに記憶される。この場合、#n−1フレームの画素位置およびブロックパターンの組み合わせ毎に、その画素位置に対応した複数の画素データに基づいて、特徴量としてのクラスコードCLn-1を求めると共に、#n−1フレームの画像信号および動き補償画像信号のそれぞれからその画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、この算出された評価値を、そのブロックパターンおよび求められたクラスコードCLn-2に対応したアドレスの値に加算することで、各クラスコード毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルが生成される。
マッチングブロックテーブル生成部208では、テーブル生成部207で生成されてブロック評価テーブルメモリ207Mに記憶されている、各クラスコードのブロック評価テーブルに基づいて、各クラスコード毎に、ブロックマッチングで使用すべき画素ブロックのブロックパターンが決定されて、マッチングブロックテーブルが生成され、マッチングブロックテーブルメモリ208Mに記憶される。
このように、図9に示すマッチングブロックテーブル生成装置200により、特徴量としてのクラスコードとブロックパターンとの対応関係を示すマッチングブロックテーブルが生成される。この場合、あるクラスコードに対応するブロックパターンは、そのクラスコードが得られた注目画素位置についてのブロックマッチングで使用すべき画素ブロックをそのブロックパターンとすることで精度よく動きベクトルを検出できるように、学習によって求められる。
なお、上述実施の形態においては、特徴量として複数の画素データをそれぞれ1ビットデータに符号化して得られたクラスコードを取得するものを示したが、特徴量はこれに限定されるものではない。特徴量は、複数の画素データの特徴を表すものであればよい。例えば、複数の画素データからなる画素ブロックに対してDCT(Discrete Cosine Transform)等の直交変換を行って得られる係数データから特徴量を得るようにしてもよい。
また、上述実施の形態においては、マッチング演算は差分絶対値和を得る演算を示したが、これに限定されるものではない。このマッチング演算は、第1の画素ブロックと第2の画素ブロックとの間の相関の程度を示す値をその結果として得ることができるものであればよい。例えば、マッチング演算は、差分二乗和を求める演算とされてもよい。
また、上述実施の形態においては、各処理をハードウェアで処理するように説明しているが、例えば図21に示すようなハードウェア構成のコンピュータ300を用い、ソフトウェアで処理することも当然可能である。
このコンピュータ300は、CPU(Central Processing Unit)331を内蔵している。このCPU31にはバス334を介して、入出力インタフェース335が接続されている。バス334には、ROM(Read Only Memory)332およびRAM(Random Access Memory)333が接続されている。
入出力インタフェース335には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部336、操作画面や処理結果を示す画面などを表示するCRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)等よりなる出力部337、プログラムや各種データを格納するハードディスクドライブ等よりなる記憶部338、およびモデム、LAN(Local Area Network)アダプタ等よりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部339が接続されている。また、磁気ディスク341、光ディスク342、光磁気ディスク343、および半導体メモリ344などの記録媒体に対してデータを読み書きするドライブ340が接続されている。
CPU331に上述した一連の処理を実行させるプログラムは、磁気ディスク341(フレキシブルディスクを含む)、光ディスク342(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク343(MD(Mini Disc)を含む)、もしくは半導体メモリ344に格納された状態でコンピュータ300に供給され、ドライブ340によって読み出されて記憶部338に内蔵されるハードディスクドライブにインストールされている。記憶部338にインストールされているプログラムは、入力部336に入力されるユーザからのコマンドに対応するCPU331の指令によって、記憶部338からRAM333にロードされて実行される。
なお、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。また、処理対象となる画像信号は、例えば記録媒体によって提供され、あるいは通信部318を介してネットワークから提供され、記憶部338に内蔵されるハードディスクドライブに蓄積されて処理される。
また、上述実施の形態においては、参照フレームFrの各画素位置毎に、その画素位置の近傍に位置する複数の画素データに基づいてその画素位置の特徴量としてのクラスコードCLn-2を得、そのクラスコードCLn-2と参照フレームの各画素位置との対応関係を示すテーブル(図4参照)を生成し、このテーブルから対象フレームFcの注目画素位置に係るクラスコードCLn-1に対応した参照フレームFrの複数の画素位置を取得し、対象フレームFcの注目画素位置に対応した基準ブロックとマッチング演算される参照フレームFrの複数の参照ブロックを、この参照フレームFrの複数の画素位置に対応した画素ブロックとして、演算量を大幅に低減するものを示した。
しかし、この発明は、対象フレームFcの注目画素位置に対応した基準ブロックとマッチング演算される参照フレームFrの複数の参照ブロックが、対象フレームFcの注目画素位置に対応した参照フレームFrのサーチエリア内の画素ブロックであるもの(図23参照)にも、同様に適用でき、動きベクトルの検出精度を高めることができる。
注目画素位置に係る特徴量に対応したブロックパターンの画素ブロックを用い、ブロックマッチング処理により動きベクトルを精度よく検出できるものであり、例えば動き補償予測符号化装置で動き補償を行うために動きベクトルを検出する用途に適用できる。
実施の形態としての動きベクトル検出装置の構成を示すブロック図である。 クラスコードを得るための複数の画素例を示す図である。 動きベクトル算出部の構成を示すブロック図である。 クラスコードと参照フレームの各画素位置との対応関係を示すテーブルの構造を示す図である。 マッチングブロックテーブルの一例を示す図である。 マッチングブロックテーブルの他の例を示す図である。 動きベクトル演算部の構成を示すブロック図である。 動きベクトル算出処理を示すフローチャートである。 マッチングブロックテーブル生成装置の構成を示すブロック図である。 通過画素テーブルを示す図である。 通過画素テーブル生成部の構成を示すブロック図である。 通過画素テーブルの生成処理を説明するための図である。 通過画素テーブルの生成処理を示すフローチャートである。 MC画像生成部の構成を示すブロック図である。 MC画像生成処理を説明するための図である。 MC画像の生成処理を示すフローチャートである。 ブロック評価テーブル生成部の構成を示すブロック図である。 ブロック評価テーブルの生成処理を説明するための図である。 ブロック評価テーブルの生成処理を示すフローチャートである。 ブロック評価テーブルの内容例を示す図である。 コンピュータのハードウェア構成を示す図である。 従来の動きベクトル検出装置の構成を示すブロック図である。 動きベクトルを検出する際の対象フレームと参照フレームとの対応関係を示す図である。 従来の動きベクトル検出処理を示すフローチャートである。
符号の説明
100・・・動きベクトル検出装置、101・・・入力端子、102,103・・・フレームメモリ、103・・・クラスコード生成部、105・・・動きベクトル算出部、106・・・出力端子、121・・・MEメモリ部、122・・・マッチングブロックテーブルメモリ、123・・・動きベクトル演算部、200・・・マッチングブロックテーブル生成装置、201・・・入力端子、202〜204・・・フレームメモリ、205・・・通過画素テーブル生成部、206・・・MC画像生成部、207・・・ブロック評価テーブル生成部、208・・・マッチングブロックテーブル生成部、300・・・コンピュータ

Claims (12)

  1. 第1のフレームの画像信号および第2のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出装置であって、
    上記第1のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る特徴量取得手段と、
    特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルを記憶した記憶手段と、
    上記記憶手段に記憶されているマッチングブロックテーブルから上記特徴量取得手段で得られた特徴量に対応したブロックパターン情報を得るブロックパターン情報取得手段と、
    上記ブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、上記第1のフレームの注目画素位置に対応した第1の画素ブロックと、上記ブロックパターン情報取得手段で得られたブロックパターン情報で示すブロックパターンの、上記第2のフレームの複数の第2の画素ブロックのそれぞれとの間のマッチング演算を行うマッチング演算手段と、
    上記マッチング演算手段で求められた上記複数の第2の画素ブロックに対応したマッチング演算結果に基づいて、上記第1のフレームの注目画素位置に対応した動きベクトルを得る動きベクトル取得手段と
    を備えることを特徴とする動きベクトル検出装置。
  2. 上記第2のフレームの各画素位置毎に、該画素位置の近傍に位置する複数の画素データに基づいて該画素位置の特徴量を得、該特徴量と上記第2のフレームの各画素位置との対応関係を示すテーブルを生成するテーブル生成手段と、
    上記テーブル生成手段で生成されたテーブルから、上記特徴量取得手段で得られた特徴量に対応した上記第2のフレームの複数の画素位置を得る画素位置取得手段とをさらに備え、
    上記第2のフレームの複数の第2の画素ブロックは、それぞれ上記画素位置取得手段で得られた複数の画素位置に対応した画素ブロックである
    ことを特徴とする請求項1に記載の動きベクトル検出装置。
  3. 上記第2のフレームの複数の第2の画素ブロックは、上記第1のフレームの注目画素位置に対応した上記第2のフレームのサーチエリア内の画素ブロックである
    ことを特徴とする請求項1に記載の動きベクトル検出装置。
  4. 上記特徴量取得手段は、上記複数の画素データをそれぞれ1ビットデータに符号化して得られるコードを上記特徴量とする
    ことを特徴とする請求項1に記載の動きベクトル検出装置。
  5. 上記マッチング演算手段で行われるマッチング演算は、上記第1の画素ブロックを構成する画素データと上記第2の画素ブロックを構成する画素データとの間で対応する画素データ同士の差分絶対値を求め、該求められた差分絶対値の和を求める演算である
    ことを特徴とする請求項1に記載の動きベクトル検出装置。
  6. 第1のフレームの画像信号および第2のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出する動きベクトル検出方法であって、
    上記第1のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る第1のステップと、
    特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、上記第1のステップで得られた特徴量に対応したブロックパターン情報を得る第2のステップと、
    上記第2のステップで得られたブロックパターン情報で示すブロックパターンの、上記第1のフレームの注目画素位置に対応した第1の画素ブロックと、上記第2のステップで得られたブロックパターン情報で示すブロックパターンの、上記第2のフレームの複数の第2の画素ブロックのそれぞれとの間のマッチング演算を行う第3のステップと、
    上記第3のステップで求められた上記複数の第2の画素ブロックに対応したマッチング演算結果に基づいて、上記第1のフレームの注目画素位置に対応した動きベクトルを得る第4のステップと
    を備えることを特徴とする動きベクトル検出方法。
  7. 第1のフレームの画像信号および第2のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出するために、
    上記第1のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る第1のステップと、
    特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、上記第1のステップで得られた特徴量に対応したブロックパターン情報を得る第2のステップと、
    上記第2のステップで得られたブロックパターン情報で示すブロックパターンの、上記第1のフレームの注目画素位置に対応した第1の画素ブロックと、上記第2のステップで得られたブロックパターン情報で示すブロックパターンの、上記第2のフレームの複数の第2の画素ブロックのそれぞれとの間のマッチング演算を行う第3のステップと、
    上記第3のステップで求められた上記複数の第2の画素ブロックに対応したマッチング演算結果に基づいて、上記第1のフレームの注目画素位置に対応した動きベクトルを得る第4のステップと
    を備える動きベクトル検出方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な媒体。
  8. 第1のフレームの画像信号および第2のフレームの画像信号を用い、ブロックマッチング処理を行って動きベクトルを検出するために、
    上記第1のフレームの画像信号から注目画素位置の近傍に位置する複数の画素データを抽出し、該複数の画素データに基づいて該注目画素位置に係る特徴量を得る第1のステップと、
    特徴量とブロックマッチングで使用すべき画素ブロックのブロックパターンとの対応関係を示すマッチングブロックテーブルから、上記第1のステップで得られた特徴量に対応したブロックパターン情報を得る第2のステップと、
    上記第2のステップで得られたブロックパターン情報で示すブロックパターンの、上記第1のフレームの注目画素位置に対応した第1の画素ブロックと、上記第2のステップで得られたブロックパターン情報で示すブロックパターンの、上記第2のフレームの複数の第2の画素ブロックのそれぞれとの間のマッチング演算を行う第3のステップと、
    上記第3のステップで求められた上記複数の第2の画素ブロックに対応したマッチング演算結果に基づいて、上記第1のフレームの注目画素位置に対応した動きベクトルを得る第4のステップと
    を備える動きベクトル検出方法をコンピュータに実行させるためのプログラム。
  9. 所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する装置であって、
    時間的に連続する第1〜第3のフレームの画像信号を記憶する記憶手段と、
    上記記憶手段に記憶されている上記第1のフレームの画像信号および上記第3のフレームの画像信号を用い、各ブロックパターン毎に、上記第1のフレームの各画素位置に対応した上記第3のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第2のフレームの各画素位置と、上記第1のフレームおよび上記第3のフレームの画素位置との対応関係を示す通過画素テーブルを生成する通過画素テーブル生成手段と、
    上記記憶手段に記憶されている上記第1のフレームの画像信号および上記第3のフレームの画像信号と、上記通過画素テーブル生成手段で生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第2のフレームの各画素位置に対応して、上記通過画素テーブルから第1のフレームおよび第3のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第2のフレームの画素値を求め、上記第2のフレームの画像信号に対応した動き補償画像信号を生成する動き補償画像生成手段と、
    上記記憶手段に記憶されている上記第2のフレームの画像信号と、上記動き補償画像生成手段で生成された動き補償画像信号とを用い、上記第2のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第2のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成するブロック評価テーブル生成手段と、
    上記ブロック評価テーブル生成手段で生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成するマッチングブロックテーブル生成手段と
    を備えることを特徴とするマッチングブロックテーブル生成装置。
  10. 所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成する方法であって、
    時間的に連続する第1〜第3のフレームの画像信号を用意し、
    上記第1のフレームの画像信号および上記第3のフレームの画像信号を用い、各ブロックパターン毎に、上記第1のフレームの各画素位置に対応した上記第3のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第2のフレームの各画素位置と、上記第1のフレームおよび上記第3のフレームの画素位置との対応関係を示す通過画素テーブルを生成する第1のステップと、
    上記第1のフレームの画像信号および上記第3のフレームの画像信号と、上記第1のステップで生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第2のフレームの各画素位置に対応して、上記通過画素テーブルから第1のフレームおよび第3のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第2のフレームの画素値を求め、上記第2のフレームの画像信号に対応した動き補償画像信号を生成する第2のステップと、
    上記第2のフレームの画像信号と、上記第2のステップで生成された動き補償画像信号とを用い、上記第2のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第2のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する第3のステップと、
    上記第3のステップで生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成する第4のステップと
    を備えることを特徴とするマッチングブロックテーブル生成方法。
  11. 所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成するために、
    時間的に連続する第1〜第3のフレームの画像信号を用意し、
    上記第1のフレームの画像信号および上記第3のフレームの画像信号を用い、各ブロックパターン毎に、上記第1のフレームの各画素位置に対応した上記第3のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第2のフレームの各画素位置と、上記第1のフレームおよび上記第3のフレームの画素位置との対応関係を示す通過画素テーブルを生成する第1のステップと、
    上記第1のフレームの画像信号および上記第3のフレームの画像信号と、上記第1のステップで生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第2のフレームの各画素位置に対応して、上記通過画素テーブルから第1のフレームおよび第3のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第2のフレームの画素値を求め、上記第2のフレームの画像信号に対応した動き補償画像信号を生成する第2のステップと、
    上記第2のフレームの画像信号と、上記第2のステップで生成された動き補償画像信号とを用い、上記第2のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第2のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する第3のステップと、
    上記第3のステップで生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成する第4のステップと
    を備えるマッチングブロックテーブル生成方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な媒体。
  12. 所定フレームの注目画素位置に対応した動きベクトルを、該注目画素位置の特徴量に対応したブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出する際に使用される、特徴量とブロックパターンとの対応関係を示すマッチングブロックテーブルを生成するために、
    時間的に連続する第1〜第3のフレームの画像信号を用意し、
    上記第1のフレームの画像信号および上記第3のフレームの画像信号を用い、各ブロックパターン毎に、上記第1のフレームの各画素位置に対応した上記第3のフレームの画素位置を、該ブロックパターンの画素ブロックを用いたブロックマッチング処理を行って検出し、上記第2のフレームの各画素位置と、上記第1のフレームおよび上記第3のフレームの画素位置との対応関係を示す通過画素テーブルを生成する第1のステップと、
    上記第1のフレームの画像信号および上記第3のフレームの画像信号と、上記第1のステップで生成された通過画素テーブルとを用い、各ブロックパターン毎に、上記第2のフレームの各画素位置に対応して、上記通過画素テーブルから第1のフレームおよび第3のフレームの画素位置を求め、該求められた画素位置の画素値に基づいて上記第2のフレームの画素値を求め、上記第2のフレームの画像信号に対応した動き補償画像信号を生成する第2のステップと、
    上記第2のフレームの画像信号と、上記第2のステップで生成された動き補償画像信号とを用い、上記第2のフレームの画素位置およびブロックパターンの組み合わせ毎に、該画素位置の近傍に位置する複数の画素データに基づいて特徴量を求めると共に、上記第2のフレームの画像信号および上記動き補償画像信号のそれぞれから該画素位置に対応して得られる画素ブロックの相関の程度を示す評価値を算出し、該算出された評価値を、該ブロックパターンおよび上記求められた特徴量に対応したアドレスの値に加算することで、各特徴量毎に、ブロックパターンのそれぞれと評価値の累積値との対応関係を示すブロック評価テーブルを生成する第3のステップと、
    上記第3のステップで生成された各特徴量のブロック評価テーブルに基づいて、各特徴量毎に、上記ブロックマッチングで使用すべき画素ブロックのブロックパターンを決定し、上記マッチングブロックテーブルを生成する第4のステップと
    を備えるマッチングブロックテーブル生成方法をコンピュータに実行させるためのプログラム。
JP2003295514A 2003-08-19 2003-08-19 動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体 Expired - Fee Related JP4547881B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003295514A JP4547881B2 (ja) 2003-08-19 2003-08-19 動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003295514A JP4547881B2 (ja) 2003-08-19 2003-08-19 動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体

Publications (2)

Publication Number Publication Date
JP2005063319A true JP2005063319A (ja) 2005-03-10
JP4547881B2 JP4547881B2 (ja) 2010-09-22

Family

ID=34371735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003295514A Expired - Fee Related JP4547881B2 (ja) 2003-08-19 2003-08-19 動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体

Country Status (1)

Country Link
JP (1) JP4547881B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282878A (ja) * 1992-03-31 1993-10-29 Agency Of Ind Science & Technol 連想メモリ
JPH10117357A (ja) * 1996-10-09 1998-05-06 Nec Corp 動ベクトル検出装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282878A (ja) * 1992-03-31 1993-10-29 Agency Of Ind Science & Technol 連想メモリ
JPH10117357A (ja) * 1996-10-09 1998-05-06 Nec Corp 動ベクトル検出装置

Also Published As

Publication number Publication date
JP4547881B2 (ja) 2010-09-22

Similar Documents

Publication Publication Date Title
US7440619B2 (en) Image matching method and image interpolation method using the same
JP4224748B2 (ja) 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
TW440805B (en) Graphics encoding/decoding method and program recording medium thereof
KR101106419B1 (ko) 화상 처리 장치 및 방법, 및 기록 매체
WO2005084036A1 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
CN100356794C (zh) 用于在分层运动估计中产生运动矢量的方法和装置
TW502535B (en) Methods and apparatus for motion estimation in compressed domain
JP2002218413A (ja) 情報信号処理装置、情報信号処理方法、画像信号処理装置およびそれを使用した画像表示装置、それに使用される係数種データ生成装置および生成方法、係数データ生成装置および生成方法、並びに情報提供媒体
JP2005535028A (ja) セグメント化のためのシステムおよびセグメント化方法
CN100525455C (zh) 运动矢量检测装置和运动矢量检测方法
JP2009212605A (ja) 情報処理方法、情報処理装置及びプログラム
JP4547881B2 (ja) 動きベクトルの検出装置および検出方法、マッチングブロックテーブルの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体
CN113902000A (zh) 模型训练、合成帧生成、视频识别方法和装置以及介质
JP2012227669A (ja) 情報処理装置と情報処理方法およびプログラム
JP2527182B2 (ja) 画像処理装置
JP2010033532A (ja) 電子機器、動きベクトル検出方法及びそのプログラム
JP4622264B2 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
JP4129788B2 (ja) 画像データ処理装置および方法、記録媒体、並びにプログラム
JP3834805B2 (ja) 画像変換装置、画像変換方法、演算装置、演算方法、および記録媒体
JP4311258B2 (ja) 係数データの生成装置および生成方法、係数種データの生成装置および生成方法、情報信号処理装置、並びにプログラムおよびそれを記録した記録媒体
JP4144316B2 (ja) 画像データ処理装置および方法、記録媒体、並びにプログラム
KR100982625B1 (ko) 정보 신호의 처리 장치 및 처리 방법
JP4239557B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4264531B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4264803B2 (ja) 画像処理装置および方法、学習装置および方法、記録媒体、並びに、プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090907

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090918

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091015

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100115

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100615

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100628

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees