JPH1013837A - 動きベクトル検出回路 - Google Patents

動きベクトル検出回路

Info

Publication number
JPH1013837A
JPH1013837A JP16306596A JP16306596A JPH1013837A JP H1013837 A JPH1013837 A JP H1013837A JP 16306596 A JP16306596 A JP 16306596A JP 16306596 A JP16306596 A JP 16306596A JP H1013837 A JPH1013837 A JP H1013837A
Authority
JP
Japan
Prior art keywords
block
motion vector
pixels
pixel
detection circuit
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
Application number
JP16306596A
Other languages
English (en)
Inventor
Tadao Matsuura
忠男 松浦
Hiroshi Kusao
寛 草尾
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP16306596A priority Critical patent/JPH1013837A/ja
Publication of JPH1013837A publication Critical patent/JPH1013837A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 従来の対象領域に比して広い領域を対象範囲
とする動きベクトルの検出回路において、メモリアクセ
スの増大や一度読み出した参照領域画素を蓄えておくキ
ャシュメモリが必要になったり、演算回路を追加すると
いったハードウェアの増加を招くことのない当該検出回
路を提供する。 【解決手段】 参照ブロックサーチ範囲S1〜S4内に
おいて、対象ブロックT1〜T5のブロックマッチング
処理を行う。マッチングに用いる画素数を間引き、画素
列801〜810を使用し複数の対象ブロックに対する
演算を並行して行う。領域Saの参照にあたっても同一
画素列を複数回アクセスしない。また、1列分8個の演
算ユニットに対象ブロックの画素を順次与える8個のシ
フトレジスタを、巡回型に接続し、各演算ユニットに対
し途中結果を保持するレジスタを(8−1)=7個巡回
型に接続する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デジタル画像処理
における動画像圧縮などで用いられる、フレーム間での
動きベクトル検出を行う回路に関し、より詳細には、代
表点ブロックマッチングにより全探索を行ってベクトル
検出を行う当該回路に関するものである。
【0002】
【従来の技術】MPEG(Motion Picture Experts Gro
up)規格等の動画像圧縮においてブロックマッチングを
用いて動きベクトルを検出することが行われる。これ
は、図9に示すように、動画像を生成する時間的に離れ
たフレーム901と902の間で、一方のフレーム内の
ブロック903と、他方のフレーム内のサーチエリア9
04におけるブロックとのブロックマッチングを行い、
相関の最も高いブロックのフレーム内の相対位置を動き
ベクトル905として検出するものである。このような
検出を行うハードウェアについての従来例を添付図を用
いて説明するが、この例では、ブロックの大きさを8×
8画素とし、参照する候補ブロック数を8×8(例えば
サーチ範囲としては水平垂直とも+3〜−4)として説
明する。この場合、1つの対象ブロックのベクトル検出
に必要な参照画素の範囲は15×15となるが、以下で
は、これをサーチ範囲と呼ぶ。
【0003】図10が従来例の動きベクトル検出のハー
ドウェア構成を示すものである。同じような構成のもの
としては、特開平6−141304号公報に開示されて
いる「演算回路」があげられる。図10において、端子
1001からサーチ範囲内の参照画素を入力し、端子1
002からは符号化の対象ブロックの画素を入力する。
1003は各演算ユニットの一つの単位で、図10では
省略して描いているが、同図の例では、サーチ範囲の8
×8=64個の演算ユニットを持っている。また、10
04は7画素分の遅延用のシフトレジスタである。
【0004】動きベクトルの検出は、以下のような手順
で行われる。まず、サーチ範囲内に形成されるブロック
のそれぞれの位置について、対象ブロックの各画素とそ
れに対応する位置のサーチ範囲内のブロックの画素との
差分の絶対値を全て合計し、その位置での合計値(以下
「AE」と記す)をその位置即ち候補ベクトルの評価値
とする。このAEをサーチ範囲内に形成されるブロック
の全ての位置について計算し、AEが最小となるサーチ
範囲内のブロック位置と対象ブロックとの相対位置を動
きベクトルとして採用する。そのために、ここでは、演
算ユニット1003それぞれは、候補ブロック数8×8
のそれぞれの位置に対応したAEを計算し保持すること
が必要である。
【0005】この演算ユニットの詳細を図11に示す。
図11において、1101が参照画素値の入力端子、1
102が前の演算ユニットからの対象画素値の入力端
子、1103が対象画素値の値を保持するレジスタであ
る。対応する位置の画素値は、1104でこの2つの値
の差分の絶対値を計算し、1105と1106でその結
果を累積加算していく。ブロック内の画素値を順次入力
していき、然るべき時間の経過後にレジスタ1106に
あるベクトルに対応した値としてAEが求まることにな
る。
【0006】この演算の具体的な手順を図12と図13
を使って説明する。図12で、R1,R2,…と番号付
けしているのがサーチ範囲の参照画素、T1,T2,…
と番号付けしているのが対象ブロックの画素である。こ
の対象ブロック内の画素と、サーチ範囲内でのあるベク
トル位置での対応する画素との差分の絶対値をブロック
内で異積してAEを計算する。図12で対象ブロック1
201の位置をベクトル(0,0)の位置とすると、R
1を左上とする8×8のブロックがベクトル(-4,-
4)の位置の参照ブロックとなる。このベクトルに対す
るAEを演算ユニット1003の演算部PE1で算出す
る。同様にR2を左上とする8×8のブロックがベクト
ル(-4,-3)に対応し、AEをPE2で算出する。こ
れらのベクトルに対応するAEを求める手順は以下のよ
うになる。
【0007】図10の入力1001からサーチ範囲の画
素Rn(n=1,2,…)を順次、入力1002から対象
ブロックの画素Tn(n=1,2,…)を順次入力してい
く。Rnの画素は全ての演算部PEに同時に与えられ
る。また、Tnは各PEに併設したレジスタを順次シフ
トすることに従って次々にシフトされていく。図13
は、PE1からPE8までについて、ブロック間の対応
画素の演算のタイミングを横軸を時間軸として示すもの
である。図13において、PE1の動作を見ると、始め
の8クロックで、ベクトル(-4,-4)に対するAEの
一部を順次計算し、レジスタ1106(図11、参照)
に蓄えていく。同様に、1クロック遅れたタイミングで
PE2でベクトル(-4,-3)に対するAEの計算を始
める。また、PE1では、R9〜R15の画素はAE計
算に必要ないため、演算を停止するが、このため、図1
3に示すように、演算を停止するタイミングは、空白で
示されている。そして、1001(図10、参照)から
R16を入れ始めるタイミングに合わせて、1002か
らはT9を入れ始めていく。これはT8を入れ終ってか
ら8クロック後にあたる。
【0008】このように動作させていくことで、8列目
の上から8番目の画素、即ちR113を入れ終ると、次
のクロックでPE1の隣に設けたレジスタにベクトル
(-4,-4)に対するAEが得られる。その後、順次1
クロック毎に、PE2,PE3,…からそれぞれに対応
するベクトルについてのAEが得られていく。これを図
14のような最小値検出回路にて処理し、AEの最小値
及びその時のベクトルを検出する。図14において、順
次得られるAEを端子1401から入力する。その時の
PEの番号を端子1402から入力する。レジスタ14
04に現在までのAEの最小値を保持して、次に、入力
したAEとレジスタ1404の値を比較器1403で比
較し、入力値の方が小さい場合、レジスタ1404を更
新する。同時にレジスタ1405もその時の番号に更新
する。そして、PEの番号に対応するベクトル値は、P
Eの番号からテーブルを引くなどして簡単に求めること
が可能である。
【0009】
【発明が解決しようとする課題】上記説明した方法で動
画像における動きベクトルを検出することが可能である
が、ここでは、候補ブロック数はブロック内の画素数と
同じ8×8である。また、同様の方法で、さらに広い範
囲の対応について動きベクトルを検出したい場合が考え
られる。図15は、そのような場合を説明するもので、
ここでは、対象ブロックT1〜T4に対しサーチ範囲を
ブロックサイズの9倍としたそれぞれS1〜S4のサー
チ範囲とするもので、検出対象範囲を水平方向に広げた
分、図15のS1〜S4の参照画素のサーチ範囲に重な
りができる。図15に示すように、ある一つの参照画素
について見ると、例えば、Saの領域の画素は、T1,
T2,T3のブロックのベクトル探索に必要になるとい
うように、最大で3個のブロックのベクトル探索に必要
とされることになる。こういう広い範囲を対象とした動
きベクトルの検出を実現するには、参照画素への多くの
アクセスが必要になり、このためサーチ範囲の画像を保
持しているメモリからの読み出しを複数回行う、あるい
は一度読み出した画素を保持するキャッシュメモリを設
置する、ベクトル検出回路を複数組用意して並列動作さ
せる等の方法が考えられる。また、垂直方向に動きベク
トル検出範囲を広げるためには、その分演算ユニットを
縦方向に追加する、対象画像から読み出した画素データ
をキャッシュに蓄えるなどの方法が考えられる。しかし
ながら、上記したいずれの方法によっても、メモリアク
セスの増大やハードウェア量の増加を招くことになる。
本発明は、このような従来技術における問題に鑑みてな
されたもので、従来の対象範囲に比して広い領域を対象
範囲とする動きベクトルの検出回路において、メモリア
クセスの増大や一度読み出した参照領域画素を蓄えてお
くキャシュメモリが必要になったり、演算回路を追加す
るといったハードウェアの増加を招くことのない当該検
出回路を提供することをこの解決すべき課題とする。
【0010】
【課題を解決するための手段】請求項1の発明は、フレ
ームの既定領域に位置するM×N(M,N:自然数)の
画素よりなる符号化対象ブロックと、前記フレームから
時間の隔った他のフレームの所定の領域に位置し、(a
×M)×(b×N)(a,b:自然数)個の候補ブロッ
クを含むサーチ範囲中の該候補ブロックとの対応する画
素間の画素値の比較を行って前記符号化対象ブロックと
前記候補ブロック間のマッチング度を求めることを全て
の候補ブロックについて行い、その結果によりマッチン
グ度の高い候補ブロックと符号化対象ブロックとの関係
にもとづいて動きベクトルの検出を行う動きベクトル検
出回路において、前記対応する画素間の比較を所定単位
のブロックで行う際に比較画素を該単位ブロックの列単
位で1/(a+1)に減らすとともに、前記候補ブロッ
クの前記マッチング度を演算するM×N個の演算ユニッ
トをM×N個備えて、該M×N個の演算ユニットで(a
+1)個の前記候補ブロックに対する演算を並列に行う
ようにしたものである。
【0011】請求項2の発明は、請求項1記載の動きベ
クトル検出回路において、前記符号化対象ブロックにお
いて、対応する画素間の比較が行われる前記所定単位の
ブロックの列方向i番目のブロックについては、マッチ
ングに使用する画素列の位置をiの(a+1)に対する
剰余で定めるようにしたものである。
【0012】請求項3の発明は、請求項1又は2記載の
動きベクトル検出回路において、1列分N個の前記演算
ユニットに対応した対象ブロックの画素値を順次与える
ためのN個のレジスタを巡回型に接続するようにしたも
のである。
【0013】請求項4の発明は、請求項1ないし3のい
ずれかに記載の動きベクトル検出回路において、前記演
算ユニットの出力を蓄えるb×(N−1)個のレジスタ
を巡回型に接続するようにしたものである。
【0014】請求項5の発明は、請求項1ないし4のい
ずれかに記載の動きベクトル検出回路において、前記演
算ユニットからの出力を最小値検出器に入力して、最小
値に対応する候補ブロックのフレーム上の位置にもとづ
いて動きベクトルを検出するようにしたものである。
【0015】
【発明の実施の形態】本発明の一実施形態について添付
図を参照しながら以下に説明する。この実施形態では、
ブロックの大きさは8×8、候補ブロック数は24×1
6、したがって、サーチ範囲は水平方向で+12〜−1
1、垂直方向で+8〜−7、という条件で構成されるも
のについて説明する。この場合、図8に示すように、隣
接する4個の対象ブロックT1〜T4に対するサーチ範
囲S1〜S4は、図示のとおりで、Saの範囲の画素
は、T1〜T4のブロックのベクトル検出それぞれに必
要となる。そこで、演算に使用する画素を列単位で1/
4に間引き、4個分のブロックに対する演算を並行して
行うようにする。
【0016】図1が本発明の実施形態における演算回路
の基本構成を示すブロック図である。この演算回路は、
参照画素の入力101と対象画素の入力102〜105
を持ち、外部からの画素値又は内部のシフトレジスタの
巡回値又は7画素分ディレイ108の出力値とを選択す
るためのセレクタ106、演算ユニット107を回路要
素として備える。これらセレクタ106演算ユニット1
07を8個、及びディレイ108で1組の基本演算回路
109を構成する。この1組の基本演算回路109で対
象ブロック1列分とサーチ範囲の画素4列との演算を行
う。この基本演算回路が2組で1ブロック分の演算を行
うことになり、この1ブロックの演算を行う演算回路の
単位が全部で4単位あり、4個のブロックに対する演算
を並行して行う。
【0017】そこで、まず、1個のブロックに対する処
理についてより詳細に説明する。図2は、演算ユニット
107の詳細を示すものである。この演算ユニット10
7は、参照画素入力端子201、対象画素入力端子20
2、対象画素を保持し、かつ次の演算ユニットに順次与
えていくためのレジスタ203、参照画素値と対象画素
値の差分絶対値を計算する演算器204、この差分絶対
値を加算し累積値(AE)を求めるアキュムレータ20
5、AEの途中結果を一時保管するレジスタ207〜2
13、アキュムレータに対する入力を選択するセレクタ
206、最終的に用いるためにとり出されるAEの出力
214からなる。なお、演算器204,アキュムレータ
205,セレクタ206からなる部分を演算部PEと記
す。
【0018】演算に使用する対象ブロック画素の間引き
方を図3に示す。図3に示すように、左端から何番目の
ブロックかによって、この例では4の剰余により使用す
る画素列を変化させる。左端から数えて、4n番目のブ
ロックは301の画素列を、4n+1番目のブロックは
302の画素列を、4n+2番目のブロックは303の
画素列を、4n+3番目のブロックは304の画素列を
使用する(nは、0を含む自然数)。
【0019】図4は、図1の演算部PE1〜PE8に対
する画素値の与え方のタイミングを示すもので、同図で
は横軸に時間軸をとっている。縦方向のサーチ範囲は1
6としているので、縦一列分の参照画素データとして
は、図5に示すようなR1からR23までを演算回路に
与える必要がある。参照画素データは、全ての演算ユニ
ットに同時に与える。対象画素データは、シフトレジス
タにより、順次シフトされながら各演算ユニットに与え
られていく。図4のあるマス目にTiが書いてあるタイ
ミングでは、表の上辺に書かれているRjとの演算を行
って、アキュムレータに加算していく。マス目が空白に
なっている時には、演算は休止することを示している。
【0020】PE1では、最初の8クロックはR1を左
上とする参照ブロックと対象ブロックの各1列目の演算
を行う。ここまでの途中結果は8クロック目の演算が終
った時点でアキュムレータ205からAE保持用レジス
タ207に移す。引続き9クロック目からは、今度はR
9を左上とする参照ブロックとの演算をPE1で行って
いく。従って、対象ブロックの画素T1〜T8は同じP
E1で参照画素の1列目を与えていく間に2度計算に使
われることになる。そこで、図1に示すように、PE8
に対応したシフトレジスタRの出力をセレクタ106を
通して巡回させることにより、対象ブロックの記憶メモ
リからの読み出しのアクセスを削減することを可能とす
る。その後、7クロックはPE1は休止させ、それから
R24を左上とする参照ブロックと対象ブロックの各1
列目の演算を開始する。この場合、対象ブロックの画素
T1〜T8も7クロックのディレイの後にPE1から再
び与えていくことが必要なので、セレクタ106ではデ
ィレイ108の出力を選択する。
【0021】以上のようにして、サーチ範囲の4列目の
データまでは、PE1〜PE8でT1〜T8のデータで
演算を行っていく。図6は、この列単位の演算にあたっ
て、各PEが担当する参照ブロックの単位列の最上位の
画素位置(ベクトル位置)を示す。
【0022】図6のように、一つのPEでは、垂直方向
で2通り、水平方向で4通りの合計8個のベクトルに対
応するAEを8画素単位に順次計算していくことになる
ので、それらの途中結果を保持する必要がある。処理方
式から明らかなように、これらの途中結果は巡回的に使
用することになる。そこで、アキュムレータ205の出
力を巡回的に接続したシフトレジスタ207〜213に
保持し、アキュムレータ205の入力側に現在加算中の
データとシフトレジスタ213の出力とを選択するセレ
クタ206を設けることにより、AEの途中結果を保持
しながら別々のベクトルに対する計算を1個の演算ユニ
ットで行わせることが可能になる。アキュムレータ20
5には、結果保持用にレジスタを持っているので、この
例の場合はシフトレジスタは7個で良い。この構成で、
8画素の演算が終了した時点で、セレクタ206を切替
え、レジスタ213の出力をアキュムレータ205のレ
ジスタに入力するようにし、シフトレジスタも含めデー
タをシフトすることで、次に必要なAEの途中結果がア
キュムレータ205にロードされ、これまで計算した結
果はシフトレジスタ207に移され、他の途中結果は隣
のレジスタに移る。
【0023】PE1以降の演算ユニットでは、PE1か
ら順次1クロックずつ遅れていく形で、PE2〜PE8
でそれぞれR2〜R8及びR10〜R16を単位列の最
上位とする参照ブロックの列単位と、対象ブロックの列
単位との演算を行っていく。さらに、サーチ範囲の5列
目を与え始める時に対象ブロックの5列目のデータT3
3〜(図5、参照)を読み出して入力102から与えて
いく。同時に、ディレイ108の出力を次の列の演算ユ
ニットに与えていくようセレクタ109を制御してやる
ことで、この演算回路110(PE9〜PE16)で対
象ブロックの1列目のデータとサーチ範囲の5列目のデ
ータとの演算を開始する。図7は、この時のタイミング
を示すもので、同図では横軸を時間軸としている。
【0024】以上のような処理により、この例では、マ
ッチング演算に使う画素列を1/4に間引いており、対
象ブロック内でマッチングに使用する画素は、図3の3
01に示す位置のものを使用するので、サーチ範囲の5
列目のデータの8画素目、即ちこの例では図5のR10
0を入力し終えた時点から、AEが順次PE1,PE2
…から得られていく。図7では、701の時点で最初の
AEが得られることになる。続けて16個のAEが得ら
れた後、7クロック後から次の列のベクトルに対するA
Eが順次109のPEから得られていく。順次得られる
AE値は、図14の最小値検出器に入力していき、最小
のAE及びベクトルを求める。続けてサーチ範囲の9列
目のデータを入力し始める時には、PE1〜PE8での
AEの演算は終了しているので、引続き新しいAEの演
算に入っていくことができる。
【0025】次に、複数の対象ブロックを処理する場合
について説明する。基本は既に述べたブロックに対する
処理と同様である。違うのは複数の対象ブロックのそれ
ぞれからの画素の取り出す位置と順番である。図8の対
象ブロックT1〜T4を、画面の左端から数えて4n+
1,4n+2,4n+3,4n+4(n=0,1…)番
目のものとすると、それぞれについて、図3の301,
302,303,304の位置に対応する画素列を使用
する。図8では、801〜808の番号をつけた領域で
示している。そして、図8の8×24画素の領域Saを
使って演算をする場合、領域Saの1列目から8列目の
各列の始めの8画素を読み出すタイミングと合わせて、
801〜808の各画素列をこの順に読み出して演算回
路に入力していく。
【0026】801,805の画素列は、図1で見ると
入力102に、802,806の画素列は入力103
に、803,807の画素列は入力104に、804,
808の画素列は入力105に入力していく。こうする
ことで、参照領域のSaのような領域を読み出していく
間に、この参照領域と演算をする必要のある対象ブロッ
クT1〜T4の演算を並行して行っていくことが可能に
なり、領域Saの読み出しは1回で済むことになる。さ
らに参照領域が図8のSbに移ると、対象ブロックとし
てはT2〜T5を用いて演算していくことになる。この
場合は、809,802,803,804,810,8
06,807,808の順に与えていくことになる。
【0027】図1での入力は、802〜808について
は上記と同じで、809,810を入力102に与えて
いくことになる。以上のような制御をしていくことで、
対象ブロックの水平方向に1行分についてベクトル検出
を行う時に、最大4個の対象ブロックに対する演算を並
行して行うことが可能になり、対応するサーチ範囲の参
照画素の読み出しは各々1回ずつで済むことになる。
【0028】
【発明の効果】マッチング度を求めるための演算を行う
画素数を間引くことで、従来の構成では、1個のブロッ
クに対する演算を行うのと同じ個数の演算器で、複数の
ブロックに対する演算を並行して進めることが可能にな
る。また、同じ大きさの対象ブロックに対し、従来技術
に比べて広いエリアをサーチ範囲とすることが可能にな
る。さらに、異なる対象ブロックからの演算に使用する
画素の選択を制御することで、従来に比して広いエリア
を対象ブロックとする場合でも、複数の対象ブロックに
対して必要とされるサーチエリアの画素の読み出し回数
を著しく削減することが可能になる。水平方向1行分の
対象ブロックのベクトル検出を行う場合に、サーチ範囲
の参照画素の読み出しは各々1回ずつで済む。また、各
演算ユニットに対象画素を順次与えるシフトレジスタを
巡回的に接続し、このシフトレジスタへの入力をセレク
タで適宜制御することで、対象ブロックの画素の読み出
し回数を削減することができる。また、各演算ユニット
の途中結果を保持するレジスタを巡回的に接続したシフ
トレジスタとすることにより、一つの演算ユニットで複
数のベクトルに対する演算を行わせることができ、演算
ユニットの稼働率を上げることができる。
【図面の簡単な説明】
【図1】本発明の実施形態の演算回路の構成を示すブロ
ック図である。
【図2】図1に示される演算回路の演算ユニットの詳細
図である。
【図3】複数の対象ブロックからの使用する画素の間引
き方を示す図である。
【図4】演算部PEにおけるブロック間の画素演算の動
作を示すタイミング図である。
【図5】参照領域の画素と対象ブロックの画素の関係を
示す図である。
【図6】各演算部PEの担当するサーチ範囲におけるベ
クトル位置を示す図である。
【図7】演算部PEにおけるブロック間の画素演算の動
作を示すタイミング図である。
【図8】本発明の実施形態における隣接する対象ブロッ
クとサーチ範囲を示す図である。
【図9】動画像のフレーム間での動きベクトル検出の概
念を示す図である。
【図10】従来の動きベクトル検出のハードウェア構成
の一例を示す図である。
【図11】図10の従来例の演算ユニットの詳細を示す
図である。
【図12】従来例でのサーチ範囲と対象ブロックの画素
の関係を示す図である。
【図13】従来例での演算部PEにおけるのブロック間
の画素演算の動作を示すタイミング図である。
【図14】従来例で用いられるブロック間の画素演算結
果の合計値AEの最小値検出回路の構成図である。
【図15】従来例の手法により動きベクトルの検出対象
領域を広げる場合を説明するための図である。
【符号の説明】
101,201,1001,1101…参照画素入力、
102〜105,202,1002,1102…対象画
素入力、106,109,206…セレクタ、107,
1003…演算ユニット、108,1004…7画素デ
ィレイ、110…演算ユニット8個、203,1103
…レジスタ、204,1104…絶対差分演算器、20
5…アキュムレータ、207〜213,1106…AE
保持用レジスタ、214…AE出力、701…最初のA
Eが求まるタイミング、801〜810…各対象ブロッ
ク内でマッチング演算に使用する画素列、901…対象
ブロックを含むフレーム、902…サーチ範囲を含むフ
レーム、903…対象ブロック、904…サーチ範囲、
905…動きベクトル、1105…加算器、1401…
AE値入力、1402…ベクトル情報入力、1403…
比較器、1404…最小値保持レジスタ、1405…ベ
クトル情報保持レジスタ。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 フレームの既定領域に位置するM×N
    (M,N:自然数)の画素よりなる符号化対象ブロック
    と、前記フレームから時間の隔った他のフレームの所定
    の領域に位置し、(a×M)×(b×N)(a,b:自
    然数)個の候補ブロックを含むサーチ範囲中の該候補ブ
    ロックとの対応する画素間の画素値の比較を行って前記
    符号化対象ブロックと前記候補ブロック間のマッチング
    度を求めることを全ての候補ブロックについて行い、そ
    の結果によりマッチング度の高い候補ブロックと符号化
    対象ブロックとの関係にもとづいて動きベクトルの検出
    を行う動きベクトル検出回路において、前記対応する画
    素間の比較を所定単位のブロックで行う際に比較画素を
    該単位ブロックの列単位で1/(a+1)に減らすとと
    もに、前記候補ブロックの前記マッチング度を演算する
    M×N個の演算ユニットをM×N個備えて、該M×N個
    の演算ユニットで(a+1)個の前記候補ブロックに対
    する演算を並列に行うようにしたことを特徴とする動き
    ベクトル検出回路。
  2. 【請求項2】 前記符号化対象ブロックにおいて、対応
    する画素間の比較が行われる前記所定単位のブロックの
    列方向i番目のブロックについては、マッチングに使用
    する画素列の位置をiの(a+1)に対する剰余で定め
    るようにしたことを特徴とする請求項1記載の動きベク
    トル検出回路。
  3. 【請求項3】 1列分N個の前記演算ユニットに対応し
    た対象ブロックの画素値を順次与えるためのN個のレジ
    スタを巡回型に接続するようにしたことを特徴とする請
    求項1又は2記載の動きベクトル検出回路。
  4. 【請求項4】 前記演算ユニットの出力を蓄えるb×
    (N−1)個のレジスタを巡回型に接続するようにした
    ことを特徴とする請求項1ないし3のいずれかに記載の
    動きベクトル検出回路。
  5. 【請求項5】 前記演算ユニットからの出力を最小値検
    出器に入力して、最小値に対応する候補ブロックのフレ
    ーム上の位置にもとづいて動きベクトルを検出するよう
    にしたことを特徴とする請求項1ないし4のいずれかに
    記載の動きベクトル検出回路。
JP16306596A 1996-06-24 1996-06-24 動きベクトル検出回路 Pending JPH1013837A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16306596A JPH1013837A (ja) 1996-06-24 1996-06-24 動きベクトル検出回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16306596A JPH1013837A (ja) 1996-06-24 1996-06-24 動きベクトル検出回路

Publications (1)

Publication Number Publication Date
JPH1013837A true JPH1013837A (ja) 1998-01-16

Family

ID=15766520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16306596A Pending JPH1013837A (ja) 1996-06-24 1996-06-24 動きベクトル検出回路

Country Status (1)

Country Link
JP (1) JPH1013837A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174455A (ja) * 2005-12-26 2007-07-05 Sony Corp 画像処理装置、画像処理方法、撮像装置および撮像方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174455A (ja) * 2005-12-26 2007-07-05 Sony Corp 画像処理装置、画像処理方法、撮像装置および撮像方法

Similar Documents

Publication Publication Date Title
US8218635B2 (en) Systolic-array based systems and methods for performing block matching in motion compensation
US5586202A (en) Motion detecting apparatus
US6690730B2 (en) Motion estimator
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
US8345764B2 (en) Motion estimation device having motion estimation processing elements with adder tree arrays
US20090016634A1 (en) Half pixel interpolator for video motion estimation accelerator
Nicol A systolic approach for real time connected component labeling
US6160850A (en) Motion estimator employing a three-step hierachical search block-matching algorithm
JP4597103B2 (ja) 動きベクトル探索方法及び装置
US5982910A (en) Method and circuit arrangement for undersampling in the case of movement estimation
JPS61201581A (ja) 動きベクトル検出装置
JPH1013837A (ja) 動きベクトル検出回路
US6584212B1 (en) Apparatus for motion estimation with control part implemented by state transition diagram
US20040247032A1 (en) Motion vector detection device and motion vector detection method
US5477278A (en) Apparatus for detecting motion of moving picture
JP3545004B2 (ja) 演算回路
US20050089099A1 (en) Fast motion estimating apparatus
KR100282614B1 (ko) 저 전송률 비디오 코덱을 위한 움직임 예측장치
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
KR100359091B1 (ko) 움직임추정장치
JP3453145B2 (ja) 画素ブロックの比較のためのプロセッサ(ブロックマッチングプロセッサ)
JP3483751B2 (ja) 動きベクトル検出装置及び動きベクトル検出方法
EP0974103A2 (en) Method and apparatus for half pixel sad generation
JP2618146B2 (ja) 動きベクトル検出回路
JP4170173B2 (ja) ブロックマッチング演算装置