JP2868441B2 - 動きベクトル探索方法および探索装置 - Google Patents

動きベクトル探索方法および探索装置

Info

Publication number
JP2868441B2
JP2868441B2 JP25030095A JP25030095A JP2868441B2 JP 2868441 B2 JP2868441 B2 JP 2868441B2 JP 25030095 A JP25030095 A JP 25030095A JP 25030095 A JP25030095 A JP 25030095A JP 2868441 B2 JP2868441 B2 JP 2868441B2
Authority
JP
Japan
Prior art keywords
pixel data
data transfer
current image
input
search
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
Application number
JP25030095A
Other languages
English (en)
Other versions
JPH0993587A (ja
Inventor
孝之 小林
豊 岡田
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.)
GURAFUITSUKUSU KOMYUNIKEESHON RABORATORIIZU KK
Original Assignee
GURAFUITSUKUSU KOMYUNIKEESHON RABORATORIIZU KK
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 GURAFUITSUKUSU KOMYUNIKEESHON RABORATORIIZU KK filed Critical GURAFUITSUKUSU KOMYUNIKEESHON RABORATORIIZU KK
Priority to JP25030095A priority Critical patent/JP2868441B2/ja
Publication of JPH0993587A publication Critical patent/JPH0993587A/ja
Application granted granted Critical
Publication of JP2868441B2 publication Critical patent/JP2868441B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル動画像
の情報圧縮に適用される動きベクトル探索装置に係り、
特に、現画像の一部を構成する現画像ブロックの画素デ
ータと参照画像上のサーチウィンドウ内の複数の候補ブ
ロックの画素データとに基づいて算出されたそれぞれの
ディストーションによって動きベクトルを探索する動き
ベクトル探索装置に関する。
【0002】
【従来の技術】文字、図形、音声、映像などの異なる情
報をデジタルデータで表現し、これらのメディアを統合
して一元的に取り扱うマルチメディアが近年注目を浴び
ている。このマルチメディアをより効果的に実現するキ
ー・テクノロジーのひとつとして情報圧縮技術がある。
情報圧縮技術は、情報の冗長性に着目し、冗長な部分の
情報を削減することにより、情報量を少なくする技術で
あり、これにより大量の情報を効率的に処理し、蓄積
し、伝送することが可能となる。
【0003】各種のメディアの情報量には大きな差があ
り、とりわけ、動画像は膨大な情報量を有するため、大
幅な情報の圧縮が必要となる。情報の圧縮方法には各種
方式があり、これらの方式を組み合わせることにより、
大幅な圧縮を実現している。一般に、これらの圧縮機能
はLSI(Large scale integrated circuit)として提
供されている。
【0004】動画像情報の圧縮方式の一つとして、動画
像の一部を構成する2つの画面間の時間的な相関関係に
基づいて情報圧縮を行う方式が知られている。この圧縮
方式には、例えば、単純フレーム間予測符号化方式、動
き補償フレーム間予測符号化方式がある。ここで、フレ
ームとは、動画像を構成する1枚の画面を表す。以下、
単純フレーム間予測符号化方式および動き補償フレーム
間予測符号化方式について説明する。
【0005】図39は単純フレーム間予測符号化方式を
示す図である。単純フレーム間予測符号化方式において
は、互いに位置的に対応する現画像100の各画素デー
タと参照画像300の各画素データとの差分値を算出
し、この差分値を適当な閾値と比較して、有意画素デー
タと非有意画素データとに識別する。有意画素データ
は、この差分値が閾値より大きい場合に相当し、参照画
像300から現画像100を予測する際に省略すること
のできないデータである。一方、非有意画素データは、
この差分値が閾値以下の場合に相当し、参照画像300
から現画像100を予測する際に削減することが可能な
データである。
【0006】なお、参照画像300は、現画像100よ
りも過去の画像であっても、未来の画像であってもよい
が、現画像100よりも時間的に先に符号化される画像
である。例えば、図39に示すように、前画像100に
おける人物像10が現画像100において右方向に移動
してる場合、有意画素データを示す領域は、2つの有意
画素領域20および21によって示される。有意画素領
域20に位置的に対応する現画像100上の画素データ
は、この画素データと有意画素領域20との差分値およ
び有意画素領域20によって表すことができ、有意画素
領域21に位置的に対応する現画像100上の画素デー
タは、この画素データと有意画素領域21との差分値お
よび有意画素領域21によって表すことができる。残り
の非有意画素領域は、この非有意画素領域と位置的に対
応する参照画像300の画素データそのものによって表
すことができる。
【0007】単純フレーム間予測符号化方式では、有意
画素数が少ないほど予測の際に必要な差分値のデータ量
を少なくすることができるので、圧縮効率を向上するこ
とができる。また、閾値を高く設定することによって有
意画素数を少なくして圧縮効率をさらに向上することも
できるが、閾値を高くしすぎると、画像の動きがぎくし
ゃくして不自然になったり、動くべき画像の一部が残像
として現れたりするため、画像品質が著しく劣化すると
いった不具合が発生する。
【0008】このように、単純フレーム間予測符号化方
式では、現画像100を参照画像300の同一位置の画
素データに基づいて予測するので、現画像100と参照
画像300との間の画像上の変化が小さいときには高い
圧縮効率を実現することができるが、図39に示すよう
に、画像の一部が画像上で大幅に移動するような場合に
は、単純フレーム間予測符号化方式よりも次に説明する
動き補償フレーム間予測符号化方式を用いた方が圧縮効
率は高くなる。
【0009】動き補償フレーム間予測符号化方式では、
図40に示すように、人物像10が移動した場合、図4
0に示された動きベクトルMVを算出する。動きベクト
ルMVは、人物像10の移動方向および移動距離を表
し、この動きベクトルMVと参照画像300の人物像1
0を形成する画素データとによって、現画像100上の
人物像10を予測する。この場合、有意画素領域は領域
20のみになる。したがって、動き補償フレーム間予測
符号化方式のほうが、有意画素数を大幅に少なくするこ
とができるので、画像情報の圧縮効率を大幅に向上する
ことができる。
【0010】ところで、国際標準方式であるITU−T
(International telecommunication Union-Telecommun
ication Standardization Sector)H.261による動
き補償フレーム間予測方式では、まず、図41に示すよ
うに、現画像110を複数のブロックに分割し、その一
つのブロック(以下、現画像ブロックと呼ぶ)220に
類似した同一サイズの複数のブロック302(以下、候
補ブロックと呼ぶ)を含むサーチウィンドウ410を参
照画像302上で特定し、サーチウインド410内に含
まれる複数の候補ブロック302と現画像ブロック22
0とのディストーションを算出する。
【0011】ここで、ディストーションとは、各候補ブ
ロック302と現画像ブロック220との類似性を表す
ものであり、各候補ブロック内の位置的に対応する画素
データの差分値をそれぞれ求め、これらの差分値が相殺
されないように絶対値演算または二乗演算によって正数
データに変換して累積した値で示される。次に、算出さ
れたディストーションの中から最小の値をもつディスト
ーションを特定し、この最小ディストーションを有する
候補ブロック302と現画像ブロック220に基づいて
動きベクトルMVが算出される。
【0012】さらに、現画像ブロック220、サーチウ
ィンドウ410、候補ブロック302の関係について説
明する。図42(b)に示すように、現画像ブロック2
20がN行M列の画素から構成され、図42(a)に示
すように、サーチウィンドウ410がH行L列の画素か
ら構成されるとすると、現画像ブロック220に類似し
た候補ブロック302は、サーチウィンドウ410内に
(H−N+1)×(L−M+1)個存在する。
【0013】また、現画像ブロック220の左上角の画
素データをa(0,0)で表わすとすると、サーチウィ
ンドウ410内でこの画素データa(0,0)に位置的
に対応する各候補ブロック302の画素の取り得る範囲
は、図42(a)の斜線領域で示される。現画像ブロッ
ク220内の画素データと各候補ブロック302内の画
素データとの位置的な対応関係を図43に示す。図43
に示すように、現画像ブロック220内の画素データa
(m,n)に位置的に対応する各候補ブロック302内
の画素データは、サーチウィンドウ410内の画素デー
タb(l+m,h+n)で表される。ここで、hおよび
lはサーチウィンドウ410内の各候補ブロック302
を特定する値であり、サーチウィンドウ410内の画素
データb(l,h)は候補ブロック302の左上角の画
素データであり、現画像ブロック220の左上角の画素
データa(0,0)に位置的に対応する。
【0014】図42および図43に示された現画像ブロ
ック220、サーチウィンドウ410および複数の候補
ブロック302において、現画像ブロック220と各候
補ブロック302とのディストーションをD(l,h)
とすると、D(l,h)は以下の式により表される。
【0015】
【数1】
【0016】ここで、‖‖はディストーションを演算す
るノルムを示し、d(m,n)は、 d(m,n)=b(l+m,h+n)−a(m,n) で表され、現画像ブロック220の画素データおよび位
置的に対応する各候補ブロック302の画素データの差
分値である局所ディストーションを示している。ノルム
演算は、一般に、絶対値演算および二乗演算が用いられ
るが、計算の複雑さと効率の点で絶対値演算が最も頻繁
に用いられる。
【0017】なお、動き補償フレーム間予測方式におい
て、現画像と参照画像をブロック単位で比較する方法
は、ブロック・マッチング法と呼ばれており、さらに、
サーチウィンドウ内に含まれる全ての候補ブロックと現
画像ブロックとを比較する場合には、フル・サーチ・ブ
ロック・マッチング法(全点探索法)と呼ばれている。
この全点探索法を用いて動きベクトルを求める方法およ
び装置として、例えば、特開平2−213291号公報
の二次元アニメート画像の連続画像を表すデータ信号を
処理するための方法および回路が知られている。この方
法および回路においては、演算時間を短縮するため、候
補ブロックの数だけプロセッサエレメントを配置して、
プロセッサエレメントに供給されたサーチウィンドウの
画素データを全体として上方向、下方向および左方向に
切り換えてスキャニングを行うことでディストーション
を求めている。
【0018】すなわち、図44および図45に示すよう
に、lおよびhを l=0,1,2,3 h=0,1,2,3 で表すとすると、まず、斜線で示された9個のプロセッ
サエレメントにそれぞれサーチウィンドウの画素データ
が入力されるとともに、現画像ブロックの画素データa
(0,0)が入力されたサイクル0では、各プロセッサ
エレメントでは、局所ディストーション |b(l,h)−a(0,0)| の計算およびストアが行われる。
【0019】次のサイクル1では、サーチウィンドウの
各画素データを全体として上に移動するとともに、現画
像ブロックの画素データa(0,1)が入力されること
で局所ディストーション |b(l,h+1)−a(0,1)| の計算が行われ、さらに、サイクル0で計算された局所
ディストーションに加算されてストアされる。
【0020】次いで、サイクル2では、サーチウィンド
ウの各画素データを全体として左に移動するとともに、
現画像ブロックの画素データa(1,1)が入力される
ことで局所ディストーション |b(l+1,h+1)−a(1,1)| の計算が行われ、さらに、サイクル1での演算結果に加
算されてストアされる。
【0021】次いで、サイクル3では、サーチウィンド
ウの各画素データを全体として下に移動するとともに、
現画像ブロックの画素データa(1,0)が入力される
ことで |b(l+1,h)−a(1,0)| の計算が行われ、さらに、サイクル2での演算結果に加
算されてストアされ、結果として9個の候補ブロックに
対応する各候補ブロックと現画像ブロックとのディスト
ーションが計算される。
【0022】次いで、これらのディストーションの中か
ら検出された最小ディストーションに基づいて動きベク
トルが求められる。一般に、動きベクトルを探索する処
理は、ディストーションの演算と画像メモリへのアクセ
スが大部分を占め、膨大な処理を行うために高速のLS
Iが要求される。これに対し、上記動きベクトル探索装
置は、2次元のシストリックアレー構造を採用し、LS
Iチップ内に複数のプロセッサエレメントを配置して、
並列動作を行うことにより動きベクトル探索処理の高速
化を実現している。
【0023】
【発明が解決しようとする課題】しかしながら、従来の
動きベクトル探索装置にあっては、図44および図45
に示されたサーチウィンドウの画素データは、ディスト
ーションの算出に使用され、最も左の列のプロセッサエ
レメントの左方向にスキャンされると消滅し、複数の現
画像ブロックに対してそれぞれサーチウィンドウを設定
してディストーションを算出する場合、同じサーチウィ
ンドウの画素データを参照画像の画素データが記憶され
た画像メモリに何回もアクセスする必要があるため、プ
ロセッサエレメントによりディストーションを演算する
時間より、入力すべきサーチウィンドウの画素データを
画像メモリにアクセスする時間のほうが長くかかってし
まい、画像メモリへの参照画像の画素データのアクセス
速度が全体の処理速度の向上を妨げる原因となってしま
うといった問題があった。
【0024】そこで、本発明は、同じサーチウィンドウ
の画素データを共有する複数の現画像ブロックに対し
て、一つの現画像ブロックに対応するディストーション
の算出に使用されたサーチウィンドウの画素データのう
ち、プロセッサエレメントから消滅してしまう画素デー
タを保持するレジスタを設け、レジスタに保持された画
素データを再度プロセッサエレメントに戻して異なる現
画像ブロック対応するディストーションを算出すること
で、サーチウィンドウの画素データを画像メモリにアク
セスするデータ量を少なくし、相対的に動きベクトル探
索処理を高速化することができる動きベクトル探索方法
および探索装置を提供することを目的としている。
【0025】
【課題を解決するための手段】上記課題を解決するた
め、請求項1に記載の発明は、動画像を部分的に構成す
る現画像を前記動画像を部分的に構成する参照画像に基
づいて予測するのに用いられる動きベクトルを探索する
方法であり、前記現画像が画素データを有する複数行複
数列の画素により表わされる複数の現画像ブロックを含
み、前記参照画像がそれぞれ画素データを有する前記現
画像ブロックと同一サイズの複数の候補ブロックを含
み、前記現画像ブロック毎に、前記複数の候補ブロック
のうち該現画像ブロックに類似する何れか1つの候補ブ
ロックのブロック位置と該現画像ブロックのブロック位
置とによって、前記動きベクトルを特定する動きベクト
ル探索方法であって、前記複数の現画像ブロックの画素
データと、それぞれ前記参照画像の複数の候補ブロック
のうち少なくとも2つの候補ブロックを含む複数のサー
チウィンドウの画素データと、を準備する工程と、前記
サーチウィンドウおよび前記現画像ブロックのサイズに
応じた探索領域を形成し該探索領域内に前記サーチウィ
ンドウ内の各候補ブロックの画素データの一部を入力し
て保持するとともに該保持した画素データを前記探索領
域の所定方向に転送する第1の画素データ転送保持手段
と、前記第1の画素データ転送保持手段との間で画素デ
ータを授受し前記第1の画素データ転送保持手段と共に
前記サーチウィンドウの画素データを前記探索領域を通
る所定の転送経路に沿って転送する第2の画素データ転
送保持手段と、前記転送経路に沿って転送された画素デ
ータの一部を前記第1および第2の画素データ転送保持
手段から入力し出力する第3の画素データ転送保持手段
と、をそれぞれ準備する工程と、前記サーチウィンドウ
の画素データを前記第1および第2の画素データ転送保
持手段に入力するとともに、前記サーチウィンドウの各
画素列の画素データが全行一緒に列方向に往復移動しな
がら行方向に移動するよう、前記第1および第2の画素
データ転送保持手段により、前記サーチウィンドウの画
素データを前記転送経路に沿って転送するウィンドウデ
ータ転送工程と、前記現画像ブロックの画素データと前
記第1の画素データ転送保持手段に保持された画素デー
タとに基づいて、前記現画像ブロックの各々に対し、前
記現画像ブロックと前記複数の候補ブロックとの間の画
像の差を表わす複数のディストーションをそれぞれ算出
する第1のディストーション算出工程と、前記現画像ブ
ロックの各々に対し算出された複数のディストーション
の値のうち最小値を検出して、前記類似する1つの候補
ブロックを特定する類似ブロック特定工程と、を含み、
さらに、前記第1および第2の画素データ転送保持手段
に入力された前記サーチウィンドウの画素データのうち
前記サーチウィンドウの1列目から所定列分だけ各列の
画素データを前記第1および第2の画素データ転送保持
手段から排出しつつ前記第3の画素データ転送保持手段
に保持させる排出データ保持工程と、前記第3の画素デ
ータ転送保持手段に保持された画素データを前記第3の
画素データ転送保持手段から前記第1および第2の画素
データ転送保持手段に戻す画素データ戻し工程と、該画
素データ戻し工程により前記第1および第2の画素デー
タ転送保持手段に戻された画素データを用いて、前記現
画像ブロックとは異なる現画像ブロックに対応するディ
ストーション算出を行う第2のディストーション算出工
程と、を有することを特徴とする。
【0026】請求項2に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、前記現画像が画素データを有する
複数行複数列の画素により表わされる複数の現画像ブロ
ックを含み、前記参照画像がそれぞれ画素データを有す
る前記現画像ブロックと同一サイズの複数の候補ブロッ
クを含み、前記現画像ブロック毎に、前記複数の候補ブ
ロックのうち該現画像ブロックに類似する何れか1つの
候補ブロックのブロック位置と該現画像ブロックのブロ
ック位置とによって、前記動きベクトルを特定する動き
ベクトル探索装置であって、前記参照画像の画素データ
を記憶し前記候補ブロックをそれぞれ少なくとも2つ含
んだ複数のサーチウィンドウの画素データを出力可能な
参照画像データ記憶手段と、前記サーチウィンドウおよ
び前記現画像ブロックのサイズに応じた探索領域を形成
し、該探索領域内に前記サーチウィンドウ内の各候補ブ
ロックの画素データの一部を入力して保持するととも
に、該保持した画素データを前記探索領域の所定方向に
転送する第1の画素データ転送保持手段と、前記第1の
画素データ転送保持手段との間で画素データを授受し、
前記第1の画素データ転送保持手段と共に前記サーチウ
ィンドウの画素データを前記探索領域を通る所定の転送
経路に沿って転送する第2の画素データ転送保持手段
と、前記転送経路に沿って転送された画素データの一部
を前記第1および第2の画素データ転送保持手段から入
力し出力する第3の画素データ転送保持手段と、前記サ
ーチウィンドウの画素データを前記第1および第2の画
素データ転送保持手段に入力させ、前記複数のうち少な
くとも2つの候補ブロックを前記探索領域内に順次入力
させるとともに、前記サーチウィンドウの各画素列の画
素データが全行一緒に列方向に往復運動しながら行方向
に移動するよう、前記第1および第2の画素データ転送
保持手段により前記サーチウィンドウの画素データを前
記転送経路に沿って転送させるウィンドウデータ転送制
御手段と、前記現画像ブロックの画素データと前記第1
の画素データ転送保持手段に保持された画素データとに
基づいて、前記現画像ブロックの各々に対し、前記現画
像ブロックと前記複数の候補ブロックとの間の画像の差
を表わす複数のディストーションをそれぞれ算出するデ
ィストーション算出手段と、前記現画像ブロックの各々
に対し算出された複数のディストーションの値のうち最
小値を検出して、前記類似する1つの候補ブロックを特
定する類似ブロック特定手段と、前記第1および第2の
画素データ転送保持手段により画素データが転送される
とき、前記第1および第2の画素データ転送保持手段に
入力された画素データのうち前記サーチウィンドウの1
列目から所定列分だけ各列の画素データを前記第1およ
び第2の画素データ転送保持手段から排出しつつ前記第
3の画素データ転送保持手段に保持させる排出データ保
持制御手段と、該排出データ保持制御手段により前記第
3の画素データ転送保持手段に保持された画素データを
前記第3の画素データ転送保持手段から前記第1および
第2の画素データ転送手段に戻す戻しデータ転送制御手
段と、を備え、前記ディストーション算出手段が、該戻
しデータ転送制御手段により前記第3の画素データ転送
保持手段から前記第1および第2の画素データ転送保持
手段に戻された画素データを用いて、前記現画像ブロッ
クとは異なる現画像ブロックに対応するディストーショ
ン算出を行なうことを特徴とする。
【0027】請求項3に記載の発明は、請求項2に記載
の発明において、前記ディストーション算出手段により
ディストーション算出終了後、前記サーチウィンドウの
画素データがディストーション算出開始時の状態に復帰
するよう、戻しデータ転送制御手段が、前記第3の画素
データ転送保持手段に保持されたサーチウィンドウの画
素データを前記第1および第2の画素データ転送保持手
段に戻すとともに、前記ウィンドウデータ転送制御手段
が、前記第1および第2の画素データ転送保持手段に保
持されたサーチウィンドウの画素データを前記転送経路
と反対の方向に転送させ、前記ディストーション算出手
段が、前記現画像ブロックとは異なる現画像ブロックに
対応するディストーション算出を行なうことを特徴とす
る。
【0028】請求項4に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、N,Mをそれぞれ整数とすると
き、前記現画像が画素データを有するN行M列の画素に
より表わされる複数の現画像ブロックを含み、前記参照
画像がそれぞれ画素データを有する前記現画像ブロック
と同一サイズの複数の候補ブロックを含み、前記現画像
ブロック毎に、前記複数の候補ブロックのうち該現画像
ブロックに類似する何れか1つの候補ブロックのブロッ
ク位置と該現画像ブロックのブロック位置とによって、
前記動きベクトルを特定する動きベクトル探索装置であ
って、H,Lをそれぞれ整数とするとき、前記参照画像
の画素データを記憶し前記候補ブロックをそれぞれ少な
くとも2つ含んだ複数のH行L列のサーチウィンドウの
画素データを出力可能な参照画像データ記憶手段と、前
記サーチウィンドウおよび前記現画像ブロックのサイズ
に応じた(H−N+1)行(L−M+1)列の探索領域
を形成し、該探索領域内に前記サーチウィンドウ内の各
候補ブロックの画素データの一部を入力して保持すると
ともに該保持した画素データを前記探索領域の所定方向
に転送する(H−N+1)×(L−M+1)個の第1レ
ジスタを有する第1の画素データ転送保持手段と、前記
第1の画素データ転送保持手段の第1レジスタとの間で
画素データを授受する複数の第2レジスタを有し、前記
第1の画素データ転送保持手段と共に前記サーチウィン
ドウの画素データを前記探索領域を通る所定の転送経路
に沿って転送する第2の画素データ転送保持手段と、前
記転送経路に沿って転送された画素データの一部を前記
第1および第2の画素データ転送保持手段から入力し出
力する(M−1)×H個の第3レジスタを有する第3の
画素データ転送保持手段と、前記サーチウィンドウの画
素データを前記第1および第2の画素データ転送保持手
段に入力させ、前記複数のうち少なくとも2つの候補ブ
ロックを前記探索領域内に順次入力させるとともに、前
記サーチウィンドウの各画素列の画素データが全行一緒
に列方向に往復移動しながら行方向に移動するよう、前
記第1および第2の画素データ転送保持手段により前記
サーチウィンドウの画素データを前記転送経路に沿って
転送させるウィンドウデータ転送制御手段と、前記現画
像ブロックの画素データと前記第1の画素データ転送保
持手段に保持された画素データとに基づいて、前記現画
像ブロックの各々に対し、前記現画像ブロックと前記複
数の候補ブロックとの間の画像の差を表わす複数のディ
ストーションをそれぞれ算出するディストーション算出
手段と、前記現画像ブロックの各々に対し算出された複
数のディストーションの値のうち最小値を検出して、前
記類似する1つの候補ブロックを特定する類似ブロック
特定手段と、前記第1および第2画素データ転送保持手
段により画素データが転送されるとき、前記第1および
第2画素データ転送保持手段に入力された画素データの
うち前記サーチウィンドウの1列目から(M−1)列目
までの各列の画素データを前記第1および第2画素デー
タ転送保持手段から排出しつつ前記第3画素データ転送
保持手段に保持させる排出データ保持制御手段と、該排
出データ保持制御手段により前記第3の画素データ転送
保持手段に保持された画素データを前記第3の画素デー
タ転送保持手段から前記第1および第2の画素データ転
送手段に戻す戻しデータ転送制御手段と、を備え、前記
ディストーション算出手段が、該戻しデータ転送制御手
段により前記第3の画素データ転送保持手段から前記第
1および第2の画素データ転送保持手段に戻された画素
データを用いて、前記現画像ブロックとは異なる現画像
ブロックに対応するディストーション算出を行なうこと
を特徴とする。
【0029】請求項5に記載の発明は、請求項4に記載
の発明において、前記戻しデータ転送制御手段により前
記(M−1)列分の画素データが前記第3レジスタから
第1および第2レジスタに戻されると同時に、前記探索
領域の1列目の画素列に対応する第1および第2レジス
タに保持されていた画素データを、前記行方向他方側に
戻すよう転送させ、更に、これらM列分の画素データが
前記何れかの現画像ブロックに対応するディストーショ
ン算出開始時の位置に復帰したとき、前記入力画素デー
タの転送方向を再度前記行方向の一方側に切り換え、前
記ディストーション算出手段が、前記第3レジスタから
第1および第2レジスタに戻された(M−1)列分の画
素データと、前記第3レジスタに前記(M−1)列分の
画素データが入力されたとき前記探索領域の1列目の画
素列に対応する第1および第2レジスタに保持されてい
た画素データとを用いて、前記現画像ブロックとは異な
る現画像ブロックに対応するディストーション算出を開
始することを特徴とする。
【0030】請求項6に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、N,Mをそれぞれ整数とすると
き、前記現画像が画素データを有するN行M列の画素に
より表わされる複数の現画像ブロックを含み、前記参照
画像がそれぞれ画素データを有する前記現画像ブロック
と同一サイズの複数の候補ブロックを含み、前記現画像
ブロック毎に、前記複数の候補ブロックのうち該現画像
ブロックに類似する何れか1つの候補ブロックのブロッ
ク位置と該現画像ブロックのブロック位置とによって、
前記動きベクトルを特定する動きベクトル探索装置であ
って、前記参照画像の画素データを記憶し前記候補ブロ
ックをそれぞれ少なくとも2つ含んだ複数のH行L列の
サーチウィンドウの画素データを出力可能な参照画像デ
ータ記憶手段と、前記サーチウィンドウおよび前記現画
像ブロックのサイズに応じた(H−N+1)行(L−M
+1)列の探索領域を形成し、該探索領域内に前記サー
チウィンドウ内の各候補ブロックの画素データの一部を
入力して保持するとともに該保持した画素データを前記
探索領域の所定方向に転送する(H−N+1)×(L−
M+1)個の第1レジスタを有する第1の画素データ転
送保持手段と、前記第1の画素データ転送保持手段の第
1レジスタとの間で画素データを授受する複数の第2レ
ジスタを有し、前記第1の画素データ転送保持手段と共
に前記サーチウィンドウの画素データを前記探索領域を
通る所定の転送経路に沿って転送する第2の画素データ
転送保持手段と、前記転送経路に沿って転送された画素
データの一部を前記第1および第2の画素データ転送保
持手段から入力し出力するM×H個の第3レジスタを有
する第3の画素データ転送保持手段と、前記サーチウィ
ンドウの画素データを前記第1および第2の画素データ
転送保持手段に入力させるとともに、前記複数のうち少
なくとも2つの候補ブロックを前記探索領域内に順次入
力させるとともに、前記サーチウィンドウの各画素列の
画素データが全行一緒に列方向に往復移動しながら行方
向に移動するよう、前記第1および第2の画素データ転
送保持手段により前記サーチウィンドウの画素データを
前記転送経路に沿って転送させるウィンドウデータ転送
制御手段と、前記現画像ブロックの画素データと前記第
1の画素データ転送保持手段に保持された画素データと
に基づいて、前記現画像ブロックの各々に対し、前記現
画像ブロックと前記複数の候補ブロックとの間の画像の
差を表わす複数のディストーションをそれぞれ算出する
ディストーション算出手段と、前記現画像ブロックの各
々に対し算出された複数のディストーションの値のうち
最小値を検出して、前記類似する1つの候補ブロックを
特定する類似ブロック特定手段と、前記第1および第2
画素データ転送保持手段により画素データが転送される
とき、前記第1および第2画素データ転送保持手段に入
力された画素データのうち前記サーチウィンドウの1列
目からM列目までの各列の画素データを前記第1および
第2画素データ転送保持手段から排出しつつ前記第3画
素データ転送保持手段に保持させる排出データ保持制御
手段と、該排出データ保持制御手段により前記第3の画
素データ転送保持手段に保持された画素データを前記第
3の画素データ転送保持手段から前記第1および第2の
画素データ転送手段に戻す戻しデータ転送制御手段と、
を備え、前記ディストーション算出手段が、該戻しデー
タ転送制御手段により前記第3の画素データ転送保持手
段から前記第1および第2の画素データ転送保持手段に
戻された画素データを用いて、前記現画像ブロックとは
異なる現画像ブロックに対応するディストーション算出
を行なうことを特徴とする。
【0031】請求項7に記載の発明は、請求項6に記載
の発明において、前記戻しデータ転送制御手段により前
記サーチウィンドウの1列目からM列目までのM列分の
画素データが前記第3レジスタから前記何れかの現画像
ブロックに対応するディストーション算出開始時の位置
に復帰したとき、前記入力画素データの転送方向を再度
前記行方向の一方側に切り換え、前記ディストーション
算出手段が、前記第3レジスタから第1および第2レジ
スタに戻されたM列分の画素データを用いて、前記現画
像ブロックとは異なる現画像ブロックに対応するディス
トーション算出を開始することを特徴とする。
【0032】請求項8に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、前記現画像が画素データを有する
複数行複数列の画素により表わされる複数の現画像ブロ
ックを含み、前記参照画像がそれぞれ画素データを有す
る前記現画像ブロックと同一サイズの複数の候補ブロッ
クを含み、前記現画像ブロック毎に、前記複数の候補ブ
ロックのうち該現画像ブロックに類似する何れか1つの
候補ブロックのブロック位置と該現画像ブロックのブロ
ック位置とによって、前記動きベクトルを特定する動き
ベクトル探索装置であって、前記参照画像の画素データ
を記憶し前記候補ブロックをそれぞれ少なくとも2つ含
んだ複数のサーチウィンドウの画素データを出力可能な
参照画像データ記憶手段と、前記サーチウィンドウおよ
び前記現画像ブロックのサイズに応じた探索領域を形成
し、該探索領域内に前記サーチウィンドウ内の各候補ブ
ロックの画素データの一部を入力して保持するととも
に、該保持した画素データを前記探索領域の所定方向に
転送する第1の画素データ転送保持手段と、前記第1の
画素データ転送保持手段との間で画素データを授受し、
前記第1の画素データ転送保持手段と共に前記サーチウ
ィンドウの画素データを前記探索領域を通る所定の転送
経路に沿って転送する第2の画素データ転送保持手段
と、前記転送経路に沿って転送された画素データの一部
を前記第1および第2の画素データ転送保持手段から入
力し出力する第3の画素データ転送保持手段と、前記参
照画像データ記憶手段から前記複数のうち何れかのサー
チウィンドウの一部の画素データを含む所定画素領域分
ずつ画素データを読み出して記憶するとともに、記憶済
のサーチウィンドウの画素データを前記参照画像データ
記憶手段からのデータ転送速度より大きい転送速度で前
記第1および第2の画素データ転送保持手段に供給する
高速転送記憶手段と、前記高速転送記憶手段に記憶され
たサーチウィンドウの画素データを前記第1および第2
の画素データ転送保持手段に入力させ、前記複数のうち
少なくとも2つの候補ブロックを前記探索領域内に順次
入力させるとともに、前記サーチウィンドウの各画素列
のデータを全行一緒に列方向に往復運動させながら行方
向に移動するよう、前記第1および第2の画素データ転
送保持手段により前記サーチウィンドウの画素データを
前記転送経路に沿って転送させるウィンドウデータ転送
制御手段と、前記現画像ブロックの画素データと前記第
1の画素データ転送保持手段に保持された画素データと
に基づいて、前記現画像ブロックの各々に対し、前記現
画像ブロックと前記複数の候補ブロックとの間の画像の
差を表わす複数のディストーションをそれぞれ算出する
ディストーション算出手段と、前記現画像ブロックの各
々に対し算出された複数のディストーションの値のうち
最小値を検出して、前記類似する1つの候補ブロックを
特定する類似ブロック特定手段と、前記第1および第2
画素データ転送保持手段により画素データが転送される
とき、前記第1および第2画素データ転送保持手段に入
力された画素データのうち前記サーチウィンドウの1列
目から所定列分だけ各列の画素データを前記第1および
第2画素データ転送保持手段から排出しつつ前記第3画
素データ転送保持手段に保持させる排出データ保持制御
手段と、該排出データ保持制御手段により前記第3の画
素データ転送保持手段に保持された画素データを前記第
3の画素データ転送保持手段から前記第1および第2の
画素データ転送手段に戻す戻しデータ転送制御手段と、
を備え、前記高速転送記憶手段が、前記参照画像データ
記憶手段から読み出し記憶している前記所定画素領域分
の画素データのうち、前記探索領域内に戻された画素デ
ータに続く転送順序の画素データを前記第1および第2
の画素データ転送保持手段に再度入力させ、前記ディス
トーション算出手段が、前記戻しデータ転送制御手段に
より前記第3画素データ転送保持手段から前記第1およ
び第2の画素データ転送保持手段に戻された画素データ
と、前記高速転送記憶手段から前記第1および第2の画
素データ転送保持手段に再度入力された画素データとを
用いて、前記現画像ブロックとは異なる現画像ブロック
に対応するディストーション算出を行なうことを特徴と
する。
【0033】請求項9に記載の発明は、請求項8に記載
の発明において、前記第3画素データ転送保持手段から
前記第1および第2の画素データ転送保持手段に画素デ
ータが戻され、該画素データに続く転送順序の画素デー
タが前記高速転送記憶手段から前記第1および第2の画
素データ転送保持手段に再度入力されることにより、前
記複数のうち何れかのサーチウィンドウの一部の画素デ
ータが前記探索領域に供給されるとき、前記何れかのサ
ーチウィンドウの残部の画素データを前記参照画像デー
タ記憶手段から読み出して前記高速転送記憶手段に記憶
させることを特徴とする。
【0034】請求項10に記載の発明は、請求項4〜9
の何れかに記載の発明において、前記第3の画素データ
転送保持手段が、前記探索領域内におけるディストーシ
ョン算出開始時の画素データの位置を保って画素データ
を入力し出力することを特徴とする。請求項11に記載
の発明は、請求項2〜5および8〜10の何れかに記載
の発明において、前記現画像ブロックおよび候補ブロッ
クがそれぞれ偶数の画素列を有することを特徴とする。
【0035】請求項12に記載の発明は、請求項2およ
び3並びに6〜10の何れかに記載の発明において、前
記現画像ブロックおよび候補ブロックがそれぞれ奇数の
画素列を有することを特徴とする。請求項13に記載の
発明は、請求項4〜12の何れかに記載の発明におい
て、前記ディストーション算出手段が、前記第1レジス
タと共に二次元的に配列された複数の演算器を有するシ
ストリックアレー構造の演算回路によって構成されるこ
とを特徴とする。
【0036】請求項14に記載の発明は、請求項4〜1
3の何れかに記載の発明において、前記複数の第2レジ
スタのうち、一部の第2レジスタが各列同数になるよう
(N−1)×(L−M+1)個設けられ、前記探索領域
の列方向の一方向に転送された画素データを入力して出
力するととともに、残りの第2レジスタが各列同数にな
るよう(N−1)×(L−M+1)個設けられ、前記探
索領域の列方向の他方向に転送された画素データを入力
して出力することを特徴とする。
【0037】請求項15に記載の発明は、請求項4〜1
3の何れかに記載の発明において、前記第2レジスタ
が、各列同数になるよう(N−1)×(L−M+1)個
設けられ、前記探索領域の列方向両端の画素に対応する
第1レジスタ間に介在して画素データを転送することを
特徴とする。
【0038】
【発明の実施の形態】以下、本発明の好ましい実施の形
態を図面に基づいて説明する。本実施形態の動きベクト
ル探索装置は、図1に示すように、サーチウィンドウお
よび現画像ブロックのサイズに応じた探索領域を形成
し、この探索領域内にサーチウィンドウ内の各候補ブロ
ックの画素データの一部を入力して保持するとともに、
保持した画素データを探索領域の所定方向に転送する第
1の画素データ転送保持手段1と、第1の画素データ転
送保持手段1との間で画素データを授受し、第1の画素
データ転送保持手段1と共にサーチウィンドウの画素デ
ータを探索領域を通る所定の転送経路に沿って転送する
第2の画素データ転送保持手段2と、サーチウィンドウ
の画素データを第1の画素データ転送保持手段1および
第2の画素データ転送保持手段2に入力させ、複数のう
ち少なくとも2つの候補ブロックを探索領域内に順次入
力させるとともに、サーチウィンドウの各画素列の画素
データが全行一緒に列方向に往復運動しながら行方向に
移動するよう、第1の画素データ転送保持手段1および
第2の画素データ転送保持手段2によりサーチウィンド
ウの画素データを転送経路に沿って転送させるウィンド
ウデータ転送制御手段4と、現画像ブロックの画素デー
タと第1の画素データ転送保持手段1に保持されたサー
チウィンドウの画素データとに基づいて、現画像ブロッ
クの各々に対し、現画像ブロックと複数の候補ブロック
との間の画像の差を表わす複数のディストーションをそ
れぞれ算出するディストーション算出手段5と、現画像
ブロックの各々に対し算出された複数のディストーショ
ンの値のうち最小値を検出して、類似する1つの候補ブ
ロックを特定する類似ブロック特定手段6と、を備えて
いる。動きベクトル探索装置は、まず、ウィンドウデー
タ転送制御手段4によって参照画像の画素データが記憶
された図外の参照画像メモリから所望のサーチウィンド
ウの画素データを第1の画素データ転送保持手段1およ
び第2の画素データ転送保持手段2に入力させ、次い
で、複数のうち少なくとも2つの候補ブロックを探索領
域内に順次入力させるとともに、サーチウィンドウの各
画素列の画素データが全行一緒に列方向に往復運動しな
がら行方向に移動するよう、第1の画素データ転送保持
手段1および第2の画素データ転送保持手段2によりサ
ーチウィンドウの画素データを転送経路に沿って転送さ
せる。
【0039】次に、ディストーション算出手段5により
現画像の画素データが記憶された図外の現画像メモリか
ら所望の現画像ブロックの画素データを入力し、入力さ
れた現画像ブロックの画素データと第1の画素データ転
送保持手段1に保持されたサーチウィンドウの画素デー
タとに基づいて、現画像ブロックの各々に対し、現画像
ブロックと複数の候補ブロックとの間の画像の差を表わ
す複数のディストーションをそれぞれ算出する。
【0040】次に、類似ブロック特定手段6により、現
画像ブロックの各々に対し算出された複数のディストー
ションの値のうち最小値を検出して、類似する1つの候
補ブロックを特定する。動きベクトル探索装置は、さら
に、転送経路に沿って転送された画素データの一部を前
記第1の画素データ転送保持手段1および第2の画素デ
ータ転送保持手段2から入力し出力する第3の画素デー
タ転送保持手段3と、第1の画素データ転送保持手段1
および第2の画素データ転送保持手段2により画素デー
タが転送されるとき、前記第1の画素データ転送保持手
段1および第2の画素データ転送保持手段2に入力され
た画素データのうち前記サーチウィンドウの1列目から
所定列分だけ各列の画素データを前記第1の画素データ
転送保持手段1および第2の画素データ転送保持手段2
から排出しつつ前記第3の画素データ転送保持手段3に
保持させる排出データ保持制御手段7と、この排出デー
タ保持制御手段7により前記第3の画素データ転送保持
手段3に保持された画素データを第3の画素データ転送
保持手段3から前記第1の画素データ転送手段1および
第2の画素データ転送手段2に戻す戻しデータ転送制御
手段8と、を備えている。
【0041】動きベクトル探索装置は、ディストーショ
ン算出手段5によるディストーション算出時に第3の画
素データ転送保持手段に保持されたサーチウィンドウの
画素データを、ディストーション算出後、再度第1の画
素データ転送保持手段1および第2の画素データ転送保
持手段2に戻すことにより、始めにディストーションが
算出された現画像ブロックとは異なる現画像ブロックに
対応するディストーション算出を行なうものである。
【0042】さて、H、L、NおよびMを整数とし、H
行L列の画素からなるサーチウィンドウからN行M列の
画素からなる現画像ブロックに対応する動きベクトルを
探索する場合、探索範囲は、(H−N+1)×(L−M
+1)個の候補ブロックによって表される。ディストー
ション算出手段5は、これらの候補ブロックと同数の演
算器を有し、各演算器においてそれぞれの候補ブロック
と現画像ブロックに対応するディストーションが並列処
理により同時に算出するように構成される。
【0043】ところで、より広い探索範囲から動きベク
トルを求めたい場合には、演算器の数を増やして動きベ
クトル探索装置を構成することで広い探索範囲から動き
ベクトルを求めることができるが、例えば、この探索範
囲の2倍の探索範囲を取りたい場合、探索範囲を左半分
の探索範囲と右半分の探索範囲に分割し、それぞれディ
ストーションを求め、これらのディストーションに基づ
いて動きベクトルを探索することで、回路規模が膨大と
なることを防止することができる。
【0044】すなわち、図2に示すように、現画像ブロ
ック201の探索範囲511は、探索範囲501と探索
範囲502とに分割され、現画像ブロック201の水平
走査側に隣接する現画像ブロック202の探索範囲51
2は、探索範囲502と探索範囲503とに分割され、
現画像ブロック203の探索範囲513は、探索範囲5
03と探索範囲に分割されることによってそれぞれの現
画像ブロックに対応する動きベクトルを求めることがで
きる。
【0045】この場合、各探索範囲501,502,5
03,504の列数(L−M+1)と各現画像ブロック
201,202,203の列数Mが等しいので、探索範
囲502は、現画像ブロック201の右半分の探索範囲
であるとともに、現画像202の左半分の探索範囲であ
り、探索範囲503は、現画像ブロック202の右半分
の探索範囲であるとともに、現画像ブロック203の左
半分の探索範囲である。
【0046】すなわち、各現画像ブロックは、互いに隣
接する現画像ブロックと右半分および左半分の何れか一
方の探索範囲のサーチウィンドウを共有してディストー
ションを算出することになる。動きベクトル探索装置
は、まず、探索範囲501と現画像ブロック201とに
対応するディストーションを算出し、探索範囲502と
現画像ブロック201とに対応するディストーションを
算出する。次いで、探索範囲502と現画像ブロック2
02に対応するディストーションを算出し、探索範囲5
03と現画像ブロック202に対応するディストーショ
ン算出する。以降、探索範囲および現画像ブロックにそ
れぞれ対応する画素データを交互に2回ずつ用いて順次
ディストーションを算出することで、2倍の探索範囲か
らそれぞれの現画像ブロックに対応する動きベクトルを
求めることができる。
【0047】なお、この場合、探索範囲の列数(L−M
+1)と現画像ブロックの列数Mが等しいが、探索範囲
の列数(L−M+1)は、現画像ブロックの列数Mの整
数倍が望ましい。このように、同じサーチウィンドウの
画素データを共有する複数の現画像ブロックに対して、
サーチウィンドウの画素データと一つの現画像ブロック
の画素データとによりディストーションを算出し、この
とき第1の画素データ転送保持手段1および第2の画素
データ転送保持手段2から排出されたサーチウィンドウ
の画素データを第3の画素データ転送保持手段3に保持
し、保持されたサーチウィンドウの画素データを再度第
1の画素データ転送保持手段1および第2の画素データ
転送保持手段2に戻して異なる現画像ブロックに対応す
るディストーションを算出することができるので、図外
の参照画像メモリに所望のサーチウィンドウの画素デー
タをアクセスするデータ量を少なくすることができ、相
対的にサーチウィンドウの画素データのアクセス時間を
短縮することができる。従って、動きベクトル探索処理
を高速化することができる。
【0048】さらに、動きベクトル探索装置は、参照画
像の画素データが記憶された図外の参照画像メモリから
所望のサーチウィンドウの一部の画素データを含む所定
画素領域分ずつ画素データを読み出して記憶するととも
に、記憶済のサーチウィンドウの画素データを前記参照
画像メモリからのデータ転送速度より大きい転送速度で
前記第1の画素データ転送保持手段1および第2の画素
データ転送保持手段2に供給する高速転送記憶手段9を
備えることが望ましい。サーチウィンドウの画素データ
は現画像ブロックの画素データと比較して膨大であるた
め、高速転送記憶手段9により、効率的に画素データを
アクセスすることができる。
【0049】すなわち、予め所望のサーチウィンドウの
画素データを参照画像メモリから読み出して高速転送記
憶手段に記憶しておき、現画像ブロックに対応するディ
ストーション算出時には、参照画像メモリにアクセスせ
ず、高速転送記憶手段に繰り返しアクセスして第の画素
データ転送保持手段1および第2画素データ転送保持手
段2にサーチウィンドウの画素データを供給することが
できる。このため、第1および第2の画素データ転送保
持手段にサーチウィンドウの画素データを高速に転送す
ることができる。また、参照画像メモリは、高速メモリ
である必要がないので、安価なメモリで構成することが
でき、メモリのコストを低減することができる。
【0050】
【実施例】以下、本発明の実施例を図面を参照して説明
する。 (実施例1)図3〜図34は、本発明に係る実施例1の
動きベクトル探索装置を示す図である。
【0051】図3に示すように、動きベクトル探索装置
は、現画像メモリ1000、参照画像メモリ2000、
ウィンドウデータ転送ユニット3000、類似ブロック
特定ユニット4000、水平サイドレジスタユニット5
000およびシステム制御ユニット6000によって構
成される。現画像メモリ1000は、揮発性メモリによ
って構成され、現画像をフレームまたはフィールド単位
で記憶する。
【0052】ここで、図4に示すように、現画像は、N
行M列の画素からなる現画像ブロックに分割され、ブロ
ック単位で符号化が行われる。現画像ブロックは任意の
サイズでよいが、説明を容易にするため、現画像ブロッ
クを3行3列の画素からなるブロックとする。ここで、
現画像ブロックは、水平走査方向をxとし、垂直走査方
向をyとし、座標(x,y)を付して表し、現画像ブロ
ック211の各画素データを a(0,0),a(0,1),a(0,2) ,a(1,0),a(1,1),a(1,2) ,a(2,0),a(2,1),a(2,2) のように表し、現画像ブロック211の水平方向に隣接
する現画像ブロック212の各画素データを a(3,0),a(3,1),a(3,2) ,a(4,0),a(4,1),a(4,2) ,a(5,0),a(5,1),a(5,2) によって表すものとする。これらの画素データは、出力
端子Rを通してシステム制御ユニット6000によって
読み出され、ウィンドウデータ転送ユニット3000に
転送される。
【0053】参照画像メモリ2000は、揮発性メモリ
によって構成され、現画像メモリ1000に記憶された
符号化すべき現画像が参照する参照画像をフレームまた
はフィールド単位で記憶する。ここで、図4に示すよう
に、サーチウィンドウは、現画像ブロックより大きけれ
ば任意のH行L列の画素によって構成してよいが、説明
を容易にするため、5行5列の画素データによって構成
されるものとする。また、サーチウィンドウ401の各
画素データは、現画像ブロックと同様に座標(x,y)
を付して b(0,0),b(0,1),b(0,2),b(0,3),b(0,4) ,b(1,0),b(1,1),b(1,2),b(1,3),b(1,4) ,b(2,0),b(2,1),b(2,2),b(2,3),b(2,4) ,b(3,0),b(3,1),b(3,2),b(3,3),b(3,4) ,b(4,0),b(4,1),b(4,2),b(4,3),b(4,4) のように表すものとする。これらの画素データは、参照
画像メモリ2000の出力端子S0およびS1を通して
システム制御ユニット6000によって読み出され、ウ
ィンドウデータ転送ユニット3000に転送される。
【0054】これにより、現画像ブロック211または
212とサーチウィンドウ401とから(H−N+1)
×(L−M+1)=9個の候補ブロック301が設定可
能となる。ウィンドウデータ転送ユニット3000は、
図5に示すように、さらに、プロセッサユニット310
0、第1垂直サイドレジスタユニット3200、第2垂
直サイドレジスタユニット3300および入力レジスタ
ユニット3400によって構成される。
【0055】プロセッサユニット3100は、サーチウ
ィンドウ内の9個の候補ブロックにそれぞれ対応する9
個のプロセッサエレメントPEによって構成され、各プ
ロセッサエレメントPEにおいて、互いに位置的に対応
する候補ブロックの画素データと現画像ブロックの画素
データとを入力し、その差分値を求め、これらの差分値
を正数変換した局所ディストーションを総和することで
ディストーションを算出する。
【0056】第1垂直サイドレジスタユニット3200
および第2垂直サイドレジスタユニット3300は、そ
れぞれ6個の垂直サイドレジスタVSによって構成され
る。各垂直サイドレジスタVSは、各プロセッサエレメ
ントPEに入力されたそれぞれのサーチウィンドウの画
素データを全体として図5における上下方向に転送する
ように設けられたバッファである。
【0057】入力レジスタユニット3400は、7個の
入力レジスタIRによって構成され、現画像ブロックの
画素データに位置的に対応するサーチウィンドウの画素
データが各候補ブロックに対応するそれぞれのプロセッ
サエレメントPEに同時に入力されるように設けられた
バッファである。参照画像メモリ2000の出力端子S
0およびS1を通して読み出されたサーチウィンドウの
画素データは、まず、入力レジスタIR(3,0)およ
び入力レジスタIR(3,3)にそれぞれ入力され、次
いで、隣接する他の入力レジスタIR、垂直サイドレジ
スタVSまたはプロセッサエレメントPEに転送され
る。
【0058】ここで、各プロセッサエレメントPE、各
垂直サイドレジスタVS、各入力レジスタIRおよび後
述する各水平サイドレジスタHSは、プロセッサエレメ
ントPE(0,0)を原点として図5における垂直方向
の位置を x=−3,−2,−1,0,1,2,3 とし、水平方向の位置を y=−2,−1,0,1,2,3,4 として座標(x,y)を付して表すものとする。
【0059】すなわち、ウィンドウデータ転送ユニット
3000は、参照画像メモリ2000の出力端子S0お
よびS1を通して読み出されたサーチウィンドウの画素
データをそれぞれ入力レジスタIR(3,0)およびI
R(3,3)に入力し、入力された画素データを互いに
隣接する各レジスタおよび各プロセッサエレメント間で
図5における上下方向および左方向に繰り返し転送して
保持させ、各プロセッサエレメントPEにおいて、各候
補ブロックの画素データと現画像ブロックの画素データ
に基づいてディストーションを算出する。
【0060】また、ウィンドウデータ転送ユニット30
00は、後述する水平サイドレジスタユニットの各水平
サイドレジスタSHと協動して、各水平サイドレジスタ
HS、各垂直サイドレジスタVSおよび各プロセッサエ
レメントPE間で、サーチウィンドウの画素データを右
方向にも繰り返し転送して保持させる。類似ブロック特
定ユニット4000は、プロセッサユニット3100に
よって算出されたディストーションを入力し、入力され
たディストーションの中から最小のディストーションM
inDisを検出して、検出された最小ディストーショ
ンMinDisが算出されたプロセッサエレメントPE
の位置情報に基づいて現画像ブロックに対応するサーチ
ウィンドウ内の候補ブロックを特定し、動きベクトルM
Vを求める。
【0061】水平サイドレジスタユニット5000は、
15個の水平サイドレジスタHSによって構成され、プ
ロセッサユニット3100および第2垂直サイドレジス
タユニット3300から出力されたサーチウィンドウの
画素データを入力し、入力された画素データを隣接する
各水平サイドレジスタHS間で図5における左方向に繰
り返し転送して保持するとともに、各水平サイドレジス
タHSに保持された画素データを右方向に繰り返し転送
して再びプロセッサユニット3100および第2垂直サ
イドレジスタユニット3300に戻す。
【0062】システム制御ユニット6000は、現画像
メモリ1000および参照画像メモリ2000から所望
の画素データを読み出してウィンドウデータ転送ユニッ
ト3000に転送するとともに、ウィンドウデータ転送
ユニット3000、類似ブロック特定ユニット4000
および水平サイドレジスタユニット5000にそれぞれ
信号を出力し、各ユニットの動作を制御する。
【0063】本実施例1における動きベクトル探索装置
では、図6に示すように、まず、サーチウィンドウ40
1の画素データと現画像ブロック211の画素データと
に基づいてプロセッサユニット3100によってディス
トーションが算出されるとともに、ディストーション算
出時にウィンドウ転送ユニット3000において転送さ
れたサーチウィンドウ401の画素データのうち一部の
画素データが水平サイドレジスタユニット5000に保
持され、次いで、算出されたディストーションに基づい
て類似ブロック特定ユニット4000によって動きベク
トルMVが求められる。
【0064】次に、水平サイドレジスタユニット500
0に保持されたサーチウィンドウ401の画素データが
再びサーチウィンドウ転送ユニット3000に戻され、
サーチウィンドウ401の画素データと現画像212の
画素データとに基づいてプロセッサユニット3100に
よってディストーションが算出され、次いで、算出され
たディストーションに基づいて類似ブロック特定ユニッ
ト4000によって動きベクトルMVが求められる。
【0065】次に、サーチウィンドウ401の水平走査
方向にM画素分シフトしたサーチウィンドウ402の画
素データと現画像212の画素データとに基づいてプロ
セッサユニット3100によってディストーションが算
出され、次いで、算出されたディストーションに基づい
て類似ブロック特定ユニット4000によって動きベク
トルMVが求められる。
【0066】以降、ディストーション算出時に水平サイ
ドレジスタユニット5000に保持されたサーチウィン
ドウ401の画素データを再びサーチウィンドウ転送ユ
ニット3000に戻すことにより、ひとつのサーチウィ
ンドウに対して2つの現画像ブロックに対応するディス
トーションが算出され、算出されたディストーションに
基づいて類似ブロック特定ユニット4000によって動
きベクトルMVが求められる。言い換えれば、一つの現
画像ブロックに対して2つのサーチウィンドウからそれ
ぞれディストーションが算出されることになる。
【0067】すなわち、サーチウィンドウ401は、現
画像ブロック212に対応するサーチウィンドウである
とともに、現画像213に対応するサーチウィンドウで
あり、サーチウィンドウ402は、現画像ブロック21
2に対応するサーチウィンドウであるとともに、現画像
213に対応するサーチウィンドウである。言い換えれ
ば、現画像ブロック212は、サーチウィンドウ401
とサーチウィンドウ402とに基づいてそれぞれディス
トーションが算出され、現画像ブロック213は、サー
チウィンドウ402とサーチウィンドウ403とに基づ
いてそれぞれディストーションが算出されることにな
る。
【0068】以下、現画像ブロックに対応する2つのサ
ーチウィンドウのうち、図6における左側に位置するサ
ーチウィンドウを左半分サーチウィンドウと呼び、図6
における右側に位置するサーチウィンドウを右半分サー
チウィンドウと呼ぶこととする。また、現画像ブロック
の左半分サーチウィンドウから算出されたディストーシ
ョンを左半分ディストーションと呼び、現画像ブロック
の右半分サーチウィンドウから算出されたディストーシ
ョンを右半分ディストーションと呼ぶこととする。な
お、現画像ブロック211は、右半分サーチウィンドウ
であるサーチウィンドウ401から右半分ディストーシ
ョンのみが求められることになる。
【0069】次に、システム制御ユニット6000から
各ユニットに出力される信号について説明する。図7に
示すように、システム制御ユニット6000は、出力端
子P1〜P10を有し、各出力端子を通して出力される
それぞれの信号によりウィンドウデータ転送ユニット3
000、類似ブロック特定ユニット4000および水平
サイドレジスタユニット5000の各ユニットの動作を
制御する。
【0070】これらの信号は、2値のパルス信号であ
り、ローレベルのときには0を表し、ハイレベルのとき
には1を表す。以下、図8〜図14に示されたタイムチ
ャートに基づいてそれぞれの信号について説明する。な
お、図8〜図12は、サーチウィンドウ転送ユニット3
000および水平サイドレジスタユニット5000の動
作を示すタイムチャートであり、これらの図に示された
Rは、システム制御部6000により現画像メモリ10
00の出力端子Rを通して読み出された現画像ブロック
の画素データを表し、S0およびS1はそれぞれ、シス
テム制御ユニット6000により参照画像メモリ200
0の出力端子S0およびS1を通して読み出されたサー
チウインドウの画素データを表す。
【0071】また、図13および図14は、類似ブロッ
ク特定ユニット4000の動作を示すタイムチャートで
ある。出力端子P1を通して出力されるクロックパルス
信号CK1は、本装置のマスター信号であり、周期の1
/2のパルス幅を持つ。他の信号の動作はこのクロック
パルス信号CK1を基準として設定される。
【0072】システム制御ユニット6000は、このク
ロックパルス信号CK1のダウンエッジに同期して現画
像メモリ1000および参照画像メモリ2000から所
望の画素データを読み出し、ウィンドウデータ転送ユニ
ット3000に転送する。ウィンドウデータ転送ユニッ
ト3000のプロセッサエレメントPEおよび各レジス
タ、並びに、水平サイドレジスタユニット5000の各
レジスタは、このクロックパルス信号CK1の立ち上り
に同期してサーチウィンドウの画素データを入力して出
力する。
【0073】また、プロセッサユニット3100の各プ
ロセッサエレメントPEは、クロックパルス信号CK1
の立ち上りに同期して現画像ブロックの画素データを入
力する。なお、図8に示すように、システム制御ユニッ
ト6000により読み出された最初のサーチウィンドウ
401の画素データがウィンドウデータ転送ユニット3
000に入力されるクロックパルス信号CK1のパルス
を1クロック目(期間C1)として数えることにする。
【0074】出力端子P2を通して出力されるパルス信
号CK2は、クロックパルス信号CK1と同じ動作を行
う信号である。出力端子P3を通して出力されるパルス
信号SUは、ウィンドウデータ転送ユニット3000の
各プロセッサエレメントPEおよび各レジスタVS,I
Rに出力され、互いに隣接する各プロセッサエレメント
PEおよび各レジスタVS,IR間でサーチウィンドウ
の画素データを全体として図5における上下方向に転送
するように制御するものである。ここで、パルス信号S
Uが0のときには、サーチウィンドウの画素データが全
体として上から下に転送され、パルス信号SUが1のと
きには、サーチウィンドウの画素データが全体として下
から上に転送される。
【0075】パルス信号SUは、クロックパルス信号C
K1のパルス幅の6倍のパルス幅を持ち、まず、クロッ
クパルス信号CK1の3クロック目のダウンエッジに同
期して立ち上り、18クロック目までクロックパルス信
号CK1の周期の6倍の周期で立ち上るように出力され
る。次いで、2クロック後のクロックパルス信号CK1
の20クロック目のダウンエッジに同期して立ち上り、
37クロック目までの18クロックにおいて、同様に順
次6倍の周期で立ち上るように出力される。次いで、2
クロック後のクロックパルス信号CK1の39クロック
目のダウンエッジに同期して立ち上る。すなわち、パル
ス信号SUは、クロックパルス信号CK1の20クロッ
ク目以降、20クロック目から38クロック目までの1
9クロックを1サイクルとし、このサイクルを順次繰り
返す。
【0076】また、以下に説明するシステム制御ユニッ
ト6000の出力端子P3〜P10を通して出力される
他の信号も、パルス信号SUと同様に、それぞれ20ク
ロック目以降クロックパルス信号CK1の19クロック
を1サイクルとして、順次同じ動作を繰り返す。出力端
子P4を通して出力されるパルス信号SLは、ウィンド
ウデータ転送ユニット3000の各プロセッサエレメン
トPEおよび各レジスタVS,IRに出力され、互いに
隣接する各プロセッサエレメントPEおよび各レジスタ
VS,IR間でサーチウィンドウの画素データを全体と
して図5における左方向に転送するように制御するもの
である。
【0077】パルス信号SLは、クロックパルス信号C
K1のパルス幅の2倍のパルス幅を持ち、サーチウィン
ドウ転送ユニット3000に入力される最初のサーチウ
ィンドウ401の画素データがシステム制御ユニット6
000により読み出されると同時に立ち上り、以後18
クロック目までクロックパルス信号CK1の周期の3倍
の周期で立ち上るように出力される。次いで、2クロッ
ク後のクロックパルス信号CK1の20クロック目のダ
ウンエッジに同期して立ち上り、37クロック目までの
18クロックにおいて3倍の周期で動作を繰り返す。次
いで、2クロック後のクロックパルス信号CK1の39
クロック目以降は、20クロック目から38クロック目
と同じ動作を繰り返す。
【0078】出力端子P5を通して出力されるパルス信
号SHは、水平サイドレジスタユニット5000の各水
平サイドレジスタHSに出力され、ウィンドウデータ転
送ユニット3000の1列目のプロセッサエレメントP
E(0,y)および垂直サイドレジスタ(0,y)から
出力されたサーチウィンドウの画素データをそれぞれ左
方向の水平サイドレジスタHSに繰り返し転送して保持
するように制御するものである。
【0079】パルス信号SHは、まず、クロックパルス
信号CK1の10クロック目のダウンエッジに同期して
立ち上り、クロックパルス信号CK1の11クロック目
のダウンエッジに同期してダウンする。次いで、クロッ
クパルス信号CK1の15クロック目のダウンエッジに
同期して立ち上り、クロックパルス信号CK1の17ク
ロック目のダウンエッジに同期してダウンする。次い
で、クロックパルス信号CK1の20クロック目から3
8クロック目の19クロックにおいては、クロックパル
ス信号CK1の31クロック目で立ち上り、クロックパ
ルス信号CK1の33クロック目でダウンする。次い
で、39クロック目以降は、20クロック目から38ク
ロック目と同じ動作を繰り返す。
【0080】出力端子P6を通して出力されるパルス信
号SRは、ウィンドウデータ転送ユニット3000の各
プロセッサエレメントPEおよび各垂直サイドレジスタ
VS、並びに、水平サイドレジスタユニット5000の
各水平サイドレジスタHSに出力され、互いに隣接する
各プロセッサエレメントPEおよび各レジスタHS,V
S間でサーチウィンドウの画素データを全体として図5
における右方向に転送するように制御するものである。
パルス信号SRは、ディストーション算出後、各プロセ
ッサエレメントおよび各レジスタに保持されたサーチウ
ィンドウの画素データを再度ディストーション算出開始
状態に戻すものである。
【0081】パルス信号SRは、まず、クロックパルス
信号CK1の18クロック目のダウンエッジに同期して
立ち上り、クロックパルス信号CK1の21クロック目
のダウンエッジに同期してダウンする。クロックパルス
信号CK1の20クロック目から38クロック目の19
クロックにおいては、クロックパルス信号CK1の21
クロック目でダウンした後、クロックパルス信号CK1
の38クロック目で立ち上がる。次いで、39クロック
目以降は、20クロック目から38クロック目と同じ動
作を繰り返す。
【0082】出力端子P7から出力されるパルス信号C
Lは、プロセッサユニット3100の各プロセッサエレ
メントPEに出力され、ディストーションを算出する動
作の初期状態を設定するものである。パルス信号CL
は、クロックパルス信号CK1のパルス幅の2倍のパル
ス幅を持ち、まず、クロックパルス信号CK1の9クロ
ック目のダウンエッジに同期して立ち上る。次いで、ク
ロックパルス信号CK1の20クロック目から38クロ
ック目の19クロックにおいては、クロックパルス信号
CK1の20クロック目のダウンエッジに同期して立ち
上り、クロックパルス信号CK1の29クロック目のダ
ウンエッジに同期して立ち上る。次いで、39クロック
目以降は、20クロック目から38クロック目と同じ動
作を繰り返す。
【0083】出力端子P8から出力されるパルス信号L
D1は、プロセッサユニット3100の各プロセッサエ
レメントPEに出力され、各プロセッサエレメントPE
で算出されたそれぞれのディストーションを隣接する左
方向のプロセッサエレメントPEに転送するとともに、
1列目のプロセッサエレメントPE(0,y)の場合に
は、類似ブロック特定ユニット4000に転送するよう
に制御するものである。
【0084】パルス信号LD1は、クロックパルス信号
CK1のパルス幅の2倍のパルス幅を持ち、まず、クロ
ックパルス信号CK1の18クロック目のダウンエッジ
に同期して立ち上るように出力される。次いで、クロッ
クパルス信号CK1の20クロック目から38クロック
目の19クロックにおいては、クロックパルス信号CK
1の29クロック目のダウンエッジに同期して立ち上
り、クロックパルス信号CK1の38クロック目のダウ
ンエッジに同期して立ち上るように出力される。次い
で、39クロック目以降は、20クロック目から38ク
ロック目と同じ動作を繰り返す。
【0085】出力端子P9から出力されるパルス信号L
D2は、類似ブロック特定ユニット4000に出力さ
れ、プロセッサユニット3100で算出されたディスト
ーションから最小のディストーションを求める動作の初
期状態を設定するものである。パルス信号LD2は、ク
ロックパルス信号CK1のパルス幅の2倍のパルス幅を
持ち、パルス信号LD1のダウンエッジに同期して立ち
上るように出力される。
【0086】出力端子P10から出力されるパルス信号
SMVは、類似ブロック特定ユニット4000に出力さ
れ、類似ブロック特定ユニット4000で特定された最
小ディストーションMinDisおよび動きベクトルM
Vを本装置の外部に出力するように制御するものであ
る。パルス信号SMVは、クロックパルス信号CK1の
パルス幅の2倍のパルス幅を持ち、クロックパルス信号
CK1の20クロック目から38クロック目の19クロ
ックにおいては、クロックパルス信号CK1の23クロ
ック目のダウンエッジに同期して立ち上り、クロックパ
ルス信号CK1の34クロック目のダウンエッジに同期
して立ち上るように出力される。39クロック目以降
は、20クロック目から38クロック目と同じ動作を繰
り返す。
【0087】さらに、ウィンドウデータ転送ユニット3
000に入力される現画像ブロックの画素データとサー
チウィンドウの画素データについて説明する。図8〜図
12に示すように、現画像ブロックの画素データは、ク
ロックパルス信号CK1のダウンエッジに同期してシス
テム制御ユニット6000により現画像メモリ1000
から出力端子Rを通して読み出され、次のパルスの立ち
上りに同期して各プロセッサエレメントPEに同時に入
力される。
【0088】クロックパルス信号CK1の10クロック
目から18クロック目において、現画像ブロック211
の画素データは、 a(0,0),a(0,1),a(0,2) ,a(1,2),a(1,1),a(1,0) ,a(2,0),a(2,1),a(1,0) のように列毎に現画像垂直方向に昇順、降順、昇順の順
に各プロセッサエレメントPEに同時に入力される。
【0089】次いで、現画像ブロック212の画素デー
タは、クロックパルス信号の20クロック目から38ク
ロック目において、21クロック目からそれぞれのパル
スに同期して画素データ a(3,0),a(3,1),a(3,2),・・・ のように列毎に現画像垂直方向に昇順、降順、昇順の順
に入力され、さらに、図6に示された現画像ブロック2
12の水平走査方向に隣接する現画像ブロック203の
画素データが列毎に降順、昇順、降順の順に連続して各
プロセッサエレメントPEに入力される。39クロック
目以降は、20クロック目から38クロック目と同様に
順次水平走査方向に隣接する現画像ブロックの画素デー
タが各プロセッサエレメントPEに入力される。
【0090】また、サーチウィンドウの画素データも、
クロックパルス信号CK1のパルスのダウンエッジに同
期してシステム制御ユニット6000により参照画像メ
モリ2000から出力端子S0およびS1を通してそれ
ぞれ読み出され、次のパルスの立ち上りに同期して、そ
れぞれ入力レジスタIR(3,0)および入力レジスタ
IR(3,3)に転送される。
【0091】サーチウィンドウ401の画素データのう
ち垂直方向の位置yが2以下(y=0,1,2)の画素
データは、参照画像メモリ2000の出力端子S0を通
して読み出され、クロックパルス信号CK1の1クロッ
ク目から18クロック目において、1クロック目からそ
れぞれのパルスに同期して画素データ b(0,2),b(0,1),b(0,0) ,b(1,0),b(1,1),b(1,2) ,b(2,2),b(2,1),b(2,0),・・・ のように列毎に参照画像垂直方向に降順、昇順、降順、
・・・の順に入力レジスタIR(3,0)に入力され
る。
【0092】サーチウィンドウ401の画素データのう
ち垂直方向の位置yが3以上(y=3,4)の画素デー
タは、出力端子S0を通して読み出された画素データを
b(x,y)に対して画素データb(x,y+3)が出
力端子S1を通して同時に読み出され、入力レジスタI
R(3,3)に入力される。次いで、サーチウィンドウ
401の画素データは、クロックパルス信号の20クロ
ック目から38クロック目において、21クロック目か
らそれぞれのパルスに同期して画素データb(3,0)
およびb(3,3)から列毎に参照画像垂直方向の昇
順、降順、昇順、・・・の順に図6に示されたサーチウ
ィンドウ401に対してM画素分、すなわち、3画素分
水平走査方向にシフトしたサーチウィンドウ402の画
素データまで順次入力される。
【0093】39クロック目以降は、20クロック目か
ら38クロック目と同様に前回入力されたサーチウィン
ドウの画素データのうち一部の画素データが再度入力さ
れるとともに、水平走査方向にM画素分シフトしたサー
チウィンドウの画素データがそれぞれ入力レジスタIR
(3,0)および入力レジスタIR(3,3)に順次入
力される。
【0094】次に、ウィンドウデータ転送ユニット30
00の各プロセッサエレメントPEおよび各レジスタV
S,IRについて説明する。まず、プロセッサユニット
3100の各プロセッサエレメントPE(x,y)の端
子配置およびブロック図を説明する。図15に示すよう
に、各プロセッサエレメントPE(x,y)は、入力端
子X,YUi,YDi,YLi,YRi,Diおよび出
力端子YUo,YDo,YLo,YRo,Doを有し、
さらに、図示しないシステム制御ユニット6000の出
力端子P1,P2,P3,P4,P6,P7,P8にそ
れぞれ接続された入力端子を有する。
【0095】図16に示すように、各プロセッサエレメ
ントPE(x,y)は、転送方向切換ユニット360
0、ディストーション算出ユニット3700およびディ
ストーション転送ユニット3800によって構成され
る。転送方向切換ユニット3600は、さらに、セレク
タ3610、フリップフロップ3620によって構成さ
れる。
【0096】セレクタ3610は、入力端子S0,S
1,S2,A,B,C,Dおよび出力端子Yを有し、入
力端子S0、入力端子S1および入力端子S2を通して
入力された信号に基づいて、入力端子A、入力端子B、
入力端子Cおよび入力端子Dのうち何れか一つの入力端
子と出力端子Yとを接続する切換器である。ここで、入
力端子S2を通して入力された信号が1のときには、入
力端子S0および入力端子S1を通して入力された信号
の状態に拘らず、入力端子Dと出力端子Yとが接続され
る。また、入力端子S2を通して入力された信号が0の
ときには、入力端子S0,S1を通して入力された信号
がそれぞれ(0,0)を表すときには、入力端子Aと出
力端子Yとが、(1,0)のときには、入力端子Bと出
力端子Yとが、(0,1)および(1,1)のときに
は、入力端子Cと出力端子Yとが接続される。
【0097】フリップフロップ3620は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されたデータを出力端子Yに
ラッチするものである。セレクタ3610の入力端子A
は、入力端子YDiを介して、一つ上側に位置する別の
プロセッサエレメントPE(x,y−1)の出力端子Y
Doまたは垂直サイドレジスタVS(x,−1)の出力
端子に電気的に接続される。入力端子Bは、入力端子Y
Uiを介して、一つ下側に位置する別のプロセッサエレ
メントPE(x,y+1)の出力端子YUoまたは垂直
サイドレジスタVS(x,3)の出力端子に電気的に接
続される。入力端子Cは、入力端子YLiを介して、一
つ右側に位置する別のプロセッサエレメントPE(x+
1,y)の出力端子YLoまたは入力レジスタIR
(3,y)の出力端子に電気的に接続される。入力端子
Dは、入力端子YRiを介して、一つ左側に位置する別
のプロセッサエレメントPE(x−1,y)の出力端子
YRoまたは水平サイドレジスタHS(−1,y)の出
力端子に電気的に接続される。
【0098】また、セレクタ3610の入力端子S0
は、システム制御ユニット6000の出力端子P3に電
気的に接続され、入力端子S1は、システム制御ユニッ
ト6000の出力端子P4に電気的に接続され、入力端
子S2は、システム制御ユニット6000の出力端子P
6に電気的に接続される。フリップフロップ3620の
入力端子Aは、同じプロセッサエレメントPE(x,
y)のセレクタ3610の出力端子Yに電気的に接続さ
れ、入力端子Sはシステム制御ユニット6000の出力
端子P1に電気的に接続される。
【0099】ディストーション算出ユニット3700
は、さらに、減算器3710、正数変換器3720、加
算器3730、フリップフロップ3740、反転器37
50、論理積演算器3760によって構成される。減算
器3710は、入力端子A,Bおよび出力端子Yを有
し、入力端子Aを通して入力されたデータから入力端子
Bを通して入力されたデータを減算して出力端子Yを通
して出力するものである。
【0100】正数変換器3720は、入力端子Aおよび
出力端子Yを有し、入力端子Aを通して入力されたデー
タを絶対値演算により正数データに変換して出力端子Y
を通して出力するものである。加算器3730は、入力
端子A,Bおよび出力端子Yを有し、入力端子Aを通し
て入力されたデータと入力端子Bを通して入力されたデ
ータとを加算して出力端子Yを通して出力するものであ
る。
【0101】反転器3750は、入力端子Sおよび出力
端子Yを有し、入力端子Sを通して入力された信号が0
のときには、出力端子Yを通して全てのビットが1で表
されるデータを出力し、入力された信号が1のときに
は、出力端子Yを通して全てのビットが0で表されるデ
ータを出力するものである。論理積演算器3760は、
入力端子A,Bおよび出力端子Yを有し、入力端子Aお
よび入力端子Bを通して入力されたそれぞれのデータに
よりビット毎に論理積演算を行い、その結果得られたデ
ータを出力端子Yを通して出力するものである。
【0102】減算器3710の入力端子Aは、同じプロ
セッサエレメントPE(x,y)のフリップフロップ3
620の出力端子Yに電気的に接続され、入力端子Bは
入力端子Xを介して、現画像メモリ1000の出力端子
Rに電気的に接続される。正数変換器3720の入力端
子Aは、同じプロセッサエレメントPE(x,y)の減
算器3710の出力端子Yに電気的に接続される。
【0103】加算器3730の入力端子Aは、同じプロ
セッサエレメントPE(x,y)の正数変換器3720
の出力端子Yに電気的に接続され、入力端子Bは、同じ
プロセッサエレメントPE(x,y)の論理積演算器3
760の出力端子Yに電気的に接続される。フリップフ
ロップ3740の入力端子Aは、同じプロセッサエレメ
ントPE(x,y)の加算器3730の出力端子Yに電
気的に接続され、入力端子Sは、システム制御ユニット
6000の出力端子P1に電気的に接続される。
【0104】反転器3750の入力端子Sは、システム
制御ユニット6000の出力端子P7に電気的に接続さ
れる。論理積演算器3760の入力端子Aは、同じプロ
セッサエレメントPE(x,y)の反転器3750の出
力端子Yに電気的に接続され、入力端子Bは、同じプロ
セッサエレメントPE(x,y)のフリップフロップ3
740の出力端子Yに電気的に接続される。
【0105】正数変換器3720、反転器3750、論
理積演算器3760、加算器3730およびフリップフ
ロップ3740により以下の動作が行われる。ここで、
フリップフロップ3740からクロックパルス信号CK
1に同期してラッチされたデータを前回のデータと呼
び、正数変換器3720から出力されたデータを今回の
データと呼ぶとする。
【0106】反転器3750の入力端子Sを通して入力
されたパルス信号CLが1のときには、加算器3730
では、入力端子Bを通して入力されたデータが0となる
ため、入力端子Aを通して入力された今回のデータが出
力端子Yを通してそのまま出力され、フリップフロップ
3740の入力端子Aに入力される。一方、反転器37
50の入力端子Sに入力されたパルス信号CLが0のと
きには、フリップフロップ3740の出力端子Yから出
力された前回のデータが、論理積演算器3760に入力
端子Bを通して入力されて出力端子Yを通して出力され
て、加算器3730の入力端子Bに入力される。このた
め、加算器3730では、入力端子Aを通して入力され
た今回のデータとフリップフロップ3740にラッチさ
れて入力端子Bを通して入力された前回のデータとが加
算されて出力端子Yを通して出力され、さらに、フリッ
プフロップ3740の入力端子Aに入力される。
【0107】すなわち、パルス信号CLが1のとき、加
算器3730の積算データがリセットされ、パルス信号
CLが0のとき、加算器3730では前回のデータと今
回のデータとの積算処理が行われる。ディストーション
転送ユニット3800は、さらに、セレクタ3810お
よびフリップフロップ3820によって構成される。
【0108】セレクタ3810は、入力端子S,A,
B、および出力端子Yを有し、入力端子Sを通して入力
された信号に基づいて入力端子Aおよび入力端子Bのう
ち何れか一方の入力端子と出力端子Yとを接続する切換
器である。ここで、入力端子Sを通して入力された信号
が0のとき、入力端子Aと出力端子Yとが接続され、入
力端子Sを通して入力された信号が1のとき、入力端子
Bと出力端子Yとが接続される。
【0109】フリップフロップ3820は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されるデータを出力端子Yに
ラッチするものである。セレクタ3810の入力端子A
は、入力端子Diを介して、一つ右側に位置する別のプ
ロセッサエレメントPE(x+1,y)のフリップフロ
ップ3820の出力端子Yに電気的に接続され、入力端
子Bは、同じプロセッサエレメントPE(x,y)のフ
リップフロップ3740の出力端子Yに電気的に接続さ
れ、入力端子Sは、システム制御ユニット6000の出
力端子P8に電気的に接続される。
【0110】フリップフロップ3820の入力端子A
は、同じプロセッサエレメントPE(x,y)のセレク
タ3810の出力端子Yに電気的に接続され、入力端子
Sは、システム制御ユニット6000の出力端子P2に
電気的に接続される。次に、第1垂直サイドレジスタユ
ニット3200および第2垂直サイドレジスタユニット
3300の各垂直サイドレジスタVS(x,y)の端子
配置およびブロック図を説明する。
【0111】図17(a)に示すように、各垂直サイド
レジスタVS(x,y)は、入力端子YUi,YDi,
YLi,YRiおよび出力端子YUo,YDo,YL
o,YRoを有し、さらに、図示しないシステム制御ユ
ニット6000の出力端子P1,P3,P4,P5にそ
れぞれ接続された入力端子を有している。図17(b)
に示すように、各垂直サイドレジスタVS(x,y)
は、セレクタ3611およびフリップフロップ3621
から構成される。
【0112】セレクタ3611は、入力端子S0,S
1,S2,A,B,C,Dおよび出力端子Yを有し、入
力端子S0、入力端子S1および入力端子S2を通して
入力された信号に基づいて、入力端子A、入力端子B、
入力端子Cおよび入力端子Dのうち何れか一つの入力端
子と出力端子Yとを接続する切換器である。ここで、入
力端子S2を通して入力された信号が1のときには、入
力端子S0および入力端子S1を通して入力された信号
の状態に拘らず、入力端子Dと出力端子Yとが接続され
る。また、入力端子S2を通して入力された信号が0の
ときには、入力端子S0,S1を通して入力された信号
がそれぞれ(0,0)を表すときには、入力端子Aと出
力端子Yとを、(1,0)のときには、入力端子Bと出
力端子Yとを、(0,1)および(1,1)のときに
は、入力端子Cと出力端子Yとが接続される。
【0113】フリップフロップ3621は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sに入力された信号のパルスに同期し
て、入力端子Aに入力されるデータを出力端子Yにラッ
チするものである。セレクタ3611の入力端子Aは、
入力端子YDiを介して、一つ上側に位置する別の垂直
サイドレジスタVS(x,y−1)の出力端子YDoま
たはプロセッサエレメントPE(x,2)の出力端子Y
Doに電気的に接続される。入力端子Bは、入力端子Y
Uiを介して、一つ下側に位置する別の垂直サイドレジ
スタVS(x,y+1)の出力端子YUoまたはプロセ
ッサエレメントPE(x,0)の出力端子YUoに電気
的に接続される。入力端子Cは、入力端子YLiを介し
て、一つ右側に位置する別の垂直サイドレジスタVS
(x+1,y)の出力端子YLoまたは入力レジスタI
R(3,y)の出力端子YLoに電気的に接続される。
入力端子Dは、入力端子YRiを介して、一つ左側に位
置する別の垂直サイドレジスタVS(x−1,y)の出
力端子YRoまたは水平サイドレジスタHS(−1,
y)の出力端子に電気的に接続される。また、入力端子
S0は、システム制御ユニット6000の出力端子P3
に電気的に接続され、入力端子S1は、システム制御ユ
ニット6000の出力端子P4に電気的に接続され、入
力端子S2は、システム制御ユニット6000の出力端
子P6に電気的に接続される。
【0114】フリップフロップ3621の入力端子A
は、同じ垂直サイドレジスタVS(x,y)のセレクタ
3611の出力端子Yに電気的に接続され、入力端子S
は、システム制御ユニット6000の出力端子P1に電
気的に接続される。次に、入力レジスタユニット340
0の各入力レジスタIR(x,y)の端子配置およびブ
ロック図を説明する。
【0115】図18(a)に示すように、各入力レジス
タIR(x,y)は、入力端子YUi,YDiおよび出
力端子YUo,YDo,YLoを有し、さらに図示しな
いシステム制御ユニット6000の出力端子P1,P3
にそれぞれ接続された入力端子を有している。図18
(b)に示すように、各入力レジスタIR(x,y)
は、セレクタ3612およびフリップフロップ3622
から構成される。
【0116】セレクタ3612は、入力端子S,A,B
および出力端子Yを有し、入力端子Sを通して入力され
た信号に基づいて入力端子Aおよび入力端子Bのうち何
れか一方の入力端子と出力端子Yとを接続する切換器で
ある。ここで、入力端子Sを通して入力された信号が0
のときには、入力端子Aと出力端子Yとが接続され、入
力端子Sを通して入力された信号が1のときには、入力
端子Bと出力端子Yとが接続される。
【0117】フリップフロップ3622は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されたデータを出力端子Yに
ラッチするものである。入力レジスタIR(3,−
2)、入力レジスタIR(3,−1)、入力レジスタI
R(3,1)および入力レジスタIR(3,2)のそれ
ぞれのセレクタ3612の入力端子Bは、一つ下側に位
置する別の入力レジスタIR(x,y+1)の出力端子
YUoに入力端子YUiを介して電気的に接続される。
【0118】また、入力レジスタIR(3,0)のセレ
クタ3612の入力端子Aおよび入力端子Bは、それぞ
れ入力端子YDiおよびYUiを介して参照画像メモリ
2000の出力端子S0に電気的に接続される。入力レ
ジスタIR(3,3)のセレクタ3612の入力端子A
および入力端子Bは、それぞれ入力端子YDiおよびY
Uiを介して参照画像メモリ2000の出力端子S1に
電気的に接続される。
【0119】入力レジスタIR(3,1)、入力レジス
タIR(3,2)および入力レジスタIR(3,4)の
それぞれのセレクタ3612の入力端子Aは、入力端子
YDiを介して一つ上側に位置する別の入力レジスタI
R(x,y−1)の出力端子YDoに電気的に接続され
る。各入力レジスタIR(3,y)のセレクタ3612
の入力端子Sは、システム制御ユニット6000の出力
端子P3に電気的に接続される。
【0120】各入力レジスタIR(3,y)のフリップ
フロップ3622の入力端子Aは、同じ入力レジスタI
R(3,y)のセレクタ3612の出力端子Yに電気的
に接続され、入力端子Sは、システム制御ユニット60
00の出力端子P1に電気的に接続される。次に、水平
サイドレジスタユニット5000の各水平サイドレジス
タHS(x,y)の端子配置およびブロック図を説明す
る。
【0121】図19(a)に示すように、各水平サイド
レジスタHS(x,y)は、入力端子YLi,YRiお
よび出力端子YLo,YRoを有し、さらに図示しない
システム制御ユニット6000の出力端子P1,P5,
P6にそれぞれ接続された入力端子を有している。図1
9(b)に示すように、各水平サイドレジスタHS
(x,y)は、セレクタ3613およびフリップフロッ
プ3623によって構成される。
【0122】セレクタ3613は、入力端子S0,S
1,A,B,Cおよび出力端子Yを有し、入力端子S0
および入力端子S1を通してそれぞれ入力された信号S
H,SRに基づいて入力端子A、入力端子Bおよび入力
端子Cのうち何れか一つの入力端子と出力端子Yとを接
続する切換器である。ここで、入力端子S0,S1を通
してそれぞれ入力された信号SH,SRが(0,0)の
ときには、入力端子Aと出力端子Yとが電気的に接続さ
れ、(1,0)のときには、入力端子Bと出力端子Yと
が電気的に接続され、(0,1)および(1,1)のと
きには、入力端子Cと出力端子Yとが電気的に接続され
る。
【0123】フリップフロップ3623は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されるデータを出力端子Yに
ラッチするものである。セレクタ3613の入力端子A
は、同じ水平サイドレジスタHS(x,y)のフリップ
フロップ3623の出力端子Yに電気的に接続される。
入力端子Bは、入力端子YLiを介して、一つ右側に位
置する別の水平サイドレジスタHS(x+1,y)の出
力端子YLo、プロセッサエレメントPE(0,y)ま
たは垂直サイドレジスタVS(0,y)の出力端子YL
oに電気的に接続される。入力端子Cは、入力端子YR
iを介して、一つ左側に位置する別の水平サイドレジス
タHS(x−1,y)の出力端子YRoに電気的に接続
される。また、入力端子S0はシステム制御ユニット6
000の出力端子P5に電気的に接続され、入力端子S
1はシステム制御ユニット6000の出力端子P6に電
気的に接続される。
【0124】フリップフロップ3623の入力端子A
は、同じ水平サイドレジスタHS(x,y)のセレクタ
3613の出力端子Yに電気的に接続され、入力端子S
は、システム制御ユニット6000の出力端子P1に電
気的に接続される。次に、類似ブロック特定ユニット4
000の詳細な構成を説明する。図20に示すように、
類似ブロック特定ユニット4000は、最小ディストー
ション検出ユニット4100、動きベクトル垂直成分検
出ユニット4200および動きベクトル水平成分検出ユ
ニット4300によって構成される。
【0125】最小ディストーション検出ユニット410
0は、プロセッサユニット3100で算出された複数の
ディストーションを入力し、入力されたディストーショ
ンの中から最小の値をもつディストーションを検出す
る。動きベクトル垂直成分検出ユニット4200は、最
小ディストーション検出ユニット4100で検出された
最小ディストーションが算出されたプロセッサエレメン
トPE(x,y)の位置情報(行位置)に基づいて候補
ブロックを特定し、特定された候補ブロックに対応する
動きベクトル垂直成分MVyを特定する。
【0126】動きベクトル水平成分検出ユニット430
0は、最小ディストーション検出ユニット4100で検
出された最小ディストーションが算出されたプロセッサ
エレメントPE(x,y)の位置情報(列位置)に基づ
いて候補ブロックを特定し、特定された候補ブロックに
対応する動きベクトル垂直成分MVxを特定する。以
下、上記各ユニットについて説明する。
【0127】最小ディストーション検出ユニット410
0は、さらに、比較器4101、論理和演算器410
2、比較器4103、セレクタ4104、フリップフロ
ップ4105、セレクタ付きフリップフロップ4106
によって構成される。比較器4101は、入力端子A
0,A1,A2および出力端子M,Yを有する。入力端
子A0,A1,A2は、それぞれプロセッサエレメント
PE(0,0)、プロセッサエレメントPE(0,1)
およびプロセッサエレメントPE(0,2)の出力端子
Doに電気的に接続される。出力端子Yは、比較器41
03の入力端子Aおよびセレクタ4104の入力端子B
に電気的に接続される。出力端子Mは、動きベクトル垂
直成分検出ユニット4200のセレクタ4211の入力
端子Bに電気的に接続される。
【0128】比較器4101は、上記プロセッサエレメ
ントPE(0,y)から同時に出力されたディストーシ
ョンを、それぞれ入力端子A0,A1,A2を通して入
力し、入力された3つのディストーションの中から最小
の値をもつディストーションLMDisを出力端子Yを
通して出力する。また、最小のディストーションが入力
された入力端子を示すデータLMVyを出力端子Mから
出力する。ここで、出力端子Mから出力されるデータL
MVyは、最小のディストーションが入力された入力端
子が入力端子A0のときには0、A1のときには1、A
2のときには2を表す。
【0129】論理和演算器4102は、入力端子A,B
および出力端子Yを有する。入力端子Aは、システム制
御ユニット6000の出力端子P9に電気的に接続さ
れ、入力端子Bは、フリップフロップ4105の出力端
子Yに電気的に接続される。出力端子Yは、比較器41
03の入力端子Bに電気的に接続される。論理和演算器
4102は、システム制御ユニット6000から出力さ
れたパルス信号LD2を入力端子Aを通して入力すると
ともに、フリップフロップ4105から出力されたデー
タを入力端子Bを通して入力し、入力された信号LD2
をビット列で表したデータと入力端子Bを通して入力さ
れたデータとの論理和を演算し、その演算結果を出力端
子Yにする。ここで、信号LD2が0のときには、信号
LD2に対応するデータは、すべてのビットが0で表さ
れ、入力端子Bから入力されたデータが論理和の演算結
果として出力される。一方、信号LD2が1のときに
は、信号LD2に対応するデータは、すべてのビットが
1で表され、そのままこのデータが最大値として出力端
子Yを通して出力される。
【0130】比較器4103は、入力端子A,Bおよび
出力端子Yを有する。入力端子Aは、比較器4101の
出力端子Yに電気的に接続され、入力端子Bは、論理和
演算器4102の出力端子Yに電気的に接続される。出
力端子Yは、セレクタ4104の入力端子S、動きベク
トル垂直成分検出ユニット4200のセレクタ4211
の入力端子Sおよび動きベクトル水平成分検出ユニット
4300のセレクタ4302の入力端子Sに電気的に接
続される。
【0131】比較器4103は、比較器6101から出
力されたディストーションを入力端子Aを通して入力す
るとともに、論理和演算器4102から出力されたデー
タを入力端子Bを通して入力し、入力端子Aを通して入
力されたディストーションが入力端子Bを通して入力さ
れたデータ以上の大きさである場合には、出力端子Yか
ら0を表すデータMinを出力し、入力端子Aを通して
入力されたディストーションが入力端子Bを通して入力
されたデータより小さい場合には、出力端子Yから1を
表すデータMinを出力する。
【0132】セレクタ4104は、入力端子S,A,B
および出力端子Yを有する。入力端子Sは、比較器41
03の出力端子Yに電気的に接続され、入力端子Aは、
フリップフロップ4105の出力端子Yに電気的に接続
され、入力端子Bは、比較器4101の出力端子Yに電
気的に接続される。出力端子Yは、フリップフロップ4
105の入力端子Aに電気的に接続される。
【0133】セレクタ4104は、比較器4103から
出力されたデータMinを入力端子Sを通して入力し、
入力されたデータMinに基づいて入力端子A,Bの何
れか一方の入力端子と出力端子Yを電気的に接続する切
換器であり、データMinが0のときには、入力端子A
と出力端子Yを電気的に接続し、データMinが1のと
きには、入力端子Bと出力端子Yを電気的に接続する。
【0134】フリップフロップ4105は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、システム制御ユニット6000
の出力端子P2に電気的に接続され、入力端子Aは、セ
レクタ4104の出力端子Yに電気的に接続され、出力
端子Yは、セレクタ4104の入力端子A、論理和演算
器4102の入力端子Bおよびセレクタ付きフリップフ
ロップ4106の入力端子Iに電気的に接続される。
【0135】フリップフロップ4105は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Sを通して入力し、入力されたパルス信号CK
2の各パルスの立ち上りに同期して入力端子Aを通して
入力されたデータを出力端子Yにラッチする。セレクタ
付きフリップフロップ4106は、図21に示されたセ
レクタ付きフリップフロップ4400によって構成され
る。ここで、図21に示すように、セレクタ付きフリッ
プフロップ4400は、入力端子E,F,Iおよび出力
端子Oを有し、さらに、セレクタ4401およびフリッ
プフロップ4402から構成される。入力端子Eは、シ
ステム制御ユニット6000の出力端子P2に電気的に
接続さ、入力端子Fは、システム制御ユニット6000
の出力端子P10に電気的に接続される。
【0136】セレクタ4401は、入力端子S,A,B
および出力端子Yを有し、入力端子Sは、入力端子Eと
電気的に接続され、入力端子Aは、フリップフロップ4
402の出力端子Yと電気的に接続され、入力端子B
は、入力端子Iと電気的に接続される。セレクタ440
1は、入力端子Eおよび入力端子Sを通して入力された
パルス信号SMVに基づいて入力端子Aおよび入力端子
Bの何れか一方の入力端子と出力端子Yを電気的に接続
する切換器であり、入力端子Sを通して入力された信号
が0のときには、入力端子Aと出力端子Yとを電気的に
接続し、入力端子Sを通して入力された信号が1のとき
には、入力端子Bと出力端子Yとを電気的に接続する。
【0137】フリップフロップ4402は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、入力端子Fと電気的に接続さ
れ、入力端子Aは、セレクタ4401の出力端子Yに電
気的に接続され、出力端子Yは、出力端子Oと電気的に
接続されるとともに、セレクタ4401の入力端子Aに
電気的に接続される。
【0138】フリップフロップ4402は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Fおよび入力端子Sを通して入力し、入力され
たパルス信号CK2の各パルスの立ち上りに同期して入
力端子Aに入力されたデータを出力端子Yにラッチす
る。セレクタ付きフリップフロップ4106の入力端子
Iは、フリップフロップ4105の出力端子Yに電気的
に接続される。セレクタ付きフリップフロップ4106
は、システム制御ユニット6000から出力された信号
SMVを入力端子Eを通して入力し、入力された信号S
MVに基づいてセレクタ4401の入力端子と出力端子
の接続を切換え、入力端子Iから選択的に入力したデー
タを出力端子Oを通して出力する。
【0139】すなわち、最小ディストーション検出ユニ
ット4100は、パルス信号CK2に同期してフリップ
フロップ4105にラッチされたデータを前回までの最
小ディストーションと呼び、比較器4101から出力さ
れたデータLMDisを今回の最小ディストーションと
呼ぶとすると、論理和演算器4102の入力端子Aを通
して入力された信号が0のとき、比較器4103により
入力端子Aを通して入力された今回の最小ディストーシ
ョンと入力端子Bを通して入力された前回までの最小デ
ィストーションとを比較して小さい方のディストーショ
ンをセレクタ4104を介してフリップフロップ410
5にラッチするものである。
【0140】また、論理和演算器4102の入力端子S
に入力された信号が1のときには、最小ディストーショ
ン検出処理の初期状態として最大値を表す全てのビット
が1であるデータが比較器4103に入力され、今回の
最小ディストーションと比較される。最後にフリップフ
ロップ4105にラッチされた最小ディストーション
は、セレクタ付きフリップフロップ4106により選択
的に入力されて最小ディストーションMinDisとし
て出力される。
【0141】動きベクトル垂直成分検出ユニット420
0は、セレクタ4201、フリップフロップ4202、
換算テーブル4203およびセレクタ付きフリップフロ
ップ4204によって構成される。セレクタ4201
は、入力端子S,A,Bおよび出力端子Yを有する。入
力端子Sは、最小ディストーション検出ユニット410
0の比較器4103の出力端子Yに電気的に接続され、
入力端子Aは、フリップフロップ4202の出力端子o
に電気的に接続され、入力端子Bは、最小ディストーシ
ョン検出ユニット4100の比較器4101の出力端子
Mに電気的に接続される。出力端子Yは、フリップフロ
ップ4202の入力端子Aに電気的に接続される。
【0142】セレクタ4201は、比較器4103から
出力されたデータMinを入力端子Sを通して入力し、
入力されたデータMinに基づいて入力端子A,Bの何
れか一方の入力端子と出力端子Yとを電気的に接続する
切換器であり、データMinが0のときには、入力端子
Aと出力端子Yを電気的に接続し、データMinが1の
ときには、入力端子Bと出力端子Yを電気的に接続す
る。
【0143】フリップフロップ4202は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、システム制御ユニット6000
の出力端子P2に電気的に接続され、入力端子Aは、セ
レクタ4201の出力端子Yに電気的に接続され、出力
端子Yは、換算テーブル4203の入力端子Aおよびセ
レクタ4201の入力端子Aに電気的に接続される。
【0144】フリップフロップ4202は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Sを通して入力し、入力されたパルス信号CK
2の各パルスの立ち上りに同期して入力端子Aを通して
入力されたデータを出力端子Yにラッチする。換算テー
ブル4203は、入力端子Aおよび出力端子Yを有し、
入力端子Aは、フリップフロップ4202の出力端子Y
に電気的に接続され、出力端子Yは、セレクタ付きフリ
ップフロップ4204の入力端子Iに電気的に接続され
る。換算テーブル4203は、入力端子Aを通して入力
されたデータMyに基づいて動きベクトル垂直成分MV
yを表すデータを換算テーブルからルックアップして出
力端子Yに出力する。
【0145】セレクタ付きフリップフロップ4204
は、セレクタ付きフリップフロップ4400によって構
成される。入力端子Iは、換算テーブル4203の出力
端子Yに電気的に接続される。セレクタ付きフリップフ
ロップ4204は、システム制御ユニット6000から
出力された信号SMVを入力端子Eを通して入力し、入
力された信号SMVに基づいてセレクタ4401の入力
端子と出力端子の接続を切換え、入力端子Iから選択的
に入力された動きベクトル垂直成分MVyを出力端子O
から出力する。
【0146】動きベクトル水平成分検出ユニット430
0は、さらに、カウンタ4301、セレクタ4302、
フリップフロップ4303、換算テーブル4304およ
びセレクタ付きフリップフロップ4305によって構成
される。カウンタ4301は、入力端子CL,CKおよ
び出力端子Qnを有する。入力端子CLは、システム制
御ユニット6000の出力端子P9に電気的に接続さ
れ、入力端子CKは、システム制御ユニット6000の
出力端子P2に電気的に接続され、出力端子Qnは、セ
レクタ4302の入力端子Bに電気的に接続される。
【0147】カウンタ4301は、入力端子CLを通し
て入力されたパルス信号LD2が1を表すときには、デ
ータCTxを0にリセットして出力端子Qnを通して出
力するとともに、入力端子CLを通して入力された信号
が0を表すときには、入力端子CKを通して入力された
パルス信号CK2のパルスの立上がりに同期してデータ
CTxを1ずつカウントアップして、出力端子Qnを通
して出力するものである。
【0148】セレクタ4302は、入力端子S,A,B
および出力端子Yを有する。入力端子Sは、最小ディス
トーション検出ユニット4100の比較器4103の出
力端子Yに電気的に接続され、入力端子Aは、フリップ
フロップ4303の出力端子Yに電気的に接続され、入
力端子Bは、カウンタ4301の出力端子Qnに電気的
に接続される。出力端子Yは、フリップフロップ430
3の入力端子Aに電気的に接続される。
【0149】セレクタ4302は、比較器4103から
出力されたデータMinを入力端子Sを通して入力し、
入力されたデータMinに基づいて入力端子A,Bの何
れか一方の入力端子と出力端子Yとを電気的に接続する
切換器であり、データMinが0のときには、入力端子
Aと出力端子Yを電気的に接続し、データMinが1の
ときには、入力端子Bと出力端子Yを電気的に接続す
る。
【0150】フリップフロップ4303は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、システム制御ユニット6000
の出力端子P2に電気的に接続され、入力端子Aは、セ
レクタ4302の出力端子Yに電気的に接続され、出力
端子Yは、換算テーブル4304の入力端子およびセレ
クタ4302の入力端子Aに電気的に接続される。
【0151】フリップフロップ4303は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Sを通して入力し、入力されたパルス信号CK
2の各パルスの立ち上りに同期して入力端子Aに入力さ
れたデータを出力端子Yにラッチする。換算テーブル4
304は、入力端子Aおよび出力端子Yを有し、入力端
子Aは、フリップフロップ4303の出力端子Yに電気
的に接続され、出力端子Yは、セレクタ付きフリップフ
ロップ4305の入力端子Iに電気的に接続される。換
算テーブル4304は、入力端子Aに入力されたデータ
Mxに基づいて換算テーブルから動きベクトル水平成分
MVxを表すデータをルックアップして出力端子Yに出
力する。
【0152】ここで、求める動きベクトルが左半分ディ
ストーションの場合には、入力されたデータMxに基づ
いて左半分サーチウィンドウに対応する換算テーブルよ
り水平成分動きベクトルMVxがルックアップされ、求
める動きベクトルが右半分ディストーションの場合に
は、入力されたデータMxに基づいて右半分サーチウィ
ンドウに対応する換算テーブルより水平成分動きベクト
ルMVxがルックアップされる。
【0153】セレクタ付きフリップフロップ4305
は、セレクタ付きフリップフロップ4400によって構
成される。入力端子Iは、換算テーブル4305の出力
端子Yに電気的に接続される。セレクタ付きフリップフ
ロップ4305は、システム制御ユニット6000から
出力された信号SMVを入力端子Eを通して入力し、入
力された信号SMVに基づいてセレクタ4401の入力
端子と出力端子の接続を切換え、入力端子Iから選択的
に入力した動きベクトル水平成分MVxを出力端子Oか
ら出力する。
【0154】次に、作用を説明する。以下、本実施例1
の動きベクトル探索装置により動きベクトルを求める動
作を図8〜図14に示されたタイムチャートに基づいて
説明する。始めに、ウィンドウデータ転送ユニット30
00によりサーチウィンドウ401の画素データを転送
するとともに、プロセッサユニット3100によりディ
ストーションを算出する動作を図8および図9に示され
たタイムチャートに基づいて説明する。
【0155】ウィンドウデータ転送ユニット3000に
おけるサーチウィンドウの画素データは、各プロセッサ
エレメントPEの転送方向切換ユニット3600および
各レジスタのそれぞれのセレクタ3610,3611,
3612,3613により選択されて、それぞれのフリ
ップフロップ3620,3621,3622,3623
に保持される。
【0156】図8および図9に示すように、パルス信号
SU,SLおよびSRは、それぞれクロックパルス信号
CK1の各パルスのダウンエッジに同期して変化するた
め、各セレクタ3610,3611,3612の接続が
選択された後、クロックパルス信号CK1の立ち上りに
同期してサーチウィンドウの画素データがそれぞれフリ
ップフロップ3620,3621,3623にラッチさ
れる。
【0157】例えば、図18に示された、入力レジスタ
IR(3,y)では、パルス信号SUはクロックパルス
信号CK1の3クロック目まで0であり、セレクタ36
12に入力端子Sを通して0が入力されるので、入力端
子Aと出力端子Yとが接続され、クロックパルス信号C
K1の各パルスに同期して入力端子Aを通して入力され
たサーチウィンドウの画素データがフリップフロップ3
622にラッチされる。
【0158】次いで、クロックパルス信号CK1の4ク
ロック目が発せられる前にパルス信号SUが1となり、
セレクタ3612では、入力端子Sを通して1が入力さ
れるので、入力端子Bと出力端子Yとが接続され、クロ
ックパルス信号CK1の4クロック目に同期して、入力
端子Bを通して入力されたサーチウィンドウの画素デー
タがフリップフロップ3622にラッチされる。
【0159】また、フリップフロップ3622にラッチ
された画素データは、出力端子YDo,YUo,YLo
を介して隣接する他の入力レジスタIR、プロセッサエ
レメントPEまたは垂直サイドレジスタVSに出力され
る。同様に、図16に示された各プロセッサエレメント
PEの転送方向切換ユニット3600では、セレクタ3
610で選択された入力端子に入力された画素データが
クロックパルス信号CK1の各パルスに同期してフリッ
プフロップ3620にラッチされ、出力端子YDo、Y
Uo,YLo,YRoを介して隣接する他のプロセッサ
エレメントPE、垂直サイドレジスタVSまたは水平サ
イドレジスタHSに出力される。
【0160】また、図17に示された各垂直サイドレジ
スタVSでは、セレクタ3611で選択された入力端子
に入力された画素データがクロックパルス信号CK1の
各パルスに同期してフリップフロップ3621にラッチ
され、出力端子YDo,YUo,YLo,YRoを介し
て隣接する他のプロセッサエレメントPE、垂直サイド
レジスタVSまたは水平サイドレジスタHSに出力され
る。
【0161】さらに、図19に示された各水平サイドレ
ジスタHSでは、セレクタ3613で選択された入力端
子に入力された画素データがクロックパルス信号CK1
の各パルスに同期してフリップフロップ3623にラッ
チされ、出力端子YLo,YRoを介して隣接する他の
プロセッサエレメントPE、垂直サイドレジスタVSま
たは水平サイドレジスタHSに出力される。
【0162】よって、以下で説明する図22〜図33に
示されたウインドウデータ転送ユニット3000におけ
るサーチウィンドウの画素データは、各プロセッサエレ
メントPEのフリップフロップ3620、各垂直サイド
レジスタVSのフリップフロップ3621、各入力レジ
スタIRのフリップフロップ3622および各水平サイ
ドレジスタHSのフリップフロップ3623においてラ
ッチされた状態を示すものとする。
【0163】まず、図22に示すように、クロックパル
ス信号CK1の1クロック目に同期して、システム制御
ユニット6000により参照画像メモリ2000から読
み出された画素データb(0,2)が入力レジスタIR
(3,0)に入力される。次いで、図23に示すよう
に、クロックパルス信号CK1の2クロック目に同期し
て画素データb(0,2)が入力レジスタIR(3,
0)から一つ下側に位置する入力レジスタIR(3,
1)に転送される。同時に、画素データb(0,1)お
よび画素データb(0,4)がそれぞれ入力レジスタI
R(3,0)および入力レジスタIR(3,3)に入力
される。
【0164】次いで、図24に示すように、クロックパ
ルス信号CK1の3クロック目に同期して各入力レジス
タIR(3,y)に保持された画素データがそれぞれ一
つ下側に位置する入力レジスタIR(3,y+1)に転
送される。同時に、画素データb(0,0)および画素
データb(0,3)がそれぞれ入力レジスタIR(3,
0)および入力レジスタIR(3,3)に入力される。
【0165】次いで、図25に示すように、クロックパ
ルス信号CK1の4クロック目に同期して、各入力レジ
スタIRに保持された画素データは、それぞれ一つ左側
に位置する各プロセッサエレメントPEまたは各垂直サ
イドレジスタVSに転送される。同時に、画素データb
(1,0)および画素データb(1,3)がそれぞれ入
力レジスタIR(3,0)および入力レジスタIR
(3,3)に入力される。
【0166】次いで、図26に示すように、クロックパ
ルス信号CK1の5クロック目および6クロック目にお
いては、各プロセッサエレメントPEおよび各レジスタ
に保持された画素データは、それぞれ順次一つ上側に位
置するプロセッサエレメントまたはレジスタに転送さ
れ、同時に、参照画像メモリ2000から読み出された
画素データがそれぞれ入力レジスタIR(3,0)およ
び入力レジスタIR(3,3)に入力される。
【0167】このように、各プロセッサエレメントPE
および各レジスタ間では、サーチウィンドウの画素デー
タがクロックパルス信号CK1に同期して左、下、下、
左、上、上方向に6クロック毎に順次転送され、この結
果、図27に示すように、クロックパルス信号CK1の
10クロック目に同期して各プロセッサエレメント PE(0,0),PE(0,1),PE(0,2) ,PE(1,0),PE(1,1),PE(1,2) ,PE(2,0),PE(2,1),PE(2,2) にそれぞれ画素データ b(0,0),b(0,1),b(0,2) ,b(1,0),b(1,1),b(1,2) ,b(2,0),b(2,1),b(2,2) が同時に入力され、ディストーション算出が開始され
る。また、以上の動作は、クロックパルス信号CK1の
18クロック目まで繰り返される。
【0168】図9に示されたクロックパルス信号CK1
の10クロック目から18クロック目において、各プロ
セッサエレメントPE(x,y)では、以下の演算処理
が行われる。まず、クロックパルス信号CK1の10ク
ロック目に同期して、各プロセッサエレメントPE
(x,y)において、フリップフロップ3620にラッ
チされたそれぞれの画素データb(x,y)が減算器3
710に入力端子Aを通して入力されるとともに、現画
像ブロック201の画素データa(0,0)が、減算器
3710に入力端子Bを通して入力される。
【0169】次いで、減算器3710により b(x,y)−a(0,0) が演算され、正数変換器3720により、 |b(x,y)−a(0,0)| 局所ディストーションが求められ、加算器3730に入
力端子Aを通して入力される。
【0170】一方、反転器3720には、入力端子Sを
通してパルス信号CLが入力される。このパルス信号C
Lは、クロックパルス信号CK1の9クロック目のダウ
ンエッジに同期して1となるため、反転器3720の入
力端子Sには1が入力され、その結果、論理積演算器3
760の出力端子Yを通してデータ0が出力され、加算
器3730に入力端子Bを通して入力される。すなわ
ち、加算器3730では、入力端子Aを通して入力され
る局所ディストーションと入力端子Bを通して入力され
る0とが加算され、 |b(x,y)−a(0,0)| がフリップフロップ3740に出力される。
【0171】次に、クロックパルス信号CK1の11ク
ロック目では、減算器3710に入力端子Aを通して画
素データb(x,y+1)が入力され、入力端子Bを通
して現画像ブロック201の画素データa(0,1)が
入力される。この結果、減算器3710により b(x,y+1)−a(0,1) が演算され、正数変換器3720により |b(x,y+1)−a(0,1)| に変換されて、加算器3730に入力端子Aを通して入
力される。
【0172】一方、反転器3720では、入力端子Sを
通して0が入力される。このため、フリップフロップ3
740にラッチされた前回のデータ |b(x,y)−a(0,0)| が論理積演算器3760の出力端子Yを通して出力さ
れ、加算器3730に入力端子Bを通して入力される。
【0173】次いで、加算器3730では、入力端子A
を通して入力された今回のデータと入力端子Bを通して
入力される前回のデータとが加算され、 |b(x,y)−a(0,0)| +|b(x,y+1)−a(0,1)| がフリップフロップ3740に出力される。
【0174】次に、クロックパルス信号の12クロック
目以降では、パルス信号CLが0なので11クロック目
と同様に、論理積演算器3760では、フリップフロッ
プ3740によりラッチされた前回のデータが入力端子
Bを通して入力され、加算器3730では、入力端子A
を通して入力された今回のデータと、入力端子Bを通し
て入力された前回のデータとが加算され、出力端子Yを
通して出力される。
【0175】すなわち、クロックパルス信号CK1の1
2クロック目から18クロック目においても同様の演算
処理が行われ、この結果、 |b(x,y)−a(0,0)| +|b(x,y+1)−a(0,1)| +|b(x,y+2)−a(0,2)| +|b(x+1,y+2)−a(1,2)| +|b(x+1,y+1)−a(1,1)| +|b(x+1,y)−a(1,0)| +|b(x+2,y)−a(2,0)| +|b(x+2,y+1)−a(2,1)| +|b(x+2,y+2)−a(2,2)| が算出されて、フリップフロップ3740に出力され
る。従って、現画像ブロック201に対応するディスト
ーションが算出されたことになる。
【0176】ここで、プロセッサユニット3100によ
り算出された現画像ブロック211に対応するディスト
ーションを第1ディストーションと呼び、DR1(x,
y)で表すことにする。以下、同様に、現画像ブロック
201に対し水平走査方向に隣接する現画像ブロック2
02に対応するディストーションを第2ディストーショ
ンと呼び、左半分ディストーションをDL2(x,y)
で表し、右半分ディストーションをDR2(x,y)で
表すことにする。
【0177】次に、プロセッサユニット3100によっ
て算出されたディストーションを類似ブロック特定ユニ
ット4000に転送する動作について図9のタイムチャ
ートに基づいて説明する。まず、クロックパルス信号C
K1の18クロック目のダウンエッジに同期して、パル
ス信号LD1が1となるため、各プロセッサエレメント
PE(x,y)のセレクタ3810では、入力端子Sを
通して1が入力され、入力端子Bと出力端子Yとが接続
される。
【0178】次に、クロックパルス信号CK1の19ク
ロック目に同期して、各プロセッサエレメントPE
(x,y)のフリップフロップ3740では、それぞれ
加算器3730で算出されたDR1(x,y)がラッチ
されて出力端子Yを通して出力されセレクタ3810に
入力端子Bを通して入力される。次に、クロックパルス
信号CK1の19クロック目のダウンエッジに同期し
て、パルス信号LD1が0となるため、各プロセッサエ
レメントPE(x,y)のセレクタ3810では、入力
端子Sを通して0が入力され、入力端子Aと出力端子Y
とが接続される。また、以後29クロック目まで、LD
1は0なので、この接続状態が保持される。
【0179】次に、パルス信号CK1の20クロック目
では、パルス信号CK2に同期して、各プロセッサエレ
メントPE(x,y)のフリップフロップ3820で
は、DR1(x,y)がラッチされて出力端子Yを通し
て出力され、各プロセッサエレメントPE(x,y)の
出力端子Doを通して出力される。このとき、プロセッ
サエレメントPE(0,0)、プロセッサエレメントP
E(0,1)およびプロセッサエレメントPE(0,
3)からそれぞれ出力されたDR1(0,0)、DR1
(0,1)およびDR1(0,2)は、それぞれ類似ブ
ロック特定ユニット4000に転送される。
【0180】また、他のプロセッサエレメント(x,
y)には、それぞれ隣のプロセッサエレメントPE(x
+1,y)から出力されたDR1(x+1,y)が転送
される。次に、パルス信号CK2の21クロック目で
は、各プロセッサエレメントPE(x,y)のフリップ
フロップ3820では、パルス信号CK2に同期して、
DR1(x+1,y)がラッチされて出力端子Yを通し
て出力され、各プロセッサエレメントPE(x,y)の
出力端子Doを通して出力される。
【0181】このとき、プロセッサエレメントPE
(0,0)、プロセッサエレメントPE(0,1)およ
びプロセッサエレメントPE(0,3)では、それぞれ
DR1(1,0)、DR1(1,1)およびDR1
(1,2)が出力され、類似ブロック特定ユニット40
00に転送されるとともに、それぞれDR1(2,
0)、DR1(2,1)およびDR1(2,2)が入力
される。
【0182】次に、パルス信号CK1の22クロック目
では、パルス信号CK2に同期して、プロセッサエレメ
ントPE(0,0)、プロセッサエレメントPE(0,
1)およびプロセッサエレメントPE(0,3)のフリ
ップフロップ3820では、それぞれDR1(2,
0)、DR1(2,1)およびDR1(2,2)がラッ
チされて出力端子Doを通して出力され、類似ブロック
特定ユニット4000に転送される。
【0183】すなわち、プロセッサユニット3100で
算出されたすべてのDR1(x,y)が類似ブロック特
定ユニット4000に転送されたことになる。なお、本
実施例1では、各プロセッサエレメントPEで算出され
たディストーションを、列毎に同行に位置するプロセッ
サエレメントPE間に順次転送することで各プロセッサ
エレメントPE(0,y)から類似ブロック特定ユニッ
ト4000に転送したが、ディストーションを転送する
方向は、行単位に同列のプロセッサエレメントに転送し
て類似ブロック特定ユニット4000に転送してもよ
い。
【0184】次に、類似ブロック特定ユニット4000
によって最小ディストーションMinDisおよび動き
ベクトルMVを求める動作について図13に示されたタ
イムチャートに基づいて説明する。なお、図13におけ
るMyは動きベクトル垂直成分検出ユニット4200の
フリップフロップ4202にラッチされたデータを表
し、Mxは動きベクトル水平成分検出ユニット4300
のフリップフロップ4303にラッチされたデータを表
す。また、MVx,yは、それぞれ動きベクトルMVの
水平成分および垂直成分を表す。
【0185】まず、クロックパルス信号CK1の19ク
ロック目のダウンエッジに同期して、パルス信号LD2
が1となるため、最小ディストーション検出ユニット4
100において、論理和演算器4102に入力端子Aを
通して1が入力され、入力端子Bを通して入力されてい
るデータ、すなわち、フリップフロップ4105の出力
端子Yを通して出力され入力されているデータに拘ら
ず、すべてのビットが1であるデータがディストーショ
ンの最大値として出力端子Yを通して出力される。
【0186】また、動きベクトル水平成分検出ユニット
4300において、カウンタ4301に入力端子CLを
通して1が入力されることにより、カウンタ4301の
内部データCTxが0にリセットされる。次に、クロッ
クパルス信号CK1の20クロック目の最小ディストー
ション検出ユニット4100において、プロセッサユニ
ット3100で算出されたDR1(0,0),DR1
(0,1),DR1(0,2)が、パルス信号CK2に
同期して、比較器4101にそれぞれ入力端子A0,A
1,A2を通して入力される。
【0187】次いで、比較器4101では、入力された
データが比較され、その中から最も小さいディストーシ
ョンが選択されて、出力端子Yを通して最小ディストー
ションLMDisが出力される。また、比較器4101
では、この最小ディストーションが入力された端子に対
応するデータLMVyが出力端子Mを通して出力され
る。ここで、最小フディストーションは、DR1(0,
0)であり、図13に示すように、LMVy=0が出力
される。
【0188】次いで、論理和演算器4102からすべて
のビットが1のデータが最大値として出力されるている
ので、比較器4103では、入力端子Aを通して入力さ
れた最小ディストーションLMDis=DR1(0,
0)と入力端子Bを通して入力された最大値とが比較さ
れ、DR1(0,0)の方が小さいため、出力端子Yを
通してMin=1が出力される。
【0189】次いで、セレクタ4104では、入力端子
Sを通して1が入力されるため、入力端子Bと出力端子
Yとが接続され、DR1(0,0)が出力端子Yを通し
てフリップフロップ4105に出力される。一方、クロ
ックパルス信号CK1の20クロック目の動きベクトル
垂直成分検出ユニット4200において、セレクタ42
01では、入力端子SにMin=1が入力されるため、
入力端子Bと出力端子Yとが接続され、LMVy=0が
出力端子Yを通してフリップフロップ4202に出力さ
れる。
【0190】さらに、クロックパルス信号CK1の20
クロック目の動きベクトル水平成分検出ユニット430
0において、カウンタ4301では、パルス信号CK2
に同期して、入力端子CLに入力された前記パルス信号
LD2によってリセットされた内部データCTx=0が
出力端子Qnを通して出力される。次いで、セレクタ4
302では、入力端子SにMin=1が入力されるた
め、入力端子Bと出力端子Yとが接続され、CTx=0
が出力端子Yを通してフリップフロップ4302に出力
される。
【0191】次に、クロックパルス信号CK2の21ク
ロック目の最小ディストーション検出ユニット4100
において、フリップフロップ4105では、パルス信号
CK2に同期して、セレクタ4104から出力されたD
R1(0,0)がラッチされ、出力端子Yを通してセレ
クタ付きフリップフロップ4180に出力される。ま
た、比較器4101では、パルス信号CK2に同期し
て、DR1(1,0),DR1(1,1),DR1
(1,2)が、それぞれ入力端子A0,A1,A2を通
して入力され、その結果、最小ディストーションLMD
is=DR1(1,2)が出力端子Yを通して出力され
るとともに、DR1(1,2)が入力された入力端子A
2を表わすLMVy=2が出力端子Mを通して出力され
る。
【0192】また、論理和演算器4102では、入力端
子Sを通してパルス信号LD2=0が入力されているの
で、入力端子Bを通して入力されたデータ、すなわち、
フリップフロップ4105の出力端子Yから出力された
前回の最小ディストーションのDR1(0,0)が出力
端子Bを通して入力され出力端子Yを通して出力され
る。
【0193】次いで、比較器4103では、入力端子A
を通して入力された今回の最小ディストーションLMD
is=DR1(1,2)と、入力端子Bを通して入力さ
れた前回の最小ディストーションのDR1(0,0)と
が比較され、DR1(0,0)の方が小さいと判断さ
れ、出力端子Yを通してMin=0が出力される。次い
で、セレクタ4104では、入力端子Sに0が入力され
るため、入力端子Aと出力端子Yとが接続され、DR1
(0,0)が出力端子Yを通してフリップフロップ41
05に出力される。
【0194】すなわち、第1列目および第2列目のプロ
セッサエレメントPEにおける最小ディストーションが
求められたことになる。一方、クロックパルス信号CK
1の21クロック目の動きベクトル垂直成分検出ユニッ
ト4200において、フリップフロップ4202では、
パルス信号CK2に同期して、セレクタ4201から出
力されたデータ0がラッチされ、出力端子Yを通してM
y=0として換算テーブル4203に出力される。
【0195】次いで、換算テーブル4203では、入力
端子Aを通して入力されたデータMy=0に基づいて動
きベクトル垂直成分MVyが換算テーブルからルックア
ップされ、出力端子Yを通してセレクタ付きフリップフ
ロップ4204に出力される。また、セレクタ4201
では、比較器4103から出力されたMin=0が入力
されるため、入力端子Aと出力端子Yとが接続され、フ
リップフロップ4202にラッチされた前回LMVy=
0が再度入力端子Aを通して入力され、出力端子Yを通
してフリップフロップ4202に出力される。
【0196】さらに、クロックパルス信号CK1の21
クロック目の動きベクトル水平成分検出ユニット430
0において、フリップフロップ4302では、セレクタ
4302から出力されたデータ0がラッチされ、出力端
子Yを通してMx=0として換算テーブル4304に出
力される。次いで、換算テーブル4304では、入力端
子Aを通して入力されたデータMx=0に基づいて右半
分ディストーションに対応する動きベクトル水平成分M
Vxが換算テーブルからルックアップされ、出力端子Y
を通してセレクタ付きフリップフロップ4305に出力
される。
【0197】また、カウンタ4301では、CK2のパ
ルス信号に同期して、カウントアップされた出力カウン
トCTxがカウント出力端子Qnを通してCTx=1と
して出力される。次いで、セレクタ4302では、比較
器4103から出力されたMin=0が入力端子Sを通
して入力されるため、入力端子Aと出力端子Yとが接続
され、前回値のCTx=0が再度入力端子Aを通して入
力され出力端子Yを通してフリップフロップ4302に
出力される。
【0198】次に、クロックパルス信号CK2の22ク
ロック目の最小ディストーション検出ユニット4100
において、フリップフロップ4105では、パルス信号
CK2に同期して、セレクタ4104から出力されたD
R1(0,0)がラッチされ、出力端子Yを通してセレ
クタ付きフリップフロップ4180に出力される。ま
た、比較器4101では、パルス信号CK2に同期し
て、DR1(2,0),DR1(2,1),DR1
(2,2)が、それぞれ入力端子A0,A1,A2を通
して入力され、その結果、最小ディストーションLMD
is=DR1(2,1)が出力端子Yを通して出力され
るとともに、DR1(2,1)が入力された入力端子A
2を表わすLMVy=1が出力端子Mを通して出力され
る。
【0199】また、論理和演算器4102では、入力端
子Sを通してパルス信号LD2=0が入力されているの
で、入力端子Bを通して入力されたデータ、すなわち、
フリップフロップ4105の出力端子Yから出力された
前回の最小ディストーションDR1(0,0)が出力端
子Bを通して入力され出力端子Yを通して出力される。
【0200】次いで、比較器4103では、入力端子A
を通して入力された今回の最小ディストーションLMD
is=DR1(2,1)と、入力端子Bを通して入力さ
れた前回の最小ディストーションのDR1(0,0)と
が比較され、DR1(2,1)の方が小さいと判断さ
れ、出力端子Yを通してMin=1が出力される。次い
で、セレクタ4104では、入力端子SにMin=1が
入力されるため、入力端子Bと出力端子Yとが接続さ
れ、DR1(2,1)が出力端子Yを通してフリップフ
ロップ4105に出力される。
【0201】すなわち、プロセッサユニット3100で
算出されたすべてのDR1(x,y)から最小ディスト
ーションD(2,1)が求められたことになる。一方、
クロックパルス信号CK1の22クロック目の動きベク
トル垂直成分検出ユニット4200において、フリップ
フロップ4202では、パルス信号CK2に同期して、
セレクタ4201から出力されたデータ0がラッチさ
れ、出力端子Yを通してMy=0として換算テーブル4
203に出力される。
【0202】次いで、換算テーブル4203では、入力
端子Aを通して入力されたデータMy=0の基づいて動
きベクトルMVyが換算テーブルよりルックアップさ
れ、出力端子Yを通してセレクタ付きフリップフロップ
4204に出力される。また、セレクタ4201では、
比較器4103から出力されたMin=1が入力される
ため、入力端子Bと出力端子Yとが接続され、比較器4
101から出力された今回LMVy=1が入力端子Bを
通して入力され、出力端子Yを通してフリップフロップ
4202に出力される。
【0203】さらに、クロックパルス信号CK1の22
クロック目の動きベクトル水平成分検出ユニット430
0において、フリップフロップ4302では、セレクタ
4302から出力されたデータ0がラッチされ、出力端
子Yを通してMx=0として換算テーブル4304に出
力される。次いで、換算テーブル4304では、入力端
子Aを通して入力されたデータMx=0に基づいて右半
分ディストーションに対応する動きベクトル水平成分M
Vxが換算テーブルからルックアップされ、出力端子Y
を通してセレクタ付きフリップフロップ4305に出力
される。
【0204】また、カウンタ4301では、パルス信号
CK2のパルス信号に同期して、カウントアップされた
データCTxがカウント出力端子Qnを通してCTx=
2として出力される。次いで、セレクタ4302では、
比較器4103から出力されたMin=1が入力端子S
を通して入力されるため、入力端子Bと出力端子Yとが
接続され、今回のCTx=2が入力端子Bを通して入力
され出力端子Yを通してフリップフロップ4302に出
力される。
【0205】次に、クロックパルス信号CK2の23ク
ロック目の最小ディストーション検出ユニット4100
において、フリップフロップ4105では、パルス信号
CK2に同期して、セレクタ4104から出力されたD
R1(2,1)がラッチされ、出力端子Yを通してセレ
クタ付きフリップフロップ4180に出力される。一
方、クロックパルス信号CK1の23クロック目の動き
ベクトル垂直成分検出ユニット4200において、フリ
ップフロップ4202では、パルス信号CK2に同期し
て、セレクタ4201から出力されたデータ1がラッチ
され、出力端子Yを通してMy=1として換算テーブル
4203に出力される。
【0206】次いで、換算テーブル4203では、入力
端子Aを通して入力されたデータMy=1に基づいて動
きベクトルMVyが換算テーブルからルックアップさ
れ、出力端子Yを通してセレクタ付きフリップフロップ
4204に出力される。さらに、クロックパルス信号C
K1の23クロック目の動きベクトル水平成分検出ユニ
ット4300において、フリップフロップ4302で
は、セレクタ4302から出力されたデータ2がラッチ
され、出力端子Yを通してMx=2として換算テーブル
4304に出力される。
【0207】次いで、換算テーブル4304では、入力
端子Aを通して入力されたデータMx=0に基づいて右
半分ディストーションに対応する動きベクトル水平成分
MVxが換算テーブルからルックアップされ、出力端子
Yを通してセレクタ付きフリップフロップ4305に出
力される。また、クロックパルス信号CK1の23クロ
ック目のダウンエッジに同期して、パルス信号SMVが
1となるため、最小ディストーション検出ユニット41
00、動きベクトル垂直成分検出ユニット4200およ
び動きベクトル水平成分検出ユニットのそれぞれセレク
タ付きフリップフロップ4106,4204,4305
では、それぞれ入力端子Eを介してセレクタ4401に
入力端子Sを通して1が入力され、セレクタ4401の
入力端子Bと出力端子Yが電気的に接続される。
【0208】次に、クロックパルス信号CK2の24ク
ロック目の最小ディストーション検出ユニット4100
において、パルス信号CK2に同期して、フリップフロ
ップ4105から出力された最小ディストーションDR
1(2,1)がセレクタ付きフリップフロップ4106
のフリップフロップ4402にラッチされ、出力端子O
を通して出力される。
【0209】一方、クロックパルス信号CK1の24ク
ロック目の動きベクトル垂直成分検出ユニット4200
においても、同様に、換算テーブル4203から出力さ
れた動きベクトル垂直成分MVy=0が出力端子Oを通
して出力される。さらに、クロックパルス信号CK1の
24クロック目の動きベクトル水平成分検出ユニット4
300において、同様に換算テーブル4305から出力
された動きベクトル水平成分MVx=2が出力端子Oを
通して出力される。
【0210】また、クロックパルス信号CK1の24ク
ロック目のダウンエッジに同期して、パルス信号SMV
が0となるため、最小ディストーション検出ユニット4
100、動きベクトル垂直成分検出ユニット4200お
よび動きベクトル水平成分検出ユニットのそれぞれセレ
クタ付きフリップフロップ4106,4204,430
5では、それぞれ入力端子Eを介してセレクタ4401
に入力端子Sを通して0が入力され、セレクタ4401
の入力端子Aと出力端子Yが電気的に接続される。
【0211】このため、以降34クロック目まで、各セ
レクタ付きフリップフロップ4106,4204,43
05では、最小ディストーションDR1(2,1)、動
きベクトル垂直成分MVy=0および動きベクトル水平
成分MVx=2がそれぞれ繰り返し出力される。すなわ
ち、サーチウインドウ401内の全ての候補ブロック3
01と現画像ブロック211との間の最小ディストーシ
ョンMinDis(2,1)および動きベクトルMV
x,y=(2,0)が求められたことになる。
【0212】次に、第1ディストーションDR1(x,
y)算出時に、ウインドウデータ転送ユニット3000
の1列目のプロセッサエレメントPE(0,y)および
垂直サイドレジスタSR(0,y)から出力されたサー
チウィンドウ401の画素データを、それぞれ水平サイ
ドレジスタユニット5000の各水平サイドレジスタS
Rに保持する動作を図9に示されたタイムチャートに基
づいて説明する。
【0213】まず、クロックパルス信号CK1の10ク
ロック目のダウンエッジに同期してパルス信号SHが1
となり、各水平サイドレジスタHSのセレクタ3614
では、入力端子S0を通して1が入力され、入力端子B
と出力端子Yとが電気的に接続される。次に、図28に
示すように、クロックパルス信号CK1の11クロック
目に同期して、各プロセッサエレメントPE(0,y)
および各垂直サイドレジスタVS(0,y)にそれぞれ
保持されている画素データb(0,0),b(0,
1),b(0,2),b(0,3)およびb(0,4)
は、それぞれ一つ左側に位置する隣の水平サイドレジス
タユニット5000の各水平サイドレジスタHS(−
1,y)のフリップフロップ3624にラッチされる。
【0214】次に、クロックパルス信号CK1の12ク
ロック目から15クロック目まではパルス信号SHおよ
びSRともに0であり、各水平サイドレジスタのセレク
タ3613では、入力端子S0および入力端子S1に0
が入力され、入力端子Aと出力端子Yが電気的に接続さ
れる。このため、各水平サイドレジスタのフリップフロ
ップ3623の出力端子Yを通して出力された画素デー
タが、再び、同じ水平サイドレジスタHSのフリップフ
ロップ3624の入力端子Aを通して入力される。
【0215】次に、図29に示すように、クロックパル
ス信号CK1の16クロック目に同期して、各水平サイ
ドレジスタHS(−1,y)に保持された画素データ
は、それぞれ一つ左側の水平サイドレジスタHS(−
2,y)に転送され、同時に、プロセッサエレメントP
E(0,y)および垂直サイドレジスタ(0,y)に保
持された画素データが、それぞれ水平サイドレジスタH
S(−1,y)に転送される。
【0216】次に、図30に示すように、クロックパル
ス信号CK1の17クロック目に同期して、各水平サイ
ドレジスタHS(−2,y)に保持された画素データ
は、それぞれ一つ左側の水平サイドレジスタHS(−
3,y)に転送され、同時に、各水平サイドレジスタH
S(−1,y)に保持された画素データは、それぞれ一
つ左側の水平サイドレジスタHS(−2,y)に転送さ
れ、同時に、プロセッサエレメントPE(0,y)およ
び垂直サイドレジスタ(0,y)に保持された画素デー
タが、それぞれ水平サイドレジスタHS(−1,y)に
転送される。
【0217】これにより、M=3列分のサーチウィンド
ウ401の画素データが水平サイドレジスタユニット5
000に保持されたことになる。次に、水平サイドレジ
スタユニット5000に保持されたサーチウィンドウ4
01の画素データを再びウィンドウデータ転送ユニット
に戻す動作を図9のタイムチャートに基づいて説明す
る。
【0218】クロックパルス信号CK1の18クロック
目のダウンエッジに同期してパルス信号SRが1とな
る。次いで、クロックパルス信号CK1の19クロック
目から21クロック目において、各水平サイドレジスタ
HSに保持されている画素データはそれぞれ、クロック
パルス信号CK1のそれぞれのパルスに同期して、一つ
右側に位置する水平サイドレジスタHS、プロセッサエ
レメントPEまたは垂直サイドレジスタVSに順次転送
される。
【0219】詳しく説明すると、まず、クロックパルス
信号CK1の18クロック目のダウンエッジに同期して
パルス信号SRが1となるため、各プロセッサエレメン
トPE(x,y)では、それぞれセレクタ3610に入
力端子S2を通して1が入力され、セレクタ3610の
入力端子Dと出力端子Yとが電気的に接続される。ま
た、各垂直サイドレジスタVS(x,y)においても、
それぞれセレクタ3611に入力端子S2を通して1が
入力され、セレクタ3611の入力端子Dと出力端子Y
とが電気的に接続される。各水平サイドレジスタVS
(x,y)においては、それぞれセレクタ3613に入
力端子S1を通して1が入力され、セレクタ3613の
入力端子Cと出力端子Yが電気的に接続される。
【0220】次に、図31に示すように、クロックパル
ス信号CK1の19クロック目に同期して、各プロセッ
サエレメントPE、各垂直サイドレジスタVSおよび各
水平サイドレジスタHSに保持されたサーチウィンドウ
401の画素データは、それぞれ一つ右側の水平サイド
レジスタHS、プロセッサエレメントPEまたは各垂直
サイドレジスタVSに転送される。
【0221】次いで、図32および図34に示すよう
に、クロックパルス信号CK1の20クロック目および
21クロック目に同期して、サーチウィンドウ401の
画素データは、それぞれ一つ右側のプロセッサエレメン
トPE、垂直サイドレジスタVSおよび水平サイドレジ
スタHSに順次転送され、各プロセッサエレメントPE
および各垂直サイドレジスタでは、第1ディストーショ
ン算出開始時と同じサーチウィンドウ401の画素デー
タが保持される。
【0222】次に、本実施例1の動きベクトル探索装置
においてパイプライン処理により動きベクトルMVを求
める動作を図10〜図14に示されたタイムチャートに
基づいて説明する。図10に示すように、クロックパル
ス信号CK1の21クロック目から29クロック目で
は、水平サイドレジスタユニット5000から戻された
サーチウィンドウ401の画素データにより、図6に示
された現画像ブロック212に対応する第2左半分ディ
ストーションが第1右半分ディストーションと同様にプ
ロセッサユニット3100で算出される。
【0223】ここで、サーチウィンドウ401の4列目
以降の画素データは、参照画像メモリ2000から再度
読み出され、入力レジスタユニット3400に供給され
る。次いで、プロセッサエユニット3100により算出
された第2左半分ディストーションDL2(x,y)
は、類似ブロック特定ユニット4000に転送される。
【0224】次いで、図14に示すように、クロックパ
ルス信号CK1の31クロック目から類似ブロック特定
ユニット4000により最小ディストーションMinD
is=DL2(1,0)および動きベクトルMVx,y
=(−2,−1)が求められ、35クロック目に出力さ
れる。なお、ここで求められた動きベクトルMVは、現
画像ブロック212に対応する左半分サーチウィンドウ
に対応する動きベクトルであるため、換算テーブル43
04により左半分の探索範囲に対応するMVxに換算さ
れている。
【0225】また、図11に示すように、クロックパル
ス信号CK1の30クロック目から38クロック目で
は、図6に示されたサーチウィンドウ401に対してM
画素分水平走査側にシフトしたサーチウィンドウ402
と現画像ブロック212との第2右半分ディストーショ
ンDR2(x,y)が算出されるとともに、サーチウィ
ンドウ402の一部の画素データが水平サイドレジスタ
ユニット5000に保持される。
【0226】このとき、サーチウィンドウ402の画素
データは、各プロセッサエレメントPE間において、全
体として下、左、上、左、上方向に順次転送されるの
で、水平サイドレジスタユニット5000には(M−
1)=2列分の画素データを保持すればよい。次いで、
各水平サイドレジスタHSに保持された2列分の画素デ
ータ、並びに、1列目のプロセッサエレメントPE
(0,y)および垂直サイドレジスタVS(0,y)保
持された画素データが、それぞれ右方向に2回転送さ
れ、戻されたサーチウィンドウ402の画素データと現
画像ブロック213の画素データに基づいて第3右半分
ディストーションの算出が開始される。
【0227】すなわち、21クロック目から38クロッ
ク目までの19クロックにおいては、まず、第1右半分
ディストーション算出に使用された右半分サーチウィン
ドウ401が現画像ブロック212に対応する左半分サ
ーチウィンドウ401として第2左半分ディストーショ
ンが算出され、次いで、連続して現画像ブロック212
に対応する右半分のサーチウィンドウ402から第2右
半分ディストーションが算出されるとともに、右半分サ
ーチウィンドウ402の画素データのうち(M−1)列
分の画素データが水平サイドレジスタユニット5000
に保持され、次いで、各水平レジスタHS、並びに、1
列目のプロセッサエレメントPE(0,y)および垂直
サイドレジスタVS(0,y)にそれぞれ保持された画
素データがディストーション算出開始位置に戻される。
【0228】次いで、図34に示すように、クロックパ
ルス信号CK1の39クロック目以降は、この19クロ
ックを1サイクルとし、水平走査方向に隣接した現画像
ブロックに対応するディストーションがそれぞれ左半分
および右半分のサーチウィンドウから順次算出されると
ともに、類似ブロック特定ユニット4000において
も、プロセッサユニット3100により算出されたそれ
ぞれのディストーションが転送され、順次最小ディスト
ーションMinDisおよび動きベクトルMVが求めら
れ、パイプライン処理が実現されている。
【0229】なお、本実施例1では、水平サイドレジス
タユニット5000に保持された画素データ、並びに、
1列目のプロセッサエレメントPE(x,y)および水
平サイドレジスタHSに保持された画素データを、その
まま右方向に転送してから次回のディストーションを算
出していたが、この次回のディストーションは、前回の
ディストーション算出時と、反対の順序に転送すること
で算出することもできる。ただし、現画像ブロックの画
素データも同様に、反対の順序でプロセッサユニット3
100に供給する必要がある。この処理は、戻し処理の
ロスを解消することができ、例えば、探索範囲を3倍に
広げる場合に有効である。
【0230】すなわち、図6に示すように、まず、サー
チウィンドウ401と現画像ブロック211とからディ
ストーションを算出する。次に、サーチウィンドウ40
2と現画像ブロック211とからディストーションを算
出し、次いで、サーチウィンドウ402の画素データを
戻しながら現画像212に対応するディストーションを
算出し、次いで、サーチウィンドウ402と現画像ブロ
ック213とのディストーション算出する。
【0231】次に、サーチウィンドウ403と現画像ブ
ロック212とからディストーションを算出し、次い
で、サーチウィンドウ403の画素データを戻しながら
現画像213に対応するディストーションを算出し、次
いで、サーチウィンドウ403と現画像ブロック214
とのディストーション算出し、以下、順次同様に処理が
行われる。
【0232】また、類似ブロック特定ユニット4000
においては、プロセッサユニット3100により算出さ
れたディストーションが転送され、順次最小ディストー
ションMinDisおよび動きベクトルMVが求められ
ることはいうまでもない。このように本実施例1の動き
ベクトル探索装置によれば、同じサーチウィンドウの画
素データを共有する複数の現画像ブロックに対して、サ
ーチウィンドウの画素データと一つの現画像ブロックの
画素データとによりディストーションを算出し、このと
きサーチウィンドウ転送ユニット3000から排出され
たサーチウィンドウの画素データを水平サイドレジスタ
ユニット5000に保持し、保持されたサーチウィンド
ウの画素データを再度サーチウィンドウ転送ユニット3
000に戻して異なる現画像ブロックに対応するディス
トーションを算出することができるので、参照画像メモ
リ2000にサーチウィンドウの画素データをアクセス
するデータ量を少なくすることができ、相対的にサーチ
ウィンドウの画素データのアクセス時間を短縮すること
ができる。従って、動きベクトル探索処理を高速化する
ことができる。
【0233】(実施例2)図35は、本発明に係る実施
例2の動きベクトル探索装置を示す図である。本実施例
2では、本発明の特徴部分を具体的に説明する。図35
に示すように、実施例2の動きベクトル探索装置は、実
施例1の動きベクトル装置の現画像メモリ1000とウ
ィンドウデータ転送ユニット3000との間に現画像キ
ャッシュメモリ1001を設けるとともに、参照画像メ
モリ2000とウィンドウデータ転送ユニット3000
との間に参照画像キャッシュメモリ2002を設けたも
のである。
【0234】現画像キャッシュメモリ1001は、揮発
性メモリによって構成され、システム制御ユニット60
00により、現画像メモリ1000から読み出された現
画像ブロックの画素データを記憶するとともに、記憶し
た画素データをプロセッサユニット3100に出力す
る。また、現画像キャッシュメモリ1001からウィン
ドウ転送ユニット3000のプロセッサユニット310
0への画素データの転送は、現画像メモリ1000から
現画像キャッシュメモリ1001への画素データの転送
より高速に行われる。
【0235】参照画像キャッシュメモリ2001は、揮
発性メモリによって構成され、システム制御ユニット6
000により、参照画像メモリ2000から読み出され
たサーチウィンドウの画素データを記憶するとともに、
記憶した画素データを入力レジスタユニット3400に
出力する。また、参照画像キャッシュメモリ1001か
らウィンドウ転送ユニット3000の入力レジスタユニ
ット3400への画素データの転送は、参照画像メモリ
2000から現画像キャッシュメモリ2001への画素
データの転送速度より高速に行われる。
【0236】このため、予め現画像メモリ1000およ
び参照画像メモリ2000からそれぞれ画素データを読
み出してそれぞれ現画像キャッシュメモリ1001およ
び参照画像キャッシュメモリ2001に記憶しておき、
ディストーション算出時には、それぞれキャッシュメモ
リ1001および2001から画素データを読み出して
プロセッサユニット3100に供給することで、より高
速にプロセッサユニット3100に現画像ブロックの画
素データを供給することができる。従って、より高速な
ディストーション算出処理を行うことができる。
【0237】また、実施例1で述べたように、現画像ブ
ロックおよび一部のサーチウィンドウの画素データは、
それぞれウィンドウデータ転送ユニット3000に2回
供給される。これに対し、本実施例2では、現画像メモ
リ1000および参照画像メモリ2000からそれぞれ
の画素データを読み出す回数はそれぞれ1回でよい。こ
のため、現画像メモリ1000および参照画像メモリ2
000は、高速のメモリで構成する必要がないので、安
価なメモリで構成することができる。従って、メモリの
コストを削減することができる。
【0238】一般に、サーチウィンドウの画素データ
は、現画像ブロックの画素データよりもデータ数が膨大
であるので、特に、キャッシュメモリの採用が有効とな
る。 (実施例3)図36および図37は、本発明に係る実施
例3の動きベクトル探索装置を示す図である。本実施例
3では、本発明の特徴部分を具体的に説明する。
【0239】図38に示すように、実施例3の動きベク
トル探索装置は、実施例1のウィンドウデータ転送ユニ
ット3000の第1垂直サイドレジスタユニット320
0および第2垂直サイドレジスタユニットを第3垂直サ
イドレジスタユニット3500によって構成するととも
に、入力レジスタユニット3400を入力レジスタユニ
ット3401によって構成するものである。
【0240】垂直サイドレジスタユニット3500は、
6個の垂直サイドレジスタVSによって構成される。ま
た、入力レジスタユニット3401は、5個の入力レジ
スタIRによって構成される。ここで、ウィンドウデー
タ転送ユニット3001のプロセッサエレメントPEお
よび各レジスタVS,IRを実施例1と同様に座標
(x,y)を付して表すとすると、図36に示すよう
に、最上端、すなわち、1行目のプロセッサエレメント
PE(x,0)の入力端子YDiは最下端、すなわち、
5行目の垂直サイドレジスタVS(x,5)の出力端子
YDoと接続され、5行目の垂直サイドレジスタVS
(x,5)の入力端子YUiは1行目のプロセッサエレ
メントPE(x,0)の出力端子YUoと接続される。
【0241】また、1行目の入力レジスタ(3,0)の
入力端子YDiは5行目の入力レジスタIR(3,5)
の出力端子YDoと接続され、5行目の入力レジスタI
R(3,5)の入力端子YUiは1行目の入力レジスタ
IR(3,0)の出力端子YUoと接続される。すなわ
ち、各プロセッサエレメントおよび各レジスタは、列毎
にリング状に接続されることになる。
【0242】1行目の各プロセッサエレメントPE
(x,0)から図36における上方向に出力されたサー
チウィンドウの画素データは、5行目の垂直サイドレジ
スタVS(x,5)に転送されるとともに、5行目の垂
直サイドレジスタVS(x,5)から図における下方向
に出力された画素データは、1行目のプロセッサエレメ
ントPE(x,0)へ転送されることになる。
【0243】また、入力レジスタユニット3421の1
行目および5行目の入力レジスタIRも同様にサーチウ
ィンドウの画素データが転送される。このため、実施例
1では、プロセッサユニット3100の両側にそれぞれ
第1および第2垂直サイドレジスタユニット3200,
3300を配置したのに対し、本実施例2では、プロセ
ッサユニット3100の片側に第3サイドレジスタユニ
ット3500を配置すればよいので、回路規模を半減す
ることができる。
【0244】また、実際に回路を構成する場合には、例
えば、図37に示すように、各列毎に、プロセッサエレ
メントPEおよび各垂直サイドレジスタVS間の距離を
均一に配置することで、短い転送バスを形成することが
できるので、転送動作の誤りの少ない安定した回路を構
成することができるとともに、回路規模を小さくするこ
とができる。
【0245】なお、動きベクトルMVを求める動作は、
図8〜図14に示されたタイムチャートに基づいて実施
例1と同様に行われることはいうまでもない。 (実施例4)図38は、本発明に係る実施例4の動きベ
クトル探索装置を示す図である。本実施例4では、本発
明の特徴部分を具体的に説明する。
【0246】図38に示すように、動きベクトル探索装
置は、実施例2のサーチウィンドウ転送ユニット300
1において、プロセッサエレメントPEおよび垂直サイ
ドレジスタVSを1列分増やしたものである。本実施例
4においては、現画像ブロックの列数Mを偶数とし、N
=3,M=4とし、現画像ブロックは、3行4列の画素
データによって構成されるものとする。また、サーチウ
ィンドウは、H=5,L=7とし、5行7列の画素デー
タによって構成されるものとする。この場合、探索範囲
は、(H−N+1)×(L−M+1)=12となり、ウ
ィンドウ転送ユニット3002では、12個の候補ブロ
ックに対応する3行4列のプロセッサエレメントPEに
よりそれぞれディストーションが算出される。
【0247】水平サイドレジスタユニット5000は、
(M−1)×N個の水平サイドレジスタによって構成さ
れる。すなわち、現画像ブロックの列数Mが偶数の場合
には、サーチウィンドウの画素データは、ディストーシ
ョン算出開始時およびディストーション算出終了時に、
同じ垂直方向位置の各プロセッサエレメント、各垂直サ
イドレジスタまたは各水平サイドレジスタに保持され、
M列目のサーチウィンドウの画素データは、それぞれ1
列目のプロセッサエレメントPEおよび垂直サイドレジ
スタVSに保持されるので、ディストーション算出時に
1列目の各プロセッサエレメントPE(0,y)および
各垂直サイドレジスタVS(0,y)から排出されるサ
ーチウィンドウの画素データは、(M−1)列分とな
る。
【0248】なお、動きベクトルMVを求める動作は、
実施例1および実施例2と同様に行われることはいうま
でもない。このように、現画像ブロックの列数が偶数の
場合には、奇数の場合よりも1列分すくない(M−1)
列分の垂直サイドレジスタHSにより垂直サイドレジス
タユニット5000を構成することができるので、回路
規模を小さくすることができる。
【0249】
【効果】請求項1記載の発明によれば、同じサーチウィ
ンドウの画素データを共有する複数の現画像ブロックに
対して、サーチウィンドウの画素データと一つの現画像
ブロックの画素データとによりディストーションを算出
し、このとき第1および第2の画素データ転送保持手段
から排出されたサーチウィンドウの画素データを第3の
画素データ転送保持手段に保持し、保持されたサーチウ
ィンドウの画素データを再度第1および第2の画素デー
タ転送手段に戻して異なる現画像ブロックに対応するデ
ィストーションを算出することができるので、参照画像
の画素データの中から所望のサーチウィンドウの画素デ
ータをアクセスするデータ量を少なくすることができ、
相対的にサーチウィンドウの画素データのアクセス時間
を短縮することができる。従って、動きベクトル探索処
理を高速化することができる。
【0250】請求項2記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、サーチウィンドウの画素データと一つの現
画像ブロックの画素データとによりディストーションを
算出し、このとき第1および第2の画素データ転送保持
手段から排出されたサーチウィンドウの画素データを第
3の画素データ転送保持手段に保持し、保持されたサー
チウィンドウの画素データを再度第1および第2の画素
データ転送手段に戻して異なる現画像ブロックに対応す
るディストーションを算出することができるので、参照
画像の画素データが記憶された参照画像データ記憶手段
に所望のサーチウィンドウの画素データをアクセスする
データ量を少なくすることができ、相対的にサーチウィ
ンドウの画素データのアクセス時間を短縮することがで
きる。従って、動きベクトル探索処理を高速化すること
ができる。
【0251】請求項3記載の発明によれば、請求項2に
記載の発明において、前記ディストーション算出手段に
よりディストーション算出終了後、前記サーチウィンド
ウの画素データをディストーション算出開始時の状態に
復帰させながら前記現画像ブロックとは異なる現画像ブ
ロックに対応するディストーション算出を行なうことが
できるので、2つの現画像ブロックに対し連続してディ
ストーションを算出することができる。従って、動きベ
クトル探索処理を高速化することができる。
【0252】請求項4記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、サーチウィンドウの画素データと一つの現
画像ブロックの画素データとによりディストーションを
算出し、このとき第1および第2の画素データ転送保持
手段から排出された(M−1)列分のサーチウィンドウ
の画素データを第3の画素データ転送保持手段に保持
し、保持された画素データを再度第1および第2の画素
データ転送手段に戻して異なる現画像ブロックに対応す
るディストーションを算出することができるので、参照
画像の画素データが記憶された参照画像データ記憶手段
に所望のサーチウィンドウの画素データをアクセスする
データ量を少なくすることができ、相対的にサーチウィ
ンドウの画素データのアクセス時間を短縮することがで
きる。従って、動きベクトル探索処理を高速化すること
ができる。
【0253】請求項5記載の発明によれば、請求項4に
記載の発明において、ディストーション算出後、サーチ
ウィンドウの画素データがディストーション算出開始時
の位置に復帰したとき、画素データの転送方向を再度前
記行方向の一方向側に切り換えることで異なる現画像ブ
ロックに対応するディストーション算出を開始すること
ができるので、容易に前記転送方向を切り換えることが
できるとともに、速やかにディストーション算出を開始
することができる。
【0254】請求項6記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、サーチウィンドウの画素データと一つの現
画像ブロックの画素データとによりディストーションを
算出し、このとき第1および第2の画素データ転送保持
手段から排出されたM列分のサーチウィンドウの画素デ
ータを第3の画素データ転送保持手段に保持し、保持さ
れた画素データを再度第1および第2の画素データ転送
手段に戻して異なる現画像ブロックに対応するディスト
ーションを算出することができるので、参照画像の画素
データが記憶された参照画像データ記憶手段に所望のサ
ーチウィンドウの画素データをアクセスするデータ量を
少なくすることができ、相対的にサーチウィンドウの画
素データのアクセス時間を短縮することができる。従っ
て、動きベクトル探索処理を高速化することができる。
【0255】請求項7記載の発明によれば、請求項6に
記載の発明において、ディストーション算出後、サーチ
ウィンドウの画素データがディストーション算出開始時
の位置に復帰したとき、画素データの転送方向を再度前
記行方向の一方向側に切り換えることで異なる現画像ブ
ロックに対応するディストーション算出を開始すること
ができるので、容易に前記転送方向を切り換えることが
できるとともに、速やかにディストーション算出を開始
することができる。
【0256】請求項8記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、所望のサーチウィンドウの画素データを参
照画像データ記憶手段から読み出して高速転送記憶手段
に記憶しておき、現画像ブロックに対応するディストー
ション算出時には、参照画像データ記憶手段にアクセス
せず、高速転送記憶手段に繰り返しアクセスして第1お
よび第2画素データ転送保持手段にサーチウィンドウの
画素データを供給することができる。このため、第1お
よび第2の画素データ転送保持手段にサーチウィンドウ
の画素データを高速に転送することができるとともに、
参照画像記憶手段は、高速メモリである必要がないの
で、安価なメモリで構成することができ、コストを低減
することができる。また、サーチウィンドウの画素デー
タと一つの現画像ブロックの画素データとによりディス
トーションを算出し、このとき第1および第2の画素デ
ータ転送保持手段から排出されたサーチウィンドウの画
素データを第3の画素データ転送保持手段に保持し、保
持されたサーチウィンドウの画素データを再度第1およ
び第2の画素データ転送手段に戻して異なる現画像ブロ
ックに対応するディストーションを算出することができ
るので、高速転送記憶手段にに所望のサーチウィンドウ
の画素データをアクセスするデータ量を少なくし、相対
的にサーチウィンドウの画素データのアクセス時間を短
縮することができる。従って、動きベクトル探索処理を
高速化することができる。
【0257】請求項9記載の発明によれば、請求項8に
記載の発明において、次に処理すべき別のサーチウィン
ドウの画素データを予め参照画像記憶手段から読み出し
て高速転送記憶手段に記憶しておくことができるので、
サーチウィンドウの画素データを第1および第2の画素
データ転送保持手段に供給する時間は、参照画像記憶手
段から高速転送記憶手段に画素データを転送する時間が
無視され、高速転送記憶手段からの転送時間のみとな
る。従って、動きベクトル探索処理を高速化することが
できる。
【0258】請求項10記載の発明によれば、請求項4
〜9の何れかに記載の発明において、第3の画素データ
転送保持手段に保持されたサーチウィンドウの各画素列
の画素データを前記転送経路と反対の行方向に全行一緒
に戻すことができるので、ディストーション算出開始時
の位置に容易に、かつ、速やかに復帰させることができ
る。
【0259】請求項11記載の発明によれば、請求項2
〜5および8〜10の何れかに記載の発明において、現
画像ブロックが偶数の画素列を有する場合、ディストー
ション算出が終了したとき、サーチウィンドウのM列目
の画素データは、それぞれディストーション算出開始時
と同じ行の1列目の第1および第2レジスタに保持され
るので、サーチウィンドウのM列目の画素データを前記
転送経路の列方向に移動することなく反対の行方向のみ
に移動するよう転送するだけでディストーション算出開
始時の位置に復帰させることができる。このため、サー
チウィンドウのM列目の画素データを容易に、かつ、速
やかにディストーション算出開始時の位置に復帰させる
ことができる。
【0260】請求項12記載の発明によれば、請求項2
および3並びに6〜10の何れかに記載の発明におい
て、現画像ブロックが奇数の画素列を有する場合、ディ
ストーション算出が終了したとき、ディストーション算
出開始時より列方向に(N−1)行シフトした1列目の
第1および第2レジスタに保持されるサーチウィンドウ
のM列目の画素データを第3レジスタに保持することが
できるので、サーチウィンドウのM列目の画素データを
前記転送経路の列方向に移動することなく反対の行方向
のみに移動するよう転送するだけでディストーション算
出開始時の第1および第2レジスタに復帰させることが
できる。このため、サーチウィンドウのM列目の画素デ
ータを容易に、かつ、速やかにディストーション算出開
始時の位置に復帰させることができる。
【0261】請求項13記載の発明によれば、請求項4
〜12の何れかに記載の発明において、前記第1レジス
タおよびディストーション算出手段の各演算器をそれぞ
れ共通制御信号によって同一時刻に同一動作を行うよう
に制御することができるので、演算処理の並列化による
高速処理を行うことができる。請求項14記載の発明に
よれば、請求項4〜13の何れかに記載の発明におい
て、各列の1行目および(H−N+1)行目のプロセッ
サエレメントにそれぞれ同数の第2レジスタを配置する
ことができるので、サーチウィンドウの画素データを列
方向に往復移動するように転送するバッファ領域として
容易に回路を形成することができる。
【0262】請求項15記載の発明によれば、請求項4
〜13の何れかに記載の発明において、前記第1レジス
タおよび第2レジスタを各列毎にリング状に電気的に接
続することができるので、請求項14記載の第2レジス
タの半数の第2レジスタで第2の画素データ転送保持手
段を構成することができる。また、各列毎にリング状に
接続された各レジスタ間の距離を均一に配置することが
できるので、各レジスタ間に短い転送バスを形成するこ
とができるとともに、各レジスタ間の転送時間を均一に
することができる。従って、誤りの少ない安定した回路
を形成することができるとともに、回路規模を小さくす
ることができる。
【図面の簡単な説明】
【図1】本発明に係る実施形態の動きベクトル探索装置
の構成を示す図である。
【図2】本発明に係る実施形態の動きベクトル探索装置
に適用される現画像ブロックおよびサーチウィンドウの
探索範囲を示す図である。
【図3】本発明に係る実施例1の動きベクトル探索装置
の構成を示す図である。
【図4】本発明に係る実施例1の動きベクトル探索装置
に適用される現画像ブロックおよびサーチウィンドウを
示す図である。
【図5】ウィンドウデータ転送ユニット3000および
水平サイドレジスタユニット5000の構成を示す図で
ある。
【図6】本発明に係る実施例1の動きベクトル探索装置
に適用される現画像ブロックおよびサーチウィンドウを
示す図である。
【図7】システム制御ユニット6000から各ユニット
に出力される信号を示す図である。
【図8】サーチウィンドウ転送ユニット3000および
水平サイドレジスタユニット5000の動作を示すタイ
ムチャートである。
【図9】サーチウィンドウ転送ユニット3000および
水平サイドレジスタユニット5000の動作を示すタイ
ムチャートである。
【図10】サーチウィンドウ転送ユニット3000およ
び水平サイドレジスタユニット5000の動作を示すタ
イムチャートである。
【図11】サーチウィンドウ転送ユニット3000およ
び水平サイドレジスタユニット5000の動作を示すタ
イムチャートである。
【図12】サーチウィンドウ転送ユニット3000およ
び水平サイドレジスタユニット5000の動作を示すタ
イムチャートである。
【図13】類似ブロック特定ユニット4000の動作を
示すタイムチャートである。
【図14】類似ブロック特定ユニット4000の動作を
示すタイムチャートである。
【図15】プロセッサエレメントPEの端子配置を示す
図である。
【図16】プロセッサエレメントPEのブロック図であ
る。
【図17】垂直サイドレジスタVSの端子配置を示す図
および垂直サイドレジスタVSのブロック図である。
【図18】入力レジスタIRの端子配置を示す図および
入力レジスタIRのブロック図である。
【図19】水平サイドレジスタHSの端子配置を示すお
よび水平サイドレジスタHSのブロック図である。
【図20】類似ブロック特定ユニット4000のブロッ
ク図である。
【図21】セレクタ付きフリップフロップ4400のブ
ロック図である。
【図22】クロックパルス信号CK1の1クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。
【図23】クロックパルス信号CK1の2クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。
【図24】クロックパルス信号CK1の3クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。
【図25】クロックパルス信号CK1の4クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。
【図26】クロックパルス信号CK1の6クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。
【図27】クロックパルス信号CK1の10クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。
【図28】クロックパルス信号CK1の11クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。
【図29】クロックパルス信号CK1の16クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。
【図30】クロックパルス信号CK1の17クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。
【図31】クロックパルス信号CK1の19クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。
【図32】クロックパルス信号CK1の20クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。
【図33】クロックパルス信号CK1の21クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。
【図34】パイプライン処理により動きベクトルMVを
求める動作を示す図である。
【図35】本発明に係る実施例2の動きベクトル探索装
置の構成を示す図である。
【図36】本発明に係る実施例3の動きベクトル探索装
置のウィンドウデータ転送ユニット3001の構成を示
す図である。
【図37】互いに間隔が等しくなるように各プロセッサ
エレメントおよび各垂直サイドレジスタVSを列毎にリ
ング状に接続して配置した図である。
【図38】本発明に係る実施例4の動きベクトル探索装
置の構成を示す図である。
【図39】単純フレーム間予測符号化方式を示す図であ
る。
【図40】動き補償フレーム間予測符号化方式を示す図
である。
【図41】現画像110上の現画像ブロック220およ
び参照画像310上のサーチウィンドウ410および候
補ブロック302を示す図である。
【図42】現画像ブロック220、サーチウィンドウ4
10および候補ブロック302の関係を示す図である。
【図43】現画像ブロック220内の画素データと各候
補ブロック302内の画素データとの位置的な対応関係
を示す図である。
【図44】現画像ブロックの画素データと各候補ブロッ
クの画素データに基づいて各プロセッサエレメントにお
いてそれぞれのディストーションを算出する動作を示す
図である。
【図45】現画像ブロックの画素データと各候補ブロッ
クの画素データに基づいて各プロセッサエレメントにお
いてそれぞれのディストーションを算出する動作を示す
図である。
【符号の説明】
1 第1画素データ転送保持手段 2 第2画素データ転送保持手段 3 第3画素データ転送保持手段 4 ウィンドウデータ転送制御手段 5 ディストーション算出手段 6 類似ブロック特定手段 7 排出データ保持制御手段 8 戻しデータ転送制御手段 9 高速転送記憶手段 10 人物像 20,21 有意画素領域 100,110 現画像 201,202,203,211,212,213,2
14,220 現画像ブロック 300,310 参照画像 301,302 候補ブロック 401,402,403,410 サーチウィンドウ 501,502,503,504,505,511,5
12,513 探索範囲 1000 現画像メモリ 1001 現画像キャッシュメモリ 2000 参照画像メモリ 2001 参照画像キャッシュメモリ 3000,3001,3002 ウィンドウデータ転送
ユニット 3100 プロセッサユニット 3200 第1垂直サイドレジスタユニット 3300 第2垂直サイドレジスタユニット 3400 入力レジスタユニット 3600 転送方向切換ユニット 3610,3611,3612,3613 セレクタ 3620,3621,3622,3623 フリップフ
ロップ 3700 ディストーション算出ユニット 3710 減算器 3720 正数変換器 3730 加算器 3740 フリップフロップ 3750 反転器 3760 論理積演算器 3800 ディストーション転送ユニット 3810 セレクタ 3820 フリップフロップ 4000 類似ブロック特定ユニット 4100 最小ディストーション検出ユニット 4101 比較器 4102 論理和演算器 4103 比較器 4104 セレクタ 4105 フリップフロップ 4106 セレクタ付きフリップフロップ 4200 動きベクトル垂直成分検出ユニット 4201 セレクタ 4202 フリップフロップ 4203 換算テーブル 4204 セレクタ付きフリップフロップ 4300 動きベクトル水平成分検出ユニット 4301 カウンタ 4302 セレクタ 4303 フリップフロップ 4304 換算テーブル 4305 セレクタ付きフリップフロップ 4400 セレクタ付きフリップフロップ 4401 セレクタ 4402 フリップフロップ 5000 水平サイドレジスタユニット 6000 システム制御ユニット
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H04N 7/24 - 7/68

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】動画像を部分的に構成する現画像を前記動
    画像を部分的に構成する参照画像に基づいて予測するの
    に用いられる動きベクトルを探索する方法であり、前記
    現画像が画素データを有する複数行複数列の画素により
    表わされる複数の現画像ブロックを含み、前記参照画像
    がそれぞれ画素データを有する前記現画像ブロックと同
    一サイズの複数の候補ブロックを含み、前記現画像ブロ
    ック毎に、前記複数の候補ブロックのうち該現画像ブロ
    ックに類似する何れか1つの候補ブロックのブロック位
    置と該現画像ブロックのブロック位置とによって、前記
    動きベクトルを特定する動きベクトル探索方法であっ
    て、 前記複数の現画像ブロックの画素データと、それぞれ前
    記参照画像の複数の候補ブロックのうち少なくとも2つ
    の候補ブロックを含む複数のサーチウィンドウの画素デ
    ータと、を準備する工程と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
    ズに応じた探索領域を形成し該探索領域内に前記サーチ
    ウィンドウ内の各候補ブロックの画素データの一部を入
    力して保持するとともに該保持した画素データを前記探
    索領域の所定方向に転送する第1の画素データ転送保持
    手段と、前記第1の画素データ転送保持手段との間で画
    素データを授受し前記第1の画素データ転送保持手段と
    共に前記サーチウィンドウの画素データを前記探索領域
    を通る所定の転送経路に沿って転送する第2の画素デー
    タ転送保持手段と、前記転送経路に沿って転送された画
    素データの一部を前記第1および第2の画素データ転送
    保持手段から入力し出力する第3の画素データ転送保持
    手段と、をそれぞれ準備する工程と、 前記サーチウィンドウの画素データを前記第1および第
    2の画素データ転送保持手段に入力するとともに、前記
    サーチウィンドウの各画素列の画素データが全行一緒に
    列方向に往復移動しながら行方向に移動するよう、前記
    第1および第2の画素データ転送保持手段により、前記
    サーチウィンドウの画素データを前記転送経路に沿って
    転送するウィンドウデータ転送工程と、 前記現画像ブロックの画素データと前記第1の画素デー
    タ転送保持手段に保持された画素データとに基づいて、
    前記現画像ブロックの各々に対し、前記現画像ブロック
    と前記複数の候補ブロックとの間の画像の差を表わす複
    数のディストーションをそれぞれ算出する第1のディス
    トーション算出工程と、 前記現画像ブロックの各々に対し算出された複数のディ
    ストーションの値のうち最小値を検出して、前記類似す
    る1つの候補ブロックを特定する類似ブロック特定工程
    と、を含み、 さらに、 前記第1および第2の画素データ転送保持手段に入力さ
    れた前記サーチウィンドウの画素データのうち前記サー
    チウィンドウの1列目から所定列分だけ各列の画素デー
    タを前記第1および第2の画素データ転送保持手段から
    排出しつつ前記第3の画素データ転送保持手段に保持さ
    せる排出データ保持工程と、 前記第3の画素データ転送保持手段に保持された画素デ
    ータを前記第3の画素データ転送保持手段から前記第1
    および第2の画素データ転送保持手段に戻す画素データ
    戻し工程と、 該画素データ戻し工程により前記第1および第2の画素
    データ転送保持手段に戻された画素データを用いて、前
    記現画像ブロックとは異なる現画像ブロックに対応する
    ディストーション算出を行う第2のディストーション算
    出工程と、を有することを特徴とする動きベクトル探索
    方法。
  2. 【請求項2】動画像を部分的に構成する現画像を前記動
    画像を部分的に構成する参照画像に基づいて予測するの
    に用いられる動きベクトルを探索する装置であり、前記
    現画像が画素データを有する複数行複数列の画素により
    表わされる複数の現画像ブロックを含み、前記参照画像
    がそれぞれ画素データを有する前記現画像ブロックと同
    一サイズの複数の候補ブロックを含み、前記現画像ブロ
    ック毎に、前記複数の候補ブロックのうち該現画像ブロ
    ックに類似する何れか1つの候補ブロックのブロック位
    置と該現画像ブロックのブロック位置とによって、前記
    動きベクトルを特定する動きベクトル探索装置であっ
    て、 前記参照画像の画素データを記憶し前記候補ブロックを
    それぞれ少なくとも2つ含んだ複数のサーチウィンドウ
    の画素データを出力可能な参照画像データ記憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
    ズに応じた探索領域を形成し、該探索領域内に前記サー
    チウィンドウ内の各候補ブロックの画素データの一部を
    入力して保持するとともに、該保持した画素データを前
    記探索領域の所定方向に転送する第1の画素データ転送
    保持手段と、 前記第1の画素データ転送保持手段との間で画素データ
    を授受し、前記第1の画素データ転送保持手段と共に前
    記サーチウィンドウの画素データを前記探索領域を通る
    所定の転送経路に沿って転送する第2の画素データ転送
    保持手段と、 前記転送経路に沿って転送された画素データの一部を前
    記第1および第2の画素データ転送保持手段から入力し
    出力する第3の画素データ転送保持手段と、 前記サーチウィンドウの画素データを前記第1および第
    2の画素データ転送保持手段に入力させ、前記複数のう
    ち少なくとも2つの候補ブロックを前記探索領域内に順
    次入力させるとともに、前記サーチウィンドウの各画素
    列の画素データが全行一緒に列方向に往復運動しながら
    行方向に移動するよう、前記第1および第2の画素デー
    タ転送保持手段により前記サーチウィンドウの画素デー
    タを前記転送経路に沿って転送させるウィンドウデータ
    転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
    タ転送保持手段に保持された画素データとに基づいて、
    前記現画像ブロックの各々に対し、前記現画像ブロック
    と前記複数の候補ブロックとの間の画像の差を表わす複
    数のディストーションをそれぞれ算出するディストーシ
    ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
    ストーションの値のうち最小値を検出して、前記類似す
    る1つの候補ブロックを特定する類似ブロック特定手段
    と、 前記第1および第2の画素データ転送保持手段により画
    素データが転送されるとき、前記第1および第2の画素
    データ転送保持手段に入力された画素データのうち前記
    サーチウィンドウの1列目から所定列分だけ各列の画素
    データを前記第1および第2の画素データ転送保持手段
    から排出しつつ前記第3の画素データ転送保持手段に保
    持させる排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
    転送保持手段に保持された画素データを前記第3の画素
    データ転送保持手段から前記第1および第2の画素デー
    タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記ディストーション算出手段が、該戻しデータ転送制
    御手段により前記第3の画素データ転送保持手段から前
    記第1および第2の画素データ転送保持手段に戻された
    画素データを用いて、前記現画像ブロックとは異なる現
    画像ブロックに対応するディストーション算出を行なう
    ことを特徴とする動きベクトル探索装置。
  3. 【請求項3】前記ディストーション算出手段によりディ
    ストーション算出終了後、前記サーチウィンドウの画素
    データがディストーション算出開始時の状態に復帰する
    よう、戻しデータ転送制御手段が、前記第3の画素デー
    タ転送保持手段に保持されたサーチウィンドウの画素デ
    ータを前記第1および第2の画素データ転送保持手段に
    戻すとともに、前記ウィンドウデータ転送制御手段が、
    前記第1および第2の画素データ転送保持手段に保持さ
    れたサーチウィンドウの画素データを前記転送経路と反
    対の方向に転送させ、前記ディストーション算出手段
    が、前記現画像ブロックとは異なる現画像ブロックに対
    応するディストーション算出を行なうことを特徴とする
    請求項2に記載の動きベクトル探索装置。
  4. 【請求項4】動画像を部分的に構成する現画像を前記動
    画像を部分的に構成する参照画像に基づいて予測するの
    に用いられる動きベクトルを探索する装置であり、N,
    Mをそれぞれ整数とするとき、前記現画像が画素データ
    を有するN行M列の画素により表わされる複数の現画像
    ブロックを含み、前記参照画像がそれぞれ画素データを
    有する前記現画像ブロックと同一サイズの複数の候補ブ
    ロックを含み、前記現画像ブロック毎に、前記複数の候
    補ブロックのうち該現画像ブロックに類似する何れか1
    つの候補ブロックのブロック位置と該現画像ブロックの
    ブロック位置とによって、前記動きベクトルを特定する
    動きベクトル探索装置であって、 H,Lをそれぞれ整数とするとき、前記参照画像の画素
    データを記憶し前記候補ブロックをそれぞれ少なくとも
    2つ含んだ複数のH行L列のサーチウィンドウの画素デ
    ータを出力可能な参照画像データ記憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
    ズに応じた(H−N+1)行(L−M+1)列の探索領
    域を形成し、該探索領域内に前記サーチウィンドウ内の
    各候補ブロックの画素データの一部を入力して保持する
    とともに該保持した画素データを前記探索領域の所定方
    向に転送する(H−N+1)×(L−M+1)個の第1
    レジスタを有する第1の画素データ転送保持手段と、 前記第1の画素データ転送保持手段の第1レジスタとの
    間で画素データを授受する複数の第2レジスタを有し、
    前記第1の画素データ転送保持手段と共に前記サーチウ
    ィンドウの画素データを前記探索領域を通る所定の転送
    経路に沿って転送する第2の画素データ転送保持手段
    と、 前記転送経路に沿って転送された画素データの一部を前
    記第1および第2の画素データ転送保持手段から入力し
    出力する(M−1)×H個の第3レジスタを有する第3
    の画素データ転送保持手段と、 前記サーチウィンドウの画素データを前記第1および第
    2の画素データ転送保持手段に入力させ、前記複数のう
    ち少なくとも2つの候補ブロックを前記探索領域内に順
    次入力させるとともに、前記サーチウィンドウの各画素
    列の画素データが全行一緒に列方向に往復移動しながら
    行方向に移動するよう、前記第1および第2の画素デー
    タ転送保持手段により前記サーチウィンドウの画素デー
    タを前記転送経路に沿って転送させるウィンドウデータ
    転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
    タ転送保持手段に保持された画素データとに基づいて、
    前記現画像ブロックの各々に対し、前記現画像ブロック
    と前記複数の候補ブロックとの間の画像の差を表わす複
    数のディストーションをそれぞれ算出するディストーシ
    ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
    ストーションの値のうち最小値を検出して、前記類似す
    る1つの候補ブロックを特定する類似ブロック特定手段
    と、 前記第1および第2画素データ転送保持手段により画素
    データが転送されるとき、前記第1および第2画素デー
    タ転送保持手段に入力された画素データのうち前記サー
    チウィンドウの1列目から(M−1)列目までの各列の
    画素データを前記第1および第2画素データ転送保持手
    段から排出しつつ前記第3画素データ転送保持手段に保
    持させる排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
    転送保持手段に保持された画素データを前記第3の画素
    データ転送保持手段から前記第1および第2の画素デー
    タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記ディストーション算出手段が、該戻しデータ転送制
    御手段により前記第3の画素データ転送保持手段から前
    記第1および第2の画素データ転送保持手段に戻された
    画素データを用いて、前記現画像ブロックとは異なる現
    画像ブロックに対応するディストーション算出を行なう
    ことを特徴とする動きベクトル探索装置。
  5. 【請求項5】前記戻しデータ転送制御手段により前記
    (M−1)列分の画素データが前記第3レジスタから第
    1および第2レジスタに戻されると同時に、前記探索領
    域の1列目の画素列に対応する第1および第2レジスタ
    に保持されていた画素データを、前記行方向他方側に戻
    すよう転送させ、更に、これらM列分の画素データが前
    記何れかの現画像ブロックに対応するディストーション
    算出開始時の位置に復帰したとき、前記入力画素データ
    の転送方向を再度前記行方向の一方側に切り換え、 前記ディストーション算出手段が、前記第3レジスタか
    ら第1および第2レジスタに戻された(M−1)列分の
    画素データと、前記第3レジスタに前記(M−1)列分
    の画素データが入力されたとき前記探索領域の1列目の
    画素列に対応する第1および第2レジスタに保持されて
    いた画素データとを用いて、前記現画像ブロックとは異
    なる現画像ブロックに対応するディストーション算出を
    開始することを特徴とする請求項4に記載の動きベクト
    ル探索装置。
  6. 【請求項6】動画像を部分的に構成する現画像を前記動
    画像を部分的に構成する参照画像に基づいて予測するの
    に用いられる動きベクトルを探索する装置であり、N,
    Mをそれぞれ整数とするとき、前記現画像が画素データ
    を有するN行M列の画素により表わされる複数の現画像
    ブロックを含み、前記参照画像がそれぞれ画素データを
    有する前記現画像ブロックと同一サイズの複数の候補ブ
    ロックを含み、前記現画像ブロック毎に、前記複数の候
    補ブロックのうち該現画像ブロックに類似する何れか1
    つの候補ブロックのブロック位置と該現画像ブロックの
    ブロック位置とによって、前記動きベクトルを特定する
    動きベクトル探索装置であって、 前記参照画像の画素データを記憶し前記候補ブロックを
    それぞれ少なくとも2つ含んだ複数のH行L列のサーチ
    ウィンドウの画素データを出力可能な参照画像データ記
    憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
    ズに応じた(H−N+1)行(L−M+1)列の探索領
    域を形成し、該探索領域内に前記サーチウィンドウ内の
    各候補ブロックの画素データの一部を入力して保持する
    とともに該保持した画素データを前記探索領域の所定方
    向に転送する(H−N+1)×(L−M+1)個の第1
    レジスタを有する第1の画素データ転送保持手段と、 前記第1の画素データ転送保持手段の第1レジスタとの
    間で画素データを授受する複数の第2レジスタを有し、
    前記第1の画素データ転送保持手段と共に前記サーチウ
    ィンドウの画素データを前記探索領域を通る所定の転送
    経路に沿って転送する第2の画素データ転送保持手段
    と、 前記転送経路に沿って転送された画素データの一部を前
    記第1および第2の画素データ転送保持手段から入力し
    出力するM×H個の第3レジスタを有する第3の画素デ
    ータ転送保持手段と、 前記サーチウィンドウの画素データを前記第1および第
    2の画素データ転送保持手段に入力させるとともに、前
    記複数のうち少なくとも2つの候補ブロックを前記探索
    領域内に順次入力させるとともに、前記サーチウィンド
    ウの各画素列の画素データが全行一緒に列方向に往復移
    動しながら行方向に移動するよう、前記第1および第2
    の画素データ転送保持手段により前記サーチウィンドウ
    の画素データを前記転送経路に沿って転送させるウィン
    ドウデータ転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
    タ転送保持手段に保持された画素データとに基づいて、
    前記現画像ブロックの各々に対し、前記現画像ブロック
    と前記複数の候補ブロックとの間の画像の差を表わす複
    数のディストーションをそれぞれ算出するディストーシ
    ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
    ストーションの値のうち最小値を検出して、前記類似す
    る1つの候補ブロックを特定する類似ブロック特定手段
    と、 前記第1および第2画素データ転送保持手段により画素
    データが転送されるとき、前記第1および第2画素デー
    タ転送保持手段に入力された画素データのうち前記サー
    チウィンドウの1列目からM列目までの各列の画素デー
    タを前記第1および第2画素データ転送保持手段から排
    出しつつ前記第3画素データ転送保持手段に保持させる
    排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
    転送保持手段に保持された画素データを前記第3の画素
    データ転送保持手段から前記第1および第2の画素デー
    タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記ディストーション算出手段が、該戻しデータ転送制
    御手段により前記第3の画素データ転送保持手段から前
    記第1および第2の画素データ転送保持手段に戻された
    画素データを用いて、前記現画像ブロックとは異なる現
    画像ブロックに対応するディストーション算出を行なう
    ことを特徴とする動きベクトル探索装置。
  7. 【請求項7】前記戻しデータ転送制御手段により前記サ
    ーチウィンドウの1列目からM列目までのM列分の画素
    データが前記第3レジスタから前記何れかの現画像ブロ
    ックに対応するディストーション算出開始時の位置に復
    帰したとき、前記入力画素データの転送方向を再度前記
    行方向の一方側に切り換え、 前記ディストーション算出手段が、前記第3レジスタか
    ら第1および第2レジスタに戻されたM列分の画素デー
    タを用いて、前記現画像ブロックとは異なる現画像ブロ
    ックに対応するディストーション算出を開始することを
    特徴とする請求項6に記載の動きベクトル探索装置。
  8. 【請求項8】動画像を部分的に構成する現画像を前記動
    画像を部分的に構成する参照画像に基づいて予測するの
    に用いられる動きベクトルを探索する装置であり、前記
    現画像が画素データを有する複数行複数列の画素により
    表わされる複数の現画像ブロックを含み、前記参照画像
    がそれぞれ画素データを有する前記現画像ブロックと同
    一サイズの複数の候補ブロックを含み、前記現画像ブロ
    ック毎に、前記複数の候補ブロックのうち該現画像ブロ
    ックに類似する何れか1つの候補ブロックのブロック位
    置と該現画像ブロックのブロック位置とによって、前記
    動きベクトルを特定する動きベクトル探索装置であっ
    て、 前記参照画像の画素データを記憶し前記候補ブロックを
    それぞれ少なくとも2つ含んだ複数のサーチウィンドウ
    の画素データを出力可能な参照画像データ記憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
    ズに応じた探索領域を形成し、該探索領域内に前記サー
    チウィンドウ内の各候補ブロックの画素データの一部を
    入力して保持するとともに、該保持した画素データを前
    記探索領域の所定方向に転送する第1の画素データ転送
    保持手段と、 前記第1の画素データ転送保持手段との間で画素データ
    を授受し、前記第1の画素データ転送保持手段と共に前
    記サーチウィンドウの画素データを前記探索領域を通る
    所定の転送経路に沿って転送する第2の画素データ転送
    保持手段と、 前記転送経路に沿って転送された画素データの一部を前
    記第1および第2の画素データ転送保持手段から入力し
    出力する第3の画素データ転送保持手段と、 前記参照画像データ記憶手段から前記複数のうち何れか
    のサーチウィンドウの一部の画素データを含む所定画素
    領域分ずつ画素データを読み出して記憶するとともに、
    記憶済のサーチウィンドウの画素データを前記参照画像
    データ記憶手段からのデータ転送速度より大きい転送速
    度で前記第1および第2の画素データ転送保持手段に供
    給する高速転送記憶手段と、 前記高速転送記憶手段に記憶されたサーチウィンドウの
    画素データを前記第1および第2の画素データ転送保持
    手段に入力させ、前記複数のうち少なくとも2つの候補
    ブロックを前記探索領域内に順次入力させるとともに、
    前記サーチウィンドウの各画素列のデータを全行一緒に
    列方向に往復運動させながら行方向に移動するよう、前
    記第1および第2の画素データ転送保持手段により前記
    サーチウィンドウの画素データを前記転送経路に沿って
    転送させるウィンドウデータ転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
    タ転送保持手段に保持された画素データとに基づいて、
    前記現画像ブロックの各々に対し、前記現画像ブロック
    と前記複数の候補ブロックとの間の画像の差を表わす複
    数のディストーションをそれぞれ算出するディストーシ
    ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
    ストーションの値のうち最小値を検出して、前記類似す
    る1つの候補ブロックを特定する類似ブロック特定手段
    と、 前記第1および第2画素データ転送保持手段により画素
    データが転送されるとき、前記第1および第2画素デー
    タ転送保持手段に入力された画素データのうち前記サー
    チウィンドウの1列目から所定列分だけ各列の画素デー
    タを前記第1および第2画素データ転送保持手段から排
    出しつつ前記第3画素データ転送保持手段に保持させる
    排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
    転送保持手段に保持された画素データを前記第3の画素
    データ転送保持手段から前記第1および第2の画素デー
    タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記高速転送記憶手段が、前記参照画像データ記憶手段
    から読み出し記憶している前記所定画素領域分の画素デ
    ータのうち、前記探索領域内に戻された画素データに続
    く転送順序の画素データを前記第1および第2の画素デ
    ータ転送保持手段に再度入力させ、 前記ディストーション算出手段が、前記戻しデータ転送
    制御手段により前記第3画素データ転送保持手段から前
    記第1および第2の画素データ転送保持手段に戻された
    画素データと、前記高速転送記憶手段から前記第1およ
    び第2の画素データ転送保持手段に再度入力された画素
    データとを用いて、前記現画像ブロックとは異なる現画
    像ブロックに対応するディストーション算出を行なうこ
    とを特徴とする動きベクトル探索装置。
  9. 【請求項9】前記第3画素データ転送保持手段から前記
    第1および第2の画素データ転送保持手段に画素データ
    が戻され、該画素データに続く転送順序の画素データが
    前記高速転送記憶手段から前記第1および第2の画素デ
    ータ転送保持手段に再度入力されることにより、前記複
    数のうち何れかのサーチウィンドウの一部の画素データ
    が前記探索領域に供給されるとき、 前記何れかのサーチウィンドウの残部の画素データを前
    記参照画像データ記憶手段から読み出して前記高速転送
    記憶手段に記憶させることを特徴とする請求項8に記載
    の動きベクトル探索装置。
  10. 【請求項10】前記第3の画素データ転送保持手段が、
    前記探索領域内におけるディストーション算出開始時の
    画素データの位置を保って画素データを入力し出力する
    ことを特徴とする請求項4〜9の何れかに記載の動きベ
    クトル探索装置。
  11. 【請求項11】前記現画像ブロックおよび候補ブロック
    がそれぞれ偶数の画素列を有することを特徴とする請求
    項2〜5および8〜10の何れかに記載の記載の動きベ
    クトル探索装置。
  12. 【請求項12】前記現画像ブロックおよび候補ブロック
    がそれぞれ奇数の画素列を有することを特徴とする請求
    項2および3並びに6〜10の何れかに記載の記載の動
    きベクトル探索装置。
  13. 【請求項13】前記ディストーション算出手段が、前記
    第1レジスタと共に二次元的に配列された複数の演算器
    を有するシストリックアレー構造の演算回路によって構
    成されることを特徴とする請求項4〜12の何れかに記
    載の動きベクトル探索装置。
  14. 【請求項14】前記複数の第2レジスタのうち、一部の
    第2レジスタが各列同数になるよう(N−1)×(L−
    M+1)個設けられ、前記探索領域の列方向の一方向に
    転送された画素データを入力して出力するととともに、
    残りの第2レジスタが各列同数になるよう(N−1)×
    (L−M+1)個設けられ、前記探索領域の列方向の他
    方向に転送された画素データを入力して出力することを
    特徴とする請求項4〜13の何れかに記載の動きベクト
    ル探索装置。
  15. 【請求項15】前記第2レジスタが、各列同数になるよ
    う(N−1)×(L−M+1)個設けられ、前記探索領
    域の列方向両端の画素に対応する第1レジスタ間に介在
    して画素データを転送することを特徴とする請求項4〜
    13の何れかに記載の動きベクトル探索装置。
JP25030095A 1995-09-28 1995-09-28 動きベクトル探索方法および探索装置 Expired - Lifetime JP2868441B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25030095A JP2868441B2 (ja) 1995-09-28 1995-09-28 動きベクトル探索方法および探索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25030095A JP2868441B2 (ja) 1995-09-28 1995-09-28 動きベクトル探索方法および探索装置

Publications (2)

Publication Number Publication Date
JPH0993587A JPH0993587A (ja) 1997-04-04
JP2868441B2 true JP2868441B2 (ja) 1999-03-10

Family

ID=17205863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25030095A Expired - Lifetime JP2868441B2 (ja) 1995-09-28 1995-09-28 動きベクトル探索方法および探索装置

Country Status (1)

Country Link
JP (1) JP2868441B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4519009B2 (ja) * 2005-06-13 2010-08-04 ローム株式会社 Sad演算装置及びこれを用いたマクロブロック探索装置

Also Published As

Publication number Publication date
JPH0993587A (ja) 1997-04-04

Similar Documents

Publication Publication Date Title
KR100203913B1 (ko) 모션 벡터 생성기
US4937666A (en) Circuit implementation of block matching algorithm with fractional precision
JP3009674B2 (ja) 動き検出器
JP3101691B2 (ja) 二次元動画像の連続するピクセルを表わすデータ信号を処理するための方法および回路
JP3089165B2 (ja) 動きベクトル探索装置
JP2868441B2 (ja) 動きベクトル探索方法および探索装置
JP2768646B2 (ja) 動きベクトル探索方法および探索装置
JP2868457B2 (ja) 動きベクトル探索装置
JP2866324B2 (ja) 動きベクトル探索装置
JP2868440B2 (ja) 動きベクトル探索方法および探索装置
JP2866321B2 (ja) 動きベクトル探索方法および装置
JP2004229150A (ja) 動きベクトル探索方法および装置
JP2866325B2 (ja) 動きベクトル探索装置
JP2931783B2 (ja) 動きベクトル探索装置
JP2866326B2 (ja) 動きベクトル探索装置
JP2963369B2 (ja) 動きベクトル探索装置
JP2868444B2 (ja) 動きベクトル探索方法および探索装置
JP2983170B2 (ja) 動きベクトル探索方法および探索装置
JP2872105B2 (ja) ディストーション算出装置
JP3189655B2 (ja) 動きベクトル検出装置およびその方法
JP2768648B2 (ja) 動きベクトル探索方法および装置
JP3698501B2 (ja) 動きベクトル検出装置
JP3004685B2 (ja) 動きベクトル検出回路
JP3115511B2 (ja) 動きベクトル探索装置
JP2968233B2 (ja) 動きベクトル探索方法および探索装置