JPH04504319A - ブロックマッチングアルゴリズムの実現回路 - Google Patents

ブロックマッチングアルゴリズムの実現回路

Info

Publication number
JPH04504319A
JPH04504319A JP1504005A JP50400589A JPH04504319A JP H04504319 A JPH04504319 A JP H04504319A JP 1504005 A JP1504005 A JP 1504005A JP 50400589 A JP50400589 A JP 50400589A JP H04504319 A JPH04504319 A JP H04504319A
Authority
JP
Japan
Prior art keywords
circuit
pixel values
block
search area
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1504005A
Other languages
English (en)
Inventor
ウー、ランセロット
ヤング、クンミン
Original Assignee
ベル コミュニケーションズ リサーチ インコーポレーテッド
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 ベル コミュニケーションズ リサーチ インコーポレーテッド filed Critical ベル コミュニケーションズ リサーチ インコーポレーテッド
Publication of JPH04504319A publication Critical patent/JPH04504319A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/231Analysis of motion using block-matching using full search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 ブロックマツチングアルゴリズムの実現回路発明の分野 本発明は、動き補償として知られるビデオデータ圧縮技術に関する。より具体的 には、動きが引き起こす連続ビデオフレーム相互間の差を検出し補償するフルサ ーチ機能を持ったブロックマツチングアルゴリズムの超LSI形成法に関する。
発明の背景 30フレ一ム/秒の走査速度のテレビ信号は、フレームから7レームへの冗長度 が膨大である。特にビデオ会議技術に適用されるとき、1シーンにおける動きが 通常少なく、7レームから7レームへの冗長度が大きくなる。このような場合、 フレームから7レームへのデータ冗長度を縮減しデータ圧縮の高効率を達成する ためにコーディング技術を用いることができる。
ビデオ会議技術応用において現れる第1と第2の連続ビデオフレームについて考 えてみると、これら27レ一ム間の差は、人の腕や手のような対象物の動きによ って引き起こされる。もしこの動きがフレームの小さなエリアに限られており、 また第1フレームを受信機に映像化することができるのなら、第2フレーム全体 を受信機に伝送する代わりに、その動き情報だけを受信機に伝送すれば足りるわ けである。こうした動き情報を受ければ受信機は第17レームから第2フレーム を構成することができる。特に、その動き情報は第2フレームと第17レーム間 に動いている対象物の置換を予測することによって得ることができる。この予測 された置換は、受信機が第27レームを第1フレームから構成することができる ように受信機に伝送、される。
このようなビデオデータ伝送法を用いることによって、2フレームにつき1つだ けの完全7レームデータを伝送すればよいから、かなりな量のデータ圧縮を達成 することができる。このデータ圧縮技術は動き補償と呼ばれ、種々のビデオコー ディングで重要な役割をしている。
ビデオ継起中の対象物の置換を予測するには数種の方法がある。一般に次の2つ に大別される。即ち画素再帰アルゴリズム(例、A、N−Netravali  at al、 Motion Compensated Te1evisi。
n Coding: Part I“BSTJ Vol、 58. pp、 6 31−670. March 1979;and K、A、Probhu et  al−”Pa1−Recursive Motion Comensatad Color Codes”、 Proceedings of ICC82pp −2G、8.1.−2G、8.5.。
Ph1ladelphia、 PA、 1982年6月、参照)およびブロック マツチングアルゴリズム(J、R,Jain et al、 ”Displac ement、 Measurel′IIent and Its Applic ation in Interframe Image Coding” IE EETrans on Co+nmun、、 Vol、 C0M−29,oo、  1799−1808.1981年12月、参照)である。本発明に関連するの は後者のブロックマツチングアルゴリズムである。
ブロックマツチングアルゴリズムにおいては、現7レーム(つまり第2フレーム )が画素のブロックに分割される。例えばもし1yレ−ムが256 X 256 画素なら、256個のMXNブロックに分割される。この場合MとNは共に16 画素である。ブロックマツチングアルゴリズムの目的は、現フレームにおける各 画素ブロックに代わる置換ベクトルを得ることにある。置換ベクトルは前のフレ ーム(即ち第1フレーム)におけるブロック位置に相対するブロックの置換位置 を示す。これらの置換ベクトルは次に、受信機が前の7レーム(第17レーム) から現7レーム(第2フレーム)を形成することができるように受信機に伝送さ れる。ビデオ会議のような比較的のろい動きのものに適用する場合は、多くの置 換ベクトルはゼロである。
現フレーム中の画素ブロックの置換ベクトルを演算するために、現フレームのブ ロックと前のフレームの概してより大きなサーチエリア中に並べられた同サイズ の多数のブロック各々との間で類否演算が行われる。現フレーム中の画素ブロッ クと前の7レーム中のサーチエリアにある画素ブロックは同一の中心を持ってい る。平均絶対誤差または平均二乗誤差のような誤差関数は、サーチエリア中の現 フレームのブロックの各位置ニ関する類否測定として演算される。置換ベクトル は、サーチエリアの中心とそのサーチエリア中のブロックの中心との置換であっ て、こうすれば現フレームからのブロックと比較したとき最小限の誤差で済む。
より具体的には、前の7レーム中のサーチエリアは、サーチエリアの上方左側隅 にある現7レームから1つの画素ブロックを置き、そのサーチエリア中のオーバ ーラツプされた画素に対する誤差(平均二乗または平均絶対の)を演算すること にょって探索される。次に現フレームからのブロックはサーチエリアの右側領域 に画素ごとに移される。各段階ごとにサーチエリアのオーバーラツプされた画素 に対する誤差が演算される。現フレームのブロックは次に、各段階ごとにサーチ エリアのオーバーラツプされた画素に対する誤差が演算されてサーチエリア中の 画素の一列上に移され、ブロックが再度画素ごとにサーチエリアの左側領域から 右側領域へ移される。現7レームからの画素ブロックは次に下の別の列へ左から 右へ画素ごとに移される。
このプロセスは誤差関数(平均二乗または平均絶対の)がサーチエリア内で可能 な全てのブロック位置を演算するまで続けられる(したがってフルサーチブロッ クマツチングアルゴリズムと命名された)。この演算された平均誤差が比較され 、最小限誤差を出すブロック位置がそのブロックのための置換ベクトルを決定す る。
上記のフルサーチブロックマツチング手順は、非常に多量の演算を必要とする。
例えば以下の仕様について考えてみる。
画面: 256X256画素 フレーム速度:15フレ一ム/秒 現7レームにおけるブロックサイズ:MXN、ただしM−16,N−16 前の7レームのサーチエリアのサイズ:(M+27XN+2T)、ただしT−8 画素 現フレーム内にある各ブロックのフルサーチ手順は、現7レームからの画素ブロ ックとサーチエリアからのオーバーラツプしている画素ブロックとを含める(2 T+ 1) 2−289の大変な数の平均エラーの演算が必要とされる。かかる エラー演算の各々は、各プロ/り中には25656画素から、255回の加算が 必要である。1/15秒間で256ブロ7りの現フレーム全部のタスクを完了す るには、加算が逐次的に行われるとすれば8ビツトの加算機は3.5ナノセカン ドで実行しなければならない。これは極めて厳しい高速度である。もし動き補償 技術が512X512画素のNTSC信号(上記のような256×256画素の ものでなく)に適用されるとすれば、加算器の速度は0.4375ナノセカンド となり、現在技術では明らかに達成できない高速となってしまう。さらに、画素 値を記憶する記憶装置のアクセス時間はこの加算器の時間と同じオーダーである 。かかるアクセス時間は現在技術で簡単に達成できるものではない。
このようなフルサーチブロックマツチング手順の厳しい演算要求に鑑み、何らか の高速だがフルサーチ方式でないアルゴリズムが提案されてきた。(例えばJ、 l?、Jain at al、 ”DisplacarQent Measur ement and Its Application in Interfr ame ImageCoding”、 IEEE Trans on Comm un、、 Vol、 Com−29,pp、1799−1808 Dec、 1 981; and T、Koga et al、 ”Motion Compe nsation Intereframe Coding for Video  Conferencing”、 NTC81Proc、 pp。
G5.3.1−G5.3.5.New 0rleans、 LA、 Nov、  29−Dec、 3.1981参照)これらの単純化されたフルでないサーチ方 式は演算の重荷を減らしたが、ブロックマツチングアルゴリズムの最適実現体を 提供するものではない。フルサーチブロックマッチングズロシージャの実行こそ あらゆるブロックマツチングサーチプロシージャ中で最上のものであることが認 められている。遅いビット速度(例えば64〜l 28 kb/5ee)のビデ オにとって、フルサーチとフルサーチでないものとのアルゴリズム間では実行上 の差が著しい。
Roth et al、の“A VLSI for Motion Compe nsation”、 pp−13゜1−13.2 PO287に、フルサーチブ ロックマツチングアルゴリズムを実現化することができる超LSIチップが開示 されている。
このチップは8×8ブロツクを処理するように設計されている。
このチップ内のデータ7cmは、チップを相対的に大きなサイズにしてしまう多 量のバッファ容量を必要としている。そのためRoth等の参考例の設計は、8 ×8画素より大きなブロックを処理するには実用的でないとされてきた。もし1 6X16ブロツクを処理することができるチップが要求されたなら、Roth等 の技術は通常のコストを超えた高価なもので、また受け入れることができないよ うな遅い処理となるサイズのチップになってしまう。
そこで、ビデオデータ圧縮のためのフルサーチブロックマツチングアルゴリズム を実行するための超LSrに実現可能な回路を提供することが本発明の目的であ る。また、8×8および16X16画素ブロックを効果的に取り扱うことができ るブロックマツチングアルゴリズムを実現化するための適当なサイズ、適当なコ ストの超LS1回路を提供することも本発明のもう−つの目的である。
発明の要旨 本発明は1実施例において、フルサーチブロックマ・ンチングアルゴリズムを実 現化することができる一個の超LSTチ・/プに形成される回路である。この回 路は小サイズで高速にすることができ、また高い並列処理を行うことができる高 効率なデータ70−設計で構成されている。
本発明によればフルサーチプロツクアマッチングルゴリズムを実現化する回路は 現7レームからブロックを構成する画素値と、前のフレームのサーチエリアを成 す画素値とを逐次受信する。したがってこの回路は、比較的少数のピンしか必要 とせず、また比較的小さい場所しか必要としないから低価格である。
本発明の回路は、前のフレームのサーチエリア中の現7レームからのブロックの 隣接位置をめる平均二乗または平均絶対誤差の演算並列処理が、膨大な数の共通 な画素値入力を使用しているという事実に着眼し、これを利用する並列処理技術 を用いたものである。したがって本発明によれば、多数の演算処理機構がサーチ エリアにおける多数のブロック位置から生ずる平均二乗誤差または平均絶対誤差 を並行して演算することができる。例えばサーチエリアの左側境界から右側境界 まで画素ごとに水平に現フレームのブロックを動かすことによって到達したブロ ック位置の誤差(平均二乗または平均絶対の)を並行して演算できる。(換言す れば、サーチエリア中のブロック位置の1列に対する誤差が並行して演算される )。各々の演算処理機構が(前のフレームの)サーチエリア中の(現フレームの )ブロックの1位置につき誤差演算を行う。本発明の回路は、多数のブロック位 置の誤差演算が並列処理できるように、現フレームと前の7レームの画素値を演 算処理機構へ移送するための内部バス構造を持っている。第1パス構造は現7レ ームの画素値を演算処理機構へパイプラインで結ぶため使用され、第2バス構造 は前の7レームの画素値を演算処理機構へ同報通信するために使用される。ブロ ック位置の1列について誤差演算が終了したら、ブロック位置の次の列につき並 行して誤差演算が行われる。例えばサーチエリア中でブロックを1画素分下方に 移すことにより生ずるブロック位置について行われるのである。サーチエリア内 のブロックの各位置について誤差演算が完了したら、どのブロック位置が最小限 の誤差を生み出したかを判定することによってそのブロックのベクトル置換が決 定される。
この回路は次に、ベクトル置換が現フレーム中の全ブロックにつき得られるまで 現7レーム中の次のブロックを処理するために使用される。
このようにして画素値の逐次入力と効率的なデータフロー設計が小サイズのチッ プに結晶し、誤差値の並行演算が、適切な速度基準に合致する、即ち15フレ一 ム/秒のシステムで、1/15秒の間に全ベクトル置換を演算する1個のチップ を提供するのである。
図面の簡単な説明 第1図は送信機から受信機へ送信されるビデオフレームの順番を概略示すもので ある。
第2図はブロックマツチングアルゴリズムを実行するための、現時点のビデオフ レームからのブロックと、前のビデオフレーム中のサーチエリアとを概略示すも のである。
第3図は現フレームの1ブロツクが前のフレームのサーチエリア内に占めること ができる位置を示す。
第4図は本発明の1実施例に従ったブロックマツチングアルゴリズムを実現する ための回路を概略示す。
第5図は第4図の回路のためのタイミングダイヤグラム。
第6図は第4図の回路のアドレスジェネレータを概略示す。
第7図はこのアドレスジェネレータが実行した境界翻訳を概略示す。
第8図は第4図の回路を構成する多数のパラレルプロセッサのうちの1プロセツ サの概略図である。
発明の詳細な説明 第1図は送信機(図示せず)から受信機(図示せず)へ送信されるビデオフレー ムの順番を概略示している。図面上、フレームは256X256画素から成り、 1秒間に15フレームが送信される。
上述したようにビデオ会議に適用する場合は、■場面中の動きは通常遅く、連続 的な7レームは膨大な量の繰り返し情報を有している。そこでインターフレーム コーディング技術が連続的なフレーム間の繰り返し情報を圧縮して有意義なデー タを達成するために用いられる。
上述したように、ここでの関心事項は、動き検出と動き補償として公知のデータ 圧縮技術である。もし第1図のフレーム1とフレーム2間に置換ないし対象物の 動きによって違いが引き起こされたが、この違いはフレームの相対的に小領域に 限定されたものであるときは、フレーム2の全データを受信機に送信することは 不要である。そうしないで置換された情報のみを受信機に送信すれば足りる。そ うすれば受信機は7レーム1からフレーム2を構成するのにその置換された情報 を使用すればよい。
上述したように、置換情報はブロックマツチングアルゴリズムによって得ること ができる。ブロックマツチングアルゴリズムは7レーム2内の画素の1ブロツク と、7レーム1のサーチエリア内に並んだ同サイズの多数のブロック間の類否を 測定するものである。こうして第1図に示すように、7レーム2は各々がMXN の画素を有する多数のブロックに分割される。図面上、MとNは共に16である 。7レーム2内の画素の各ブロックに対して、プロ7クマツチングアルゴリズム は、7レーム1中の位置から7レーム2中の位置へのブロックの置換を示す置換 ベクトルを付与する。このように動き補償ビデオデータ圧縮アルゴリズムを実現 するためには、7レーム2中の画素の各ブロックに対する置換ベクトルを演算す ることが必要である。次にこの置換ベクトルがフレーム■からフレーム2を構成 するため置換ベクトルを用いる受信機へと送信される。
第2図は7レーム2(即ち現時点のフレーム)からの画素ブロックとフレームl からのサーチエリアとの概略図である。第2図においてエリアAは現フレームか らの画素の1MxNブロックを表し、エリアBは前のフレームからのサーチエリ アを表している。Bのエリアは(M+2TXN+2T)である。ただし図面上T は8画票である。ブロックAとブロックBは同一中心を持っていることに留意さ れたい。ブロックAがサーチエリアB内で取ることができる位置が第3図に示さ れる。第3図においてブロックAの水平方向における各シフトは、1画素のシフ トであって、ブロックAの垂直方向における各シフトも1画素である。T−8の ときブロックAは16画素の横幅でありサーチエリアは32画素であるから、ブ ロックAはその各位置を隣接する1画素ごとに水平方向にシフトすることによっ て異にする17種の位置を第3図の最上列において取ることができる。
サーチエリアB内におけるブロックAに最適な位置を決定するためには、例えば 第3図に示したサーチエリアB中におけるブロックAの各々可能な位置のブロッ クAの画素値とサーチエリアBのオーパーラ7プする画素値との間の平均絶対誤 差または平均二乗誤差を演算することが必要である。こうしてサーチエリアB内 でのブロックAの最適な合致を見付は出すために式: の誤差関数(2T+1)aを演算することが要求される。サーチエリアB中のブ ロックAの各位置、即ちサーチエリア内の各画素シフト(水平方向の)と各行シ フト(垂直方向の)をめるため1つの誤差関数が演算されるのである。
上記等式において、a(k、1)はブロックA申の画素値を、b(k、l)はサ ーチエリアB中の画素値を表す。値m、、m、はサーチエリアb内でのブロック Aの置換を示す。
したがって、−T≦mk、m、≦Tまただし例えばT−8画素このように第3図 の上段左隅に、m k”= 8 * m 1”” 8の位置にブロックAがくる ようにされ、この場合のnl 、は第3図の対応するブロック位置のダイヤグラ ムの下欄の数式に示され、l a (k 、l ) b (k + m > 、  1 + m t ) Iである。また、上記等式においてp−1は平均絶対誤 差を、p−2は平均二乗誤差を示す。
サーチエリアBcbのブロックAの各位置につき誤差が演算されたら、それら誤 差が比較され、最小誤差をもたらしたブロックAの位置が同定される。するとブ ロックAのこの位置に対応する値m > T m 1が、ブロックAのための置 換ベクトルを表す。
同様に現フレーム内の各ブロック(第1図参照)について置換ベクトルが演算さ れる。
サーチエリアB中のブロックAの隣接位置の誤差演算が膨大な量の共通の画素値 入力を利用していることは明らかである。
本発明は、多数の並行するブロック位置についての誤差関数を演算するため、こ れを利用しているのである。
このように本発明の1実施例においては、サーチエリアB内のブロックAの位置 の全体の列をめることができる誤差関数を並行に演算するための回路が設けられ ている。この回路は例えば、第3図の各列中のブロックAの17つの位置中の1 つをめる誤差関数を演算するため各々採用された17個のパラレルプロセッサを 有している。好ましくはこの回路は、1個の超LSIチップに構成されるのがよ い。
本発明によるフルサーチブロックマツチングアルゴリズムを実現する回路100 が、第4図に示される。第4図において回路100は、17個のプロセッサPE 、、PE□0.−PE1mで構成されている。これらのプロセッサは、各々1つ のブロック位置をめる誤差関数演算プロセッサによって、第3図中のブロック位 置の1列をめる誤差関数を並行して演算する。かかる並列処理能力は、このブロ ックマツチングアルゴリズムをして全7レームに真速で実行されることを可能に する。プロセッサPE 、、、、 P E 、、のうちの1つが第8図に示され 、以下に説明される。現フレームのブロックからの画素値が入力110で逐次受 信される。前のフレームのサーチエリアからの画素値は、入力120と122で 逐次受信される。これらの画素値は逐次に受信されているので、回路100を実 現する超LSIチップは比較的少ない数のピンで足り、したがってサイズおよび コスト的に妥当なものができる。
バス構造130は現フレームのブロックからこれらプロセッサへ画素値を分配す るのに用いられる。バス構造140は前の7レームのサーチエリアからこれらプ ロセッサへ画素値を分配するのに用いられる。これらバス構造130.140に つき以下に詳述する。
第4図の回路100は、2個のフレーム格納記憶装置(囚示せず)と協働してい る。1個のフレーム格納記憶装置は前の7レームの画素値を格納し、もう1個の 7レーム格納記憶装置は現7レームの画素値を格納する。
第4図の回路100中のデータの70−について考察する前に、次のアドレス指 定体系について考えることが有益である。
第2図及び第3図において、ブロックAの上段左隅の画素は基底アドレスI 、 、J、で表されている。ブロックA由のその他全ての画素アドレスは、1.、J 、に対する11+1.J1+jの式で表されている。したがってもしブロックA が16X16なら、そのブロック内の下段右側の画素はr、+15.J、+15 のアドレスを持つことになる。第3図において、影斜線のエリアF 、、、、F  、、は、ブロックAの位置の1列と関係するサーチエリアBの部分を表す。例 えばゾーンF1.は、サーチエリア内のブロックAの位置の最下列と関係してい る。各ゾーンFの上段左隅は、基底アドレスI t−、J bを持つ。サーチエ リアの特定のゾーン中のその他の全アドレスは、式I 、、+ i 、J 、+ jで基底アドレスに対するものとして表されている。したがつて例えば、ゾーン F、中の上段左側の画素は基底アドレスエ、。
J、を持っており、そのゾーン中の下段右側の画素は■5+15、Ji−+31 のアドレスを持っている。このアドレス体系は、サーチエリアB中のブロックA の位置の各列をめて並行に誤差関数演算をしている間は、基底アドレスに何等の 変化も起こさないということを意味する。回路100のアドレスジェネレータ1 50は、式1.+i、z、+jとri、+i、J、+jのアドレスを7レーム格 納記憶装置(図示せず)へ送信し、咳フレーム格納記憶装置は第4図の回路10 0の入力110.120.122へ画素値を送信する。、1(1,+i、J、+ j)は現フレームのブロックからの画素値、b(I b、 + i、J b +  J)は前の7レームのサーチエリアからの画素値である。アドレスジェネレー タ150を形成する回路を第6図に概略示し、以下に説明する。
画素値が入力110.120.122に到達する順番を有する回路100のデー タ70−は、第5図のデータ70−タイミングダイヤグラムを見れば理解される 。特に第5図は、例えば第3図の最上列のようなサーチエリアB中のブロックA の位置の1列をめる誤差関数の並行演算に関係するデータ70−を提供している 。したがってここに記述されたフルサーチブロックマツチング手順は、第3図の 最上列で発しその最下列に終わるサーチエリアB中のプロ7りAの位置の各列を める第5図のデータ70−シーケンスを繰り返すことを要求するものである。第 5図において基底アドレスは簡略を期して省略されていることに留意されたい。
基底アドレスは、第5図の全データフローシーケンスを通して常に同一であるか ら、第5図において基底アドレスを省略してもよい。しかし実際には、第5図の 各アドレスは索引は勿論、基底アドレス(図示せず)も有している。
第5図の第1欄はサイクル数の形式で時間を示している。同第211は各サイク ル中で受信する入力を示し、a(i、j)は現7レームのブロックからの画素値 を表し、b(i、j)は前の7レームのサーチエリアからの画素値を表す。85 図のデータ70−シーケンスの最初の16サイクルと最後の16サイクルは衆い て、1つの画素値a (i l J )は、各1サイクルごとに(入力110経 由で)現フレームから入力され、2つの画素値が各サイクルごとに前のフレーム から入力される。即ち入力120経由でb(i、j)、入力122経由でb(i −1,j+16)である。第3欄は各サイクルごとにPE0が実行する演算を示 すもので、第4欄は各サイクルごとにPE、が実行する演算0.。
そして最後の欄は、各サイクルごとにPE16が実行する演算を示している。各 プロセッサPH,。、、PE+sは、プロセッサが実行する全演算の算出値を累 算することができるように、1個の累算器(第8図)を有している。したがって 例えばPE、は、第5図の第3欄に列挙されたその演算の全結果を累算する(即 ち加算する)ことによってその誤差関数を演算する。
第4(!Iの回路100を通じるデータ70−シーケンスにつき第5図に補助さ れながら詳細に述べる。図において、このデータフローシーケンスは、まづ@3 ]の最上列中のブロックAの位置をめて実行され、次に第3図のブロックAの位 置の各列をめて繰り返される。
(a)サイクルOでは、a(0,0)とb(0,0)とが入力110.120経 由で各々入力される。プロセンサPE、は1a(0,0)−b(0,0)1を演 算すると、a(0、O)がバス構造130の一部を構成する遅延素子、即ち遅延 クリップ70ツブDFF D 1でラッチされる。
(b)サイクル1では、a(0,0)とb(0,0)とが入力】10.120経 由で各々入力される。b(0,0)はバス構造140を使ってプロセッサPE、 、PE、へ同報通信され、a(0,0)はバス構造130上にパイプ結合される 。すると1a(0゜0)−b(0,0)1がプロセッサPE、で演算され1a( 0,0)−b(0,0)1がプロセッサPR□で演算される。またa(0,0) が遅延7リツグ70ツブDFF、、でラッチされ、a(0、■)が遅延クリップ 70ツブDFF、□でラッチされる。
(c)サイクル2では、a(0,2)とb(0,2)とが入力110.1.20 経由で各々入力される。b(0,2)はバス構造140経由でプロセッサPE、 、PE□、PH2へ同報通信され、a(0,0)はバス構造130上にプロセッ サPE2へパイプ結合され、するとl aco、2)−b(0,2)1がプロセ ッサPE0で演算され、1a(0,1)−b(0,2)1がプロセッサPE、で 演算され、1a(0,0)−b(0,2)lがPE2で演算される。
またa(0、O)が遅延フリップ70ツブDFF、3でラッチされ、a(0,1 )が遅延フリップ70ツブDFF、□でラッチされ、a(0,2)が遅延7リツ プ70ンプDFF、□でラッチされる。
このシーケンスはサイクル15まで行われる。サイクル16からは前のフレーム からの2つの画素値が入力され、該当するプロセッサへ同報通信される。第5図 に示すサイクルの全セットを通じてa(i、j)が、1つのプロセッサから次の プロセッサへ遅延フリップ70ツブD F F 、、、、、D F F 、、を 介しバス構造130経由で逐次パイプラインされる。
(d)サイクル16ではa(1,0)が入力110経由で、b(]、O)が入力 120経由で、モしてb(0,16)が入力122経由で各々入力される。b( 1,0)はバス構造140を介してプロセッサPE、へ同報通信され、b(0, 16)はプロセッサPE、、P E z、、、P E +sへやはりバス構造1 40を介して同報通信される。(バス構造140の詳細な説明は後述する) 次 に1a(0、L5)−b(0,16)1がプロセッサP E 、、、、で演算さ れ、1a(0、O)−b (0,16)1がプロセッサP E x sで演算さ れる。
(e)サイクル17ではa(1、i)が入力110経由で、b(1,1)が入力 120経由で、モしてb(0,17)が入力122経由で各々入力される。b( 1,1)はバス構造140を介してプロセッサPE、%PE、八同報へ信され、 b(0,17)はプロセッサP E 、 、、、P E□6へやはりバス構造1 40を介して同報通信される。次に1a(1,1)−b(1,1)1がプロセッ サP E oで演算され、1a(1,0)−b(1,1)1がプロセッサPE、 で演算され、1a(0,15)−b(0,17)1がプロセッサPE、で01. そして、1a(0,1)−b(0,17)1がプロセッサPH□6で演算される 。
サイクル255の完了時点で、プロセッサPE0はI誤差関数計算のための画素 値を受信することを止める(例えばAにおける位置ブロックが第3図の上方左隅 を占める)。次の16サイクル内に、プロセッサPE、〜PE、、はその対応す る誤差関数計算のための画素値を受信することを完了する(例えば第3図の最上 列中のブロックAの位置の残りのために)。久方画素値を受信後の数サイクルが プロセッサで行われると、そのプロセッサは完了した誤差関数計算結果を出す。
するとこの誤差関数計算結果は比較器160へ転送される。比較器160につい ては後に詳述する。
次に第5図のサイクル0〜271のシーケンスが、第3図の各列につき繰り返さ れる。特に、プロセッサP E a、−、P H+sの最も効率的な利用のため に、第3図のブロック位置の1列のためにサイクル16X16+o、、、16X 16+15 (即ちサイクル256から271まで)を実行し、このとき興時に ブロック位置の次の列のためにサイクル0.、、I5が実行することが望ましい 。この可能性は第5図に簡単に見付けることができる。
例えばサイクル16X16−256は、サイクル0がプロセッサPEoLか使わ ないとき、プロセフすPEよ、、、P E x e Lか使っていない。このよ うに第4図の回路100の効率性は100%に近いものとなる。現フレームから 16X16ブロツクツ を各々処理するには4352サイクル行われる。サーチ エリアBにおけるブロックA中の各位置につき、第3図が誤差関数を演算するプ ロセッサとその誤差関数が演算されるサイクルとを示している。
もし回路100が1715秒で256の16X16ブロツクを処理しなければな らず、各ブロックにっき4352サイクルが必要であるとすれば、サイクル時間 は56ナノセカンドのオーダーになる。このことは、もしこのフルサーチブロッ クマツチングアルゴリズムが並列地理ではなく順次処理を用いて実行されていれ ば、約3ナノセカンドというサイクル時間で足りる事実を見ればその違いが明ら かである。3ナノセカンドのアクセス時間を実現できるメモリ71ミリ−は販売 されていない。
誤差関数がプロセッサP E @−++P E +sで演算されたら、どの誤差 関数が最小なものかを判定するため、その誤差関数を比較する必要がある。この 比較は第4図の比較器160が行う。比較器160は2つの比較回路CoとC□ とから構成されている。
比較回路Co、CIは各々トライステートバッファ(バッファ。、バッファ□) 、最小値格納バッファ(最小値。、最小値、)、および比較器(比較器。、比較 器、)を持っている。誤差関数がプロセッサPE0...PH□6のいずれかに よる演算によって分かったら、同誤差関数はトライステートバッファと比較回路 C0、CIの1つの比較器へ送られる。もしその新たに入手した誤差関数が最小 値バッファ(最小値。または最小値□)中に既に格納されている値より大きいと きは7ラグ(フラグ。またはフラグ、)がゼロで、該最/4%値バンファに格納 されている値は変更されない。
一方、もしその新たに入手された誤差関数が最小値格納バッファ(M■N□また はMINO)に格納されている値よりも小さいときは、フラグ(FLAG oま たはFLAG 1 )が1に等しくなりトライステートバッファ(BUFFE! ? 。またはBUFFER□)がその新たな誤差関数でMINO8よびMIN□ の値が置き換えられる。こうしてバッファMIN0またはMIN□は、常にC8 およびC□が受信した最小誤差関数を格納する。なぜ2つの比較回路C0および C1を用いるかにつき以下に説明する。
プロセッサがその誤差関数演算を終了したら、その結果がプロセッサPE0、P  E r、−、P E 、、から第4図の比較機構160の一部を成して連係す るトライステルトバッファ装置TRIBUFo、TRIBUF x −、、TR IBUF x aへ転送される。プロセッサPE、、、、E’E□6は17サイ クル時間で次々と誤差関数演算を終了するものであることに留意されたい。こう してイネーブル信号EN、がトライステートバッファ装置TRrBUF o − 、TRrBUF x eを順次に使用可能にする。このイネーブル信号EN1は 、トライステートバッファ装置TRIBUF、、TRIBUF、 、、、TRI BUFl gカ指定時ニ使用可能になるように遅延クリップ707プ161の連 鎖を通る。例えばトライステートバッファ装置TRIBUF、はTRIBUF、 の1サイクル後に使用可能にされる。一方、新たに演算された誤差関数が1サイ クルに1回の割で到達し、比較回路C8とC1が比較と置換プロシージャのため 2サイクルを要求する。このため2つの比較回路C0とC0とが用いられている のである。したがって偶数のトライステートバッファ装置TRrB(JF、、、 、TRIBIJF、 @は共通ハス162へ接続され、奇数のトライステートバ ッファ装置TRIBUF、、TRIBUFx、、、TRTBUF+sは共通バス 163へ接続される。
共通バス162は偶数のプロセッサの誤差関数を順次比較回路C0へ転送し、共 通バス163は奇数プロセッサの誤差関数を比較回路Cよへ順次転送する。こう して各比較回路C0とC1は2サイクルごとに1つの誤差関数を受信することに なる。すると比較回路C0とC1は誤差関数が到達するたびに比較と置換のプロ シージャを行う。
17の誤差関数の群が比較回路C0とC1により処理されたら、(遅延7リツプ 70ツブDFF161と171を経由して)イネーブル信号EN□がBUFFE R2に到達し、これでMIN、に格納された値を比較回路C0内のCOMPAR ATORoに転送できるようにする。2サイクル後にMINoとMIN□の小さ い方の値が、次の処理に備えてBUFFER,に格納される。
MTN、とMTNxニ格納された値は、プロセッサPE、、−、、PE3.が演 算した比較回路C6とCIから受信した誤差関数であって17の誤差関数の最後 の群中の最小のものとは限らないこと、むしろブロックが現時点でマツチしてい る限り、比較回路C0とCIが受信した最小誤差関数を含むものであることに留 意されたい。しかし、第3図のブロック位置の各列についての誤差関数が演算さ れ比較機構160により処理されたら、ブロックがマツチされるにつきめられる 最小の誤差関数がBUFFE3中に存在する。また各プロセンサは、どのブロッ ク位置につき誤差関数を演算したのであるかにつき知っていることを留意された い。したがってブロック位置(例えば上記の座標m、、m+)は、最小誤差関数 が決定されたとき置換情報を即座に得ることかでさるように、誤差関数と共に出 力される。
以下にアドレスジェネレータ150につき詳細に説明する。
第6図はアドレスジェネレータの概略図であるが、例えば■1+i、J、十j、 r、+iおよびJb+jの各アドレスは、例えばr、、J、という基底アドレス 、および例えばi+Jという指標とから構成されている。基底アドレスは基底ア ドレスジェネレータ152によって作り出され、指標は指標ジェネレータ154 によって作り出される。
境界状態翻訳回路156は次のような問題を解決する。現7レームからのブロッ クがフレーム境界上にあるときどんなことが起こるか考えてみると、例えばその ブロックが第1図でA′の印が付けられたものとする。第7図に示すように、M XNブロックがそのブロックと同一の中心点を持つ(M+2TXN+27)のサ ーチエリアを持つようにサーチエリアが定義されたとき、現7レームのブロック A′をめるサーチエリアB’(第7図の水乎のハツチング部分)は、前の7レー ムの外側に伸びている。したがって、サーチエリアB′の右側部分はwcj図に 示すようにフレーム境界の外側になっている。境界状態翻訳回路156は、フレ ーム境界の内側に位置するようにフレーム境界の外側に伸びるサーチエリアB″ やその他のサーチエリアを成すアドレスを翻訳する。こうしてサーチエリアB′ は、第7図中B”と示されたサーチエリア(垂直のハンチング)に翻訳される。
このサーチエリアB”はフレーム境界の完全に内側ある。この境界状態翻訳回路 156は、サーチエリアがフレーム境界を越えないときは何も為さない。
アドレスジェネレータ150の指標ジェネレータ154により作り出される指標 と、基底アドレスジェネレータ152により作り出される(翻訳をする場合とし ない場合がある)基底アドレスとは加算器158によってアドレスI + +  I 、 J 、 + j及びI b +j s J b ” jを作るため加算 される。これらのアドレスは次に、対応する画素値a(1,+i%J、+j)及 びb(I 。
+i、J、、+j)を検索するため上記の7レーム格納バツフアに転送される。
次に第4図のバス構造130.140につき詳細に説明する。
上記の通りバス構造130は遅延クリップ70ツブDFF 、□9.。
DFF 、□5の連鎖で構成されている。現フレームからの画素値(a(i、D の)が、指定時に指定のプロセッサに到達するように1つの遅延7リツプ70ツ ブから次のそれへとバス構造130を経て転送される。
バス構造140は、前の7レームからの画素値b(i、j)を上から、またb( i−L、j +16)を下から指定のプロセッサ八同報通信するものである。こ の性質は第4図の回路が超LSIで構成されるときシリコンの多大なエリアを節 約する。しかしバス構造140は、b(i、j)が指定のプロセッサへ伝送され bi−1,J+16)が指定のプロセッサへ伝送されるように適切な時、適切な 場で、2つのサブバスへと分割されなければならない。特に第5図でサイクル1 6で始まる各列は縦線も含んでいる。画素値b(i、j)は線の右側のプロセッ サへ伝送され、画素値b(i −1、j + 16)は線の右側のプロセッサへ 伝送される。このバス構造140は、バス構造140のパストランジスタ142 の1つをオフにするため16サイクルごとにキー信号を送ることによって分割さ れる。パストランジスタ142の1つがオフにされたときは、バスの上方(つま り入力120)からくるデータとバスの下方からくるデータとはオフにされたパ ストランジスタ142を通過して伝播することができない。このキー信号はアド レスジェネレータ150に組み込まれた論理(図示せず)によって作り出される 。キー信号はDFFt。
からDFFt+sへサイクルごとに適切な時に適切なパストランジスタ142を オフにして伝播する。
次にプロセンサPE−、、、PE+aについて詳細に説明する。プロセンサの1 つについて第8図に概略示す。第8図のプロセッサは3つの機能ブロックで構成 される。減算器185が画素値a(i、j)とb(i、j)を受信し、その差を 演算する。すると絶対値回路186が減算器回路の結果の絶対値を取り込み、同 絶対値は累算器187で累算される。こうして累算器187は第5図の該当する 欄内の演算全部を加算する。第8因のプロセンサは平均絶対エラーを計算するも のであることに留意されたい。
そうでなくて平均二乗エラーが演算される場合もあるが、このときは二乗回路が 第8図の絶対値回路186に置換する。
要するに完全サーチブロックマッチングアルゴリズムを実現する回路について述 べてきた。現フレームのブロックと前の7レームのサーチエリアとの画素値が回 路に順次受信されている。
次にこれらの画素値はバス構造によって複数のプロセッサへ分配される。これら のプロセッサは前のフレームのサーチエリア中の現7レームのブロックの位置の 群をめる誤差関数の群を並行して演算する。この回路は非常に高効率であるが1 個の超LSIチップで実現することが可能である。
なお、不発明の上記実施例は単に説明を目的としたものに過ぎず、無数の代替実 施態様が本発明の請求範囲の趣旨に外れないで肖業者が実施可能である。
第1図 第2図 第3図 第4図 第6図 第7図 第8図 国際調査報告 国際調査報告

Claims (15)

    【特許請求の範囲】
  1. 1.現ビデオフレーム中の画素のブロックから画素値を逐次受信する第1入力手 段と、 前のビデオフレームのサーチエリアから画素を逐次受信する第2入力手段と、 上記サーチエリア中の上記ブロックの位置群に対応する誤差関数群を並行して演 算する複数のプロセッサと、上記ブロックから逐次受信した画素値を該プロセッ サへ移送する第1パス構造と、 上記サーチエリアから該逐次受信した画素値を該プロセッサへ移送する第2パス 構造と、 上記誤差関数を比較する比較器と、 を特徴とするフルサーチブロックマッチングアルゴリズム実現回路。
  2. 2.第2入力手段が、上記サーチエリアからの画素値を逐次受信する2つの別個 の入力で構成されている請求項1の回路。
  3. 3.第2バス構造が、上記2つの別個の入力間に渡されている請求項2の回路。
  4. 4.第2バス構造が、第2バス構造を第1と第2のサブバス構造に分割する手段 を持つ請求項3の回路であって、該第1サブバス構造に上記2つの別個の入力中 の1つを経由して受信された画素値を上記1または2以上のプロセッサから成る 第1群に同報通信させ、また該第2サブバス構造に上記2つの別個の入力の他方 から受信した画素値を上記1または2以上のプロセッサから成る第2群へ同報通 信させることを特徴とするもの。
  5. 5.第1パス構造が、上記ブロックの画素値をバイプラインで上記の各プロセッ サに結ぶ一連の遅延素子から成る請求項1の回路。
  6. 6.回路が1個の超LSIチップ上に実現された請求項1の回路。
  7. 7.回路がさらに、画素値アドレスを作り出すアドレスジェネレータを持ってい る請求項1の回路。
  8. 8.回路の第1入力でブロックの画素値を逐次受信し、同回路の第2第3入力で 上記サーチエリアの画素値を逐次受信し、 同回路の一部を成す複数のプロセッサによって、上記サーチエリア中の上記ブロ ックの位置群に対応する誤差関数群を並行して演算し、 誤差関数を比較する、 ことを特徴とする前のビデオフレームのサーチエリア中の現ビデオフレームから のブロックの位置に最適に合致するものを見付け出すフルサーチ法。
  9. 9.現ビデオフレーム中の画素のブロックから画素値を逐次受信し、前のビデオ フレームのサーチエリアからの画素値を逐次受信する入力手段と、 上記入力手段で上記ブロックから逐次受信した画素値および上記サーチエリアか ら逐次受信した画素値に応答して、上記サーチエリア中の上記ブロックの位置群 に対応する誤差関数群を並行して演算する複数のプロセッサと、上記誤差関数を 比較する比較器と、 を特徴とする画像伝送を目的としたフルサーチブロックマッチングアルゴリズム の実現回路。
  10. 10.上記現フレームから逐次受信した画素値を上記プロセッサへ移送する所の 、上記入力手段を上記プロセッサに接続する第1バス構造と、上記サーチエリア から上記逐次受信した画素値を上記プロセッサへ移送する所の、上記入力手段を 上記プロセッサへ接続する第2バス構造と、から成る請求項9の回路。
  11. 11.比較手段が、各々上記プロセッサの1つに接続された逐次使用可能なバッ ファと、該バッファに接続された比較回路と、を有する請求項9の回路。
  12. 12.比較手段が、上記バッファの偶数のものに接続された第1比較回路と、上 記バッフアの奇数のものに接続された第2比較回路とから成る請求項11の回路 。
  13. 13.上記入力手段に画素を検索するアドレスジェネレータが付加され、サーチ エリアのアドレスがフレーム境界の内側に位置するようにフレーム境界の外側の サーチエリアのアドレスを翻訳する境界翻訳回路を有する請求項9の回路。
  14. 14.上記ブロックから逐次受信した画素値を上記プロセッサへ適用する一連の 遅延素子を有する第1バス構造と、上記サーチエリアから逐次受信した画素値を そこへ適用する所の、バス構造の2つの別個の入力を上記プロセッサへ接続する 第2バス構造とが付加されている請求項9の回路。
  15. 15.上記別個の入力の一方または他方から上記プロセッサのあるものへの画素 値の伝播を阻害するため、上記第2バス構造を分割する手段が付加されている請 求項14の回路。
JP1504005A 1988-03-14 1989-03-13 ブロックマッチングアルゴリズムの実現回路 Pending JPH04504319A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US167,327 1988-03-14
US07/167,327 US4897720A (en) 1988-03-14 1988-03-14 Circuit implementation of block matching algorithm

Publications (1)

Publication Number Publication Date
JPH04504319A true JPH04504319A (ja) 1992-07-30

Family

ID=22606909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1504005A Pending JPH04504319A (ja) 1988-03-14 1989-03-13 ブロックマッチングアルゴリズムの実現回路

Country Status (5)

Country Link
US (1) US4897720A (ja)
EP (1) EP0400084B1 (ja)
JP (1) JPH04504319A (ja)
CA (1) CA1306061C (ja)
WO (1) WO1989008891A1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8722612D0 (en) * 1987-09-25 1987-11-04 British Telecomm Motion estimator
FR2638924B1 (fr) * 1988-11-09 1991-01-25 Artieri Alain Procede et circuit de traitement par bloc de signal bidimensionnel d'images animees
US5031037A (en) * 1989-04-06 1991-07-09 Utah State University Foundation Method and apparatus for vector quantizer parallel processing
US4937666A (en) * 1989-12-04 1990-06-26 Bell Communications Research, Inc. Circuit implementation of block matching algorithm with fractional precision
US5093722A (en) * 1990-03-01 1992-03-03 Texas Instruments Incorporated Definition television digital processing units, systems and methods
US5091786A (en) * 1990-03-01 1992-02-25 Texas Instruments Incorporated Multi-screen feature for improved definition television digital processing units, systems, and methods
US5091783A (en) * 1990-03-01 1992-02-25 Texas Instruments Incorporated Still more feature for improved definition television digital processing units, systems, and methods
US5091782A (en) * 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US5068724A (en) * 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
JP2841782B2 (ja) * 1990-08-09 1998-12-24 松下電器産業株式会社 パターン認識装置
US5093720A (en) * 1990-08-20 1992-03-03 General Instrument Corporation Motion compensation for interlaced digital television signals
US5193004A (en) * 1990-12-03 1993-03-09 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
USRE35093E (en) * 1990-12-03 1995-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
EP0497586A3 (en) * 1991-01-31 1994-05-18 Sony Corp Motion detection circuit
US5138447A (en) * 1991-02-11 1992-08-11 General Instrument Corporation Method and apparatus for communicating compressed digital video signals using multiple processors
US5200820A (en) * 1991-04-26 1993-04-06 Bell Communications Research, Inc. Block-matching motion estimator for video coder
US5235419A (en) * 1991-10-24 1993-08-10 General Instrument Corporation Adaptive motion compensation using a plurality of motion compensators
US5461423A (en) * 1992-05-29 1995-10-24 Sony Corporation Apparatus for generating a motion vector with half-pixel precision for use in compressing a digital motion picture signal
DE4322343C2 (de) * 1992-07-06 1996-10-02 Mitsubishi Electric Corp Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors
US5305104A (en) * 1992-07-27 1994-04-19 The Trustees Of Columbia University In The City Of New York Digitally assisted motion compensated deinterlacing for enhanced definition television
KR0160618B1 (ko) * 1992-10-27 1999-01-15 윤종용 실시간 움직임 추정장치 및 그 방법
JPH06141304A (ja) * 1992-10-28 1994-05-20 Sony Corp 演算回路
US5398079A (en) * 1993-01-27 1995-03-14 General Instrument Corporation Half-pixel interpolation for a motion compensated digital video system
DE69327040T2 (de) * 1993-02-22 2000-04-13 Industrial Technology Research Institute, Chutung Blockübereinstimmungsarchitektur mit mehreren Modulen
US5485214A (en) * 1993-02-25 1996-01-16 Industrial Technology Research Institute Dual bus dual bank architecture for motion compensation
US5376968A (en) * 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
KR950014343B1 (ko) * 1993-05-20 1995-11-24 한국방송공사 고화질 티브(hdtv)의 화상데이타 움직임 추정방법 및 그 장치
BE1007252A3 (nl) * 1993-06-29 1995-05-02 Philips Electronics Nv Bewegingscompensator.
JPH07115646A (ja) * 1993-10-20 1995-05-02 Sony Corp 画像処理装置
DE4344924A1 (de) * 1993-12-30 1995-08-10 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Bewegungsschätzung
US5706386A (en) * 1994-05-24 1998-01-06 Sony Corporation Image information recording method and apparatus, image information reproducing method and apparatus and editing method and system
US5563813A (en) * 1994-06-01 1996-10-08 Industrial Technology Research Institute Area/time-efficient motion estimation micro core
KR100349883B1 (ko) * 1994-07-27 2002-12-16 소니 가부시끼 가이샤 동작벡터검출및화상신호부호화방법및장치
FR2723796B1 (fr) * 1994-08-19 1996-11-29 Thomson Consumer Electronics Dispositif d'estimation de mouvement
US5682208A (en) * 1994-10-31 1997-10-28 Intel Corporation Motion estimation with efficient block matching
JP3089165B2 (ja) * 1994-11-10 2000-09-18 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索装置
JP3191583B2 (ja) * 1994-12-12 2001-07-23 ソニー株式会社 情報復号化装置
JP3635712B2 (ja) * 1995-04-08 2005-04-06 ソニー株式会社 画像情報復号化装置及び画像情報再生装置
JP3800640B2 (ja) * 1995-07-04 2006-07-26 ソニー株式会社 画像情報の動き検出方法及びその装置、画像情報の符号化方法及びその装置、画像情報伝送システム、画像情報記録システム並びに記録媒体
DE19548452C1 (de) * 1995-12-22 1997-02-20 Siemens Ag Verfahren zur rechnergestützten Bewegungsschätzung für Bildpunkte zeitlich aufeinander folgender Bilder einer Videosequenz
FR2743247B1 (fr) * 1995-12-29 1998-01-23 Thomson Multimedia Sa Dispositif d'estimation de mouvement par appariement de blocs
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
JP3019787B2 (ja) 1996-09-20 2000-03-13 日本電気株式会社 動きベクトル検出装置
JPH11112991A (ja) 1997-10-08 1999-04-23 Sharp Corp 動きベクトル検出装置
US6697276B1 (en) 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
TWI239474B (en) * 2004-07-28 2005-09-11 Novatek Microelectronics Corp Circuit for counting sum of absolute difference
US20060139494A1 (en) * 2004-12-29 2006-06-29 Samsung Electronics Co., Ltd. Method of temporal noise reduction in video sequences
US20060259737A1 (en) * 2005-05-10 2006-11-16 Telairity Semiconductor, Inc. Vector processor with special purpose registers and high speed memory access
US20070150697A1 (en) * 2005-05-10 2007-06-28 Telairity Semiconductor, Inc. Vector processor with multi-pipe vector block matching
US8090210B2 (en) * 2006-03-30 2012-01-03 Samsung Electronics Co., Ltd. Recursive 3D super precision method for smoothly changing area

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5752281A (en) * 1980-09-12 1982-03-27 Nec Corp Forecast encoding device of picture signal
JPS63244985A (ja) * 1987-03-30 1988-10-12 Mitsubishi Electric Corp 動き補償フレ−ム間符号化装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61200789A (ja) * 1985-03-04 1986-09-05 Kokusai Denshin Denwa Co Ltd <Kdd> 画面上の物体の動きベクトル検出方式
DE3721074A1 (de) * 1986-12-24 1988-07-07 Licentia Gmbh Schaltungsanordnung zur verschiebungsvektorsuche in der digitalen bildanalyse
GB8722612D0 (en) * 1987-09-25 1987-11-04 British Telecomm Motion estimator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5752281A (en) * 1980-09-12 1982-03-27 Nec Corp Forecast encoding device of picture signal
JPS63244985A (ja) * 1987-03-30 1988-10-12 Mitsubishi Electric Corp 動き補償フレ−ム間符号化装置

Also Published As

Publication number Publication date
EP0400084B1 (en) 1992-05-06
EP0400084A1 (en) 1990-12-05
WO1989008891A1 (en) 1989-09-21
US4897720A (en) 1990-01-30
CA1306061C (en) 1992-08-04

Similar Documents

Publication Publication Date Title
JPH04504319A (ja) ブロックマッチングアルゴリズムの実現回路
US4937666A (en) Circuit implementation of block matching algorithm with fractional precision
Jong et al. Parallel architectures for 3-step hierarchical search block-matching algorithm
JP3159713B2 (ja) デジタル化ビデオシーケンス符号器における運動推定回路
US6765965B1 (en) Motion vector detecting apparatus
US7072395B2 (en) Memory control apparatus and efficient search pattern for block-matching motion estimation
JPH0568155B2 (ja)
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
US6118901A (en) Array architecture with data-rings for 3-step hierarchical search block matching algorithm
Wang et al. Zero waiting-cycle hierarchical block matching algorithm and its array architectures
US6160850A (en) Motion estimator employing a three-step hierachical search block-matching algorithm
JP3352931B2 (ja) 動きベクトル検出装置
US7266151B2 (en) Method and system for performing motion estimation using logarithmic search
Chen A cost-effective three-step hierarchical search block-matching chip for motion estimation
US20040057626A1 (en) Motion estimation using a context adaptive search
Hervigo et al. A multiprocessors architecture for a HDTV motion estimation system
Seth et al. A parallel architectural implementation of the New Three-Step Search algorithm for block motion estimation
Swamy et al. Architecture for motion estimation using the one-dimensional hierarchical search block-matching algorithm
Rangarajan et al. FPGA implementation of high speed parallel architecture for block motion estimation
US20040042551A1 (en) Motion estimation
Xu et al. A simple and efficient VLSI architecture for a very fast high performance three step search algorithm
JP3374014B2 (ja) 画像相関器
Yang et al. Very high efficiency VLSI chip-pair for full search block matching with fractional precision
JP2934143B2 (ja) 動画像圧縮におけるブロック・マッチング方法と装置
JP2866321B2 (ja) 動きベクトル探索方法および装置