JPH10322706A - 動きベクトル検出装置 - Google Patents
動きベクトル検出装置Info
- Publication number
- JPH10322706A JPH10322706A JP13129297A JP13129297A JPH10322706A JP H10322706 A JPH10322706 A JP H10322706A JP 13129297 A JP13129297 A JP 13129297A JP 13129297 A JP13129297 A JP 13129297A JP H10322706 A JPH10322706 A JP H10322706A
- Authority
- JP
- Japan
- Prior art keywords
- block
- register
- motion vector
- input
- cumulative addition
- 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.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【課題】 符号化ブロックの画素数を多くしても、1つ
の画素値を同時に多くの回路へ出力する方法をとらずに
差分絶対値和を演算し、誤差なく高精度で、集積回路の
配置を容易化した動きベクトル検出回路を提供する。 【解決手段】 入力ポート1からの画素値は注目ブロッ
クの画素値を保持するRAレジスタ2と探索範囲の画素
値を保持するRBレジスタ3に入力され、RAレジスタ
2に検出期間中保持続ける注目ブロックの画素値とRB
レジスタ3に順次入力され保持される探索範囲の画素値
の差分の絶対値を演算器4で計算し、その出力を加算器
5で累積加算し、累積加算の中間結果を各RCレジスタ
6に保持する。遅延素子8により、演算タイミングに合
わせ中間結果を遅延させ、全累積加算値を最小値検出回
路9に入力し注目ブロックに対し最小値を示す候補ブロ
ックを求め、動きベクトルを検出する。また、回路構成
を変え、フィールド/フレーム毎にも検出できる。
の画素値を同時に多くの回路へ出力する方法をとらずに
差分絶対値和を演算し、誤差なく高精度で、集積回路の
配置を容易化した動きベクトル検出回路を提供する。 【解決手段】 入力ポート1からの画素値は注目ブロッ
クの画素値を保持するRAレジスタ2と探索範囲の画素
値を保持するRBレジスタ3に入力され、RAレジスタ
2に検出期間中保持続ける注目ブロックの画素値とRB
レジスタ3に順次入力され保持される探索範囲の画素値
の差分の絶対値を演算器4で計算し、その出力を加算器
5で累積加算し、累積加算の中間結果を各RCレジスタ
6に保持する。遅延素子8により、演算タイミングに合
わせ中間結果を遅延させ、全累積加算値を最小値検出回
路9に入力し注目ブロックに対し最小値を示す候補ブロ
ックを求め、動きベクトルを検出する。また、回路構成
を変え、フィールド/フレーム毎にも検出できる。
Description
【0001】
【発明の属する技術分野】本発明は、動画像の符号化に
関し、より詳細には、動き補償予測を用いた符号化方式
において求められる動きベクトルの検出回路に関する。
関し、より詳細には、動き補償予測を用いた符号化方式
において求められる動きベクトルの検出回路に関する。
【0002】
【従来の技術】近年、動画像の高能率符号化方式とし
て、動き補償予測を用いた符号化方式が多く用いられ
る。動き補償予測方式は、動画像シーケンスの各画像を
符号化ブロックに分割し、符号化ブロック毎に用意する
参照画像の中から最も相関性の高いブロックへの変位を
表す動きベクトルを検出し、その動きベクトルを用いて
予測ブロックを求め、画像間に含まれる時間冗長性を低
減させる符号化方式である。
て、動き補償予測を用いた符号化方式が多く用いられ
る。動き補償予測方式は、動画像シーケンスの各画像を
符号化ブロックに分割し、符号化ブロック毎に用意する
参照画像の中から最も相関性の高いブロックへの変位を
表す動きベクトルを検出し、その動きベクトルを用いて
予測ブロックを求め、画像間に含まれる時間冗長性を低
減させる符号化方式である。
【0003】動きべクトルの検出方式としては、ブロッ
クマッチング法が知られている。以下、ブロックマッチ
ング法について説明する。ブロックマッチング法では、
動きべクトル探索領域内にある予測ブロック候補を取り
出し、ブロック候補と符号化ブロックとの間の誤差量を
計算する。そして、誤差量が最小となる候補を予測ブロ
ックとし、予測ブロック位置の符号化ブロック位置から
の相対的なズレ量を動きべクトルとする。ここで、前記
誤差量を下記式(1)で表されるD、すなわち符号化ブ
ロック内の画素と探索領域内の画素の間の差分絶対値和
(以下、「AE」と呼ぶ)とすると、誤差量Dを最小と
する(i,j)が動きベクトルとなる。ただし、式
(1)においては、符号化ブロックのサイズをM×N,
探索領域を水平垂直方向に各々[−K:K−1],[−
L:L−1]としている。また、Tは符号化ブロックの
画素、Rは探索領域内の画素を表している。
クマッチング法が知られている。以下、ブロックマッチ
ング法について説明する。ブロックマッチング法では、
動きべクトル探索領域内にある予測ブロック候補を取り
出し、ブロック候補と符号化ブロックとの間の誤差量を
計算する。そして、誤差量が最小となる候補を予測ブロ
ックとし、予測ブロック位置の符号化ブロック位置から
の相対的なズレ量を動きべクトルとする。ここで、前記
誤差量を下記式(1)で表されるD、すなわち符号化ブ
ロック内の画素と探索領域内の画素の間の差分絶対値和
(以下、「AE」と呼ぶ)とすると、誤差量Dを最小と
する(i,j)が動きベクトルとなる。ただし、式
(1)においては、符号化ブロックのサイズをM×N,
探索領域を水平垂直方向に各々[−K:K−1],[−
L:L−1]としている。また、Tは符号化ブロックの
画素、Rは探索領域内の画素を表している。
【0004】
【数1】
【0005】上記、ブロックマッチング法により動きベ
クトルを検出する従来の動きベクトル検出回路として、
特開平7−184210号公報に示されるものがある。
以下に従来の動きベクトル検出回路について説明する。
図37は、従来の動きベクトル検出回路のブロック図で
ある。ここでは、説明の簡単化のため、ブロックサイズ
を2×2、探索範囲を4×4としている。図37におい
て、101は注目ブロック内の画素を保持するAレジス
タ、102は2つの値の差分の絶対値を計算する2項演
算器、103はAレジスタ101並びに2項演算器10
2からなるプロセッサ(1)〜プロセッサ(4)であ
る。104は注目ブロック内画素値を入力するSポー
ト、105は注目ブロック内画素値を入力し、その入力
した画素値を103のプロセッサ(1)〜プロセッサ
(4)のそれぞれのAレジスタ101に出力する注目ブ
ロック内画素値入力回路、106,107は探索範囲内
の画素値を入力するRAポート及びRBポート、108
は探索範囲内の画素値を入力し、その入力した画素値を
103のプロセッサ(1)〜プロセッサ(4)の2項演
算器102に出力する探索範囲内画素値入力回路、10
9は加算器(1)〜加算器(4)ならびにBレジスタ1
10からなる累積加算回路、112は最小値検出回路で
ある。注目ブロック内画素値入力回路105の内部構成
は、201のゲート(1)〜ゲート(4)、ゲート
(1)〜ゲート(4)201を制御する制御信号G
(1)〜G(4)、202の制御信号G(1)〜G
(4)のパターンが記憶されているROM,203のカ
ウンタで構成される。探索範囲内画素値入力回路108
の内部構成は、301のセレクタ(1)〜セレクタ
(4)、セレクタ(1)〜セレクタ(4)301を制御
する制御信号F(1)〜F(4)、制御信号F(1)〜
F(4)のパターンが記憶されている302のROM,
303のカウンタで構成される。
クトルを検出する従来の動きベクトル検出回路として、
特開平7−184210号公報に示されるものがある。
以下に従来の動きベクトル検出回路について説明する。
図37は、従来の動きベクトル検出回路のブロック図で
ある。ここでは、説明の簡単化のため、ブロックサイズ
を2×2、探索範囲を4×4としている。図37におい
て、101は注目ブロック内の画素を保持するAレジス
タ、102は2つの値の差分の絶対値を計算する2項演
算器、103はAレジスタ101並びに2項演算器10
2からなるプロセッサ(1)〜プロセッサ(4)であ
る。104は注目ブロック内画素値を入力するSポー
ト、105は注目ブロック内画素値を入力し、その入力
した画素値を103のプロセッサ(1)〜プロセッサ
(4)のそれぞれのAレジスタ101に出力する注目ブ
ロック内画素値入力回路、106,107は探索範囲内
の画素値を入力するRAポート及びRBポート、108
は探索範囲内の画素値を入力し、その入力した画素値を
103のプロセッサ(1)〜プロセッサ(4)の2項演
算器102に出力する探索範囲内画素値入力回路、10
9は加算器(1)〜加算器(4)ならびにBレジスタ1
10からなる累積加算回路、112は最小値検出回路で
ある。注目ブロック内画素値入力回路105の内部構成
は、201のゲート(1)〜ゲート(4)、ゲート
(1)〜ゲート(4)201を制御する制御信号G
(1)〜G(4)、202の制御信号G(1)〜G
(4)のパターンが記憶されているROM,203のカ
ウンタで構成される。探索範囲内画素値入力回路108
の内部構成は、301のセレクタ(1)〜セレクタ
(4)、セレクタ(1)〜セレクタ(4)301を制御
する制御信号F(1)〜F(4)、制御信号F(1)〜
F(4)のパターンが記憶されている302のROM,
303のカウンタで構成される。
【0006】以上のように構成された従来の動きベクト
ル検出回路の動作について、図38に示すような4×4
の探索範囲内の画素値R(i,j)(同図(B)参照)
及び2×2の注目のブロック内の画素値S(x,y)
(同図(A)参照)を用いて説明する。注目ブロック内
素入力回路105には、2×2の注目ブロック内の画素
値S(x,y)が、図37のSポート104から、図3
8の矢印の示す順番、すなわちS(1,1),S(1,
2),S(2,1),S(2,2)の順に入力され、制
御信号G(1)〜G(4)によって制御されるゲート
(1)〜ゲート(4)201によって選択され、プロセ
ッサ(1)103のAレジスタ101にはS(1,1)
プロセッサ(2)のAレジスタにはにはS(1,2)、
プロセッサ(3)のAレジスタにはS(2,1)、プロ
セッサ(4)のAレジスタにはS(2,2)の注目ブロ
ック内画素値が保持される。
ル検出回路の動作について、図38に示すような4×4
の探索範囲内の画素値R(i,j)(同図(B)参照)
及び2×2の注目のブロック内の画素値S(x,y)
(同図(A)参照)を用いて説明する。注目ブロック内
素入力回路105には、2×2の注目ブロック内の画素
値S(x,y)が、図37のSポート104から、図3
8の矢印の示す順番、すなわちS(1,1),S(1,
2),S(2,1),S(2,2)の順に入力され、制
御信号G(1)〜G(4)によって制御されるゲート
(1)〜ゲート(4)201によって選択され、プロセ
ッサ(1)103のAレジスタ101にはS(1,1)
プロセッサ(2)のAレジスタにはにはS(1,2)、
プロセッサ(3)のAレジスタにはS(2,1)、プロ
セッサ(4)のAレジスタにはS(2,2)の注目ブロ
ック内画素値が保持される。
【0007】探索範囲内画素入力回路108には、4×
4の探索範囲内の画素値R(i,j)が、図37のRA
ポート106から図38のバンドAの各画素値が、同図
の矢印の示す順番、すなわちR(1,1),R(1,
2),R(2,1),R(2,2),…,R(4,
1),R(4,2)の順に入力され、図37のRBポー
ト107から図38のバンドBの各画素値が、同図の矢
印の示す順番、すなわちR(1,3),R(1,4),
R(2,3),R(2,4),…,R(4,3),R
(4,4)の順に入力される。ここでバンドBの入力は
バンドAの入力開始から2サイクル遅れて開始される。
探索範囲内画素入力回路108は図37に示すように、
301の各セレクタ(1)〜セレクタ(4)は、カウン
タ303とROM302より入力される制御信号F
(1)〜F(4)のレベルが、LOWならばRAポート
106から入力した画素値を、HIならばRBポート1
07から入力した画素値を選択し、103のプロセッサ
(1)〜プロセッサ(4)の2項演算器102に出力す
る。図39に各制御信号と各2項演算器102への入力
を示す。これにより、図38に示す候補ブロック1につ
いては、図39から、第1サイクルにプロセッサ(1)
の2項演算器102にR(1,1)が、第2サイクルに
プロセッサ(2)の2項演算器102にR(1,2)
が、第3サイクルにプロセッサ(3)の2項演算器10
2にR(2,1)が、第4サイクルにプロセッサ(4)
の2項演算器102にR(2,2)が、というように、
プロセッサ(1)〜プロセッサ(4)の2項演算器10
2に1サイクルおきに、そのプロセッサのAレジスタ1
01に保持された注目ブロック内の画素値と、候補ブロ
ック1内で同じ位置にある画素値が入力される。
4の探索範囲内の画素値R(i,j)が、図37のRA
ポート106から図38のバンドAの各画素値が、同図
の矢印の示す順番、すなわちR(1,1),R(1,
2),R(2,1),R(2,2),…,R(4,
1),R(4,2)の順に入力され、図37のRBポー
ト107から図38のバンドBの各画素値が、同図の矢
印の示す順番、すなわちR(1,3),R(1,4),
R(2,3),R(2,4),…,R(4,3),R
(4,4)の順に入力される。ここでバンドBの入力は
バンドAの入力開始から2サイクル遅れて開始される。
探索範囲内画素入力回路108は図37に示すように、
301の各セレクタ(1)〜セレクタ(4)は、カウン
タ303とROM302より入力される制御信号F
(1)〜F(4)のレベルが、LOWならばRAポート
106から入力した画素値を、HIならばRBポート1
07から入力した画素値を選択し、103のプロセッサ
(1)〜プロセッサ(4)の2項演算器102に出力す
る。図39に各制御信号と各2項演算器102への入力
を示す。これにより、図38に示す候補ブロック1につ
いては、図39から、第1サイクルにプロセッサ(1)
の2項演算器102にR(1,1)が、第2サイクルに
プロセッサ(2)の2項演算器102にR(1,2)
が、第3サイクルにプロセッサ(3)の2項演算器10
2にR(2,1)が、第4サイクルにプロセッサ(4)
の2項演算器102にR(2,2)が、というように、
プロセッサ(1)〜プロセッサ(4)の2項演算器10
2に1サイクルおきに、そのプロセッサのAレジスタ1
01に保持された注目ブロック内の画素値と、候補ブロ
ック1内で同じ位置にある画素値が入力される。
【0008】また、プロセッサ(1)103に入力され
る各候補ブロックの画素値に着目すると、図39から、
第1サイクルからは、候補ブロック1に関して、第2サ
イクルからは、候補ブロック2に関して、第3サイクル
からは、候補ブロック3に関して、…と、1サイクルお
きに次の候補ブロックに関しての画素値が入力される。
同様に、プロセッサ(2)〜プロセッサ(4)の2項演
算器102にも、1サイクルおきに次の候補ブロックに
関しての画素値が順次入力される。図37のプロセッサ
(1)〜プロセッサ(4)103では、2項演算器10
2がAレジスタ101に保持した注目ブロック内の画素
値S(x,y)と、入力した探索範囲内の画素値R
(i,j)との差分の絶対値 |S(x,y)−R(i,j)| を計算し、その計算結果を、累積加算回路111内の加
算器(1)〜加算器(4)109に出力する。累積加算
回路111では、各加算器109は2項演算器102の
出力と左側の加算器の出力とを加算し、結果をBレジス
タ110に格納する構成となっている。例えば図38の
候補ブロック1についてみれば、まずプロセッサ(1)
で |S(1,1)−R(1,1)| が計算され、結果は加算器(1)を介してBレジスタ
(1)に格納される。次にプロセッサ(2)で |S(1,2)−R(1,2)| が計算され、これとBレジスタ(1)にある先の |S(1,1)−R(1,1)| が加算器(2)で加算され、 |S(1,1)−R(1,1)|+|S(1,2)−R
(1,2)| がBレジスタ(2)に格納される。以下同様にして最終
的にBレジスタ(4)には、 |S(1,1)−R(1,1)|+|S(1,2)−R
(1,2)|+|S(2,1)−R(2,1)|+|S
(2,2)−R(2,2)| すなわち候補ブロック1に対するAE(式(1)参照)
が格納されることになる。以上がパイプライン的に動作
した結果として、候補ブロック2,3,…についても順
次計算され、Bレジスタ(4)を経て最小値検出回路に
順に供給されることになる。最小値検出回路112は、
累積加算回路111から順次出力される各候補ブロック
に対するAEの中から最小の値を持つものを検出し、対
応する候補ブロックの偏位を動きべクトル値として出力
する。
る各候補ブロックの画素値に着目すると、図39から、
第1サイクルからは、候補ブロック1に関して、第2サ
イクルからは、候補ブロック2に関して、第3サイクル
からは、候補ブロック3に関して、…と、1サイクルお
きに次の候補ブロックに関しての画素値が入力される。
同様に、プロセッサ(2)〜プロセッサ(4)の2項演
算器102にも、1サイクルおきに次の候補ブロックに
関しての画素値が順次入力される。図37のプロセッサ
(1)〜プロセッサ(4)103では、2項演算器10
2がAレジスタ101に保持した注目ブロック内の画素
値S(x,y)と、入力した探索範囲内の画素値R
(i,j)との差分の絶対値 |S(x,y)−R(i,j)| を計算し、その計算結果を、累積加算回路111内の加
算器(1)〜加算器(4)109に出力する。累積加算
回路111では、各加算器109は2項演算器102の
出力と左側の加算器の出力とを加算し、結果をBレジス
タ110に格納する構成となっている。例えば図38の
候補ブロック1についてみれば、まずプロセッサ(1)
で |S(1,1)−R(1,1)| が計算され、結果は加算器(1)を介してBレジスタ
(1)に格納される。次にプロセッサ(2)で |S(1,2)−R(1,2)| が計算され、これとBレジスタ(1)にある先の |S(1,1)−R(1,1)| が加算器(2)で加算され、 |S(1,1)−R(1,1)|+|S(1,2)−R
(1,2)| がBレジスタ(2)に格納される。以下同様にして最終
的にBレジスタ(4)には、 |S(1,1)−R(1,1)|+|S(1,2)−R
(1,2)|+|S(2,1)−R(2,1)|+|S
(2,2)−R(2,2)| すなわち候補ブロック1に対するAE(式(1)参照)
が格納されることになる。以上がパイプライン的に動作
した結果として、候補ブロック2,3,…についても順
次計算され、Bレジスタ(4)を経て最小値検出回路に
順に供給されることになる。最小値検出回路112は、
累積加算回路111から順次出力される各候補ブロック
に対するAEの中から最小の値を持つものを検出し、対
応する候補ブロックの偏位を動きべクトル値として出力
する。
【0009】
【発明が解決しようとする課題】上記の従来の動きベク
トル検出回路は、注目ブロックの大きさをM×Nとした
時、ポートSから入力される注目ブロック内画素値およ
びRAポートとRBポートから入力される候補ブロック
内画素値が、それぞれM×N個のゲート(1)〜ゲート
(M×N)およびセレクタ(1)〜セレクタ(M×N)
へ同時に出力されることになるが、MおよびNの数値が
大きくなると1つの入力画素値を非常に多くの回路に同
時に出力しなければならないため出力負荷の増大と信号
遅延をまねき、集積回路で実現する際には、配線が困難
であったり、集積回路内の配置を適切に行わなければタ
イミングにスキューが生じたりする問題を有していた。
トル検出回路は、注目ブロックの大きさをM×Nとした
時、ポートSから入力される注目ブロック内画素値およ
びRAポートとRBポートから入力される候補ブロック
内画素値が、それぞれM×N個のゲート(1)〜ゲート
(M×N)およびセレクタ(1)〜セレクタ(M×N)
へ同時に出力されることになるが、MおよびNの数値が
大きくなると1つの入力画素値を非常に多くの回路に同
時に出力しなければならないため出力負荷の増大と信号
遅延をまねき、集積回路で実現する際には、配線が困難
であったり、集積回路内の配置を適切に行わなければタ
イミングにスキューが生じたりする問題を有していた。
【0010】本発明は上記した従来技術における問題点
に鑑みてなされたもので、符号化ブロックの画素数を多
くしても、1つの画素値を同時に多くの回路へ出力する
という方法をとらないようにして差分絶対値和の演算処
理を行い、この演算処理において誤差を生じさせず、検
出精度を上げるとともに、集積回路の配置を容易化した
動きベクトル検出回路を提供することをその解決すべき
課題とする。
に鑑みてなされたもので、符号化ブロックの画素数を多
くしても、1つの画素値を同時に多くの回路へ出力する
という方法をとらないようにして差分絶対値和の演算処
理を行い、この演算処理において誤差を生じさせず、検
出精度を上げるとともに、集積回路の配置を容易化した
動きベクトル検出回路を提供することをその解決すべき
課題とする。
【0011】
【課題を解決するための手段】本発明におけるは、符号
化(注目)ブロックのブロックサイズをM×Nとし、ブ
ロックマッチング法によって参照画像上で全探索を行
い、動きベクトルを検出する回路であって、探索範囲内
の画素値を入力するポートを1つにして、探索範囲内の
画素値を保持するレジスタをプロセッサ一定数毎に設
け、注目ブロックの画素値を保持するレジスタおよび上
記探索範囲内の画素値を保持するレジスタを各々カスケ
ード接続し、上記注目ブロックの画素値を保持するレジ
スタの出力と上記探索範囲内の画素値を保持するレジス
タの出力との差分の絶対値を計算するM×Nの演算ユニ
ットと、上記演算ユニットの計算結果を累積加算するた
めのカスケード接続された加算器と、上記累積加算の中
間結果を保持するレジスタと、上記累積加算の中間結果
を保持するレジスタをプロセッサの演算タイミングに合
わせるために遅延させる遅延遅延手段と、上記累積加算
器の結果の中から最小値を検出する最小値検出回路を設
けたものである。
化(注目)ブロックのブロックサイズをM×Nとし、ブ
ロックマッチング法によって参照画像上で全探索を行
い、動きベクトルを検出する回路であって、探索範囲内
の画素値を入力するポートを1つにして、探索範囲内の
画素値を保持するレジスタをプロセッサ一定数毎に設
け、注目ブロックの画素値を保持するレジスタおよび上
記探索範囲内の画素値を保持するレジスタを各々カスケ
ード接続し、上記注目ブロックの画素値を保持するレジ
スタの出力と上記探索範囲内の画素値を保持するレジス
タの出力との差分の絶対値を計算するM×Nの演算ユニ
ットと、上記演算ユニットの計算結果を累積加算するた
めのカスケード接続された加算器と、上記累積加算の中
間結果を保持するレジスタと、上記累積加算の中間結果
を保持するレジスタをプロセッサの演算タイミングに合
わせるために遅延させる遅延遅延手段と、上記累積加算
器の結果の中から最小値を検出する最小値検出回路を設
けたものである。
【0012】請求項1の発明は、画像におけるM×N個
の画素からなるブロックを符号化ブロックとし、該符号
化ブロックに対する候補ブロックを参照画像上の探索範
囲においてブロックマッチング法により探索し、得られ
る最適なマッチングを示す候補ブロックの位置にもとづ
き、動きベクトルを検出する動きベクトル検出装置であ
って、前記符号化ブロック内のM×N個の画素値及び前
記探索範囲内の画素値を入力する入力部と、該入力部か
ら入力された符号化ブロック内の各画素値を画素毎に保
持するカスケード接続されたM×N個の第1のレジスタ
と、前記入力部から入力された前記探索範囲内の各画素
値を画素毎に保持するカスケード接続された第2のレジ
スタと、前記第1のレジスタの出力と前記第2のレジス
タの出力との差分の絶対値計算を該第1のレジスタの各
出力毎に行うM×N個の演算器と、それぞれがカスケー
ド接続され累積加算を行うM×N個の加算器と、前記加
算器で行った累積加算結果を該加算器毎に保持する第3
のレジスタと、前記加算器において前記演算器の出力と
前記第3のレジスタの出力を所定の動作タイミングで加
算を行うように前記第3のレジスタの出力を所定サイク
ルの動作タイミング期間遅延させるための(M−1)個
または(N−1)個の遅延手段と、前記探索範囲の各候
補ブロックに対する前記M×N個の加算器の少くとも一
部の累積加算結果の中から最小値を示す候補ブロックを
検出する最小値検出回路を備えるようにするものであ
る。
の画素からなるブロックを符号化ブロックとし、該符号
化ブロックに対する候補ブロックを参照画像上の探索範
囲においてブロックマッチング法により探索し、得られ
る最適なマッチングを示す候補ブロックの位置にもとづ
き、動きベクトルを検出する動きベクトル検出装置であ
って、前記符号化ブロック内のM×N個の画素値及び前
記探索範囲内の画素値を入力する入力部と、該入力部か
ら入力された符号化ブロック内の各画素値を画素毎に保
持するカスケード接続されたM×N個の第1のレジスタ
と、前記入力部から入力された前記探索範囲内の各画素
値を画素毎に保持するカスケード接続された第2のレジ
スタと、前記第1のレジスタの出力と前記第2のレジス
タの出力との差分の絶対値計算を該第1のレジスタの各
出力毎に行うM×N個の演算器と、それぞれがカスケー
ド接続され累積加算を行うM×N個の加算器と、前記加
算器で行った累積加算結果を該加算器毎に保持する第3
のレジスタと、前記加算器において前記演算器の出力と
前記第3のレジスタの出力を所定の動作タイミングで加
算を行うように前記第3のレジスタの出力を所定サイク
ルの動作タイミング期間遅延させるための(M−1)個
または(N−1)個の遅延手段と、前記探索範囲の各候
補ブロックに対する前記M×N個の加算器の少くとも一
部の累積加算結果の中から最小値を示す候補ブロックを
検出する最小値検出回路を備えるようにするものであ
る。
【0013】請求項2の発明は、請求項1において、そ
れぞれがカスケード接続された累積加算を行うM×N個
の前記加算器および該加算器で行った累積加算結果を該
加算器毎に保持する第3のレジスタについて、それぞれ
のM×(N/2)個を1組として全体を2つの組に分割
し、それぞれの組において累積加算を行い、得た累積加
算結果の中から最小値を示す候補ブロックをそれぞれ検
出する第1および第2の最小値検出回路を備えるように
するものである。
れぞれがカスケード接続された累積加算を行うM×N個
の前記加算器および該加算器で行った累積加算結果を該
加算器毎に保持する第3のレジスタについて、それぞれ
のM×(N/2)個を1組として全体を2つの組に分割
し、それぞれの組において累積加算を行い、得た累積加
算結果の中から最小値を示す候補ブロックをそれぞれ検
出する第1および第2の最小値検出回路を備えるように
するものである。
【0014】請求項3の発明は、請求項1において、前
記第3のレジスタに保持される累積加算の中間結果を遅
延させるM×N個の第4のレジスタを該第3のレジスタ
それぞれに追加し、また前記遅延手段を(2×(M−
1))個に増やすとともに、カスケード接続された累積
加算を行う前記M×N個の加算器、累積加算結果を保持
する前記第3のレジスタ、前記第4のレジスタおよび前
記遅延手段について、(M/2)×N個の加算器と(M
/2)×N個の第3のレジスタと(M/2)×N個の第
4のレジスタと(M−1)個の遅延手段を1組として全
体を2つの組に分割し、それぞれの組について累積加算
を行い、得た累積加算結果の中から最小値を示す候補ブ
ロックをそれぞれ検出する第1および第2の最小値検出
回路を備えるようにするものである。
記第3のレジスタに保持される累積加算の中間結果を遅
延させるM×N個の第4のレジスタを該第3のレジスタ
それぞれに追加し、また前記遅延手段を(2×(M−
1))個に増やすとともに、カスケード接続された累積
加算を行う前記M×N個の加算器、累積加算結果を保持
する前記第3のレジスタ、前記第4のレジスタおよび前
記遅延手段について、(M/2)×N個の加算器と(M
/2)×N個の第3のレジスタと(M/2)×N個の第
4のレジスタと(M−1)個の遅延手段を1組として全
体を2つの組に分割し、それぞれの組について累積加算
を行い、得た累積加算結果の中から最小値を示す候補ブ
ロックをそれぞれ検出する第1および第2の最小値検出
回路を備えるようにするものである。
【0015】請求項4の発明は、請求項2又は3におい
て、分割した前記2つの組のそれぞれが前記符号化ブロ
ックの奇数フィールド及び偶数フィールドに対応するよ
うにするものである。
て、分割した前記2つの組のそれぞれが前記符号化ブロ
ックの奇数フィールド及び偶数フィールドに対応するよ
うにするものである。
【0016】請求項5の発明は、請求項2ないし4いず
れか1において、いずれか1分割した前記2つの組につ
いて得た累積加算の合計を求めるさらなる加算器と、該
さらなる加算器の累積加算結果の中から最小値を示す候
補ブロックを検出する第3の最小値検出回路を備えるよ
うにするものである。
れか1において、いずれか1分割した前記2つの組につ
いて得た累積加算の合計を求めるさらなる加算器と、該
さらなる加算器の累積加算結果の中から最小値を示す候
補ブロックを検出する第3の最小値検出回路を備えるよ
うにするものである。
【0017】
(実施形態1)図1は、本発明による動きベクトル検出
装置の一実施形態を示す図である。図1において、1は
注目ブロック内の画素値及び探索範囲内の画素値両方を
入力するための入力ポートである。2は入力ポート1か
ら入力される注目ブロック内の画素値を保持するための
RAレジスタであり、3は入力される探索範囲内の画素
値を保持するためのRBレジスタであり、4はRAレジ
スタ2に保持された注目ブロック内の画素値とRBレジ
スタ3に保持された探索範囲内の画素値の差分の絶対値
を計算するための|A−B|演算器であり、5は|A−
B|演算器4の出力を累積加算していくための加算器で
あり、6は加算器5で計算された累積加算の中間結果を
保持するためのRCレジスタである。7は上記RAレジ
スタ2と|A−B|演算器4と加算器5とRCレジスタ
6から構成されるプロセッシングエレメント(PE)で
ある。8は所定のRCレジスタ6に保持された累積加算
の中間結果を所定のPE7での演算タイミングに合わせ
るために遅延させる遅延素子である。9は累積加算の結
果求められた注目ブロックと探索範囲内の各ブロックの
差分絶対値和(AE)から最小値を検出するための最小
値検出回路で、最小値が検出されたタイミングにもとづ
き最小値ブロックの注目ブロックに対する偏位を動きベ
クトルとして出力する。なお、図1において、Mは注目
ブロック水平方向の画素数に対応し、Nは注目ブロック
の垂直方向の画素数に対応し、PEは、PE[1],P
E[2]…,PE[M×N]からなるM×Nのエレメン
トを構成する。また、本実施形態では、入力ポート1は
1つであるが、注目ブロック内の画素値と探索範囲内の
画素値で別々の入力用ポートに分けても良い。
装置の一実施形態を示す図である。図1において、1は
注目ブロック内の画素値及び探索範囲内の画素値両方を
入力するための入力ポートである。2は入力ポート1か
ら入力される注目ブロック内の画素値を保持するための
RAレジスタであり、3は入力される探索範囲内の画素
値を保持するためのRBレジスタであり、4はRAレジ
スタ2に保持された注目ブロック内の画素値とRBレジ
スタ3に保持された探索範囲内の画素値の差分の絶対値
を計算するための|A−B|演算器であり、5は|A−
B|演算器4の出力を累積加算していくための加算器で
あり、6は加算器5で計算された累積加算の中間結果を
保持するためのRCレジスタである。7は上記RAレジ
スタ2と|A−B|演算器4と加算器5とRCレジスタ
6から構成されるプロセッシングエレメント(PE)で
ある。8は所定のRCレジスタ6に保持された累積加算
の中間結果を所定のPE7での演算タイミングに合わせ
るために遅延させる遅延素子である。9は累積加算の結
果求められた注目ブロックと探索範囲内の各ブロックの
差分絶対値和(AE)から最小値を検出するための最小
値検出回路で、最小値が検出されたタイミングにもとづ
き最小値ブロックの注目ブロックに対する偏位を動きベ
クトルとして出力する。なお、図1において、Mは注目
ブロック水平方向の画素数に対応し、Nは注目ブロック
の垂直方向の画素数に対応し、PEは、PE[1],P
E[2]…,PE[M×N]からなるM×Nのエレメン
トを構成する。また、本実施形態では、入力ポート1は
1つであるが、注目ブロック内の画素値と探索範囲内の
画素値で別々の入力用ポートに分けても良い。
【0018】以下、本実施形態の動作について説明をす
るが、説明を簡単にするため、図2の例、すなわち、注
目ブロックのサイズを4×4(図1(A)参照)、動き
ベクトルの探索範囲を水平方向、垂直方向とも[−2:
1]とした(図2(B)参照)場合について、注目ブロ
ック内の画素値T(m,n)と探索範囲内の画素値R
(i,j)を使って説明する。この場合、図1のM,N
はそれぞれ4となる。まず、入力端子1から図2に示す
順番(同図中(A)の矢印の順)に注目ブロック内の画
素値が、T(0,0),T(0,1),T(0,2),
T(0,3),T(1,0),…,T(3,3)と入力
され、入力された注目ブロック内の画素値は、図3に示
すように、注目ブロック内の画素値を保持するためのR
Aレジスタ2のRA[16],RA[15],RA[1
4],…,RA[2],RA[1]に1サイクルおきに
転送されていき、入力開始後、17サイクル目にはRA
[1],RA[2],…,RA[16]にそれぞれT
(0,0),T(0,1),…,T(3,3)が保持さ
れ、注目ブロック内の画素値の入力が完了する。RAレ
ジスタ2に保持された注目ブロック内の画素値T(m,
n)は、演算器4へ出力される。この時、注目ブロック
内の各画素はそれぞれ各PEに1画素ずつ配置されてい
ることになる。
るが、説明を簡単にするため、図2の例、すなわち、注
目ブロックのサイズを4×4(図1(A)参照)、動き
ベクトルの探索範囲を水平方向、垂直方向とも[−2:
1]とした(図2(B)参照)場合について、注目ブロ
ック内の画素値T(m,n)と探索範囲内の画素値R
(i,j)を使って説明する。この場合、図1のM,N
はそれぞれ4となる。まず、入力端子1から図2に示す
順番(同図中(A)の矢印の順)に注目ブロック内の画
素値が、T(0,0),T(0,1),T(0,2),
T(0,3),T(1,0),…,T(3,3)と入力
され、入力された注目ブロック内の画素値は、図3に示
すように、注目ブロック内の画素値を保持するためのR
Aレジスタ2のRA[16],RA[15],RA[1
4],…,RA[2],RA[1]に1サイクルおきに
転送されていき、入力開始後、17サイクル目にはRA
[1],RA[2],…,RA[16]にそれぞれT
(0,0),T(0,1),…,T(3,3)が保持さ
れ、注目ブロック内の画素値の入力が完了する。RAレ
ジスタ2に保持された注目ブロック内の画素値T(m,
n)は、演算器4へ出力される。この時、注目ブロック
内の各画素はそれぞれ各PEに1画素ずつ配置されてい
ることになる。
【0019】上記注目ブロック内の画素値の入力が完了
後、探索範囲内の画素値が、入力端子1から図2に示す
順番(同図中(A)の矢印の順)で、R(−2,−
2),R(−2,−1),R(−2,0),…,R(−
2,4),R(−1,−2),…,R(4,4)と入力
され、図4に示すように、図1の探索範囲内の画素値を
保持するためのRBレジスタ3のRB[4],RB
[3],RB[2],RB[1],に1サイクルおきに
転送されていく。各RBレジスタ3の出力は、図1で横
に並んだN(=4)個のPE7の中の演算器4に入力さ
れる。上記RAレジスタ2に保持された注目ブロックの
画素値T(m,n)と上記RBレジスタ3に保持された
探索範囲内の画素値R(i,j)を用いて式(1)の演
算が、M×N個(4×4=16個)のPE7とM−1個
(3個)の遅延素子8で行われる。
後、探索範囲内の画素値が、入力端子1から図2に示す
順番(同図中(A)の矢印の順)で、R(−2,−
2),R(−2,−1),R(−2,0),…,R(−
2,4),R(−1,−2),…,R(4,4)と入力
され、図4に示すように、図1の探索範囲内の画素値を
保持するためのRBレジスタ3のRB[4],RB
[3],RB[2],RB[1],に1サイクルおきに
転送されていく。各RBレジスタ3の出力は、図1で横
に並んだN(=4)個のPE7の中の演算器4に入力さ
れる。上記RAレジスタ2に保持された注目ブロックの
画素値T(m,n)と上記RBレジスタ3に保持された
探索範囲内の画素値R(i,j)を用いて式(1)の演
算が、M×N個(4×4=16個)のPE7とM−1個
(3個)の遅延素子8で行われる。
【0020】その過程を図5ないし図9に示す。なお、
図6ないし図9は、それぞれ図5中のA1,B1,C
1,D1に相当する部分図である。図5〜9を図2の探
索範囲内の候補ブロック1についての演算に注目して説
明する。入力端子1からの探索範囲内の画素値入力の開
始を1サイクル目とすると、5サイクル目に候補ブロッ
クの最初の画素値であるR(−2,−2)がRB[1]
に保持される。6サイクル目では、上記5サイクル目で
RB[1]に保持された候補ブロック1の画素R(−
2,−2)とRA[1]に保持された注目ブロックの画
素T(0,0)から両者の差分の絶対値 |R(−2,−2)−T(0,0)| がPE[1]内の演算器4で計算され、その結果と0と
の加算がPE[1]内の加算器5で行われ、その加算結
果 |R(−2,−2)−T(0,0)| が累積加算の一時保持用レジスタRC[1]に保持され
る。7サイクル目では、6サイクル目でRB[1]に保
持された候補ブロック1の画素R(−2,−1)とRA
[2]に保持された注目ブロックの画素値T(0,1)
から両者の差分の絶対値 |R(−2,−1)−T(0,1)| がPE[2]内の演算器4で計算され、その結果とRC
[1]との加算がPE[2]内の加算器5で行われ、そ
の加算結果 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)| が累積加算の一時保持用レジスタRC[2]に保持され
る。8サイクル目では、PE[3]で上記7サイクル目
と同様の処理が行われ、RC[3]には、 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,−0)−T(0,
2)| が保持される。9サイクル目では、PE[4]で上記7
サイクル目と同様の処理が行われ、RC[4]には、 R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,−0)−T(0,
2)|+|R(−2,−1)−T(0,3)| が保持される。10サイクル目および11サイクル目で
は探索範囲内の画素値を保持しているレジスタRB
[1]に候補ブロック1以外の画素値が入っているの
で、遅延素子[1]を使って上記9サイクル目にRC
[4]に保持された累積加算の中間結果を候補ブロック
1内の画素値が入力され次の演算ができるまで遅延させ
る。12サイクル目では、RB[2]に候補ブロック1
の2列目の画素R(−1,−2)が保持されているの
で、PE[5]内でこのRB[2]に保持されたR(−
1,−2)とRA[5]に保持された注目ブロックの画
素値T(1,0)から差分の絶対値演算および遅延素子
[1]の出力との累積加算演算が行われ、RC[5]に
は、 |R(−2,−2)−T(0,0)|+|R(−2,−1)−T
(0,1)|+|R(−2,0)−T(0,2)|+|R(−2,
1)−T(0,3)|+|R(−1,−2)−T(1,0)| が保持される。以下、同様の処理を繰り返していくこと
により、28サイクル目にPE[16]内のRC[1
6]に、 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,0)−T(0,
2)|+|R(−2,1)−T(0,3)|+|R(−
1,2)−T(1,0)|+|R(−1,−1)−T
(1,1)|+|R(−1,0)−T(1,2)|+|
R(−1,1)−T(1,3)|+|R(0,−2)−
T(2,0)|+|R(0,−1)−T(2,1)|R
(0,0)−T(2,2)|+|R(0,1)−T
(2,3)|+|R(1,2)−T(3,0)|+|R
(1,−1)−T(3,1)|+|R(1,0)−T
(3,2)|+|R(1,1)−T(3,3)| が保持され、注目ブロックの画素と探索範囲内の候補ブ
ロック1との間の式(1)で表されるAEの値が求めら
れる。
図6ないし図9は、それぞれ図5中のA1,B1,C
1,D1に相当する部分図である。図5〜9を図2の探
索範囲内の候補ブロック1についての演算に注目して説
明する。入力端子1からの探索範囲内の画素値入力の開
始を1サイクル目とすると、5サイクル目に候補ブロッ
クの最初の画素値であるR(−2,−2)がRB[1]
に保持される。6サイクル目では、上記5サイクル目で
RB[1]に保持された候補ブロック1の画素R(−
2,−2)とRA[1]に保持された注目ブロックの画
素T(0,0)から両者の差分の絶対値 |R(−2,−2)−T(0,0)| がPE[1]内の演算器4で計算され、その結果と0と
の加算がPE[1]内の加算器5で行われ、その加算結
果 |R(−2,−2)−T(0,0)| が累積加算の一時保持用レジスタRC[1]に保持され
る。7サイクル目では、6サイクル目でRB[1]に保
持された候補ブロック1の画素R(−2,−1)とRA
[2]に保持された注目ブロックの画素値T(0,1)
から両者の差分の絶対値 |R(−2,−1)−T(0,1)| がPE[2]内の演算器4で計算され、その結果とRC
[1]との加算がPE[2]内の加算器5で行われ、そ
の加算結果 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)| が累積加算の一時保持用レジスタRC[2]に保持され
る。8サイクル目では、PE[3]で上記7サイクル目
と同様の処理が行われ、RC[3]には、 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,−0)−T(0,
2)| が保持される。9サイクル目では、PE[4]で上記7
サイクル目と同様の処理が行われ、RC[4]には、 R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,−0)−T(0,
2)|+|R(−2,−1)−T(0,3)| が保持される。10サイクル目および11サイクル目で
は探索範囲内の画素値を保持しているレジスタRB
[1]に候補ブロック1以外の画素値が入っているの
で、遅延素子[1]を使って上記9サイクル目にRC
[4]に保持された累積加算の中間結果を候補ブロック
1内の画素値が入力され次の演算ができるまで遅延させ
る。12サイクル目では、RB[2]に候補ブロック1
の2列目の画素R(−1,−2)が保持されているの
で、PE[5]内でこのRB[2]に保持されたR(−
1,−2)とRA[5]に保持された注目ブロックの画
素値T(1,0)から差分の絶対値演算および遅延素子
[1]の出力との累積加算演算が行われ、RC[5]に
は、 |R(−2,−2)−T(0,0)|+|R(−2,−1)−T
(0,1)|+|R(−2,0)−T(0,2)|+|R(−2,
1)−T(0,3)|+|R(−1,−2)−T(1,0)| が保持される。以下、同様の処理を繰り返していくこと
により、28サイクル目にPE[16]内のRC[1
6]に、 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,0)−T(0,
2)|+|R(−2,1)−T(0,3)|+|R(−
1,2)−T(1,0)|+|R(−1,−1)−T
(1,1)|+|R(−1,0)−T(1,2)|+|
R(−1,1)−T(1,3)|+|R(0,−2)−
T(2,0)|+|R(0,−1)−T(2,1)|R
(0,0)−T(2,2)|+|R(0,1)−T
(2,3)|+|R(1,2)−T(3,0)|+|R
(1,−1)−T(3,1)|+|R(1,0)−T
(3,2)|+|R(1,1)−T(3,3)| が保持され、注目ブロックの画素と探索範囲内の候補ブ
ロック1との間の式(1)で表されるAEの値が求めら
れる。
【0021】候補ブロック2についての処理は、上記候
補ブロック1についての処理より1サイクル遅れてパイ
プラインで行われるので、29サイクル目に注目ブロッ
クの画素と探索範囲内の候補ブロック2との間のAEが
PE[16]内のRC[16]に保持される。候補ブロ
ック3以降についても同様である。図1の最小値検出回
路9は、上記のように各画素値間の差分の絶対値と累積
加算値をPE[1]からPE[16]で求め、注目ブロ
ックTと候補ブロックRとの間の候補ブロック毎のAE
の値がPE[16]内のRC[16]から累積加算値と
して各サイクルで次々に入力され、それらの中で最小と
なるAEの値を検出する。同時に、このAEが最小値に
なる候補ブロックからこの候補ブロックと注目ブロック
の間の動きベクトルを検出する。なお、上記図1に示す
(実施形態1)において、MとN入れ換えると図10に
示す入力順序で注目ブロックの画素および探索範囲内の
画素の入力を行っても、図2に示す入力順序の場合と同
様の処理により、動きベクトルを検出することができ
る。
補ブロック1についての処理より1サイクル遅れてパイ
プラインで行われるので、29サイクル目に注目ブロッ
クの画素と探索範囲内の候補ブロック2との間のAEが
PE[16]内のRC[16]に保持される。候補ブロ
ック3以降についても同様である。図1の最小値検出回
路9は、上記のように各画素値間の差分の絶対値と累積
加算値をPE[1]からPE[16]で求め、注目ブロ
ックTと候補ブロックRとの間の候補ブロック毎のAE
の値がPE[16]内のRC[16]から累積加算値と
して各サイクルで次々に入力され、それらの中で最小と
なるAEの値を検出する。同時に、このAEが最小値に
なる候補ブロックからこの候補ブロックと注目ブロック
の間の動きベクトルを検出する。なお、上記図1に示す
(実施形態1)において、MとN入れ換えると図10に
示す入力順序で注目ブロックの画素および探索範囲内の
画素の入力を行っても、図2に示す入力順序の場合と同
様の処理により、動きベクトルを検出することができ
る。
【0022】(実施形態2)図11は、本発明による動
きベクトル検出装置の他の実施形態を示す図である。本
実施形態は、フレーム間の動きベクトルとフィールド間
の動きベクトルを同時に検出するものである。図11に
おいて、Mは注目ブロックの水平方向の画素数に対応
し、Nは注目ブロック垂直方向の画素数に対応してい
る。また、垂直方向に処理を2組に分割し、各組毎に最
小値検出回路9として最小値検出回路[1]及び[2]
を設けるとともに、2組の累積加算結果を加算するため
の加算器10を備え、この出力に対しても最小値検出回
路[3]を設ける。図11中の番号については、図1中
の同じ要素については、同一番号を付している。
きベクトル検出装置の他の実施形態を示す図である。本
実施形態は、フレーム間の動きベクトルとフィールド間
の動きベクトルを同時に検出するものである。図11に
おいて、Mは注目ブロックの水平方向の画素数に対応
し、Nは注目ブロック垂直方向の画素数に対応してい
る。また、垂直方向に処理を2組に分割し、各組毎に最
小値検出回路9として最小値検出回路[1]及び[2]
を設けるとともに、2組の累積加算結果を加算するため
の加算器10を備え、この出力に対しても最小値検出回
路[3]を設ける。図11中の番号については、図1中
の同じ要素については、同一番号を付している。
【0023】以下、本実施形態の動作について説明をす
るが、説明を簡単にするため、図10の例、すなわち、
注目ブロックのサイズを4×4(図10(A)参照)、
動きベクトルの探索範囲を水平方向垂直方向とも[−
2:1]とした(図10(B)参照)場合について、注
目ブロック内の画素値T(m,n)と探索範囲内の画素
値R(i,j)を使って説明する。この場合に、上記
M,Nは、それぞれ4となる。入力端子1から図10に
示す順番(同図中(A)の矢印の順)に注目ブロック内
の画素値が入力され、入力された注目ブロック内の画素
値は、図12に示すように注目ブロック内の画素値を保
持するためのRAレジスタ2へ転送されていく。図12
の17サイクル目で注目ブロック内のすべての画素が、
図11の各PEに1画素ずつ配置され、注目ブロックの
画素入力が完了する。
るが、説明を簡単にするため、図10の例、すなわち、
注目ブロックのサイズを4×4(図10(A)参照)、
動きベクトルの探索範囲を水平方向垂直方向とも[−
2:1]とした(図10(B)参照)場合について、注
目ブロック内の画素値T(m,n)と探索範囲内の画素
値R(i,j)を使って説明する。この場合に、上記
M,Nは、それぞれ4となる。入力端子1から図10に
示す順番(同図中(A)の矢印の順)に注目ブロック内
の画素値が入力され、入力された注目ブロック内の画素
値は、図12に示すように注目ブロック内の画素値を保
持するためのRAレジスタ2へ転送されていく。図12
の17サイクル目で注目ブロック内のすべての画素が、
図11の各PEに1画素ずつ配置され、注目ブロックの
画素入力が完了する。
【0024】上記注目ブロック内の画素の入力が完了
後、探索範囲内の画素値が、入力端子1から図10に示
す順番で入力され、図13に示すように、探索範囲内の
画素値を保持するためのRBレジスタ3へ転送されてい
く。各RBレジスタ3の出力は、図11で横に並んだM
個のPE7の中の演算器4に入力される。上記RAレジ
スタに保持された注目ブロックの画素値T(m,n)と
上記RBレジスタに保持された探索範囲内の画素値R
(i,j)を用いて式(1)の演算が、M×N個(4×
4=16個)のPE7とN−1個(3個)の遅延素子8
で行われる。上記PE7,遅延素子8は、図11の1行
目と3行目のPE(PE[1]〜PE[4],PE
[9]〜PE[12])と遅延素子[1],[3]から
構成される第1の演算系と、図11の2行目と4行目の
PE(PE[5]〜PE[8],PE[13]〜PE
[16])と遅延素子[2]から構成される第2の演算
系に分けられる。ここで、第1の演算系は注目ブロック
の奇数行(第1フィールド)の画素に対するAEを求め
るものであり、第2の演算系は注目ブロックの偶数行
(第2フィールド)の画素に対するAEを求めるもので
ある。
後、探索範囲内の画素値が、入力端子1から図10に示
す順番で入力され、図13に示すように、探索範囲内の
画素値を保持するためのRBレジスタ3へ転送されてい
く。各RBレジスタ3の出力は、図11で横に並んだM
個のPE7の中の演算器4に入力される。上記RAレジ
スタに保持された注目ブロックの画素値T(m,n)と
上記RBレジスタに保持された探索範囲内の画素値R
(i,j)を用いて式(1)の演算が、M×N個(4×
4=16個)のPE7とN−1個(3個)の遅延素子8
で行われる。上記PE7,遅延素子8は、図11の1行
目と3行目のPE(PE[1]〜PE[4],PE
[9]〜PE[12])と遅延素子[1],[3]から
構成される第1の演算系と、図11の2行目と4行目の
PE(PE[5]〜PE[8],PE[13]〜PE
[16])と遅延素子[2]から構成される第2の演算
系に分けられる。ここで、第1の演算系は注目ブロック
の奇数行(第1フィールド)の画素に対するAEを求め
るものであり、第2の演算系は注目ブロックの偶数行
(第2フィールド)の画素に対するAEを求めるもので
ある。
【0025】図14ないし図19に上記第1の演算系で
行われる演算の過程を示している。また、図20ないし
図25に上記第2の演算系で行われる演算の過程を示し
ている。なお、図15ないし図19は、それぞれ図14
中のA2,B2,D2,E2,F2に相当する部分図で
あり、図21ないし図25は、図20中のA3,B3,
D3,E3,F3に相当する部分図である。図10
(B)に示す探索範囲内の候補ブロック1についての演
算に注目してみると、上記実施形態1の場合と同様に、
第1の演算系では、21サイクル目にPE[12]内の
RC[12]に、 |R(−2,−2)−T(0,0)|+|R(−1,−
2)−T(1,0)|+|R(0,−2)−T(2,
0)|+|R(1,−2)−T(3,0)|+|R(−
2,0)−T(0,2)|+|R(−1,0)−T
(1,2)|+|R(0,0)−T(2,2)|+|R
(1,0)−T(3,2)| が保持され、これは注目ブロックと候補ブロック1の奇
数行(第1フィールド)に対するAEとなる。一方、上
記第2の演算系では、27サイクル目にPE[16]内
のRC[16]に、 |R(−2,−1)−T(0,1)|+|R(−1,−
1)−T(1,1)|+|R(0,−1)−T(2,
1)|+|R(1,−1)−T(3,1)|+|R(−
2,1)−T(0,3)|+|R(−1,1)−T
(1,3)|+|R(0,1)−T(2,3)|+|R
(1,1)−T(3,3)| が保持され、これは注目ブロックと候補ブロック1の偶
数行(第2フィールド)に対するAEとなる。これらの
演算結果は、注目ブロックと候補ブロック1のフィール
ド間AEに対応する。
行われる演算の過程を示している。また、図20ないし
図25に上記第2の演算系で行われる演算の過程を示し
ている。なお、図15ないし図19は、それぞれ図14
中のA2,B2,D2,E2,F2に相当する部分図で
あり、図21ないし図25は、図20中のA3,B3,
D3,E3,F3に相当する部分図である。図10
(B)に示す探索範囲内の候補ブロック1についての演
算に注目してみると、上記実施形態1の場合と同様に、
第1の演算系では、21サイクル目にPE[12]内の
RC[12]に、 |R(−2,−2)−T(0,0)|+|R(−1,−
2)−T(1,0)|+|R(0,−2)−T(2,
0)|+|R(1,−2)−T(3,0)|+|R(−
2,0)−T(0,2)|+|R(−1,0)−T
(1,2)|+|R(0,0)−T(2,2)|+|R
(1,0)−T(3,2)| が保持され、これは注目ブロックと候補ブロック1の奇
数行(第1フィールド)に対するAEとなる。一方、上
記第2の演算系では、27サイクル目にPE[16]内
のRC[16]に、 |R(−2,−1)−T(0,1)|+|R(−1,−
1)−T(1,1)|+|R(0,−1)−T(2,
1)|+|R(1,−1)−T(3,1)|+|R(−
2,1)−T(0,3)|+|R(−1,1)−T
(1,3)|+|R(0,1)−T(2,3)|+|R
(1,1)−T(3,3)| が保持され、これは注目ブロックと候補ブロック1の偶
数行(第2フィールド)に対するAEとなる。これらの
演算結果は、注目ブロックと候補ブロック1のフィール
ド間AEに対応する。
【0026】上記第1の演算系では、21サイクル目に
PE[12]内のRC[12]に保持された注目ブロッ
クと候補ブロック1間の第1フィールドに対する演算結
果AEは、上記第2の演算系で第2フィールドに対する
結果AEが保持される27サイクル目まで遅延素子
[3]で遅延され、28サイクル目に加算器10で第1
の演算系の結果と第2の演算系の結果が加算され、 |R(−2,−2)−T(0,0)|+|R(−1,−
2)−T(1,0)|+|R(0,−2)−T(2,
0)|+|R(1,−2)−T(3,0)|+|R(−
2,−1)−T(0,1)|+|R(−1,−1)−T
(1,1)|+|R(0,−1)−T(2,1)|+|
R(1,−1)−T(3,1)|+|R(−2,0)−
T(0,2)|+|R(−1,0)−T(1,2)|+
|R(0,0)−T(2,2)|+|R(1,0)−T
(3,2)|+|R(−2,1)−T(0,3)|+|
R(−1,1)−T(1,3)|+|R(0,1)−T
(2,3)|+|R(1,1)−T(3,3)| が求められる。この加算結果は、注目ブロックと候補ブ
ロック1の間のフレーム間AEに対応する。そして、2
8サイクル目には、上記のようにして注目ブロックと候
補ブロック1間の2つのフィールドについてそれぞれが
得られるAEの値が最小値検出回路[1]と最小値検出
回路[2]にそれぞれ入力され、また、上記のようにし
て加算器10から得られるフレーム間AEの値が最小値
検出回路[3]に入力される。
PE[12]内のRC[12]に保持された注目ブロッ
クと候補ブロック1間の第1フィールドに対する演算結
果AEは、上記第2の演算系で第2フィールドに対する
結果AEが保持される27サイクル目まで遅延素子
[3]で遅延され、28サイクル目に加算器10で第1
の演算系の結果と第2の演算系の結果が加算され、 |R(−2,−2)−T(0,0)|+|R(−1,−
2)−T(1,0)|+|R(0,−2)−T(2,
0)|+|R(1,−2)−T(3,0)|+|R(−
2,−1)−T(0,1)|+|R(−1,−1)−T
(1,1)|+|R(0,−1)−T(2,1)|+|
R(1,−1)−T(3,1)|+|R(−2,0)−
T(0,2)|+|R(−1,0)−T(1,2)|+
|R(0,0)−T(2,2)|+|R(1,0)−T
(3,2)|+|R(−2,1)−T(0,3)|+|
R(−1,1)−T(1,3)|+|R(0,1)−T
(2,3)|+|R(1,1)−T(3,3)| が求められる。この加算結果は、注目ブロックと候補ブ
ロック1の間のフレーム間AEに対応する。そして、2
8サイクル目には、上記のようにして注目ブロックと候
補ブロック1間の2つのフィールドについてそれぞれが
得られるAEの値が最小値検出回路[1]と最小値検出
回路[2]にそれぞれ入力され、また、上記のようにし
て加算器10から得られるフレーム間AEの値が最小値
検出回路[3]に入力される。
【0027】候補ブロック2についての処理は、上記候
補ブロック1についての処理より1サイクル遅れてパイ
プラインで行われるので、29サイクル目に、注目ブロ
ックと候補ブロック2に対する2つのフィールド間AE
の値と1つのフレーム間AEの値が、最小値検出回路
[1]〜[3]に前述と同様にして入力される。候補ブ
ロック3以降についても同様である。最小値検出回路
[1]では、上記のようにPE[1]〜PE[4]とP
E[9]〜PE[12]で求められた注目ブロックTと
候補ブロックRのそれぞれ奇数行(第1フィールド)に
対するフィールド間AEの値が各サイクルで次々に入力
され、それらの中で最小となるAEの値を検出する。同
時に、このAEが最小値になる候補ブロックRから注目
ブロックTと候補ブロックRの間の第1フィールド間動
きベクトルを検出する。最小値検出回路[2]では、上
記のようにPE[5]〜PE[8]とPE[13]〜P
E[16]で求められた注目ブロックTと候補ブロック
Rのそれぞれ偶数行(第2フィールド)に対するフィー
ルド間AEの値が各サイクルで次々に入力され、それら
の中で最小となるAEの値を検出する。同時に、このA
Eが最小値になる候補ブロックRから注目ブロックTと
この候補ブロックRの間の第2フィールド間動きベクト
ルを検出する。最小値検出回路[3]では、上記のよう
にPE[1]〜PE[6]と加算器10で求められた注
目ブロックTと候補ブロックRとの間のフレーム間AE
の値が各サイクルで次々に入力されそれらの中で最小と
なるAEの値を検出する。同時に、このAEが最小値に
なる候補ブロックRからその候補ブロックRと注目ブロ
ックT両者の間の第2フィールド間動きベクトルを検出
する。
補ブロック1についての処理より1サイクル遅れてパイ
プラインで行われるので、29サイクル目に、注目ブロ
ックと候補ブロック2に対する2つのフィールド間AE
の値と1つのフレーム間AEの値が、最小値検出回路
[1]〜[3]に前述と同様にして入力される。候補ブ
ロック3以降についても同様である。最小値検出回路
[1]では、上記のようにPE[1]〜PE[4]とP
E[9]〜PE[12]で求められた注目ブロックTと
候補ブロックRのそれぞれ奇数行(第1フィールド)に
対するフィールド間AEの値が各サイクルで次々に入力
され、それらの中で最小となるAEの値を検出する。同
時に、このAEが最小値になる候補ブロックRから注目
ブロックTと候補ブロックRの間の第1フィールド間動
きベクトルを検出する。最小値検出回路[2]では、上
記のようにPE[5]〜PE[8]とPE[13]〜P
E[16]で求められた注目ブロックTと候補ブロック
Rのそれぞれ偶数行(第2フィールド)に対するフィー
ルド間AEの値が各サイクルで次々に入力され、それら
の中で最小となるAEの値を検出する。同時に、このA
Eが最小値になる候補ブロックRから注目ブロックTと
この候補ブロックRの間の第2フィールド間動きベクト
ルを検出する。最小値検出回路[3]では、上記のよう
にPE[1]〜PE[6]と加算器10で求められた注
目ブロックTと候補ブロックRとの間のフレーム間AE
の値が各サイクルで次々に入力されそれらの中で最小と
なるAEの値を検出する。同時に、このAEが最小値に
なる候補ブロックRからその候補ブロックRと注目ブロ
ックT両者の間の第2フィールド間動きベクトルを検出
する。
【0028】(実施形態3)図26は、本発明による動
きベクトル検出装置の他の実施形態を示す図である。本
実施形態は、フレーム間の動きベクトルとフィールド間
の動きベクトルを同時に検出する上記(実施形態2)と
異なる他の実施形態である。図26において、11は累
積加算の中間結果を遅延させるためのRDレジスタであ
る。遅延素子8は2系統の処理に対応してA,B遅延素
子としているが、図26中の番号については、図1およ
び図11中の同じ要素については同一番号を付してい
る。以下、本実施形態の動作について説明するが、説明
を簡単にするため、図2の例、すなわち、注目ブロック
のサイズを4×4(図2(A)参照)、動きベクトルの
探索範囲を水平方向垂直方向とも[−2:1]とした
(図2(B)参照)場合について、注目ブロック内の画
素値T(m,n)と探索範囲内の画素値R(i,j)を
使って説明する。この場合に、図26のM,Nはそれぞ
れ4となる。
きベクトル検出装置の他の実施形態を示す図である。本
実施形態は、フレーム間の動きベクトルとフィールド間
の動きベクトルを同時に検出する上記(実施形態2)と
異なる他の実施形態である。図26において、11は累
積加算の中間結果を遅延させるためのRDレジスタであ
る。遅延素子8は2系統の処理に対応してA,B遅延素
子としているが、図26中の番号については、図1およ
び図11中の同じ要素については同一番号を付してい
る。以下、本実施形態の動作について説明するが、説明
を簡単にするため、図2の例、すなわち、注目ブロック
のサイズを4×4(図2(A)参照)、動きベクトルの
探索範囲を水平方向垂直方向とも[−2:1]とした
(図2(B)参照)場合について、注目ブロック内の画
素値T(m,n)と探索範囲内の画素値R(i,j)を
使って説明する。この場合に、図26のM,Nはそれぞ
れ4となる。
【0029】入力端子からは、(実施形態1)の場合と
同様に、図2に示す順(同図中(A)の矢印の順)に注
目ブロック内の画素値は図3に示すタイミングでRAレ
ジスタ2へ、探索範囲内の画素値は図4に示すタイミン
グでRBレジスタ3へ転送されていく。各RBレジスタ
3の出力は、図26で横に並んだN個(=4個)のPE
7の中の演算器4に入力される。上記RAレジスタに保
持された注目ブロックの画素値T(m,n)と上記RB
レジスタに保持された探索範囲内のR(i,j)を用い
て式1の演算が、M×N個(4×4=16個)のPE
7、M−1個(3個)のA遅延素子8およびM−1個
(3個)B遅延素子8、M×N個(4×4=16個)の
RDレジスタ11で行われる。上記PE7、AおよびB
遅延素子8、RDレジスタ11は、PE[2p−1]
(p=1,2,…,8)、A遅延素子[1]〜[3]、
RD[2p](p=1,2,…,8)から構成される第
1の演算系と、PE[2p](p=1,2,…,8)、
B遅延素子[1]〜[3]、RD[2p−1](p=
1,2,…,8)から構成される第2の演算系に分けら
れる。ここで、第1の演算系は注目ブロックの奇数行
(第1フィールド)の画素に対するAEを求めるもので
あり、第2の演算系は注目ブロック偶数行(第2フィー
ルド)の画素に対するAEを求めるものである。
同様に、図2に示す順(同図中(A)の矢印の順)に注
目ブロック内の画素値は図3に示すタイミングでRAレ
ジスタ2へ、探索範囲内の画素値は図4に示すタイミン
グでRBレジスタ3へ転送されていく。各RBレジスタ
3の出力は、図26で横に並んだN個(=4個)のPE
7の中の演算器4に入力される。上記RAレジスタに保
持された注目ブロックの画素値T(m,n)と上記RB
レジスタに保持された探索範囲内のR(i,j)を用い
て式1の演算が、M×N個(4×4=16個)のPE
7、M−1個(3個)のA遅延素子8およびM−1個
(3個)B遅延素子8、M×N個(4×4=16個)の
RDレジスタ11で行われる。上記PE7、AおよびB
遅延素子8、RDレジスタ11は、PE[2p−1]
(p=1,2,…,8)、A遅延素子[1]〜[3]、
RD[2p](p=1,2,…,8)から構成される第
1の演算系と、PE[2p](p=1,2,…,8)、
B遅延素子[1]〜[3]、RD[2p−1](p=
1,2,…,8)から構成される第2の演算系に分けら
れる。ここで、第1の演算系は注目ブロックの奇数行
(第1フィールド)の画素に対するAEを求めるもので
あり、第2の演算系は注目ブロック偶数行(第2フィー
ルド)の画素に対するAEを求めるものである。
【0030】図27ないし図33に上記第1の演算系及
び上記第2の演算系で行われる演算の過程を示してい
る。なお、図26ないし図33は、それぞれ図27中の
A4,B4,C4,D4,E4,F4に相当する部分図
である。図2示す探索範囲内の候補ブロック1について
の演算に注目してみると、図27ないし図33に示すよ
うに、演算が進められ、上記第1の演算系では、26サ
イクル目にPE[15]内のRC[15]に、 |R(−2,−2)−T(0,0)|+|R(−2,
0)−T(0,2)|+|R(−1,−2)−T(1,
0)|+|R(−1,0)−T(1,2)|+|R
(0,−2)−T(2,0)|+|R(0,0)−T
(2,2)|+|R(1,−2)−T(3,0)|+|
R(1,0)−T(3,2) が保持され、これは注目ブロックと候補ブロック1の奇
数行(第1フィールド)に対するAEとなる。一方、上
記第2の演算系では、27サイクル目にPE[16]内
のRC[16]に、 |R(−2,−1)−T(0,1)|+|R(−2,
1)−T(0,3)|+|R(−1,−1)−T(1,
1)|+|R(−1,1)−T(1,3)|+|R
(0,−1)−T(2,1)|+|R(0,1)−T
(2,3)|+|R(1,−1)−T(3,1)|+|
R(1,1)−T(3,3)| が保持され、これは注目ブロックと候補ブロック1の偶
数行(第2フィールド)に対するAEとなる。これらの
演算結果は、注目ブロックと候補ブロックの間のフィー
ルド間AEに対応する。
び上記第2の演算系で行われる演算の過程を示してい
る。なお、図26ないし図33は、それぞれ図27中の
A4,B4,C4,D4,E4,F4に相当する部分図
である。図2示す探索範囲内の候補ブロック1について
の演算に注目してみると、図27ないし図33に示すよ
うに、演算が進められ、上記第1の演算系では、26サ
イクル目にPE[15]内のRC[15]に、 |R(−2,−2)−T(0,0)|+|R(−2,
0)−T(0,2)|+|R(−1,−2)−T(1,
0)|+|R(−1,0)−T(1,2)|+|R
(0,−2)−T(2,0)|+|R(0,0)−T
(2,2)|+|R(1,−2)−T(3,0)|+|
R(1,0)−T(3,2) が保持され、これは注目ブロックと候補ブロック1の奇
数行(第1フィールド)に対するAEとなる。一方、上
記第2の演算系では、27サイクル目にPE[16]内
のRC[16]に、 |R(−2,−1)−T(0,1)|+|R(−2,
1)−T(0,3)|+|R(−1,−1)−T(1,
1)|+|R(−1,1)−T(1,3)|+|R
(0,−1)−T(2,1)|+|R(0,1)−T
(2,3)|+|R(1,−1)−T(3,1)|+|
R(1,1)−T(3,3)| が保持され、これは注目ブロックと候補ブロック1の偶
数行(第2フィールド)に対するAEとなる。これらの
演算結果は、注目ブロックと候補ブロックの間のフィー
ルド間AEに対応する。
【0031】上記第1の演算系で、26サイクル目にP
E[15]内のRC[15]に保持された注目ブロック
と候補ブロック1間の第1フィールドに対する演算結果
AEは、レジスタRD[16]によって、上記第2の演
算系で、第2フィールドに対する演算結果AEが保持さ
れる27サイクル目に遅延され、28サイクル目に加算
器10で第1の演算系の結果と第2の演算の結果が加算
され、 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,0)−T(0,
2)|+|R(−2,1)−T(0,3)|+|R(−
1,−2)−T(1,0)|+|R(−1,−1)−T
(1,1)|+|R(−1,0)−T(1,2)|+|
R(−1,1)−T(1,3)|+|R(0,−2)−
T(2,0)|+|R(0,−1)−T(2,1)|+
|R(0,0)−T(2,2)|+|R(0,1)−T
(2,3)|+|R(1,−2)−T(3,0)|+|
R(1,−1)−T(3,1)|+|R(1,0)−T
(3,2)|+|R(1,1)−T(3,3)| が求められる。この加算結果は、注目ブロックと候補ブ
ロック1の間のフレーム間AEに対応する。そして、2
8サイクル目には、上記のようにして注目ブロックと候
補ブロック1間の2つのフィールドについてそれぞれ求
められるAEの値が最小値検出回路[1]と最小値検出
回路[2]にそれぞれ入力され、また、上記のようにし
て加算器10から得られるフレーム間AEの値が最小値
検出回路[3]に入力される。
E[15]内のRC[15]に保持された注目ブロック
と候補ブロック1間の第1フィールドに対する演算結果
AEは、レジスタRD[16]によって、上記第2の演
算系で、第2フィールドに対する演算結果AEが保持さ
れる27サイクル目に遅延され、28サイクル目に加算
器10で第1の演算系の結果と第2の演算の結果が加算
され、 |R(−2,−2)−T(0,0)|+|R(−2,−
1)−T(0,1)|+|R(−2,0)−T(0,
2)|+|R(−2,1)−T(0,3)|+|R(−
1,−2)−T(1,0)|+|R(−1,−1)−T
(1,1)|+|R(−1,0)−T(1,2)|+|
R(−1,1)−T(1,3)|+|R(0,−2)−
T(2,0)|+|R(0,−1)−T(2,1)|+
|R(0,0)−T(2,2)|+|R(0,1)−T
(2,3)|+|R(1,−2)−T(3,0)|+|
R(1,−1)−T(3,1)|+|R(1,0)−T
(3,2)|+|R(1,1)−T(3,3)| が求められる。この加算結果は、注目ブロックと候補ブ
ロック1の間のフレーム間AEに対応する。そして、2
8サイクル目には、上記のようにして注目ブロックと候
補ブロック1間の2つのフィールドについてそれぞれ求
められるAEの値が最小値検出回路[1]と最小値検出
回路[2]にそれぞれ入力され、また、上記のようにし
て加算器10から得られるフレーム間AEの値が最小値
検出回路[3]に入力される。
【0032】候補ブロック2についての処理は、上記候
補ブロック1についての処理より1サイクル遅れてパイ
プラインで行われるので29サイクル目に、注目ブロッ
クと候補ブロック2間の2つのフィールド間AEの値と
1つのフレーム間AEの値が、最小値検出回路[1]〜
[3]に前述と同様にして入力される。候補ブロック3
以降についても同様である。最小値検出回路[1]で
は、上記のようにPE[2p−1](p=1,2,…,
8)で求められた注目ブロックTと候補ブロックRのそ
れぞれ奇数行(第1フィールド)に対するフィールド間
AEの値が各サイクルで次々に入力され、それらの中で
最小となるAEの値を検出する。同時に、このAEが最
小値になる候補ブロックRから両者の間の第1フィール
ド間動きベクトルを検出する。最小値検出回路[2]で
は、上記のようにPE[2p](p=1,2…,8)で
求められた注目ブロックTと候補ブロックRのそれぞれ
偶数行(第2フィールド)に対するフィールド間AEの
値が各サイクルで次々に入力されそれらの中で最小とな
るAEの値を検出する。同時に、このAEが最小値にな
る候補ブロックRから両者の間の第2フィールド間動き
ベクトルを検出する。最小値検出回路[3]では、上記
のようにPE[1]〜PE[16]で求められた注目ブ
ロックTと候補ブロックR間のフレーム間AEの値が各
サイクルで次々に入力され、それらの中で最小となるA
Eの値を検出する。同時に、このAEが最小値になる候
補ブロックRから両者の間のフレーム間動きベクトルを
検出する。
補ブロック1についての処理より1サイクル遅れてパイ
プラインで行われるので29サイクル目に、注目ブロッ
クと候補ブロック2間の2つのフィールド間AEの値と
1つのフレーム間AEの値が、最小値検出回路[1]〜
[3]に前述と同様にして入力される。候補ブロック3
以降についても同様である。最小値検出回路[1]で
は、上記のようにPE[2p−1](p=1,2,…,
8)で求められた注目ブロックTと候補ブロックRのそ
れぞれ奇数行(第1フィールド)に対するフィールド間
AEの値が各サイクルで次々に入力され、それらの中で
最小となるAEの値を検出する。同時に、このAEが最
小値になる候補ブロックRから両者の間の第1フィール
ド間動きベクトルを検出する。最小値検出回路[2]で
は、上記のようにPE[2p](p=1,2…,8)で
求められた注目ブロックTと候補ブロックRのそれぞれ
偶数行(第2フィールド)に対するフィールド間AEの
値が各サイクルで次々に入力されそれらの中で最小とな
るAEの値を検出する。同時に、このAEが最小値にな
る候補ブロックRから両者の間の第2フィールド間動き
ベクトルを検出する。最小値検出回路[3]では、上記
のようにPE[1]〜PE[16]で求められた注目ブ
ロックTと候補ブロックR間のフレーム間AEの値が各
サイクルで次々に入力され、それらの中で最小となるA
Eの値を検出する。同時に、このAEが最小値になる候
補ブロックRから両者の間のフレーム間動きベクトルを
検出する。
【0033】上記実施形態1ないし3の各々に適用し得
る変更例を以下に説明すると、それは、装置の各回路構
成において、一つのRBレジスタ3からの出力先が多い
場合には、探索範囲内の画素値を保持するRBレジスタ
3を2系列にしてもよく、そのためにREレジスタ12
(RE[1]〜RE[N])を追加するという例であ
る。例えば、1行目のPE7についてみると横に並んだ
PE7の左半分(1番上の列の場合、PE[1]〜PE
[N/2])の中の演算器4にはRB[1]から出力
し、横に並んだPE7の右半分(1番上の列の場合、P
E[N/2+1]〜PE[N])の中の演算器4にはR
E[1]から出力するようにしてもよい。具体的には、
実施形態1の場合を例にすると、ブロック図は図34の
様になる。RBレジスタ3を3系列以上にする場合も同
様である。また、上記実施形態1ないし3の各々におい
て、注目ブロック内の画素値の入力順序と注目ブロック
内の画素値を保持するためのRAレジスタ2の接続順序
を逆にしてもよい。具体的には、実施形態1の場合を例
にすると、注目ブロック内の画素値の入力順を図35に
示すように、T(3,3),T(3,2),T(3,
1),…,T(0,1),T(0,0)とし、図36に
示すような回路構成にしてもよい。
る変更例を以下に説明すると、それは、装置の各回路構
成において、一つのRBレジスタ3からの出力先が多い
場合には、探索範囲内の画素値を保持するRBレジスタ
3を2系列にしてもよく、そのためにREレジスタ12
(RE[1]〜RE[N])を追加するという例であ
る。例えば、1行目のPE7についてみると横に並んだ
PE7の左半分(1番上の列の場合、PE[1]〜PE
[N/2])の中の演算器4にはRB[1]から出力
し、横に並んだPE7の右半分(1番上の列の場合、P
E[N/2+1]〜PE[N])の中の演算器4にはR
E[1]から出力するようにしてもよい。具体的には、
実施形態1の場合を例にすると、ブロック図は図34の
様になる。RBレジスタ3を3系列以上にする場合も同
様である。また、上記実施形態1ないし3の各々におい
て、注目ブロック内の画素値の入力順序と注目ブロック
内の画素値を保持するためのRAレジスタ2の接続順序
を逆にしてもよい。具体的には、実施形態1の場合を例
にすると、注目ブロック内の画素値の入力順を図35に
示すように、T(3,3),T(3,2),T(3,
1),…,T(0,1),T(0,0)とし、図36に
示すような回路構成にしてもよい。
【0034】
請求項1に対応する効果:画素値の入力端子および探索
範囲内の画素値を保持するためのレジスタからの出力先
を減らすことが可能となり、出力負荷の増大と信号遅延
をまねくことはなく、スキューの少ない回路を実現で
き、集積回路を使って実現する際にも、特定の箇所に配
線が集中することを避けることができ、配線や配置の困
難さを減らすことができる。
範囲内の画素値を保持するためのレジスタからの出力先
を減らすことが可能となり、出力負荷の増大と信号遅延
をまねくことはなく、スキューの少ない回路を実現で
き、集積回路を使って実現する際にも、特定の箇所に配
線が集中することを避けることができ、配線や配置の困
難さを減らすことができる。
【0035】請求項2に対応する効果:請求項1の効果
に加え、画像を生成する方式に対応した回路構成をとる
ことができ、より精度の良い適切な動きベクトルの検出
ができる。また、2分割することにより出力負荷も減ら
すことが可能で、回路構成の設計をより容易にすること
ができる。
に加え、画像を生成する方式に対応した回路構成をとる
ことができ、より精度の良い適切な動きベクトルの検出
ができる。また、2分割することにより出力負荷も減ら
すことが可能で、回路構成の設計をより容易にすること
ができる。
【0036】請求項3に対応する効果:請求項1の効果
に加え、画像を生成する方式として請求項2とは異なる
方式に対応した回路構成をとることができ、より精度の
良い適切な動きベクトルの検出ができる。また、2分割
することにより出力負荷も減らすことが可能で、回路構
成の設計をより容易にすることができる。
に加え、画像を生成する方式として請求項2とは異なる
方式に対応した回路構成をとることができ、より精度の
良い適切な動きベクトルの検出ができる。また、2分割
することにより出力負荷も減らすことが可能で、回路構
成の設計をより容易にすることができる。
【0037】請求項4に対応する効果:請求項2及び3
の効果に加えて、奇数フィールド及び偶数フィールドに
対応した構成とすることにより、飛越し走査方式の画像
生成に適した動きベクトル検出回路が提供できる。
の効果に加えて、奇数フィールド及び偶数フィールドに
対応した構成とすることにより、飛越し走査方式の画像
生成に適した動きベクトル検出回路が提供できる。
【0038】請求項5に対応する効果:請求項2ないし
4の効果に加えて、さらに、フレーム全体に対する動き
ベクトルを検出することもできる。
4の効果に加えて、さらに、フレーム全体に対する動き
ベクトルを検出することもできる。
【図1】本発明による動きベクトル検出装置の一実施形
態を示す図である。
態を示す図である。
【図2】図1に示す実施形態の回路構成によるブロック
マッチング動作における画素の並びと第1の入力順序を
説明するための図である。
マッチング動作における画素の並びと第1の入力順序を
説明するための図である。
【図3】図1及び図2に示す実施形態における注目画素
の各画素値の入力についてのタインミングチャートであ
る。
の各画素値の入力についてのタインミングチャートであ
る。
【図4】図1及び図2に示す実施形態における探索領域
内の各画素値の入力についてのタイミングチャートであ
る。
内の各画素値の入力についてのタイミングチャートであ
る。
【図5】図1及び図2に示す実施形態におけるRB及び
RCレジスタ及び遅延素子のデータ内容を各PEでの演
算タイミングに従って示し、演算プロセスを説明するた
めの図である。
RCレジスタ及び遅延素子のデータ内容を各PEでの演
算タイミングに従って示し、演算プロセスを説明するた
めの図である。
【図6】図5中のA1部分を拡大して示す部分図であ
る。
る。
【図7】図5中のB1部分を拡大して示す部分図であ
る。
る。
【図8】図5中のC1部分を拡大して示す部分図であ
る。
る。
【図9】図5中のD1部分を拡大して示す部分図であ
る。
る。
【図10】本発明の実施形態のブロックマッチング動作
における第2の入力順序を説明するための図である。
における第2の入力順序を説明するための図である。
【図11】本発明による動きベクトル検出装置の他の実
施形態を示す図である。
施形態を示す図である。
【図12】図11及び図10に示す実施形態における注
目画素の各画素値の入力についてのタイミングチャート
である。
目画素の各画素値の入力についてのタイミングチャート
である。
【図13】図11に示す実施形態で、図10の入力順序
をとる場合における探索領域内の各画素値の入力につい
てのタイミングチャートである。
をとる場合における探索領域内の各画素値の入力につい
てのタイミングチャートである。
【図14】図11及び図10に示す実施形態における各
PE内のRCレジスタ及び遅延素子のデータ内容を演算
タイミングに従って示し、演算プロセスを説明するため
の第1の図(図20(第2の図)参照)である。
PE内のRCレジスタ及び遅延素子のデータ内容を演算
タイミングに従って示し、演算プロセスを説明するため
の第1の図(図20(第2の図)参照)である。
【図15】図14中のA2部分を拡大して示す部分図で
ある。
ある。
【図16】図14中のB2部分を拡大して示す部分図で
ある。
ある。
【図17】図14中のD2部分を拡大して示す部分図で
ある。
ある。
【図18】図14中のE2部分を拡大して示す部分図で
ある。
ある。
【図19】図14中のF2部分を拡大して示す部分図で
ある。
ある。
【図20】図11及び図10に示す実施形態における各
PE内のRCレジスタ及び遅延素子のデータ内容を演算
タイミングに従って示し、演算プロセスを説明するため
の第2の図(図14(第1の図)参照)である。
PE内のRCレジスタ及び遅延素子のデータ内容を演算
タイミングに従って示し、演算プロセスを説明するため
の第2の図(図14(第1の図)参照)である。
【図21】図20中のA3部分を拡大して示す部分図で
ある。
ある。
【図22】図20中のB3部分を拡大して示す部分図で
ある。
ある。
【図23】図20中のD3部分を拡大して示す部分図で
ある。
ある。
【図24】図20中のE3部分を拡大して示す部分図で
ある。
ある。
【図25】図20中のF3部分を拡大して示す部分図で
ある。
ある。
【図26】本発明による動きベクトル検出装置の他の実
施形態を示す図である。
施形態を示す図である。
【図27】図26に示す実施形態における各PE内のR
Cレジスタ及び遅延素子のデータ内容を演算タイミング
に従って示し、演算プロセスを説明するための図であ
る。
Cレジスタ及び遅延素子のデータ内容を演算タイミング
に従って示し、演算プロセスを説明するための図であ
る。
【図28】図27中のA4部分を拡大して示す部分図で
ある。
ある。
【図29】図27中のB4部分を拡大して示す部分図で
ある。
ある。
【図30】図27中のC4部分を拡大して示す部分図で
ある。
ある。
【図31】図27中のD4部分を拡大して示す部分図で
ある。
ある。
【図32】図27中のE4部分を拡大して示す部分図で
ある。
ある。
【図33】図27中のF4部分を拡大して示す部分図で
ある。
ある。
【図34】図1に示される実施形態において探索領域内
の画素値の入力を2系統にした場合のブロック図であ
る。
の画素値の入力を2系統にした場合のブロック図であ
る。
【図35】図1に示される実施形態において注目ブロッ
クの画素値の入力順序を逆順にした場合を説明するため
の図である。
クの画素値の入力順序を逆順にした場合を説明するため
の図である。
【図36】図1に示される実施形態において注目ブロッ
クの画素値の入力順序を逆順にした場合の回路構成を示
すブロック図である。
クの画素値の入力順序を逆順にした場合の回路構成を示
すブロック図である。
【図37】従来の動きベクトル検出装置の一例を示すブ
ロック図である。
ロック図である。
【図38】図37に示される従来例においてブロックマ
ッチング動作を行う際の画素の並びと入力順序を説明す
るための図である。
ッチング動作を行う際の画素の並びと入力順序を説明す
るための図である。
【図39】図37に示される従来例のブロックマッチン
グ動作における探索領域内の画素の入力と演算タイミン
グを説明するための図である。
グ動作における探索領域内の画素の入力と演算タイミン
グを説明するための図である。
1…入力端子(画素値を入力するための入力端子)、2
…RAレジスタ(注目ブロック内の画素値を保持するた
めのレジスタ)、3…RBレジスタ(探索範囲内の画素
値を保持するためのレジスタ)、4…演算器(差分の絶
対値を計算するための演算器)、5,10…加算器、6
…RCレジスタ(中間結果を保持するためのレジス
タ)、7…プロセッシングエレメント(PE)、8…遅
延素子、9…最小値検出回路、12…REレジスタ(探
索範囲内の画素値を2系列に保持するためのレジス
タ)、101…Aレジスタ、102…2項演算器、10
3…プロセッサ、104…Sポート、105…注目ブロ
ック内画素入力回路、106…RAポート、107…R
Bポート、108…探索範囲内画素入力回路、109…
加算器、110…Bレジスタ、111…累積加算回路、
112…最小値検出回路、201…ゲート、301…セ
レクタ、302…ROM、303…カウンタ。
…RAレジスタ(注目ブロック内の画素値を保持するた
めのレジスタ)、3…RBレジスタ(探索範囲内の画素
値を保持するためのレジスタ)、4…演算器(差分の絶
対値を計算するための演算器)、5,10…加算器、6
…RCレジスタ(中間結果を保持するためのレジス
タ)、7…プロセッシングエレメント(PE)、8…遅
延素子、9…最小値検出回路、12…REレジスタ(探
索範囲内の画素値を2系列に保持するためのレジス
タ)、101…Aレジスタ、102…2項演算器、10
3…プロセッサ、104…Sポート、105…注目ブロ
ック内画素入力回路、106…RAポート、107…R
Bポート、108…探索範囲内画素入力回路、109…
加算器、110…Bレジスタ、111…累積加算回路、
112…最小値検出回路、201…ゲート、301…セ
レクタ、302…ROM、303…カウンタ。
Claims (5)
- 【請求項1】 画像におけるM×N個の画素からなるブ
ロックを符号化ブロックとし、該符号化ブロックに対す
る候補ブロックを参照画像上の探索範囲においてブロッ
クマッチング法により探索し、得られる最適なマッチン
グを示す候補ブロックの位置にもとづき、動きベクトル
を検出する動きベクトル検出装置であって、前記符号化
ブロック内のM×N個の画素値及び前記探索範囲内の画
素値を入力する入力部と、該入力部から入力された符号
化ブロック内の各画素値を画素毎に保持するカスケード
接続されたM×N個の第1のレジスタと、前記入力部か
ら入力された前記探索範囲内の各画素値を画素毎に保持
するカスケード接続された第2のレジスタと、前記第1
のレジスタの出力と前記第2のレジスタの出力との差分
の絶対値計算を該第1のレジスタの各出力毎に行うM×
N個の演算器と、それぞれがカスケード接続され累積加
算を行うM×N個の加算器と、前記加算器で行った累積
加算結果を該加算器毎に保持する第3のレジスタと、前
記加算器において前記演算器の出力と前記第3のレジス
タの出力を所定の動作タイミングで加算を行うように前
記第3のレジスタの出力を所定サイクルの動作タイミン
グ期間遅延させるための(M−1)個または(N−1)
個の遅延手段と、前記探索範囲の各候補ブロックに対す
る前記M×N個の加算器の少くとも一部の累積加算結果
の中から最小値を示す候補ブロックを検出する最小値検
出回路を備えるようにしたことを特徴とする動きベクト
ル検出装置。 - 【請求項2】 それぞれがカスケード接続された累積加
算を行うM×N個の前記加算器および該加算器で行った
累積加算結果を該加算器毎に保持する第3のレジスタに
ついて、それぞれのM×(N/2)個を1組として全体
を2つの組に分割し、それぞれの組において累積加算を
行い、得た累積加算結果の中から最小値を示す候補ブロ
ックをそれぞれ検出する第1および第2の最小値検出回
路を備えるようにしたことを特徴とする請求項1に記載
の動きべクトル検出装置。 - 【請求項3】 前記第3のレジスタに保持される累積加
算の中間結果を遅延させるM×N個の第4のレジスタを
該第3のレジスタそれぞれに追加し、また前記遅延手段
を(2×(M−1))個に増やすとともに、カスケード
接続された累積加算を行う前記M×N個の加算器、累積
加算結果を保持する前記第3のレジスタ、前記第4のレ
ジスタおよび前記遅延手段について、(M/2)×N個
の加算器と(M/2)×N個の第3のレジスタと(M/
2)×N個の第4のレジスタと(M−1)個の遅延手段
を1組として全体を2つの組に分割し、それぞれの組に
ついて累積加算を行い、得た累積加算結果の中から最小
値を示す候補ブロックをそれぞれ検出する第1および第
2の最小値検出回路を備えるようにしたことを特徴とす
る請求項1に記載の動きベクトル検出装置。 - 【請求項4】 分割した前記2つの組のそれぞれが前記
符号化ブロックの奇数フィールド及び偶数フィールドに
対応するようにしたことを特徴とする請求項2又は3に
記載の動きベクトル検出装置。 - 【請求項5】 分割した前記2つの組について得た累積
加算の合計を求めるさらなる加算器と、該さらなる加算
器の累積加算結果の中から最小値を示す候補ブロックを
検出する第3の最小値検出回路を備えるようにしたこと
を特徴とする請求項2ないし4のいずれか1に記載の動
きベクトル検出装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13129297A JPH10322706A (ja) | 1997-05-21 | 1997-05-21 | 動きベクトル検出装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13129297A JPH10322706A (ja) | 1997-05-21 | 1997-05-21 | 動きベクトル検出装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10322706A true JPH10322706A (ja) | 1998-12-04 |
Family
ID=15054563
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13129297A Pending JPH10322706A (ja) | 1997-05-21 | 1997-05-21 | 動きベクトル検出装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10322706A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004012460A1 (ja) * | 2002-07-29 | 2004-02-05 | Matsushita Electric Industrial Co., Ltd. | 動きベクトル検出装置及び動きベクトル検出方法 |
-
1997
- 1997-05-21 JP JP13129297A patent/JPH10322706A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004012460A1 (ja) * | 2002-07-29 | 2004-02-05 | Matsushita Electric Industrial Co., Ltd. | 動きベクトル検出装置及び動きベクトル検出方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6690730B2 (en) | Motion estimator | |
| JP2636674B2 (ja) | 動画像の動きベクトル検出装置 | |
| KR101578052B1 (ko) | 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치 | |
| US5793443A (en) | Motion vector detection circuit | |
| US6516031B1 (en) | Motion vector detecting device | |
| JPH07115646A (ja) | 画像処理装置 | |
| KR100416444B1 (ko) | 모션벡터선택방법및이방법을수행하는이미지처리장치 | |
| CN100553341C (zh) | 运动矢量检测装置和运动矢量检测方法 | |
| Baglietto et al. | Parallel implementation of the full search block matching algorithm for motion estimation | |
| JPH07203457A (ja) | 動きベクトル検出装置 | |
| JP3545004B2 (ja) | 演算回路 | |
| JPH10322706A (ja) | 動きベクトル検出装置 | |
| US6968011B2 (en) | Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices | |
| JP2885039B2 (ja) | 動きベクトル検出回路 | |
| US6198771B1 (en) | Motion vector processing circuit | |
| KR100225690B1 (ko) | 상관도 연산장치, 병렬상관도 연산장치 및 상관도연산방법 | |
| JP3698501B2 (ja) | 動きベクトル検出装置 | |
| JP4170173B2 (ja) | ブロックマッチング演算装置 | |
| JP2000023163A (ja) | 動きベクトル検出装置 | |
| KR100246033B1 (ko) | 고속 실시간 처리 움직임 추정을 위한 연산방법 및 이를 위한 연산장치 | |
| JPH09503324A (ja) | 画素ブロックの比較のためのプロセッサ(ブロックマッチングプロセッサ) | |
| JP4155102B2 (ja) | 画素値演算装置、動画像符号化装置及び動画像復号化装置 | |
| JP2934134B2 (ja) | 動画像圧縮におけるブロック・マッチング方法と装置 | |
| JP2618146B2 (ja) | 動きベクトル検出回路 | |
| JP2872105B2 (ja) | ディストーション算出装置 |