JP3041658B2 - 高並列動き補償演算器 - Google Patents
高並列動き補償演算器Info
- Publication number
- JP3041658B2 JP3041658B2 JP12227492A JP12227492A JP3041658B2 JP 3041658 B2 JP3041658 B2 JP 3041658B2 JP 12227492 A JP12227492 A JP 12227492A JP 12227492 A JP12227492 A JP 12227492A JP 3041658 B2 JP3041658 B2 JP 3041658B2
- Authority
- JP
- Japan
- Prior art keywords
- motion compensation
- data
- port
- norm
- minimum
- 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.)
- Expired - Lifetime
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
に係り、動画像高能率符号化の分野での動き補償におけ
るノルム演算及びノルム演算結果を用いた動きベクトル
検出をP個の読み出しポートを有するメモリ群を用いて
最大(P−1)・m2 の並列度で実行することのできる
高並列動き補償演算器に関する。
とするものを例として説明する。図11は従来の8個の
動き補償演算エレメントを有する並列動き補償演算器を
示す。同図に示す8個の補償演算エレメント3(PE1
〜PE8)は、4画素×4ライン(m=4)の画素ブロ
ックを処理する。
エレメントを示す。図12において、入力選択回路12
0は、図11に示すメモリ群1からの入力を選択するた
めの制御をセレクタ121に対して行うものである。セ
レクタ121は、入力選択回路120の指示により入力
を選択し、選択したデータを差分絶対値累算器122に
出力する。差分絶対値累算器122はノルム演算を行
う。演算後の値とレジスタ123に格納されていたデー
タを比較し、レジスタ123には絶対値の小さい方のデ
ータが格納される。
憶するメモリ群1は3個の読み出しポートP0 ,P1 ,
P2 を有し、メモリ2は現フレーム・ブロック・データ
を格納する。
読み出しポートを有するメモリ2に予め格納されたm画
素×mラインの現フレーム・ブロックのデータを図13
に示すように、左右にスキャンしながら並列動き補償演
算器4の入力ポートXから補償演算エレメント3に入力
する。並列動き補償演算器4は、P個の読み出しポート
P0 ,P1 ,P2 を有するメモリ群1に予め格納された
探索画素領域のデータの最左上の画素データα00を基準
として、このメモリのi(i≦Pの自然数)番目の読み
出しポートから(i−1)・m画素分を図13に示すよ
うに右方向にずれたm画素×mラインの探索ブロック1
10のデータをm画素の幅で右方向にスキャンしなが
ら、且つ(i−1)・mサイクル分遅延して読み出す。
1)・mの自然数)番目の補償演算エレメント3は、m
サイクルの周期で、1サイクル目からm−MOD(c−
1,m)サイクル目までの間、上記P個の読み出しポー
トを有するメモリ1のINT((c−1)/m)+1
(INT(x))はxを越えない最大の整数を表す)番
目の読み出しポートからデータを選択し、mサイクル周
期の残りサイクルの間INT((c−1)/m)+2番
目の読み出しポートからのデータを選択するセレクタ等
の入力制御手段を有する。c(c≦(P−1)・mの自
然数)番目の補償演算エレメント3は、動き補償演算開
始後、c番目の補償演算エレメントをcサイクル後に起
動させる制御手段を有する。
ブロックを8個の補償演算エレメントで並列処理する場
合のデータ入力制御を示す。4画素×4ラインの画素ブ
ロックを処理する場合は、図14に示すようなデータ入
力制御により、現フレーム・ブロック・データのメモリ
2とメモリ1の探索画素領域内で右方向に1画素ずつず
れた(P−1)・m個の探索ブロックとのノルム演算を
(P−1)・m個の補償演算エレメント3により並列に
演算される。但し、以下に示すような右方向のスキャン
の方向を下方向に且つ探索ブロックのずらし方を下方向
に変更しても手法としては同じである。
を右方向にスキャンした場合のデータ読み出し順序を表
しており、図15は探索画素領域内の探索ブロックの画
素データを下方向にスキャンした場合のデータの読み出
し順序を表している。
来の並列動き補償演算器では、一般にm画素×mライン
の画素ブロックを対象とした場合、探索画素領域内での
右方向に1画素ずつずれた探索ブロックを並列に演算す
るため、1個の読み出しポートを有するメモリとP個の
読み出しポートを有するメモリ群を用いて(P−1)・
m並列を越えたノルム演算器群を並列に動作させること
は不可能であるという問題があった。
最小ノルム検出とベクトル検出の制御を行うために動き
補償演算エレメントの数が多くなるデータ転送及びデー
タ処理が過密になることにより並列度を上げることに限
界がある。
全探索の動き補償処理において、現フレーム・ブロック
のデータを予め格納した1個の読み出しポートを有する
メモリと、探索画素領域のデータを予め格納したP個の
読み出しポートを有するメモリを用い、複数のm画素×
mラインの画素ブロックを並列に処理する場合に最大
(P−1)・m2 個の補償演算エレメントを効率良く動
作させることが可能となり、さらに、高並列なノルム演
算とさらに並列に効率良く動作させることが可能な並列
動き補償演算器を提供することを目的とする。
図である。
探索画素領域の中で、m画素×mラインの画素ブロック
を1画素づつずらしながら、ブロックマッチングをと
り、最小のノルムをもつブロックを特定する全探索の動
き補償演算器107において、2個の読み出しポートを
有する探索画素領域データを格納する第1のメモリ群1
05を用いて縦横に隣接するm×m個の画素ブロックの
ノルム演算をm×m個の動き補償演算エレメント103
で並列に実行するための高並列動き補償演算器であっ
て、第1のメモリ群105の第1のポートから画素デー
タを探索画素領域の最左上を開始点として縦方向にmラ
イン分のデータを右方向にスキャンしながら順次読み出
し、残る第2のポートから画素データを探索画素領域の
最上左から縦方向にmライン分ずらした画素を開始点と
してmライン分のデータを右方向にスキャンしながら、
第1のポートよりmサイクルだけ読み出し開始時刻を遅
らせて順次読み出す第1のデータ読み出し制御手段と、
各動き補償演算エレメントが割り当てられた画素ブロッ
ク内のデータを第1のメモリ群105の第1のポートと
第2のポートのいずれか一方から選択する入力選択制御
手段と、ノルム演算に必要なデータが第1のメモリ群1
05の2つのポートのいずれか一方から読み出されるタ
イミングで各動き補償演算エレメントを起動させる第1
の起動制御手段とを有する複数の動き補償演算エレメン
トを含む。
6は、P個の読み出しポートを有し、探索画素領域デー
タを格納する第2のメモリ105を用いて、探索画素領
域の縦横に隣接するm×m×(P−1)個の画素ブロッ
クのノルム演算を並列に実行するP−1個の高並列動き
補償演算器であって、第2のメモリ群105の第p(<
P)のポートから探索画素領域の最上左の画素から縦方
向にp×mラインずらした画素を開始点として、縦方向
にmライン分のデータを横方向にスキャンしながら読み
出し、開始時刻をp×mサイクルだけ遅らせて第2のメ
モリ群105の第pのポートから順次読み出す第2のデ
ータ読み出し制御手段と、各高並列動き補償演算器に割
り当てられた画素ブロック群のノルム演算に必要なデー
タが高並列補償演算器の入力ポートのいずれかから入力
されるタイミングで各高並列動き補償演算器を起動させ
る第2の動き補償演算エレメントの起動制御手段と、第
2のメモリ群105のp−1ポートと第pポート及び1
個の読み出しポートを有するメモリ102の該ポートを
第p−1の高並列動き補償演算器1071 に接続し、第
2のメモリ群のp+1ポートを第pの高並列動き補償演
算器1072 に接続する。
は、動き補償演算エレメントのノルム演算器の出力を順
次比較して小さい値を選択する最小値検出器と、最小検
出器の出力を格納するための最小値記憶手段と、最小値
検出器でどちらのデータが選択されたかを示す最小選択
データを出力する出力ポートと、動き補償演算エレメン
トに割り当てられた全ての画素ブロックのノルム演算が
終了した後、隣接したもう1つの動き補償演算エレメン
トから出力された最小ノルムデータを入力する入力ポー
トと、入力ポートから入力されたデータと動き補償演算
エレメント内で検出され、最小値記憶手段で記憶された
データとを最小値検出器を用いて小さい値を選択し、最
小値記憶手段に記憶されたデータを更新する最小値検出
手段と、入力ポートから順次入力される全てのデータと
最小値記憶手段に記憶されているデータとの比較が終了
した後、最小記憶手段により記憶された最小ノルムデー
タを出力する出力ポートを有する最小ノルム検出部を含
む。
は、動き補償演算エレメントで処理された画素ブロック
の数を計数する計数手段と、動き補償エレメントが起動
する前に、動き補償演算エレメントが処理する最初の画
素ブロックが探索画素領域の何番目の画素ブロックに当
たるかを示す初期値を計数手段に設定する初期値設定手
段と、最小ノルムが何番目に処理された画素ブロックか
を示す最小ノルム番号データを記憶するための最小ノル
ム番号記憶手段と、最小値検出部から出力される最小値
選択データが最小値記憶手段により記憶されたデータを
選択したことを示したとき、最小ノルム番号記憶手段に
より記憶された最小ノルム番号データを選択し、最小値
選択データが最小値検出器からの出力を選択したことを
示したとき、計数手段の出力を選択する最小ノルム番号
選択手段と、動き補償演算エレメントに割り当てられた
画素ブロックの処理が全て終了した後、隣接したもう1
つの動き補償演算エレメントから出力された最小ノルム
番号データを入力する入力ポートと、入力ポートから入
力された最小ノルム番号データを計数手段の出力の代わ
りに選択して、最小ノルム番号選択手段を用いて、最小
ノルム番号を検出する最小ノルム番号検出手段とを有す
る動きベクトル検出部を含む。
は、1ラインずつ移動させながら動き補償の探索を行う
全探索の動き補償処理において、現フレーム・ブロック
のデータを予め格納した1個の読み出しポートを有する
メモリと、探索画素領域のデータを予め格納した複数個
の読み出しポートを有するメモリを用いて、m画素×m
ラインの画素ブロックを並列に処理する場合に、従来の
技術では、(P−1)・m個の補償演算エレメントを並
列に動作させることが限界であったことに対し、本発明
は、上記と同一条件で、探索画素領域内で右方向に1画
素ずつずれた探索ブロック群だけでなく、下方向に1ラ
インずつずれた探索ブロックをも並列に演算するための
制御手段を備えることにより、1個の読み出しポートを
有するメモリと複数個の読み出しポートを有するメモリ
群を用いて最大(P−1)・m 2 個のノルム演算器を並
列に効率良く動作させることができる。
演算部以外に最小ノルム検出部と動きベクトル検出部を
搭載することにより、ノルム演算と並列して動きベクト
ル(何番目の探索画素ブロックが最小ノルムを持つかを
表す数値)を検出することができる。
5は2個の読み出しポートRA,RBを有している。現
フレーム・ブロックデータメモリ2は1個の読み出しポ
ートRXを有している。高並列動き補償演算器6は探索
領域データメモリ5の読み出しポートRAと接続される
入力ポートPBと、高並列動き補償演算器6は探索画素
領域データメモリ5(以下メモリ5)の読み出しポート
RBと接続される入力ポートPA及び現フレーム・ブロ
ックデータメモリ2(以下メモリ2)の読み出しポート
RXと接続される入力ポートPXを有し、それらの各入
力ポートはそれぞれ補償演算エレメント3のそれぞれの
入力ポートA,B,Xに接続される。
容を示す。図2の場合に、補償演算エレメントPEの入
力ポートAまたは、Bにはメモリ5より読み出しポート
RAまたはRBによって読み出された探索領域のデータ
が入力され、入力ポートXにはメモリ2より現フレーム
・ブロックデータが入力される。
レメント3の詳細について説明する。図4は、本発明の
動き補償演算エレメントの構成を示す。補償演算エレメ
ント3は、ノルム演算部13、動きベクトル検出部14
及び最小ノルム検出部15より構成される。ノルム演算
部13は、複数の入出力ポートA,B,X,MININ,
MINOUT,XOUT と、入力データ制御部12、ノルム
演算器7、レジスタ38、2入力セレクタ11、31、
アキュームレート・レジスタ8(ACC)より構成され
る。
出しポートRBと高並列動き補償演算器6の入力ポート
PBを介して接続され、読み出しポートRBにより探索
画素領域データが入力される。入力ポートBは、メモリ
5の読み出しポートRAと高並列動き補償演算器6の入
力ポートPAを介して接続され、読み出しポートRAに
より探索画素領域データが入力される。入力ポートX
は、メモリ2の読み出しポートRXと高並列動き補償演
算器6の入力ポートPXを介して接続され、読み出しポ
ートRXにより現フレーム・ブロックデータが入力され
る。出力ポートX OUT は、入力ポートに入力されたデー
タを遅延させて出力する。
Bから入力されたデータのどちらか一方を選択するため
の制御を行う。2入力セレクタ11は、入力データ制御
部12の制御により入力ポートAまたは、Bからのデー
タの入力を選択する。ノルム演算器7は、2入力セレク
タ12より選択されたデータと入力ポートXから入力さ
れたデータをアキュームレート・レジスタ8の出力によ
りノルム演算を行う。ノルム演算は、通常、画素ブロッ
ク内のすべての画素の|a−x|の総和であるL1ノル
ムか、もしくは、同じく画素ブロック内のすべての画素
の(a−x)の2乗の総和であるL2ノルムを算出す
る。但し、これらはノルム演算の例であり、使用する演
算の種類の違いは本発明の主旨を逸脱する要素とはなり
得ない。入力ポートMININは、ノルム演算器7の出力
と他の高並列動き補償エレメントの最小値が入力され
る。2入力セレクタ31は、入力ポートMININとノル
ム演算器7からの入力のいずれかを選択する。レジスタ
38等の遅延要素は、ノルム演算器用のアキュームレー
ト・レジスタ(ACC)8と入力ポートXから入力され
る現フレーム・ブロックのデータをクロック信号やイネ
ーブル信号により1サイクル分遅延させて出力ポートX
out から出力する。
クタ11は、各動き補償演算エレメント3のノルム演算
器7の出力データを動き補償演算エレメント3間で転送
するために使用される。
最小値記憶部18(MIN)より構成される。最小値検
出器9は、ノルム演算部13のアキュームレート・レジ
スタ(ACC)8からの出力データと最小値記憶部18
(MIN)からの出力データうち小さい方のデータを出
力する。また、最小値記憶部18(MIN)は最小値検
出器9の出力を記憶するためのレジスタである。
算部13で、探索画素領域の1ブロックのノルム演算が
終了するまでのサイクル(以下、このサイクルを検出サ
イクルと呼ぶ)だけ動作するように制御される。即ち、
レジスタ38のクロック信号若しくは、イネーブル信号
を検出サイクルの時のみアクティブにする。ノルム演算
中の検出サイクルにおいて、最小値記憶部18(MI
N)に格納されたデータと上記ノルム演算器7内のアキ
ュームレート・レジスタ8(ACC)に格納されたノル
ム演算結果のデータを最小値検出器9で比較し、小さい
方のデータが最小値記憶部18(MIN)に格納され
る。
られたメモリ5の探索画素領域内の全ての探索ブロック
(図3において、点線で囲まれたPE11,PE21,
PE31,PE41,PE12,PE13,PE14
…)のノルム演算が終了した後、及び、各々の動き補償
演算エレメント3内での最小ノルム検出が終了した後
に、入力ポートMINinからの入力により1サイクル先
行してノルム演算が終了したもう一つの動き補償演算エ
レメント3の出力ポートMINout から出力された最小
ノルムを2入力セレクタ31を通してアキュームレート
・レジスタ8(ACC)に格納する。ここで、アキュー
ムレート・レジスタ8(ACC)のデータと最小値記憶
部18(MIN)に格納された最小ノルムデータが比較
され、小さい方のデータがレジスタ18(MIN)に格
納され、出力ポートMINout から次段の動き補償演算
エレメント3に向けて出力される。
にだけカウントアップするカウンタ10と、1つ前の検
出サイクルで検出された動きベクトルを表すデータを格
納するレジスタ28(VC)と、高並列動き補償演算器
6内の他の動き補償演算エレメント3で検出された動き
ベクトルを表すデータを読み込むための入力ポートVC
inと、入力ポートVCinに入力されたデータかもしく
は、カウンタ10の出力のいずれか一方を選択するため
の2入力セレクタ41及び、2入力セレクタ41の出力
とレジスタVCの出力のいずれか一方を選択するための
2入力セレクタ21より構成される。カウンタ10は、
初期値設定手段として、リセットもしくはプリセットに
より、当該動き補償演算エレメント3が処理する最初の
画素ブロック番号を初期設定する。
は、2入力セレクタ21は、最小値検出器9(MIN)
の出力データとアキュームレート・レジスタ8(AC
C)に格納されているノルム演算結果を比較して、MI
N>ACCの場合は、カウンタ10の出力を選択する。
一方、MIN<ACCの場合には、2入力セレクタ21
は、レジスタ28(VC)のデータを選択(最小ノルム
番号選択手段)してレジスタ28(VC)に最小ノルム
番号、すなわち動きベクトルを表すデータとして格納す
る(最小ノルム番号記憶手段)とともに、出力ポートV
Cout から次段の動き補償演算エレメントに向けて動き
ベクトルのデータ、すなわち、最小ノルム番号を出力す
る。
れた探索画素領域内の全ての探索ブロックのノルム演算
部13及び各々の動き補償演算エレメント3内での最小
ノルム検出が終了した後は、2入力セレクタ21は最小
検出器9に入力されているのでアキュームレート・レジ
スタ8(ACC)のデータ(このとき、アキュームレー
ト・レジスタ8(ACC)には入力ポートMINinから
入力されたデータが格納されている)の方が小さい場合
は、動きベクトル検出部14の最小ノルム番号を入力す
る入力ポートVCinから入力されたデータを選択する。
一方、最小値記憶部18(MIN)のデータの方が小さ
い場合は、レジスタ28(VC)に格納されている動き
ベクトルを表すデータを選択し、出力ポートVCout か
ら次段の動き補償演算エレメントに出力する。
14は、ノルム演算部13及び最小ノルム検出部15と
共に搭載されているが、別々に設けられていてもよい。
従来は、動き補償演算エレメントが増えるに従って、多
くのノルムデータが出力される。そのため、各動き補償
演算エレメントが最小ノルム検出部15と動きベクトル
検出部14を持っていない場合には、多数のノルムデー
タを動き補償演算エレメントの外に設けられた最小ノル
ム/動きベクトル検出部に短時間で転送しなければなら
ないためにデータ転送の負荷が大きくなり、短時間で転
送されたデータを処理しなければならない。しかし、本
発明の動き演算エレメントは上記のように構成されるた
めに、それらの問題が解決される。
て、4画素×4ライン(m=4)の画素ブロックを対象
とした全探索のノルム演算を16並列で実行する際のデ
ータ入力制御について説明する。
の動き補償演算エレメントを有する高並列動き補償演算
器の構成を示す。本実施例では動き補償演算エレメント
3(以下演算エレメント)が4×4個配置された高並列
動き補償演算器について説明する。ここで、演算エレメ
ント3のPE11は、メモリ2の読み出しポートRXか
ら入力ポートXを介して現フレーム・ブロックデータ
(X31,X21,…,X00)を読み込む。
モリ5読み出しポートRBからの探索領域のデータ(α
31、α21、…α00)を入力ポートAを介して読み込む。
さらに、補償演算エレメント3の各PEは、メモリ5の
読み出しポートRAから探索領域データ(α71、α61、
…α40)を入力ポートBを介して読み込む。
4ラインの画素ブロックを図5に示す高並列動き補償演
算器で処理する場合のデータ入力制御を示す。同図は、
4画素×4ラインの画素ブロックを4×4個の動き補償
演算エレメントで並列処理する場合について示す。
ち、高並列動き補償演算器6の入力ポートPAに接続さ
れる読み出しポートRAからメモリ5に記憶されている
探索画素領域の最左上を開始点として、4ラインの幅で
下方向にスキャンしながら読み出す。また、高並列動き
補償演算器6の入力ポートPBに接続される読み出しポ
ートRBから、メモリ5に記憶されている探索画素領域
の最左上から4ライン下にずらして4ライン幅で下方向
にスキャンしながら、且つ4サイクル遅延させて読み出
す。
は、それぞれの動き補償演算エレメント3の入力ポート
Bから選択される。例えば、補償演算エレメント3の入
力ポートBから選択されるデータとして、PE21では
データα40が、PE31ではデータα40、α50、α60が
選択される。入力ポートAまたは、入力ポートBの選択
は、演算エレメント3のノルム演算部13のデータ制御
部12の制御により2入力セレクタ11で選択される。
ートの選択は、4サイクルの周期で、演算エレメントの
起動後、4サイクル中1サイクル目から3サイクル目ま
での間は、演算エレメント3の入力ポートAが選択さ
れ、残りの1サイクルは入力ポートBが選択される。演
算エレメントPE31の入力ポートの選択は、4サイク
ル中1サイクル目から2サイクル目は入力ポートAが選
択され、残りの2サイクルは入力ポートBが選択され
る。また、演算エレメントPE41の入力ポートの選択
は、4サイクル中最初の1サイクル目に入力ポートが選
択され、残りの3サイクルは入力ポートBが選択され
る。
補償演算エレメントのうち横方向にc番目、縦方向にr
番目の動き補償演算エレメントは4サイクル周期で、1
サイクル目から 4−MOD(4・(c−1)+r−1,4)=4−(r−1) サイクル目までの間、入力ポートPAのデータを選択
し、4サイクル周期の残りのサイクルの間、入力ポート
PBのデータを選択する。例えば、図5の動き補償演算
エレメントPE23は、高並列動き補償演算器6で横方
向に3番目(c=3)で縦方向に2番目(r=2)に配
置されており、入力制御は、図6に示すように、1サイ
クル目から3サイクル目までの間は、入力ポートPAの
データを選択し、4サイクル目は、入力ポートPBのデ
ータを選択する。また、前述の動き補償演算エレメント
PE23は、図6からわかるように動き補償演算エレメ
ントPE11より9サイクル遅延して起動する。
により、本実施例の高並列動き補償演算器は、探索画素
領域の横方向に1画素ずつずれた4個の探索ブロックを
縦方向に1ラインずつずらした4セットの計16個の探
索ブロックに対するノルム演算を並列に処理することが
できる。従って、本実施例の高並列動き補償演算器を起
動後、16サイクル後からサイクル毎にノルム演算結果
が得られる。
る。本実施例では、2×4(M=2,N=4)個の動き
補償エレメントを有する高並列動き演算器56について
説明する。
の動き補償演算エレメントを有する高並列動き補償演算
器の構成を表している。図8は、本発明の第2の実施例
の図7に示す高並列動き補償演算器で処理する場合のデ
ータ制御を示す。図7中、各々の動き補償演算エレメン
トの制御方法は図8に示す様に、第1の実施例と同様で
ある。本実施例は、ハードウェア規模等の制限により、
動き補償エレメントの個数を削減しなければないないよ
うな状況が生じた場合の実施例である。
向に1画素ずつずれた2個の探索ブロックを縦方向に1
ラインずつずらした4セットの計8個の探索ブロックに
対するノルム演算を並列に処理することができる。
RXと演算エレメントPE11の入力ポートXを高並列
演算器56の入力ポートPXを介して接続し、メモリ5
の読み出しポートRAを演算エレメントPE11の入力
ポートAに高並列演算器56の入力ポートPAを介して
接続し、読み出しポートRAを入力ポートBに高並列演
算器56の入力ポートPBを介して接続する。
・ブロックのデータは、下方向に4ラインの幅でスキャ
ンされながら、4サイクルの遅延が与えられて読み出し
ポートRXから順次エレメトPE11の入力ポートXに
入力される。
同様に、入力ポートAまたは、Bのどちらかのデータが
選択され、入力される。図8において、補償演算エレメ
ントPE21に関しては、4サイクル中、3サイクル
は、入力ポートAのデータが選択され、残りの1サイク
ルは入力ポートBのデータが選択されている。本実施例
の高並列動き補償演算器は第1の実施例と同様に起動
後、16サイクル後からサイクル毎にノルム演算結果が
得られる。
明する。
動き補償演算エレメントを有する高並列動き補償演算器
をを2個用いた場合について示す。同図中、図2、図5
及び図7と同一構成部分には同一符号を付し、その説明
を省略する。
レメントを有する高並列動き補償演算器と1個の読み出
しポートを有するメモリ2と3個の読み出しポートを有
するメモリ100(以下メモリ100)を用いて構成し
た高並列動き補償演算器を示している。同図において、
メモリ100の探索画素領域データ及びメモリ2の現フ
レーム・ブロック・データについては図3と同様であ
る。
高並列動き補償演算器6の入力ポートPXに接続し、1
番目の高並列動き補償演算器6中の動き補償演算エレメ
ントPE41の出力ポートXout を2番目の高並列動き
補償演算器6’中の動き補償演算エレメントPE51の
入力ポートXに入力することにより、2番目の高並列動
き補償演算器6’に対する現フレーム・ブロックのデー
タを4サイクル分遅延させている。メモリ100の読み
出しポートP0は、1番目の高並列動き補償演算器6の
入力ポートPAに接続され、メモリ100の読み出しポ
ートP1は、1番目の高並列動き補償演算器6の入力ポ
ートPBと2番目の高並列動き補償演算器6’の入力ポ
ートPAに接続され、メモリ100の読み出しポートP
2は、2番目の高並列動き補償演算器6’の入力ポート
PBに接続される。
動き補償演算器の各動き補償演算エレメントのデータ入
力制御を示す。
画素領域の最左上を開始点として、4ラインの幅で下方
向にスキャンしながら読み出し、同時に一番目の高並列
動き補償演算器6の演算を起動する。
キャンの開始点をメモリ100の読み出しポートP0か
ら読み出したデータよりも下方向に4ラインずらしてか
つ読み出しポートP0よりも4サイクル遅延してスキャ
ンして読み出しを開始し、同時に2番目の高並列動き補
償演算器6’の演算を起動する。
キャンの開始点を読み出しポートP1から読み出したデ
ータよりも下方向に4ラインずらして、かつ読み出しポ
ートP0よりも4サイクル遅延してスキャン読み出しを
開始する。
した4個の探索ブロックを縦方向に1ラインずつずらし
た8セットの計32個の探索ブロックに対するノルム演
算を並列に処理することができる。
算器6が起動した後、16サイクル目から19サイクル
目までの間は、毎サイクルに1個のノルム演算結果が得
られ、20サイクル目以降は毎サイクル2個のノルム演
算結果が得られる。
算器は、小さな画素ブロックの各点と時画面を部分的に
同一サイズの画素ブロックに切り、両者の各点の差の絶
対値(L1ノルム)を計算することにより、動画像の動
きを得ることができる。
レメント内にノルム演算部13、最小ノルム検出部14
及び動きベクトル検出部15を設けた場合について述べ
たが、動き補償演算エレメントの外部に最小ノルム検出
部14及び動きベクトル検出部15を設け、外側から制
御してもよい。
ンの画素ブロックを対象として説明したが、この例に限
定されることなく、8画素×8ラインまたは、16画素
×16ラインの画素ブロックを対象として演算を行うこ
とができることは云うまでもない。
き補償処理において、現フレームブロックデータを予め
格納した1個の読み出しポートを有するメモリと、探索
画素領域のデータを予め格納したP個の読み出しポート
を有するメモリ群を用いて、複数のm画素×mラインの
画素ブロックを並列に処理する場合に、従来においては
(P−1)・mのノルム演算器を並列に動作させること
が限界であったことに対し、本発明は上記と同一条件で
最大(P−1)・m2 個のノルム演算器を並列に効率良
く動作させることが可能となる。
をあつかう動画像圧縮の分野で動き補償処理が用いられ
た場合、処理の対象となる探索ブロックのサイズ(m)
が大きくなる可能性もある。この場合、従来の並列動き
補償演算器に比べ、本発明の高並列動き補償演算器はノ
ルム演算の並列度を飛躍的に増大させることが可能であ
る。
る。
算エレメントを有する高並列動き補償演算器の構成図で
ある。
素ブロックを図5に示す高並列動き補償演算器で処理す
る場合のデータ制御を示す図である。
算エレメントを有する高並列動き補償演算器の構成図で
ある。
補償演算器で処理する場合のデータ制御を示す図であ
る。
算エレメントを有する高並列動き補償演算器の構成図で
ある。
器の各動き補償演算エレメントのデータ入力制御を示す
図である。
補償演算器の構成図である。
を右方向にスキャンした場合の読み出し順序を示す図で
ある。
個の補償演算エレメントで並列処理する場合のデータ入
力制御を示す図である。
を下方向にスキャンした場合の読み出し順序を示す図で
ある。
画素領域データメモリ) 2 1個の読み出しポートを有するメモリ(現フレーム
・ブロックデータメモリ) 3 動き補償演算エレメントまたはノルム演算器 4 並列動き補償演算器(従来) 6,6’ 高並列動き補償演算器 7 ノルム演算器 8 アキュームレート・レジスタ 9 最小値検出器 10 カウンタ 11 2入力セレクタ 12 入力データ制御部 13 ノルム演算部 14 動きベクトル検出部 15 最小ノルム検出部 18 最小値記憶部 21 2入力セレクタ 28 レジスタ(VC) 31 2入力セレクタ 38 レジスタ 41 2入力セレクタ 56 高並列動き補償演算器 100 探索画素領域データメモリ 102 1個の読み出しポートを有するメモリ(現フレ
ームブロックデータメモリ) 103 動き補償演算エレメント 105 P個の読み出しポートを有するメモリ(探索画
素データメモリ) 106 高並列動き補償演算器 1071 第p−1番目の高並列動き補償演算器 1072 第p番目の高並列動き補償演算器 110 探索画素領域 A,B,X,PA,PB,PX,VCIN,MININ
入力ポート XOUT ,VCOUT ,MINOUT 出力ポート RA,RB,RX 読み出しポート
Claims (4)
- 【請求項1】 探索画素領域の中で、m画素×mライン
の画素ブロックを1画素づつずらしながら、ブロックマ
ッチングをとり、最小のノルムをもつブロックを特定す
る全探索の動き補償演算器において、2個の読み出しポ
ートを有する探索画素領域データを格納する第1のメモ
リ群を用いて縦横に隣接するm×m個の画素ブロックの
ノルム演算をm×m個の動き補償演算エレメントで並列
に実行するための高並列動き補償演算器であって、 該第1のメモリ群の第1のポートから画素データを探索
画素領域の最左上を開始点として縦方向にmライン分の
データを右方向にスキャンしながら順次読み出し、残る
第2のポートから画素データを探索画素領域の最上左か
ら縦方向にmライン分ずらした画素を開始点としてmラ
イン分のデータを右方向にスキャンしながら、該第1の
ポートよりmサイクルだけ読み出し開始時刻を遅らせて
順次読み出す第1のデータ読み出し制御手段と、 各動き補償演算エレメントが割り当てられた画素ブロッ
ク内のデータを該第1のメモリ群の第1のポートと第2
のポートのいずれか一方から選択する入力選択制御手段
と、 ノルム演算に必要なデータが該第1のメモリ群の2つの
ポートのいずれか一方から読み出されるタイミングで該
各動き補償演算エレメントを起動させる第1の起動制御
手段とを有する複数の動き補償演算エレメントを含むこ
とを特徴とする高並列動き補償演算器。 - 【請求項2】 P(P≧3)個の読み出しポートを有
し、探索画素領域データを格納する第2のメモリを用い
て、探索画素領域の縦横に隣接するm×m×(P−1)
個の画素ブロックのノルム演算を並列に実行するP−1
個の高並列動き補償演算器であって、 第2のメモリ群の第p(<P)のポートから探索画素領
域の最上左の画素から縦方向にp×mラインずらした画
素を開始点として、縦方向にmライン分のデータを横方
向にスキャンしながら読み出し、開始時刻をp×mサイ
クルだけ遅らせて該第2のメモリ群の第p−1のポート
から順次読み出す第2のデータ読み出し制御手段と、 各高並列動き補償演算器に割り当てられた画素ブロック
群のノルム演算に必要なデータが該高並列補償演算器の
2つの入力ポートのいずれか一方から入力されるタイミ
ングで各高並列動き補償演算器を起動させる第2の動き
補償演算エレメントの起動制御手段と、 該第2のメモリ群のp−1ポートと第pポート及び1個
の読み出しポートを有するメモリの該ポートを第p−1
の高並列動き補償演算器に接続し、p+1ポートを第p
の高並列動き補償演算器に接続することを特徴とする高
並列動き補償演算器。 - 【請求項3】 前記動き補償演算エレメントは、 前記動き補償演算エレメントのノルム演算器の出力を順
次比較して小さい値を選択する最小値検出器と、 該最小検出器の出力を格納するための最小値記憶手段
と、 該最小値検出器でどちらのデータが選択されたかを示す
最小選択データを出力する出力ポートと、 前記動き補償演算エレメントに割り当てられた全ての画
素ブロックのノルム演算が終了した後、隣接したもう1
つの動き補償演算エレメントから出力された最小ノルム
データを入力する入力ポートと、 該入力ポートから入力されたデータと前記動き補償演算
エレメント内で検出され、該最小値記憶手段で記憶され
たデータとを該最小値検出器を用いて小さい値を選択
し、該最小値記憶手段に記憶されたデータを更新する最
小値検出手段と、 該入力ポートから順次入力される全てのデータと該最小
値記憶手段に記憶されているデータとの比較が終了した
後、該最小記憶手段により記憶された最小ノルムデータ
を出力する出力ポートを有する最小ノルム検出部を含む
請求項1記載の高並列動き補償演算器。 - 【請求項4】 前記動き補償演算エレメントは、 動き補償演算エレメントで処理された画素ブロックの数
を計数する計数手段と、 該動き補償エレメントが起動する前に、該動き補償演算
エレメントが処理する最初の画素ブロックが探索画素領
域の何番目の画素ブロックに当たるかを示す初期値を該
計数手段に設定する初期値設定手段と、 最小ノルムが何番目に処理された画素ブロックかを示す
最小ノルム番号データを記憶するための最小ノルム番号
記憶手段と、 前記最小値検出部から出力される最小値選択データが前
記最小値記憶手段により記憶されたデータを選択したこ
とを示した場合は、前記最小ノルム番号記憶手段に記憶
された最小ノルム番号データを選択し、該最小値選択デ
ータが前記最小値検出器からの出力を選択したことを示
した場合は、前記計数手段の出力を選択する最小ノルム
番号選択手段と、 該動き補償演算エレメントに割り当てられた画素ブロッ
クの処理が全て終了した後、隣接した他の動き補償演算
エレメントから出力された最小ノルム番号データを入力
する入力ポートと、 該入力ポートから入力された該最小ノルム番号データを
該計数手段の出力の代わりに選択して、該最小ノルム番
号選択手段を用いて、最小ノルム番号を検出する最小ノ
ルム番号検出手段とを有する動きベクトル検出部を含む
ことを特徴とする請求項3記載の高並列動き補償演算
器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12227492A JP3041658B2 (ja) | 1992-05-14 | 1992-05-14 | 高並列動き補償演算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12227492A JP3041658B2 (ja) | 1992-05-14 | 1992-05-14 | 高並列動き補償演算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05328332A JPH05328332A (ja) | 1993-12-10 |
JP3041658B2 true JP3041658B2 (ja) | 2000-05-15 |
Family
ID=14831909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12227492A Expired - Lifetime JP3041658B2 (ja) | 1992-05-14 | 1992-05-14 | 高並列動き補償演算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3041658B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02177105A (ja) * | 1988-12-28 | 1990-07-10 | Hitachi Maxell Ltd | 磁気ヘツド |
JP3052711B2 (ja) * | 1993-12-24 | 2000-06-19 | 松下電器産業株式会社 | 動きベクトル検出回路 |
KR100225690B1 (ko) * | 1995-04-18 | 1999-10-15 | 모리시다 요이치 | 상관도 연산장치, 병렬상관도 연산장치 및 상관도연산방법 |
JP4559785B2 (ja) * | 2003-11-06 | 2010-10-13 | パナソニック株式会社 | 信号処理方法および信号処理装置 |
JP4519009B2 (ja) * | 2005-06-13 | 2010-08-04 | ローム株式会社 | Sad演算装置及びこれを用いたマクロブロック探索装置 |
-
1992
- 1992-05-14 JP JP12227492A patent/JP3041658B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05328332A (ja) | 1993-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5512962A (en) | Motion vector detecting apparatus for moving picture | |
KR100273629B1 (ko) | 이동 벡터 평가 방법 및 장치 | |
US4878117A (en) | Video signal mixing unit for simultaneously displaying video signals having different picture aspect ratios and resolutions | |
US20080112488A1 (en) | Supporting motion vectors outside picture boundaries in motion estimation process | |
EP0415737B1 (en) | Motion detecting circuits for video images | |
EP0466331B1 (en) | Motion image difference detecting apparatus | |
US7002587B2 (en) | Semiconductor device, image data processing apparatus and method | |
US5659364A (en) | Motion vector detection circuit | |
JP2924964B2 (ja) | 画像情報符号化装置、画像情報復号化装置及び画像情報符号化復号化装置 | |
KR100416444B1 (ko) | 모션벡터선택방법및이방법을수행하는이미지처리장치 | |
US5153720A (en) | Motion image difference detecting apparatus | |
US6016163A (en) | Methods and apparatus for comparing blocks of pixels | |
JP3041658B2 (ja) | 高並列動き補償演算器 | |
US6160850A (en) | Motion estimator employing a three-step hierachical search block-matching algorithm | |
US5619282A (en) | Image motion compensating address generator | |
JP4695124B2 (ja) | 動画像符号化における動き探索装置 | |
Baglietto et al. | Parallel implementation of the full search block matching algorithm for motion estimation | |
US20030067986A1 (en) | Circuit and method for full search block matching | |
KR0178302B1 (ko) | 양방향 병렬 파이프라인 구조에 근거한 탐색 이동 예측처리기 | |
JP3453145B2 (ja) | 画素ブロックの比較のためのプロセッサ(ブロックマッチングプロセッサ) | |
US20060050089A1 (en) | Method and apparatus for selecting pixels to write to a buffer when creating an enlarged image | |
JP3698501B2 (ja) | 動きベクトル検出装置 | |
JP3004685B2 (ja) | 動きベクトル検出回路 | |
KR100224754B1 (ko) | 비디오 프레임 메모리 장치 및 비디오 데이터 처리방법 | |
JPH02135880A (ja) | 撮像装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090310 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090310 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 13 |