JPH05328332A - 高並列動き補償演算器 - Google Patents

高並列動き補償演算器

Info

Publication number
JPH05328332A
JPH05328332A JP12227492A JP12227492A JPH05328332A JP H05328332 A JPH05328332 A JP H05328332A JP 12227492 A JP12227492 A JP 12227492A JP 12227492 A JP12227492 A JP 12227492A JP H05328332 A JPH05328332 A JP H05328332A
Authority
JP
Japan
Prior art keywords
data
motion compensation
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.)
Granted
Application number
JP12227492A
Other languages
English (en)
Other versions
JP3041658B2 (ja
Inventor
Yutaka Tashiro
豊 田代
Toshihiro Minami
俊宏 南
Ryota Kasai
良太 笠井
Takao Kaneko
孝夫 金子
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP12227492A priority Critical patent/JP3041658B2/ja
Publication of JPH05328332A publication Critical patent/JPH05328332A/ja
Application granted granted Critical
Publication of JP3041658B2 publication Critical patent/JP3041658B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は、P個の読み出しポートを有
するメモリ群を用いて最大(P−1)・m2 の並列度で
実行することのできる高並列動き補償演算器を提供する
ことである。 【構成】 本発明の高並列動き補償演算器6は、第1の
探索ブロックと第1のメモリ2の現フレームデータにつ
いて並列演算を行うと共に、第2のメモリ5の第1の探
索ブロックをより下方向にmラインずつずれた第2の探
索ブロックと第1のメモリ2の現フレーム・ブロックデ
ータについてノルム演算を用いて並列に演算する並列演
算手段3を含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高並列動き補償演算器
に係り、動画像高能率符号化の分野での動き補償におけ
るノルム演算及びノルム演算結果を用いた動きベクトル
検出をP個の読み出しポートを有するメモリ群を用いて
最大(P−1)・m2 の並列度で実行することのできる
高並列動き補償演算器に関する。
【0002】
【従来の技術】m画素×mラインの画素ブロックを対象
とするものを例として説明する。図11は従来の8個の
動き補償演算エレメントを有する並列動き補償演算器を
示す。同図に示す8個の補償演算エレメント3(PE1
〜PE8)は、4画素×4ライン(m=4)の画素ブロ
ックを処理する。
【0003】図12は図11に示される各動き補償演算
エレメントを示す。図12において、入力選択回路12
0は、図11に示すメモリ群1からの入力を選択するた
めの制御をセレクタ121に対して行うものである。セ
レクタ121は、入力選択回路120の指示により入力
を選択し、選択したデータを差分絶対値累算器122に
出力する。差分絶対値累算器122はノルム演算を行
う。演算後の値とレジスタ123に格納されていたデー
タを比較し、レジスタ123には絶対値の小さい方のデ
ータが格納される。
【0004】図11において、探索画素領域データを記
憶するメモリ群1は3個の読み出しポートP0 ,P1
2 を有し、メモリ2は現フレーム・ブロック・データ
を格納する。
【0005】一般に、並列動き補償演算器4は、1個の
読み出しポートを有するメモリ2に予め格納されたm画
素×mラインの現フレーム・ブロックのデータを図13
に示すように、左右にスキャンしながら並列動き補償演
算器4の入力ポートXから補償演算エレメント3に入力
する。並列動き補償演算器4は、P個の読み出しポート
0 ,P1 ,P2 を有するメモリ群1に予め格納された
探索画素領域のデータの最左上の画素データα00を基準
として、このメモリのi(i≦Pの自然数)番目の読み
出しポートから(i−1)・m画素分を図13に示すよ
うに右方向にずれたm画素×mラインの探索ブロック1
10のデータをm画素の幅で右方向にスキャンしなが
ら、且つ(i−1)・mサイクル分遅延して読み出す。
【0006】並列動き補償演算器4中のc(c≦(P−
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サイクル後に起
動させる制御手段を有する。
【0007】図14は、従来の4画素×4ラインの画素
ブロックを8個の補償演算エレメントで並列処理する場
合のデータ入力制御を示す。4画素×4ラインの画素ブ
ロックを処理する場合は、図14に示すようなデータ入
力制御により、現フレーム・ブロック・データのメモリ
2とメモリ1の探索画素領域内で右方向に1画素ずつず
れた(P−1)・m個の探索ブロックとのノルム演算を
(P−1)・m個の補償演算エレメント3により並列に
演算される。但し、以下に示すような右方向のスキャン
の方向を下方向に且つ探索ブロックのずらし方を下方向
に変更しても手法としては同じである。
【0008】図13は、探索画素領域内の探索ブロック
を右方向にスキャンした場合のデータ読み出し順序を表
しており、図15は探索画素領域内の探索ブロックの画
素データを下方向にスキャンした場合のデータの読み出
し順序を表している。
【0009】
【発明が解決しようとする課題】しかしながら、上記従
来の並列動き補償演算器では、一般にm画素×mライン
の画素ブロックを対象とした場合、探索画素領域内での
右方向に1画素ずつずれた探索ブロックを並列に演算す
るため、1個の読み出しポートを有するメモリとP個の
読み出しポートを有するメモリ群を用いて(P−1)・
m並列を越えたノルム演算器群を並列に動作させること
は不可能であるという問題があった。
【0010】従来は、動き補償演算エレメントの外側で
最小ノルム検出とベクトル検出の制御を行うために動き
補償演算エレメントの数が多くなるデータ転送及びデー
タ処理が過密になることにより並列度を上げることに限
界がある。
【0011】本発明は上記の点に鑑みなされたもので、
全探索の動き補償処理において、現フレーム・ブロック
のデータを予め格納した1個の読み出しポートを有する
メモリと、探索画素領域のデータを予め格納したP個の
読み出しポートを有するメモリを用い、複数のm画素×
mラインの画素ブロックを並列に処理する場合に最大
(P−1)・m2 個の補償演算エレメントを効率良く動
作させることが可能となり、さらに、高並列なノルム演
算とさらに並列に効率良く動作させることが可能な並列
動き補償演算器を提供することを目的とする。
【0012】
【課題を解決するための手段】図1は本発明の原理構成
図である。
【0013】本発明の高並列動き補償演算器107は、
探索画素領域の中で、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
の起動制御手段とを有する複数の動き補償演算エレメン
トを含む。
【0014】また、本発明の高並列動き補償演算器10
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 に接続する。
【0015】また、本発明の動き補償演算エレメント
は、動き補償演算エレメントのノルム演算器の出力を順
次比較して小さい値を選択する最小値検出器と、最小検
出器の出力を格納するための最小値記憶手段と、最小値
検出器でどちらのデータが選択されたかを示す最小選択
データを出力する出力ポートと、動き補償演算エレメン
トに割り当てられた全ての画素ブロックのノルム演算が
終了した後、隣接したもう1つの動き補償演算エレメン
トから出力された最小ノルムデータを入力する入力ポー
トと、入力ポートから入力されたデータと動き補償演算
エレメント内で検出され、最小値記憶手段で記憶された
データとを最小値検出器を用いて小さい値を選択し、最
小値記憶手段に記憶されたデータを更新する最小値検出
手段と、入力ポートから順次入力される全てのデータと
最小値記憶手段に記憶されているデータとの比較が終了
した後、最小記憶手段により記憶された最小ノルムデー
タを出力する出力ポートを有する最小ノルム検出部を含
む。
【0016】また、本発明の動き補償演算エレメント
は、動き補償演算エレメントで処理された画素ブロック
の数を計数する計数手段と、動き補償エレメントが起動
する前に、動き補償演算エレメントが処理する最初の画
素ブロックが探索画素領域の何番目の画素ブロックに当
たるかを示す初期値を計数手段に設定する初期値設定手
段と、最小ノルムが何番目に処理された画素ブロックか
を示す最小ノルム番号データを記憶するための最小ノル
ム番号記憶手段と、最小値検出部から出力される最小値
選択データが最小値記憶手段により記憶されたデータを
選択したことを示したとき、最小ノルム番号記憶手段に
より記憶された最小ノルム番号データを選択し、最小値
選択データが最小値検出器からの出力を選択したことを
示したとき、計数手段の出力を選択する最小ノルム番号
選択手段と、動き補償演算エレメントに割り当てられた
画素ブロックの処理が全て終了した後、隣接したもう1
つの動き補償演算エレメントから出力された最小ノルム
番号データを入力する入力ポートと、入力ポートから入
力された最小ノルム番号データを計数手段の出力の代わ
りに選択して、最小ノルム番号選択手段を用いて、最小
ノルム番号を検出する最小ノルム番号検出手段とを有す
る動きベクトル検出部を含む。
【0017】
【作用】本発明は、探索ブロックを1画素ずつ若しく
は、1ラインずつ移動させながら動き補償の探索を行う
全探索の動き補償処理において、現フレーム・ブロック
のデータを予め格納した1個の読み出しポートを有する
メモリと、探索画素領域のデータを予め格納した複数個
の読み出しポートを有するメモリを用いて、m画素×m
ラインの画素ブロックを並列に処理する場合に、従来の
技術では、(P−1)・m個の補償演算エレメントを並
列に動作させることが限界であったことに対し、本発明
は、上記と同一条件で、探索画素領域内で右方向に1画
素ずつずれた探索ブロック群だけでなく、下方向に1ラ
インずつずれた探索ブロックをも並列に演算するための
制御手段を備えることにより、1個の読み出しポートを
有するメモリと複数個の読み出しポートを有するメモリ
群を用いて最大(P−1)・m 2 個のノルム演算器を並
列に効率良く動作させることができる。
【0018】また、動き補償演算エレメント内にノルム
演算部以外に最小ノルム検出部と動きベクトル検出部を
搭載することにより、ノルム演算と並列して動きベクト
ル(何番目の探索画素ブロックが最小ノルムを持つかを
表す数値)を検出することができる。
【0019】
【実施例】図2は本発明の概要を示す。
【0020】同図において、探索画素領域データメモリ
5は2個の読み出しポートRA,RBを有している。現
フレーム・ブロックデータメモリ2は1個の読み出しポ
ートRXを有している。高並列動き補償演算器6は探索
領域データメモリ5の読み出しポートRAと接続される
入力ポートPBと、高並列動き補償演算器6は探索画素
領域データメモリ5(以下メモリ5)の読み出しポート
RBと接続される入力ポートPA及び現フレーム・ブロ
ックデータメモリ2(以下メモリ2)の読み出しポート
RXと接続される入力ポートPXを有し、それらの各入
力ポートはそれぞれ補償演算エレメント3のそれぞれの
入力ポートA,B,Xに接続される。
【0021】図3は図2に示されるメモリ5及び2の内
容を示す。図2の場合に、補償演算エレメントPEの入
力ポートAまたは、Bにはメモリ5より読み出しポート
RAまたはRBによって読み出された探索領域のデータ
が入力され、入力ポートXにはメモリ2より現フレーム
・ブロックデータが入力される。
【0022】次に高並列動き補償演算器6の補償演算エ
レメント3の詳細について説明する。図4は、本発明の
動き補償演算エレメントの構成を示す。補償演算エレメ
ント3は、ノルム演算部13、動きベクトル検出部14
及び最小ノルム検出部15より構成される。ノルム演算
部13は、複数の入出力ポートA,B,X,MININ
MINOUT,XOUT と、入力データ制御部12、ノルム
演算器7、レジスタ38、2入力セレクタ11、31、
アキュームレート・レジスタ8(ACC)より構成され
る。
【0023】ノルム演算部13の入力ポートAは、読み
出しポートRBと高並列動き補償演算器6の入力ポート
PBを介して接続され、読み出しポートRBにより探索
画素領域データが入力される。入力ポートBは、メモリ
5の読み出しポートRAと高並列動き補償演算器6の入
力ポートPAを介して接続され、読み出しポートRAに
より探索画素領域データが入力される。入力ポートX
は、メモリ2の読み出しポートRXと高並列動き補償演
算器6の入力ポートPXを介して接続され、読み出しポ
ートRXにより現フレーム・ブロックデータが入力され
る。出力ポートX OUT は、入力ポートに入力されたデー
タを遅延させて出力する。
【0024】入力データ制御部12は、入力ポートA,
Bから入力されたデータのどちらか一方を選択するため
の制御を行う。2入力セレクタ11は、入力データ制御
部12の制御により入力ポートAまたは、Bからのデー
タの入力を選択する。ノルム演算器7は、2入力セレク
タ12より選択されたデータと入力ポートXから入力さ
れたデータをアキュームレート・レジスタ8の出力によ
りノルム演算を行う。入力ポートMININは、ノルム演
算器7の出力と他の高並列動き補償エレメントの最小値
が入力される。2入力セレクタ31は、入力ポートMI
INとノルム演算器7からの入力のいずれかを選択す
る。レジスタ38等の遅延要素は、ノルム演算器用のア
キュームレート・レジスタ(ACC)8と入力ポートX
から入力される現フレーム・ブロックのデータをクロッ
ク信号やイネーブル信号により1サイクル分遅延させて
出力ポートXout から出力する。
【0025】ここで、入力ポートMINinと2入力セレ
クタ11は、各動き補償演算エレメント3のノルム演算
器7の出力データを動き補償演算エレメント3間で転送
するために使用される。
【0026】最小ノルム検出部15は最小値検出器9と
最小値記憶部18(MIN)より構成される。最小値検
出器9は、ノルム演算部13のアキュームレート・レジ
スタ(ACC)8からの出力データと最小値記憶部18
(MIN)からの出力データうち小さい方のデータを出
力する。また、最小値記憶部18(MIN)は最小値検
出器9の出力を記憶するためのレジスタである。
【0027】最小ノルム検出部15は、上記のノルム演
算部13で、探索画素領域の1ブロックのノルム演算が
終了するまでのサイクル(以下、このサイクルを検出サ
イクルと呼ぶ)だけ動作するように制御される。即ち、
レジスタ38のクロック信号若しくは、イネーブル信号
を検出サイクルの時のみアクティブにする。ノルム演算
中の検出サイクルにおいて、最小値記憶部18(MI
N)に格納されたデータと上記ノルム演算器7内のアキ
ュームレート・レジスタ8(ACC)に格納されたノル
ム演算結果のデータを最小値検出器9で比較し、小さい
方のデータが最小値記憶部18(MIN)に格納され
る。
【0028】補償演算エレメント3にそれぞれ割り当て
られたメモリ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に向けて出力される。
【0029】動きベクトル検出部14は、検出サイクル
にだけカウントアップするカウンタ10と、1つ前の検
出サイクルで検出された動きベクトルを表すデータを格
納するレジスタ28(VC)と、高並列動き補償演算器
6内の他の動き補償演算エレメント3で検出された動き
ベクトルを表すデータを読み込むための入力ポートVC
inと、入力ポートVCinに入力されたデータかもしく
は、カウンタ10の出力のいずれか一方を選択するため
の2入力セレクタ41及び、2入力セレクタ41の出力
とレジスタVCの出力のいずれか一方を選択するための
2入力セレクタ21より構成される。
【0030】ノルム演算部13における検出サイクルで
は、2入力セレクタ21は、最小値検出器9(MIN)
の出力データとアキュームレート・レジスタ8(AC
C)に格納されているデータを比較して、MIN>AC
Cの場合は、カウンタ10の出力を選択する。一方、M
IN<ACCの場合には、2入力セレクタ21は、レジ
スタ28(VC)のデータを選択してレジスタ28(V
C)に動きベクトルを表すデータとして格納するととも
に、出力ポートVCout から次段の動き補償演算エレメ
ントに向けて動きベクトルのデータを出力する。
【0031】各動き補償演算エレメント3に割り当てら
れた探索画素領域内の全ての探索ブロックのノルム演算
部13及び各々の動き補償演算エレメント3内での最小
ノルム検出が終了した後は、2入力セレクタ21は最小
検出器9に入力されているのでアキュームレート・レジ
スタ8(ACC)のデータ(このとき、アキュームレー
ト・レジスタ8(ACC)には入力ポートMINinから
入力されたデータが格納されている)の方が小さい場合
は、動きベクトル検出部14の入力ポートVC inから入
力されたデータを選択する。一方、最小値記憶部18
(MIN)のデータの方が小さい場合は、レジスタ28
(VC)に格納されている動きベクトルを表すデータを
選択し、出力ポートVCout から次段の動き補償演算エ
レメントに出力する。
【0032】図4において、上記の動きベクトル検出部
14は、ノルム演算部13及び最小ノルム検出部15と
共に搭載されているが、別々に設けられていてもよい。
従来は、動き補償演算エレメントが増えるに従って、多
くのノルムデータが出力される。そのため、各動き補償
演算エレメントが最小ノルム検出部15と動きベクトル
検出部14を持っていない場合には、多数のノルムデー
タを動き補償演算エレメントの外に設けられた最小ノル
ム/動きベクトル検出部に短時間で転送しなければなら
ないためにデータ転送の負荷が大きくなり、短時間で転
送されたデータを処理しなければならない。しかし、本
発明の動き演算エレメントは上記のように構成されるた
めに、それらの問題が解決される。
【0033】本実施例の高並列動き補償演算器を用い
て、4画素×4ライン(m=4)の画素ブロックを対象
とした全探索のノルム演算を16並列で実行する際のデ
ータ入力制御について説明する。
【0034】図5は、本発明の第1の実施例の4×4個
の動き補償演算エレメントを有する高並列動き補償演算
器の構成を示す。本実施例では動き補償演算エレメント
3(以下演算エレメント)が4×4個配置された高並列
動き補償演算器について説明する。ここで、演算エレメ
ント3のPE11は、メモリ2の読み出しポートRXか
ら入力ポートXを介して現フレーム・ブロックデータ
(X31,X21,…,X00)を読み込む。
【0035】また、補償演算エレメント3の各PEはメ
モリ5読み出しポートRBからの探索領域のデータ(α
31、α21、…α00)を入力ポートAを介して読み込む。
さらに、補償演算エレメント3の各PEは、メモリ5の
読み出しポートRAから探索領域データ(α71、α61
…α40)を入力ポートBを介して読み込む。
【0036】図6は、本発明の第1の実施例の4画素×
4ラインの画素ブロックを図5に示す高並列動き補償演
算器で処理する場合のデータ入力制御を示す。同図は、
4画素×4ラインの画素ブロックを4×4個の動き補償
演算エレメントで並列処理する場合について示す。
【0037】メモリ5の読み出しポートRA,RBのう
ち、高並列動き補償演算器6の入力ポートPAに接続さ
れる読み出しポートRAからメモリ5に記憶されている
探索画素領域の最左上を開始点として、4ラインの幅で
下方向にスキャンしながら読み出す。また、高並列動き
補償演算器6の入力ポートPBに接続される読み出しポ
ートRBから、メモリ5に記憶されている探索画素領域
の最左上から4ライン下にずらして4ライン幅で下方向
にスキャンしながら、且つ4サイクル遅延させて読み出
す。
【0038】図6において、実線で囲まれているデータ
は、それぞれの動き補償演算エレメント3の入力ポート
Bから選択される。例えば、補償演算エレメント3の入
力ポートBから選択されるデータとして、PE21では
データα40が、PE31ではデータα40、α50、α60
選択される。入力ポートAまたは、入力ポートBの選択
は、演算エレメント3のノルム演算部13のデータ制御
部12の制御により2入力セレクタ11で選択される。
【0039】ここで、演算エレメントPE21の入力ポ
ートの選択は、4サイクルの周期で、演算エレメントの
起動後、4サイクル中1サイクル目から3サイクル目ま
での間は、演算エレメント3の入力ポートAが選択さ
れ、残りの1サイクルは入力ポートBが選択される。演
算エレメントPE31の入力ポートの選択は、4サイク
ル中1サイクル目から2サイクル目は入力ポートAが選
択され、残りの2サイクルは入力ポートBが選択され
る。また、演算エレメントPE41の入力ポートの選択
は、4サイクル中最初の1サイクル目に入力ポートが選
択され、残りの3サイクルは入力ポートBが選択され
る。
【0040】上記のように図6において、16個の動き
補償演算エレメントのうち横方向に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サイクル遅延して起動する。
【0041】以上述べた動き補償演算エレメントの制御
により、本実施例の高並列動き補償演算器は、探索画素
領域の横方向に1画素ずつずれた4個の探索ブロックを
縦方向に1ラインずつずらした4セットの計16個の探
索ブロックに対するノルム演算を並列に処理することが
できる。従って、本実施例の高並列動き補償演算器を起
動後、16サイクル後からサイクル毎にノルム演算結果
が得られる。
【0042】次に本発明の第2の実施例について説明す
る。本実施例では、2×4(M=2,N=4)個の動き
補償エレメントを有する高並列動き演算器56について
説明する。
【0043】図7は、本発明の第2の実施例の2×4個
の動き補償演算エレメントを有する高並列動き補償演算
器の構成を表している。図8は、本発明の第2の実施例
の図7に示す高並列動き補償演算器で処理する場合のデ
ータ制御を示す。図7中、各々の動き補償演算エレメン
トの制御方法は図8に示す様に、第1の実施例と同様で
ある。本実施例は、ハードウェア規模等の制限により、
動き補償エレメントの個数を削減しなければないないよ
うな状況が生じた場合の実施例である。
【0044】本実施例の場合は、探索画素の領域の横方
向に1画素ずつずれた2個の探索ブロックを縦方向に1
ラインずつずらした4セットの計8個の探索ブロックに
対するノルム演算を並列に処理することができる。
【0045】本実施例では、メモリ2の読み出しポート
RXと演算エレメントPE11の入力ポートXを高並列
演算器56の入力ポートPXを介して接続し、メモリ5
の読み出しポートRAを演算エレメントPE11の入力
ポートAに高並列演算器56の入力ポートPAを介して
接続し、読み出しポートRAを入力ポートBに高並列演
算器56の入力ポートPBを介して接続する。
【0046】メモリ2に予め格納されている現フレーム
・ブロックのデータは、下方向に4ラインの幅でスキャ
ンされながら、4サイクルの遅延が与えられて読み出し
ポートRXから順次エレメトPE11の入力ポートXに
入力される。
【0047】本実施例のデータ制御は、第1の実施例と
同様に、入力ポートAまたは、Bのどちらかのデータが
選択され、入力される。図8において、補償演算エレメ
ントPE21に関しては、4サイクル中、3サイクル
は、入力ポートAのデータが選択され、残りの1サイク
ルは入力ポートBのデータが選択されている。本実施例
の高並列動き補償演算器は第1の実施例と同様に起動
後、16サイクル後からサイクル毎にノルム演算結果が
得られる。
【0048】さらに、本発明の第3の実施例について説
明する。
【0049】図9は、本発明の第3の実施例の4×4の
動き補償演算エレメントを有する高並列動き補償演算器
をを2個用いた場合について示す。同図中、図2、図5
及び図7と同一構成部分には同一符号を付し、その説明
を省略する。
【0050】本実施例は、2個の4×4動き補償演算エ
レメントを有する高並列動き補償演算器と1個の読み出
しポートを有するメモリ2と3個の読み出しポートを有
するメモリ100(以下メモリ100)を用いて構成し
た高並列動き補償演算器を示している。同図において、
メモリ100の探索画素領域データ及びメモリ2の現フ
レーム・ブロック・データについては図3と同様であ
る。
【0051】メモリ2の読み出しポートRXを1番目の
高並列動き補償演算器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に接続される。
【0052】図10は、本発明の第3の実施例の高並列
動き補償演算器の各動き補償演算エレメントのデータ入
力制御を示す。
【0053】メモリ100の読み出しポートP0は探索
画素領域の最左上を開始点として、4ラインの幅で下方
向にスキャンしながら読み出し、同時に一番目の高並列
動き補償演算器6の演算を起動する。
【0054】メモリ100の読み出しポートP1は、ス
キャンの開始点をメモリ100の読み出しポートP0か
ら読み出したデータよりも下方向に4ラインずらしてか
つ読み出しポートP0よりも4サイクル遅延してスキャ
ンして読み出しを開始し、同時に2番目の高並列動き補
償演算器6’の演算を起動する。
【0055】メモリ100の読み出しポートP2は、ス
キャンの開始点を読み出しポートP1から読み出したデ
ータよりも下方向に4ラインずらして、かつ読み出しポ
ートP0よりも4サイクル遅延してスキャン読み出しを
開始する。
【0056】上述の制御により横方向に1画素ずつずら
した4個の探索ブロックを縦方向に1ラインずつずらし
た8セットの計32個の探索ブロックに対するノルム演
算を並列に処理することができる。
【0057】本実施例では、1番目の高並列動き補償演
算器6が起動した後、16サイクル目から19サイクル
目までの間は、毎サイクルに1個のノルム演算結果が得
られ、20サイクル目以降は毎サイクル2個のノルム演
算結果が得られる。
【0058】上述のように、本発明の高並列動き補償演
算器は、小さな画素ブロックの各点と時画面を部分的に
同一サイズの画素ブロックに切り、両者の各点の差の絶
対値(L1ノルム)を計算することにより、動画像の動
きを得ることができる。
【0059】なお、上記の実施例では、動き補償演算エ
レメント内にノルム演算部13、最小ノルム検出部14
及び動きベクトル検出部15を設けた場合について述べ
たが、動き補償演算エレメントの外部に最小ノルム検出
部14及び動きベクトル検出部15を設け、外側から制
御してもよい。
【0060】なお、上記の実施例では、4画素×4ライ
ンの画素ブロックを対象として説明したが、この例に限
定されることなく、8画素×8ラインまたは、16画素
×16ラインの画素ブロックを対象として演算を行うこ
とができることは云うまでもない。
【0061】
【発明の効果】上述のように本発明によれば、全探索動
き補償処理において、現フレームブロックデータを予め
格納した1個の読み出しポートを有するメモリと、探索
画素領域のデータを予め格納したP個の読み出しポート
を有するメモリ群を用いて、複数のm画素×mラインの
画素ブロックを並列に処理する場合に、従来においては
(P−1)・mのノルム演算器を並列に動作させること
が限界であったことに対し、本発明は上記と同一条件で
最大(P−1)・m2 個のノルム演算器を並列に効率良
く動作させることが可能となる。
【0062】今後、HDTV、高精細などの高密度画素
をあつかう動画像圧縮の分野で動き補償処理が用いられ
た場合、処理の対象となる探索ブロックのサイズ(m)
が大きくなる可能性もある。この場合、従来の並列動き
補償演算器に比べ、本発明の高並列動き補償演算器はノ
ルム演算の並列度を飛躍的に増大させることが可能であ
る。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の概要を示す図である。
【図3】図1に示されるメモリ群を示す図である。
【図4】本発明の動き補償演算エレメントの構成図であ
る。
【図5】本発明の第1の実施例の4×4個の動き補償演
算エレメントを有する高並列動き補償演算器の構成図で
ある。
【図6】本発明の第1の実施例の4画素×4ラインの画
素ブロックを図5に示す高並列動き補償演算器で処理す
る場合のデータ制御を示す図である。
【図7】本発明の第2の実施例の2×4個の動き補償演
算エレメントを有する高並列動き補償演算器の構成図で
ある。
【図8】本発明の第2の実施例の図7に示す高並列動き
補償演算器で処理する場合のデータ制御を示す図であ
る。
【図9】本発明の第3の実施例の4×4個の動き補償演
算エレメントを有する高並列動き補償演算器の構成図で
ある。
【図10】本発明の第3の実施例の高並列動き補償演算
器の各動き補償演算エレメントのデータ入力制御を示す
図である。
【図11】従来の8個のノルム演算器を有する並列動き
補償演算器の構成図である。
【図12】従来の動き補償エレメントの構成図である。
【図13】探索画素領域内の探索ブロックの画素データ
を右方向にスキャンした場合の読み出し順序を示す図で
ある。
【図14】従来の4画素×4ラインの画素ブロックを8
個の補償演算エレメントで並列処理する場合のデータ入
力制御を示す図である。
【図15】探索画素領域内の探索ブロックの画素データ
を下方向にスキャンした場合の読み出し順序を示す図で
ある。
【符号の説明】
1,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 読み出しポート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 金子 孝夫 東京都千代田区内幸町1丁目1番6号 日 本電信電話株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項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. 【請求項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. 【請求項3】 前記動き補償演算エレメントは、 前記動き補償演算エレメントのノルム演算器の出力を順
    次比較して小さい値を選択する最小値検出器と、 該最小検出器の出力を格納するための最小値記憶手段
    と、 該最小値検出器でどちらのデータが選択されたかを示す
    最小選択データを出力する出力ポートと、 前記動き補償演算エレメントに割り当てられた全ての画
    素ブロックのノルム演算が終了した後、隣接したもう1
    つの動き補償演算エレメントから出力された最小ノルム
    データを入力する入力ポートと、 該入力ポートから入力されたデータと前記動き補償演算
    エレメント内で検出され、該最小値記憶手段で記憶され
    たデータとを該最小値検出器を用いて小さい値を選択
    し、該最小値記憶手段に記憶されたデータを更新する最
    小値検出手段と、 該入力ポートから順次入力される全てのデータと該最小
    値記憶手段に記憶されているデータとの比較が終了した
    後、該最小記憶手段により記憶された最小ノルムデータ
    を出力する出力ポートを有する最小ノルム検出部を含む
    請求項1記載の高並列動き補償演算器。
  4. 【請求項4】 前記動き補償演算エレメントは、 動き補償演算エレメントで処理された画素ブロックの数
    を計数する計数手段と、 該動き補償エレメントが起動する前に、該動き補償演算
    エレメントが処理する最初の画素ブロックが探索画素領
    域の何番目の画素ブロックに当たるかを示す初期値を該
    計数手段に設定する初期値設定手段と、 最小ノルムが何番目に処理された画素ブロックかを示す
    最小ノルム番号データを記憶するための最小ノルム番号
    記憶手段と、 前記最小値検出部から出力される最小値選択データが前
    記最小値記憶手段により記憶されたデータを選択したこ
    とを示した場合は、前記最小ノルム番号記憶手段に記憶
    された最小ノルム番号データを選択し、該最小値選択デ
    ータが前記最小値検出器からの出力を選択したことを示
    した場合は、前記計数手段の出力を選択する最小ノルム
    番号選択手段と、 該動き補償演算エレメントに割り当てられた画素ブロッ
    クの処理が全て終了した後、隣接した他の動き補償演算
    エレメントから出力された最小ノルム番号データを入力
    する入力ポートと、 該入力ポートから入力された該最小ノルム番号データを
    該計数手段の出力の代わりに選択して、該最小ノルム番
    号選択手段を用いて、最小ノルム番号を検出する最小ノ
    ルム番号検出手段とを有する動きベクトル検出部を含む
    ことを特徴とする請求項3記載の高並列動き補償演算
    器。
JP12227492A 1992-05-14 1992-05-14 高並列動き補償演算器 Expired - Lifetime JP3041658B2 (ja)

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 true JPH05328332A (ja) 1993-12-10
JP3041658B2 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02177105A (ja) * 1988-12-28 1990-07-10 Hitachi Maxell Ltd 磁気ヘツド
JPH07184211A (ja) * 1993-12-24 1995-07-21 Matsushita Electric Ind Co Ltd 動きベクトル検出回路
US5929939A (en) * 1995-04-18 1999-07-27 Matsushita Electric Industrial Co., Ltd. Correlation degree operation apparatus, parallel correlation degree operation apparatus and correlation degree operation method
JP2005160021A (ja) * 2003-11-06 2005-06-16 Matsushita Electric Ind Co Ltd 信号処理方法および信号処理装置
JP2006352220A (ja) * 2005-06-13 2006-12-28 Rohm Co Ltd Sad演算装置及びこれを用いたマクロブロック探索装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02177105A (ja) * 1988-12-28 1990-07-10 Hitachi Maxell Ltd 磁気ヘツド
JPH07184211A (ja) * 1993-12-24 1995-07-21 Matsushita Electric Ind Co Ltd 動きベクトル検出回路
US5929939A (en) * 1995-04-18 1999-07-27 Matsushita Electric Industrial Co., Ltd. Correlation degree operation apparatus, parallel correlation degree operation apparatus and correlation degree operation method
JP2005160021A (ja) * 2003-11-06 2005-06-16 Matsushita Electric Ind Co Ltd 信号処理方法および信号処理装置
JP4559785B2 (ja) * 2003-11-06 2010-10-13 パナソニック株式会社 信号処理方法および信号処理装置
JP2006352220A (ja) * 2005-06-13 2006-12-28 Rohm Co Ltd Sad演算装置及びこれを用いたマクロブロック探索装置
JP4519009B2 (ja) * 2005-06-13 2010-08-04 ローム株式会社 Sad演算装置及びこれを用いたマクロブロック探索装置

Also Published As

Publication number Publication date
JP3041658B2 (ja) 2000-05-15

Similar Documents

Publication Publication Date Title
US5512962A (en) Motion vector detecting apparatus for moving picture
KR100273629B1 (ko) 이동 벡터 평가 방법 및 장치
US5568203A (en) Apparatus for estimating real-time motion an a method thereof
US8509567B2 (en) Half pixel interpolator for video motion estimation accelerator
US5793443A (en) Motion vector detection circuit
JP2924964B2 (ja) 画像情報符号化装置、画像情報復号化装置及び画像情報符号化復号化装置
JPS628072B2 (ja)
JPH05328332A (ja) 高並列動き補償演算器
EP0689358B1 (en) Image motion compensating address generator
JP4695124B2 (ja) 動画像符号化における動き探索装置
US5946405A (en) Block-matching motion estimation apparatus under use of linear systolic array architecture
JPH09261646A (ja) 画像の動き検出装置
US6198771B1 (en) Motion vector processing circuit
KR0178302B1 (ko) 양방향 병렬 파이프라인 구조에 근거한 탐색 이동 예측처리기
GB2214751A (en) Video signal coding
JP2006013873A (ja) 動きベクトル検出装置および方法
JP2618146B2 (ja) 動きベクトル検出回路
US20060170954A1 (en) Method and system for generating synchronous multidimensional data streams from a one -dimensional data stream
US5475828A (en) Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same
JP3483751B2 (ja) 動きベクトル検出装置及び動きベクトル検出方法
US4807297A (en) Neighbor image processing device
JP3004685B2 (ja) 動きベクトル検出回路
JP3698501B2 (ja) 動きベクトル検出装置
JP3004697B2 (ja) 動きベクトル検出回路
JP2868441B2 (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