JP2003517649A - 機械視覚システムにおける画像データ等の論理的に近接したデータサンプル用データ処理システム - Google Patents

機械視覚システムにおける画像データ等の論理的に近接したデータサンプル用データ処理システム

Info

Publication number
JP2003517649A
JP2003517649A JP2000517374A JP2000517374A JP2003517649A JP 2003517649 A JP2003517649 A JP 2003517649A JP 2000517374 A JP2000517374 A JP 2000517374A JP 2000517374 A JP2000517374 A JP 2000517374A JP 2003517649 A JP2003517649 A JP 2003517649A
Authority
JP
Japan
Prior art keywords
data
processor
word
memory
image
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
JP2000517374A
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 JP2003517649A publication Critical patent/JP2003517649A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Image Analysis (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 データ処理システム(10)は、各クロックサイクルにて少なくとも一つのプロセッサワード(17)を処理するデータプロセッサ(20)を含む。各プロセッサワード(17)は、論理的に近接した又は関連したデータサンプルの一連のストリームの一部として個別に受取られた複数の完全なデータサンプルを有する。予め定める数のデータサンプルが、プロセッサワードとして、専用のメモリ(18)に、共に記憶される。このシステムは、他の二つのプロセッサワードから得られる少なくとも一つのデータサンプル構成する少なくとも一つのプロセッサワード(17)を処理することをデータプロセッサに可能にするデータアライナ(50)をも含む。このアライナ(50)は、視覚システムにおける画素配列のようなデータサンプルの整列を制御し、イメージデータ処理を容易にする。

Description

【発明の詳細な説明】
【0001】 発明の分野 本発明は、データ処理システム、特に、例えば、機械視覚システムにおける論
理的に近接又は関連したデータサンプルを含むデータのストリームを処理するた
めのデータ処理システムに関する。 発明の背景 莫大な量のデータを処理することを必要とする沢山のデータ処理アプリケーシ
ョンが存在する。これらのアプリケーションの多くにおいて、処理されるべきデ
ータは、論理的に近接したデータサンプルの連続ストリームとして受け取られる
。この型のデータの一例は、機械視覚データである。
【0002】 機械視覚は、ビデオ画像からデータを抽出し、この情報を工程管理及び/又は
品質管理のために利用可能にする産業オートメーションテクノロジーの明確な型
である。 機械視覚に用いられる基礎テクノロジーの多くは、他分野と共有のものである
。CCDビデオカメラテクノロジーは、カムコーダや監視カメラにおいて用いら
れている。デジタル画像取得ハードウェアは、デスクトップパブリッシングや混
合メディアアプリケーションに用いられている。メリーランド州ベテスダの国立
衛生研究所(NIH)から入手可能なパブリックドメインソフトウェアアプリケ
ーションプログラム“イメージ”等の画像解析ソフトウェアは、科学的画像解析
に用いられている。画像解析アルゴリズムは、学術研究において広範囲な注目を
集めてきた。本発明の譲受人を含める多くの会社は、安価で容易に入手可能なこ
れらの構成要素を 組み合せることにより、機械視覚システムを構築してきた。
機械視覚テクノロジーは、多くのアプリケーションにおいて利用されている。4
つの主要な機械視覚アプリケーション、即ち、1)検査アプリケーション、2)
寸法測定、3)(案内用又は部品配置用の)対象物位置決定、4)部品識別が存
在する。これらのアプリケーションは、例えば、産業組立(ロボット工学)アプ
リケーションや製品検査において有用である。機械視覚は、例えば、基準点に対
する土台部分の位置を決定するために利用されてもよい。
【0003】 同様に、他の機械視覚アプリケーションは、製品包装が損なわれていないか否
か、集積回路素子リードが適切な場所にあるか否か、また適切に成形されている
か否かの決定や、製品ロゴ又はラベルの登録及び正確さ、また完成した製品の検
査そのものを含む。
【0004】 視覚システムカメラは、検査に関する決定を行わせるために、正確に且つ迅速
に処理されなければならない著しい量の情報を収集する。機械視覚データは、一
般に、論理的に近接及び関連したデータサンプルの連続ストリームとして提示さ
れる。全量の情報及びデータサンプルの関連性を所与のものとすれば、そのよう
な量及び種類のデータは、迅速な処理に重大な障害をもたらす。
【0005】 先行技術の機械視覚データ処理技法のソフトウェア及び大抵のハードウェアが
履行する事柄として、機械視覚データの一つの画素(一つのデータサンプル)を
一度に処理することが含まれる。コンピュータシステムのメモリ内で、ワードに
詰め込まれるアンサインドインテジャ(あるいはバイト又は2進ベクトル)を表
す一定の長さのデジタルコードは、典型的に機械視覚画像画素を表す。先行技術
による多くのシステムにおいては、データの一つから四つの画素(一つのデータ
サンプル)が各メモリワードに詰め込まれるが、これらの画素(データサンプル
)は、コンピュータ上で実行し続けるプログラムにより、一回につき一つずつ処
理される。また、既存の画像処理システムは、コンピュータのメモリキャシュか
ら利益を得ている。即ち、コンピュータは、典型的に全キャシュラインをその高
速内部キャシュメモリに取り込み、それによって外部メモリにアクセスするため
に費やされる時間を最小にしている。一旦画像データのキャシュラインがコンピ
ュータの内部キャシュメモリに配置されると、コンピュータは、処理のために個
々の画素に迅速にアクセスする。
【0006】 これらの先行技術システムの主要な利点は、それらが非常に柔軟性に富み、異
なるアプリケーションに対し容易に適応可能であることである。しかしながら、
主要な不利点として、これらのコンピュータシステムは、順次的に作業を行うた
め、システムの全体的速度がコンピュータの速度に直接比例してしまう点があげ
られる。多くの既存の機械視覚アプリケーションに対し、今日入手可能な一般使
用目的のコンピュータは、アプリケーション要件を満たすのに十分な速さで実行
することができない。
【0007】 従って、機械視覚によって掲げられる主要なチャレンジの一つは、適する計算
ハードウェアを統合することである。一般使用目的のCPU及び他のアプリケー
ション用に設計された画像処理ハードウェアでは、多くの機械視覚アプリケーシ
ョンにとって必要とされる価格と性能の比率を満たすことができない。
【0008】 デジタル画像データ上の計算速度を速めるために、多くの装置が開発されてき
た。これらの特別に設計されたプロセッサは、同じようなサイズ及びコストの一
般使用目的のCPUと比較して、はるかに速い速度で画像データストリーム上の
特定の計算を行う。そのような装置の一例として、パイプラインプロセッサがあ
げられる。先行の画像パイプライン処理構成は、各クロックパルスにおいて一つ
の新しい画素を受け取ったり、また多くの作業のために生成したりしながら、高
速度で画像画素をラスタ順に処理する。これらの装置は、カメラによって生成さ
れるビデオデータのストリームにそれらが直接接続されるアプリケーションにお
いて、しばしば用いられる。
【0009】 これらの画素パイプラインプロセッサは、機械視覚にとって有用なものではあ
るが、多くの機械視覚アプリケーションにとって最善のものであるとは言えない
。機械視覚システムにとって必要とされる速度は、ビデオデータ転送速度ではな
く、アプリケーションの機能である。多くの機械視覚アプリケーションは、標準
ビデオカメラのデータ転送速度、あるいはアナログかデジタルいずれかの他の画
像データ源のデータ転送速度より実質的に速い、あるいは遅いデータ転送速度を
必要とする。機械視覚に対する画素パイプラインプロセッサの有用性を限定して
いる他の問題は、長い処理待ち時間と、そのような画素パイプラインプロセッサ
は、処理作業を切り替えるために、しばしば実質的再構成の努力を要するという
事実である。
【0010】 とりわけ機械視覚計算を費用効果性の高い方法で行うために、幾つかの装置が
発明されてきた。そのうち幾つかのシステムは、インテル8087又はモトロー
ラMC68881が、それぞれインテル8088又はモトローラ68000のメ
モリバンクに記憶されたデータに関して浮動小数点計算を行うのと同じやり方で
、1次CPUによって制御されるメモリバンク内に記憶された画像データに直接
作用する視覚コプロセッサを使用している。これらのシステムは、CPUとコー
プロセッサとの間で単一のメモリコントローラを共有することにより、費用利益
を達成するが、CPUが密接に且つ広範囲にわたって、コープロセッサを制御す
ることに従事するため、履行不利益を支払うことになる。
【0011】 別の既存の機械視覚システム構成は、個々の画素、あるいは並列する画像デー
タの多数の横列又は縦列に作用する多数の単純視覚プロセッサを使用している。
非常に高速のシステムを構築するために、プロセッサの数を増やしてもよいが、
並列のメモリ及び相互接続回路は、相対的に複雑で費用がかかる。
【0012】 別の既存の機械視覚システム構成は、デジタル信号処理装置(DSP)を使用
している。これらの装置は、機械視覚に必要とされる作業を行うようにプログラ
ムされてもよいが、それらはオーディオやモデムアプリケーションに必要とされ
る1次元の信号処理により適している。視覚及び非視覚アプリケーションの両方
におけるDSPベースのシステムのもう一つの不利点は、それらは多くの異なる
作業を行うようにプログラムされてもよいが、最善の働きを達成するためには、
入念な組立コードの最適化及びDSP命令についての詳しい知識が必要とされる
ということである。加えて、DSPエンジンは、典型的に高価な高速メモリを必
要とすることから、データ又は視覚処理システムは高価なものとなってしまう。
【0013】 既存の機械視覚システム構成において用いられている別の技法は、画素値又は
画素値の単純関数によりインデックスを付された参照用テーブルを用いて、機械
視覚に必要とされる正規相関及び他の計算を履行することである。参照用テーブ
ルを用いることの利点として、それらは、異なる作業を行うために再プログラム
することができること、非線形の作業を行うことができること、並びに容易に入
手可能なメモリ構成要素を用いて実施することができることがあげられる。一方
、参照用テーブルを用いた計算履行の不利点としては、作業を変更するために一
つ以上の参照用テーブルを再ロードしなければならないことの実務上の影響や、
この様式で行うことができる計算の範囲が限られてしまうことがあげられる。 発明の要約 従って、本発明の一つの目的は、今日のテクノロジーの多くの限界について言
及しながら、機械視覚及び他の処理システムに対する格別な価格/性能を助成す
ることである。本発明は、ある実施例では近頃利用可能なデジタルメモリテクノ
ロジーを、また好ましい実施例ではASIC(アプリケーションスペシフィック
集積回路)テクノロジーをそれぞれ利用した革新的な構成を提供する。加えて、
本発明は、既存の画像処理技法の新規的履行を提供する。本発明は、画像処理シ
ステム又は視覚システムの処理アクセラレータ構成要素に関して説明されるが、
これは本発明を限定するものではなく、オーディオ信号処理アプリケーション、
デジタル信号処理アプリケーション、あるいは一次元、二次元、又はそれ以上の
次元のデータセットを処理すべき他の何らかのアプリケーションといった、多く
のデータ処理アプリケーションにおいて、開示された発明は利用可能である。加
えて、走査顕微鏡等の他のソースからの画像データサンプル、あるいは地震調査
データ等のようなその他の関連した又は近接したデータサンプルが、本発明のシ
ステムによって処理可能である。
【0014】 本発明は、関連又は近接したデータサンプルのストリームから受け取られる多
数のデータサンプル(多数の画素データ)を、一つのメモリワード又はプロセッ
サワードに分類し記憶することにより、また一つのプロセッサワードに記憶され
たデータサンプルを全て同時に処理することにより、実質的な実務利益を達成す
る。この構成は、2進及びグレースケールモルフォロジー、正規相関、画像算術
、線形及び非線形繰り込み、ヒストグラミング、投影、区分、並びに当分野にお
いて周知(ハラィック,ロバート エム及びシャピロ リンダ,ジー”コンピュ
ータ及びロボット視覚、第二巻”アディソンウエズリ、1993:ゴンザレス,
ラファエル シー及びウッズ,リチャード”デジタル イメージ プロセッシン
グ”アディソンウエズリ、1992:バラード,ダナ エイチ及びクリストファ
エム”コンピュータ視覚”プレンティス−ホール,1982)であり、言及す
ることによりここに組み込まれる他の多くのアルゴリズムを履行するために用い
られてもよい。本発明は、各画素に対して繰り返され、付加的論理と組み合わさ
れるこれらの計算のストレートフォワードデジタル回路履行を用いて、画像デー
タの一つのワードに記憶された画素の全てを同時に処理する。
【0015】 論理的に関連したデータサンプルのデータストリームから受け取られる画素又
は他のデータサンプルは、処理の前後に、より広いワードに詰め込まれて記憶さ
れ、伝送される。例えば、(本発明はこれに限定されるわけではないが)四つの
8ビット画素が一つの32ビットという広いメモリワードに詰め込まれ、32ビ
ットのメモリバスを通じて伝送される。各メモリクロックサイクルに入力され(
場合によっては出力され)る画素の数は、この固有メモリ/バス構成に対応する
。画素処理作業は、何らかの画像画素境界上で開始し、終了することが可能でな
ければならないため、本システム及び方法は、各処理作業を通じて、画素の有効
性を再整列させ、信号で伝える。
【0016】 性能を最大にするために、パイプライン化されたバースト方式SDRAM(周
期ダイナミックランダムアクセスメモリ)メモリを用いる。本発明は、完全な時
計歩度で処理を進行することができるように、画像処理装置にデータの遮断され
ないストリームを供給するため、調整済みFIFO(先入れ先出し)バッファを
利用する。バッファ及び多数のデータ経路スイッチを追加することにより、多数
のメモリ共有及び柔軟的位置決め源及び目的地オペランド配列が可能となる。
【0017】 本発明は、発明のデータプロセッサ(処理アクセラレータ)が、外部CPUか
らの介入を要求することなく、任意順序の作業を行うことができるように、内部
順序づけエンジンを組み込む。この順序づけエンジンは、簡単な指令を読み取り
、専用プロセッサメモリバンクに結果を蓄える。
【0018】 また、本発明は、専用プロセッサメモリ内に処理されるべき画像又は他のデー
タが、バースト方式周辺バスを通じて別のメモリへ伝送される時、それを監視、
あるいは“捕らえる”ことを許容する。この特徴により、システムが追加処理用
のCPUメモリ又は検視用の表示装置メモリへデータを伝送する一方で、同時に
、本発明は専用メモリのデータを受け取ることが可能となる。
【0019】 クロック技法による多数の画素は、ワード毎に幾つの画素にも拡張することが
可能であるが、好ましい実施例では、バス又はプロセッサワードにつき四つの画
素が、メモリワード毎に一つのバス又はプロセッサワードが用いられ、以下の説
明では模範例として記載されている。 好ましい実施例の説明 図1に示されるように、本発明は、データ処理システム10において用いるた
めの、新規性のあるデータプロセッサ20(ここでは、処理アクセラレータとも
呼ぶ)を特徴とする。本発明は、ここで開示される発明が、これに限られないが
、視覚処理システムを含む非常に多種のデータ処理システム内で、またそれらと
共に実施可能であることを意図する。
【0020】 本発明のデータプロセッサ20は、個々のデータサンプル15が、カメラによ
って捕らえられる処理されるべき画像からの個々の画素データ値である場合、論
理的に関連又は近接したデータサンプル15の一般に連続するストリーム13を
受け取るのに、非常に適したものとなっている。データサンプル15は、アナロ
グ又はデジタル値のデータサンプルであってもよい。当分野において周知のよう
に、個々のデータサンプル15自体は、バイトにおけるビットのようなデータ要
素からなっているのが典型的である。
【0021】 論理的に関連又は近接したデータのストリーム13は、視覚システムにおける
デジタイザやフレームグラバ等のデータオーガナイザ12により受け取られる。
データオーガナイザ12は、個々のデータサンプル13を受け取り、周辺バスイ
ンターフェース230、データ経路121、及びメモリコントローラ40を経由
して、データバス26を通ってデータメモリ18に伝達するために、所定数のデ
ータサンプル13をプロセッサワードP0−Pm,17に分類する。プロセッサ
ワード17は、それぞれ二つ以上のデータサンプル15を含む。好ましい実施例
では、データサンプル15が8ビットの長さであると共に、四つの論理的に近接
した又は関連したそれらのデータサンプル15が、データオーガナイザ12によ
り、一つのプロセッサワード17に分類される。以下で更に説明するように、一
つのメモリワードは、二つ以上のプロセッサワード17を含むことができる。
【0022】 データプロセッサ20は、以下で説明するように、より大きいメモリサブシス
テムの一部を形成する少なくとも一つのメモリ18へのプロセッサワード17の
記憶を制御する。二つ以上のデータサンプル15からなる各プロセッサワード1
7は、好ましい実施例として、少なくとも一つのメモリコントローラ40と、一
つ以上のアドレスジェネレータ41を含むデータプロセッサ20の制御の下で記
憶される。加えて、本発明の特徴は、以下でより詳細に説明するが、データプロ
セッサ20が、ホストCPUから一般に独立して、また自律的に作動することを
許容する処理シーケンサ200と、処理されるべきデータサンプルが、二つのプ
ロセッサワード17間の境界を越えて“クロスオーバー”した時、あるいは処理
されるべきデータの配列が、プロセッサワードの境界で開始されない時又は終了
しない時、プロセッサワード17内のデータサンプル15を整列し直すデータア
ライナ50と、以下で説明するが、それぞれに専門化された仕事を行う近傍処理
装置42a、相関処理装置42b、区分処理装置42c、及び画像演算処理装置
42dといった一つ以上の処理装置42とを含む。
【0023】 図2に示されるような、処理アクセラレータとして本発明のデータプロセッサ
20を用いた典型的な機械視覚システム10aは、ここでは模範例として説明さ
れる。視覚システム10は、データオーガナイザとして、デジタイザ12(フレ
ームグラバ)を含み、それによって、画像データ等の論理的に近接した又は関連
したデータサンプルのストリーム13がカメラ14より受け取られる。デジタイ
ザ12は、局所的に画像データ13を記憶してもよい。あるいは、好ましくは最
適の性能と最小のコストを実現するために、埋め込み式ダイレクトメモリアクセ
ス(DMA)コントローラ7を用いて、捕らえて分類したデータサンプル15(
画像データ)を専用画像又はデータサンプルメモリ18に配置してもよい。また
、(本発明の主題である)データ又は視覚データ処理アクセラレータ20が設け
られている。本発明において、処理アクセラレータ20は、視覚システムCPU
16や視覚CPUメモリ22とは別個に、プロセッサワード17として記憶され
たデータサンプル15を記憶し処理するために、メモリバス19によって、デー
タサンプルメモリ18に連結されている。
【0024】 そのような視覚システム10bの一つの実施例では、図3に示されるように、
多数のカメラ14a−14dから捕らえられた画像(画像データサンプル13の
ストリーム)は、視覚アクセラレータ20や埋め込み式視覚システムCPU16
により、あるいは視覚システムがホストCPU周辺データバス上に(例えば、ア
ダプタや周辺カードとして)常駐の場合には、ホストCPU24により処理され
ることができる。視覚システム10bは、リアルタイムの機械視覚作業や他の装
置との相互通信を支持するために、しばしば局所表示装置28や直列及び個別入
力/出力ポート30を含む。
【0025】 最大の効率を得るために、本実施例におけるデジタイザ12は、少なくともメ
モリデータバス19の幅と一致させるために、また好ましい実施例では、周辺バ
ス26の幅とも一致させるために、(例えば、四つの8ビット画素が一つの32
ビットワードに詰め込まれるように)多数の画素(データサンプル15)を一つ
のより大きいワード(プロセッサワード17)に詰め込む。メモリデータバス1
8の幅と周辺データバス26の幅が同じでない場合、処理アクセラレータ20が
、メモリデータバス18又は周辺データバス26の幅と一致するようにプロセッ
サワード17の幅をフォーマットし直す。バスインターフェース装置230は、
必要な際に、バス又はプロセッサワード17をより幅広いメモリワードへ付加的
に詰め込む。
【0026】 DMAマスタ7に接続されたデジタイザ12は、画素データサンプルを高速バ
ーストで周辺データバスアドレス空間の一部内に移動させる。本発明では、これ
は、画像メモリ18a及び/又は18b、共有視覚システムCPUメモリ22、
ホストCPUメモリ32、あるいは表示制御装置メモリ34のうちのいずれか一
つであってもよい。
【0027】 十分な数の画像データサンプル(典型的には完全な画像)が画像メモリ18に
記憶されると直ちに、処理アクセラレータ20の作動を開始することができる。
そのような何らかの作動の結果は、別の画像(結果配列)、又はレジスタ内の一
式のデータであるかも知れない。データオーガナイザ12、DMAマスタ7、及
び視覚アクセラレータ20内のDMAコントローラ232(図1)は、入ってく
る画像データを効率よくフォーマットするため、また処理された画像及びプロセ
ッサワード17としてレジスタデータセット内に記憶された画像データサンプル
15を、処理アクセラレータ20からホスト又は視覚CPU使用バス26及びホ
ストブリッジ26b内へ移し、そこから局所表示装置28用の表示制御装置メモ
リ34及び周辺データバスブリッジ26aを通じて連結されたいかなる装置へも
移動させるために設けられる。
【0028】 図4に示されるように、本発明の処理アクセラレータ20のメモリサブシステ
ム120は、一つ以上の専用高速メモリコントローラ40を特徴とする。該メモ
リコントローラ40は、アドレスジェネレータA,B,C41a−41cと協働
して、各メモリコントローラ120毎に、クロックパルス毎に一つのプロセッサ
ワード17という持続した速度で、画像の完全なプロセッサワード17又は他の
データサンプル15を読み取ったり書き込んだりするために、必要とされる全て
のアドレス及び制御信号を生成しながら、それぞれのメモリバンク18a、18
bの作動に対する全責任を負っている。
【0029】 本発明はこれに限定されるわけではないが、ここで記載されている処理アクセ
ラレータ20は、ASICとして集積回路上で実施される。本発明の好ましい実
施例は、メモリ18が、産業において現在、あるいは将来一般的に入手可能なS
DRAMや、SGRAMや、RAMBUSや、他のそういったメモリ装置等のバ
ースト方式同期メモリとして実施されることを考慮に入れている。
【0030】 本発明の一つの特徴は、図5に示されるように、データアラインメント装置5
0を設けることであり、該データアラインメント装置50は、アドレスジェネレ
ータA41a及びアドレスジェネレータC41cと共に、完全なプロセッサワー
ド17よりも少ない、データの選択されたデータサンプル15(メモリワードに
おける一定の画素)のみが処理されるべき時に、処理アクセラレータ20がデー
タの完全なプロセッサワード17を処理することを許容してしまうという問題を
解決する。
【0031】 模範的なアライナ回路は、図5及び図6A−6Dに示されている。図6A−6
Cは、必要とされる幅カウンタプリセット信号、(sor,eor,eof等の
)配列フレーム指示信号、及びバイト有効(バイトイネーブル)信号を生成する
アドレスジェネレータA41a内の計数回路、アラインメント装置50、並びに
アドレスジェネレータC41cを示している。図6Dは、実際のデータアライン
メント回路の一つの実施例を示している。処理アクセラレータ20は、画素(そ
れぞれ多数のデータサンプル15を含んでいるプロセッサワード17)をラスタ
順に(左から右、上から下へ)スキャンする。ユーザは、開始アドレス(ベース
)52及び列(幅)54毎の画素(データサンプル)数を最も近い画素に対して
指定する。
【0032】 発明の本実施例では、処理アクセラレータ20は、メモリワード毎に四つの画
素を処理するため、ユーザ供給ベース値ビット [24:0] 69からビット [2
4:2] がメモリワードアドレス67を指定し、一方ビット [1:0] は、メモ
リワード境界から画素オフセット52を指定する。同様に、幅ビット [13:2
] 54により指定されたメモリ(プロセッサ)ワードの数が、アラインメント装
置50によりオペランド−Aバス86上に示されると直ちに、幅ビット [1:0
] 56は、いくつの付加的画素(データサンプル)が処理されるべきであるかを
指定する。高さパラメータ58は、データサンプルのいくつの“列”が取り出さ
れるかを決定する。
【0033】 図5に示されるように、アラインメント装置50、アドレスジェネレータA4
1a、並びにアドレスジェネレータC41cは、ベースアドレスの幅と最下位ビ
ットの両方を考察し、各列においてメモリから取り出されるべきワードの総数を
決定する。アラインメント装置50、アドレスジェネレータA41a、並びにア
ドレスジェネレータC41cは、幅カウンタ60及び高さカウンタ62を含み、
それらが、個々の画素又は画素配列のうち、どれが各クロックパルス上で有効で
あるかを決定するために、処理装置42(図4)によって使用される列開始信号
71、列終了信号73、及びフレーム終了信号75を生成することを許容する。
アラインメント装置のバイトイネーブル出力64は、列の末端のどの画素が有効
であるかを信号で伝える。
【0034】 図6A−6Cは、アドレスジェネレータ41aと41c及びアラインメントユ
ニット50の計数及びバイトイネーブル機能を表している。メモリから呼び出さ
なければならない集合画素ワードの数は、以下のように計算される。1ワードに
付き4画素に対応するベース 52及び幅 54 セッティングのlsb(この
例では2)が一緒に加えられ、3ビットの結果の2つのmsb 55 (やはり
1ワードに付き4画素に対応)が、幅セッティング(本例では12ビット)の残
りのmsb 54に加えられる。結果値57は、アドレスジェネレータ A 4
1a 及びアラインメントユニット50 における幅ダウンカウンタ 60用の
設定値を決定する。このカウンタ60は、ソース画像の各列について、この設定
値からゼロまでサイクル動作する。
【0035】 初期状態(カウンタ初期設定直後及び各列終了後)においては、列開始(so
r)シグナル71が示され、高さダウンカウンタ62がディクリメントされる。
幅ダウンカウンタ 60 がゼロに達するたびに、列終了(eor)シグナル7
3 が示される。高さダウンカウンタ62 は、操作が開始する前にあらかじめ
設定された高さの状態に初期設定される。高さダウンカウンタ62 がゼロに達
すると、幅ダウンカウンタ60(eor)の最後の73のカウントと同時にフレ
ーム終了(eof)シグナル75が示される。
【0036】 アラインメントユニット50におけるバイトイネーブル論理77は、eor状
態にある時を除き、全4バイトイネーブル64を示す。eor状態にある間は、
バイトイネーブルシグナルパターン64は、示されたようにベースアドレス52
設定の2つのlsbにより決定される。バイトイネーブル論理77は、他のバス
幅にも次のように拡張できる。幅設定がメモリワードの正確な倍数である場合(
幅lsb=0)、全バイトイネーブルが示される。他の全ての場合、バイトイネ
ーブルパターン(画素データサンプルの数)は、lsb値により右にシフトされ
た1と右に補充されたゼロとから成っている。
【0037】 上記の説明は、“big−endian” 画素配列すなわちメモリ内に左か
ら右に保存された多数の画素を想定していることに留意する必要がある。この処
理方法は、“little−endian” 画素あるいはデータサンプル配列
及び個々の画素データがメモリワードの境界を越えない他のデータサンプル/画
素幅に容易に展開できる。
【0038】 図7は、1画素(P1と記された画素(データサンプル)を始めとする)をベ
ースオフセットとした、各列4画素の9画素(データサンプル)の処理例である
。図7の例については、イベントのシーケンスは次のとおりである。 1. 第1メモリクロックサイクルにおいて、P0からP3と記された画素(
データサンプル)を含む第1メモリ/プロセッサワード17aが、メモリ18か
ら読み取られ、アラインメントユニット50に保存される。
【0039】 2. 第2メモリクロックサイクルにおいて、P4からP7と記された画素(
データサンプル)を含む第2メモリ/プロセッサワード17bがメモリ18から
読み取られ、アラインメントユニット50がP1からP4と記された4画素のデ
ータサンプルを含む整列したプロセッサワード70を出力し、ビット[3:0]
及び列開始(sor)シグナル71(図6)から成るバイトイネーブルシグナル
64aを示す。
【0040】 3. 第3クロックにおいて、P8からP11と記された画素データサンプル
を含むプロセッサワード17cがメモリから読み取られ、その後アラインメント
ユニット50が P5からP8と記された4画素のデータサンプルを含む整列し
たプロセッサワード74を出力し、図6に示したように付随した意図を有する4
ビットのバイトイネーブルシグナル64をともに形成するビット[3:0]から
成るバイトイネーブルシグナル64bを示す。
【0041】 4. 第4クロックにおいて、アラインメントユニット50が P9と記され
た画素データサンプルを含むプロセッサワード76を出力し、ビット[3:0]
、列終了(eor)シグナル73及びフレーム終了(eof)シグナル75から
成るバイトイネーブルシグナル64cを示す。
【0042】 最初の有効な出力が為される前に2回のワード取込みが必要である点に言及し
ておかなければならない。 図6Dは、4画素幅のメモリバスに対する8ビット画素を有するアラインメン
トユニット50のデータシフト部80の実施例である。4個のレジスタ82a−
82dは、32ビットのデータAインプットバス84からの先行する4つの有効
な画素データサンプル(例示のためP0からP3と記してある)の値を保持して
いる。この値は、有効な場合、次の4画素(P4からP7)を表している。ベー
スアドレス設定の2つのlsb[0:1] 52は、オペランドAアウトプット
バス86上に表現するために画素がどのように再編成されるべきか決定する。2
つのベース最下位ビット52は、OP_Aアウトバス86に再編成されたプロセ
ッサワードを供給するために、マルチプレクサ88a−88dのそれぞれにおけ
る適切なポートを選択する。
【0043】 最大データ帯域幅を得るために、ルート化されたバースト方式のメモリ18あ
るいは同様なメモリ装置が用いられることが望ましい。そのような例としては、
同期式ダイナミック/グラフィックス ランダム−アクセスメモリ(SDRAM
/SGRAM)及びRAMBUS DRAM (RDRAM) がある。これら
の装置は、アドレスを受け入れ、コマンドを読み取って、その後対応するデータ
を出力する。一般に、新たなコマンドを現在進行中の動作に重ねることができる
【0044】 しかし、このタイプのメモリには、数クロックサイクルの読み取りデータ待ち
時間の問題がある。従って、図4のデータ経路121の一部を形成する図8のF
IFO−A 90は、FIFO−A 90内に読み取られたコマンドを現に未決
定の状態にしている全追加ワードを収容するのに十分な空きがある場合には、ア
ドレスジェネレータA 41aの ”準備完了 A” シグナルを無効にするよ
うに構成されている。このシグナルが示されている間、アドレスジェネレータA
41aは読み取りコマンドをメモリサブシステムA 120aに与える(ステ
ップAにアドレスする)ことができる。それぞれの有効なプロセッサ/メモリワ
ード17がメモリサブシステムA 120aによって発せられると、FIFO−
A 90に送られる。アラインメントユニット50は、有効なプロセッサワード
をFIFO−A 90から取出し、それらを再編成して、オペランドAバス86
へと供給する。
【0045】 DRAMからのデータフローは、メモリの1 ”ページ”から他のページに移
る必要性があるため、断続的に遅くなるであろう。メモリの同一“ページ”上の
プロセッサ/メモリワードは迅速にアクセスできるが、ページの境界を越えるに
は、メモリが事前記入し、編成して、1ページ上の全ワードを内部キャッシュに
移し変える必要がある。本構成においては、代表的なSDRAM/SGRAM装
置の2列構造が用いられているが、何らかのプロセッサ/メモリワード中断は避
けられない(例えば、ページ境界が急速に繰り返し越えられた場合)。他の中断
は、リフレッシュサイクルあるいは他の作用因(DMAコントローラ等)による
メモリアクセスの間に生じる。
【0046】 図9−11に示すような2あるいは3のオペランド操作をするためには、デー
タが両方の入力ポート(A及びB)において有効でなければならず、出力が結果
−Cバス92に行われる場合、データ宛先装置は、データ受入れ可能でなければ
ならない。図10の94及び図11の95に示す結果バッファあるいはFIFO
を各出力あるいは結果ポートに設けることにより、安定的なデータフローが維持
される。
【0047】 図10のアドレスジェネレータ41cもまた、有効な画素/データサンプルの
みメモリサブシステム120cに書き込むことを容認する、バイト書き込み可能
[3:0]シグナル96を生成させる。このように、アドレスジェネレータC
41cは、本発明の一部として図5に記載の配列機能に関与している。各出力列
の開始点はワード境界に揃えられているが、列の幅は、何画素/データサンプル
であってもよい。従って、各列に書き込まれた最終プロセッサ/メモリワードは
、全画素(データサンプル)が置き換えられていなくてもよい。このようにアド
レスジェネレータC 41cは、SDRAM/SGRAM装置が個々にバイト置
き換え能力を有していることを利用している。
【0048】 FIFO C 94は、別の重要な機能を果たしている。ある操作は、各入力
データ一式について2ワード以上の出力データを生じさせるかもしれない(特徴
抽出等)。第二に、ある処理装置42は各クロックパルスにおけるデータフロー
を止める能力を有していない。従って、FIFO C 94もやはり、入力(オ
ペランドA、B)データのフローが終了した後に、FIFO内に作動中の処理装
置42から全データを完全に“抜き出す”のに十分な空きがある場合、“準備完
了”シグナルを無効にするように構成されている。
【0049】 本実施例において、メモリサブシステムB 120bは、常にワード配列が為
されているため配列機構を有していない。しかし、熟練した当業者にとって、こ
のメモリサブシステムにもそうした配列装置を加えるのは容易であるため、これ
は本発明を限定するものではない。
【0050】 経済性、効率性及び融通性を高めるためには、メモリを共有する必要がある。
図11は、結果バッファ95及びアドレスマルチプレクサ100を加えることに
より、メモリサブシステム1 120bが共有できることを示している。3つの
オペランド操作は、周期的に処理が中断し、結果バッファ94がメモリサブシス
テム1 120bにコピーされなければならないため、半分のスピードで進行す
る。
【0051】 十分な融通性を持つために、メモリサブシステム120a、120b内の2つ
のメモリ(0、1)は、所与の動作についてソースデータあるいは宛先データの
いずれを収容してもよい。例えばある動作の後には、次の動作に関するソースが
もう一方のメモリに存在することになるので、これは重要なことである。図12
のデータバッファ102は、ある動作の入力側あるいは出力側のいずれに用いて
もよい。
【0052】 図12において、2あるいは3オペランドの関数の全ソースがメモリ・サブシ
ステム120a、120b内の1つのメモリにあってもよい。この場合、データ
バッファ102がまず1オペランド用のデータで一杯になり、次に第2オペラン
ド用のデータが同一メモリから取り出される。この場合、出力が必要であれば、
もう一方のメモリに行かなければならない。処理は、半分のスピードで進行する
。出力データが直接メモリに行くため、C FIFO 94はデータフローを円
滑にする点において重要である。
【0053】 同様に、入力オペランドと同じメモリに行く出力をその動作が生じさせる場合
には、データバッファ102が出力データを捕え、その後そのデータはC FI
FO 94を介して宛先メモリにダンプされる。この場合、3オペランドの動作
を実行するために、入力オペランドのうち1つはもう一方のメモリに存在しなけ
ればならない。
【0054】 実際のデータ処理は、それぞれ特定の処理タスクを実行する図1の多数のワー
ド全域処理装置42によって行われる。 図13は、標準的な相関処理装置42bのブロック図である。この処理装置は
、プロセッサ/メモリ クロックサイクル毎に、オペランドAバス86を介して
アラインメントユニット50から画像データサンプル15のプロセッサワード1
7を、またオペランドBバス87からテンプレートデータのワードを受け入れる
。各クロックサイクルの間、その2つのワードにおける全対応画素(データサン
プル)は、4つの計算セル101a−101cにおいて互いに乗じられ、画像の
和104、画像の2乗和106、及び画像−回数−テンプレート105を収容し
ている内部総合レジスタ104−106が更新される。
【0055】 図14A−14K及び図15は、ワード全域近傍形成装置42aが、どのよう
にして処理中のワード内の各画素を囲む4つの完全な3×3 の近傍を同時に形
成するのかを示している。これらの完全な近傍は、並列的に別個の処理装置に送
られ、その処理装置からの結果は、処理後に出発ワードを形成するために再編集
される。近傍処理論理は、境界の状態に関する情報を常に得て、関係領域の縁に
ある近傍のために、全ての欠けた画素の代わりに、バックグラウンドデータを処
理装置に供給する。
【0056】 第1列の処理: 第1クロックサイクルの間に、画素00/01/02/0
3が到着し、図14Bの”ライト”に保存される。第2クロックサイクルの間に
、画素04/05/06/07が到着して右に保存され、00/01/02/0
3は、図14Cの“センタ”に移る。第3クロックサイクルの間に、画素08/
09/010/011が到着し、画素04/05/06/07が“センタ”に移
り、画素00/01/02/03が図14Dの“レフト”に移る。第1列の移動
中は出力が計算されないが、これらのワードは第1ワード全域列 fifo内に
供給される。
【0057】 第2列の処理: 第1クロックサイクルの間に、第1列fifoから来る画
素00/01/02/03とともに画素10/11/12/13が到着し、これ
らのワードはどちらも図14Eの”ライト”に保存される。第2クロックサイク
ルの間に、第1列fifoから来る画素04/05/06/07とともに画素1
4/15/16/17が到着する。現在“ライト”にあるプロセッサワードが図
14Fの“センタ”に移動し、これらの新たなワードが“ライト” に保存され
る。これによって近傍配列において処理される第1完全近傍が形成されることに
なる。処理装置は、“XX”の値に代えて境界値を自動的に記入する。第3クロ
ックサイクルの間に、第1列fifoから来る08/09/010/011とと
もに画素18/19/110/111が到着する。現在“ライト”にあるワード
が図14Gの“センタ”に移動し、これらの新たなワードが“ライト”に保存さ
れる。
【0058】 第3列の処理: 第1クロックサイクルの間に、図14Hのように、第1列
fifoから来る画素10/11/12/13とともに画素20/21/22/
23が到着し、画素00/01/02/03が第2列fifoから到着する。こ
のクロックサイクルの間、処理装置42aは先行する列の最右端の近傍グループ
を処理していることに言及しておく。第2クロックサイクルの間に、図14Jの
ように、第1列fifoから来る画素14/15/16/17及び第2列fif
oから来る画素04/05/06/07とともに画素24/25/26/27が
到着する。第3クロックサイクルの間に、図14Kのように第1列fifoから
の18/19/110/111及び第2列fifoからの08/09/010/
011とともに画素28/29/210/211が到着する。
【0059】 これにより、第1の完全に有効な4つの3画素×3画素の近傍グループが形成
される。このクロックサイクル中に処理された4つの3×3近傍が図14Kに示
されている。処理は最終列まで続き、列のfifoから流出している値を用いて
計算が行われる。最終出力列が処理されている間は、到着データはない。
【0060】 図15は、ワード全域近傍形成装置42aの、唯一の可能なものではないが好
適な実施例を示している。データは、本例の使用目的のため4画素(データサン
プル)を1つのプロセッサ/メモリワードで伝えるオペランドAバス86から入
ってくる。このデータは、近傍レジスタ配列87及び列1シフター89内に入る
。プロセッサワード17が近傍レジスタ配列87に入ると、プロセッサワード1
7はp20ライト、p21ライト、p22ライト及びp23ライトと記された4
画素レジスタに保存される。有効なプロセッサワードが到着する度に、“ライト
”レジスタ内の全画素(データサンプル)が“センタ”レジスタの対応位置に、
そして最終的には“レフト”レジスタに移動して、データは前進する。“レフト
”レジスタの最も右側の画素のみが、近傍を完成させるのに必要である。しかし
、“ライト”の全画素をコピーして“センタ”に書き込む必要がある。プロセッ
サワードの第1列が到着した後、列1シフター89は、p10ライト、p11ラ
イト、p12ライト及びp13ライトと記された第2列レジスタにデータを供給
し始め、別の1列分のデータが到着すると、列2シフター91が、p03ライト
、p02ライト、p01ライト及びp00ライトと記されたレジスタを始めとす
る第3列レジスタにデータを供給する。有効なデータがp10センタ、p11セ
ンタ、p12センタ及びp13センタと記されたセンタワードに入ると、一連の
近傍値を同時に受け入れる4つの並行する近傍処理装置42a1 から42a4
よるワード全域近傍処理が始まる。その近傍値は、図15の下部に示したように
近傍レジスタ配列から取り出される。
【0061】 図16は、機械視覚装置において有用なワード全域区分処理装置42dの第1
段階を示している。ワード全域区分処理装置42dは、画素画像データの流れ1
7における変化が検知されたとき結果を生成するだけである。各画素は、閾規準
に従って前景あるいは背景のいずれかに属すると決定される。変化は、データの
流れの内で前景画素が背景画素に隣接している点であると定義される。
【0062】 画像データのある“列”の処理の始めに、セグメントコード120はゼロに初
期設定される。変化が検知される度に、セグメントコードは加算器122を用い
て増加され、変化に関する情報を含んだ結果ワードが生成される。1プロセッサ
ワード17で一度に4画素を処理しながらこの機能性を満たすため、4つの到着
画素126a―126dのそれぞれが前景あるいは背景のどちらに属するかを、
4台の閾値比較測定器124a−124dが同時に決定する。4台の1ビット比
較測定器128a―128dは、その処理ワード内の隣接する4画素間あるいは
現ワードの最も左側の画素と先行ワードの最も右側の画素の間に変化があるかど
うかを同時に決定する。
【0063】 最大4つまでの変化が同時に起こってもよいが、おそらく実際の画像データで
は全く変化が無いか変化が1つだけであろう。このクロックサイクルの間に処理
すべき変化の総数は加算器130によって計算されるが、現ワードがその列の最
後のワードである(eorシグナル 130)という可能性も含んでいる。
【0064】 ワード全域区分処理装置42dは、列の終了(eor 130)に対して常に
特定の変化の記録を生成するため、生成されるべき変化の記録の最大数は1列の
終わりに5にもなり得るのである。変化の記録は1つの32ビットワード134
に記号化されるので、実際には、この処理装置42dは1つの入力ワードに対し
て5つまでの結果のプロセッサワード17を生成することができる。図16に示
したこの処理装置42dと動作シーケンサ210(図18)の間のインターフェ
イスは、ワード全域区分処理装置42dがクロックパルス毎に1つの結果ワード
を生成するのを可能にしているだけであり、2つ以上の結果ワードの生成が必要
な場合には、結果が生成される間、到着データを足止めしておかなければならな
い。これは、変化の総数が1を越えると直ちに到着データを遮断するシグナルを
制御するために、変化の総数136を利用することにより実行される。
【0065】 区分記録結果が生成されると変化の数がチェックされ、最終結果が生成される
と到着データ86の再開が許可される。この構成により、1ワード当たり1以下
の変化である限り、処理アクセラレータ20はフルスピードで稼動することがで
きる。
【0066】 図17は、本発明のシーケンサ200が、どのようにして一方のメモリバンク
から簡単な指示を読み取り、結果を他方のメモリバンクに書き込むかを示してい
る。サポートされているのは、4つの命令すなわちWRITE、READ、GO
、STOPの命令のみである。命令のためのop−コードは、2ビットに記号化
され、残りのビットがREADあるいはWRITE命令により特定されたレジス
タ用のレジスタアドレスを含んでいる。残りのビットは、GOあるいはSTOP
命令には使用されない。WRITE命令は、WRITE命令のレジスタアドレス
部により特定されるレジスタへの命令の流れの中で見つかる次のワードを書き込
む。READ命令は、READ命令のレジスタアドレス部により特定されたレジ
スタから値を読み取り、このレジスタの値を出発データストリームに出力する。
シーケンサエンジン200により使用される“プログラム”は、一連の命令ワー
ド及びWRITEオペランドであり、“出力”は、一連のレジスタ値である。シ
ーケンサエンジン200は、処理アクセラレータが、かなりの時間CPUの対応
なしに動作することを可能にしている。
【0067】 シーケンサエンジン200は専用メモリ18a、18bから完全に繋がってお
り、処理アクセラレータ20がCPU16の対応を求めることなく任意の動作を
実行できるようにしている。 図18のシーケンサエンジン200は、メモリサブシステム0 120aのア
ドレスが命令ポインタ202によって与えられ、メモリサブシステム1 120
bのアドレスが書き込みデータポインタ204によって与えられるように、アド
レス及びデータセレクタを制御する。同様に、メモリサブシステム0 120a
からのデータはFIFO A 90a に行き、FIFO C 94からのデー
タはメモリサブシステム1 120bに行く。シーケンサ200はレジスタアド
レスを生成し、レジスタデータの読み取り及び書き込みをする。
【0068】 メモリワードは、命令ポインタ202により与えられる連続的なアドレスから
取り出される。これらのワードは、前述のように一連の命令を含んでいる。命令
はFIFO A 90a内に取り込まれ、命令シーケンサ208の制御下で命令
デコーダ206により翻訳される。WRITE命令が出ると、選択されたレジス
タからのデータが、FIFO C 94を介して、書き込みデータポインタ20
4によりアドレスされたメモリ1 120bに書き込まれる。
【0069】 GO命令が出ると、命令シーケンサ208はFIFO C 94内に残ってい
るデータがメモリ1 120bに書き込まれるまで待ち、続いてFIFO A
90aが既に取り込んでいた命令をどっと送り出してクリアされる。最後に、処
理アクセラレータ動作シーケンサ210が始動される。動作中は、動作シーケン
サ210が、メモリ120と処理装置42間のデータフローをFIFO A 9
0a、B 90b及びC 94を介して制御する。命令シーケンサ208は、次
の命令のアドレスを内部プログラムカウンタにセーブして、動作シーケンスが完
了するのを待つ。動作が完了してFIFO C 94内に残っている結果データ
が書き込まれると、命令ポインタ202がセーブされた次の命令アドレスに初期
設定し直され、FIFO A 90aがクリアされ、シーケンサ命令がFIFO
A 90a内に再び取り込まれる。有効なデータ(次の命令)がFIFO A
90aにあると、シーケンサ200の動作が再開する。
【0070】 シーケンサ200がCPU制御下で始動した場合にも、同様な作用が起こる。
この場合、プログラムカウンタ及び命令ポインタ202は、どちらもメモリ0
120a内にある最初の命令のアドレスに初期設定され、全てのFIFOがクリ
アされ、シーケンサは最初の命令がFIFO Aに現れるのを待つ。
【0071】 STOP命令が出ると、命令シーケンサ208は、動作が停止される前に、F
IFO C 94内に残っているデータがメモリ1 120bに書き込まれるま
で待つ。 本発明を実施する装置の効率を最大にするために、データサンプル(画像等)
の別のコピーが、視覚CPU、ホスト、あるいはディスプレーコントローラメモ
リ内にあるとともに専用処理アクセラレータ20メモリにも存在する必要がある
場合も多い。その一例は、捕えられた画像を、処理アクセラレータで利用できる
ようにすると同時にディスプレーに映し出す場合である。他の例は、2つの異な
った視覚動作が同時に進行できるよう、画像を処理アクセラレータとともに視覚
装置のCPUでも利用できるようにする場合である。3つめの関連する例は、処
理アクセラレータが捕えられた画像を処理する間に、視覚装置のCPUがその画
像にグラフィックスを施す場合である。1画像の多数のコピーを作ると、周辺バ
スにおける必要な帯域幅を倍加させ、待ち時間を増加させる。本発明は、スヌー
ピング技術によってこの問題を解決するものである。
【0072】 本発明におけるスヌーピングの特徴を簡略化したものが図19に示されている
(共有のCPUメモリ22のみ表示)。デジタイザ/DMA 12が、画像デー
タ13を、本例においては共有の視覚CPUメモリ22、ホストCPUメモリ(
図示されていない)、あるいはディスプレーメモリ(図示されていない)のいず
れかにある第一次ターゲットアドレスに書き込むよう設定される。デジタイザ1
2と視覚アクセラレータ20の間のスヌープハンドシェイクシグナル220、2
22がデジタイザ/DMA 12の動作を制御する。既知の量のデータ13を受
け入れることができるとき、処理アクセラレータ20はREADYシグナル22
2を示す。すると、デジタイザ12がDMAオペレーションを開始し、第一次タ
ーゲットであるCPUメモリ22に周辺バス26を介して限られた数のワードを
送る。デジタイザ12が周辺バスマスタになると、デジタイザはSNOOPシグ
ナル220を示す。処理アクセラレータ20は、各プロセッサワード17が周辺
バス26を通るとき、このシグナル及び追加的な周辺バスデータトランスファー
制御シグナルを用いてそのワードを捕える。視覚アクセラレータ20は、図20
の内部DMA入力アドレスジェネレータ234を用い、周辺バスターゲットアド
レスシグナルを無視して、スヌープされたデータ17を画像メモリ18内に入れ
る。READYシグナル222はデータ捕捉が始まるとすぐに取り消され、デー
タが画像メモリ18内に保存されるまで無効のままになる。
【0073】 図20に示された回路は、周辺バスデータを処理アクセラレータ内のレジスタ
及びメモリとやり取りするためのアドレス及びデータ経路を加えている。周辺バ
スインターフェイス230は、標準的な技術を利用し、CPU 16あるいはデ
ジタイザ12と処理アクセラレータとの間の伝達を記憶するための追加的なFI
FOを含んでいる。周辺バスインターフェイス230は、バーストモードで動作
するため、連続的なメモリ位置まで効率的にデータを運ぶことができる。周辺バ
スターゲット(スレーブ)として、周辺バスインターフェイスはアドレスを与え
、処理アクセラレータ20とデータをやり取りする。与えられたダイレクトター
ゲットアドレス232が、直接画像メモリ18及びレジスタ位置にアドレスする
ために用いられてもよいし、メモリ書き込みサイクルへの周辺バスにおいて代わ
りに宛先アドレスがDMA入力アドレスジェネレータ234により与えられても
よい。スヌープモード(上記)においては、やはり入力DMAアドレスジェネレ
ータ234の制御下で、他の周辺バス装置に向けられたデータが専用のスヌープ
FIFOに捕捉され、画像メモリ18に書き込まれる。
【0074】 周辺バスインターフェイス230は、周辺バスマスタ回路も含んでいる。この
回路は、出力DMAソースアドレスジェネレータ236により周辺バスインター
フェイス230内の周辺バスインターフェイスマスターデータFIFOにアドレ
スされたメモリ18からのデータを読み取る。周辺バス宛先アドレス(CPU、
ホストあるいはディスプレーメモリ内)は、出力DMA宛先アドレスジェネレー
タ240により与えられる。
【0075】 熟練した当業者による変更、代用は、以下の請求の範囲による以外には限定さ
れるべきでない本発明の範囲内にあると考えられる。
【図面の簡単な説明】
【図1】 本発明の一つの特徴によるデータプロセッサ及び処理アクセラレー
タの略ブロック図である。
【図2】 本発明を視覚処理アクセラレータの形状で取り入れた機械視覚シス
テムの略ブロック図である。
【図3】 本発明を処理アクセラレータの形状で取り入れた機械視覚システム
のより詳細な略ブロック図である。
【図4】 本発明による処理アクセラレータの一部の略ブロック図であり、該
処理アクセラレータに利用されるメモリサブシステムを示している。
【図5】 本発明の一つの側面による画素アラインメント装置の簡略図を示す
略ブロック図である。
【図6A−6D】 本発明の一つの側面によるアラインメント装置の機能を履
行するために用いられるカウンタ及び画素アラインメントデータシフタを示す略
ブロック図である。
【図7】 本発明の一つの側面によるアラインメント装置の作用を示す略図で
ある。
【図8】 本発明の一つの特徴による、単一のオペランドでメモリ待ち時間の
問題を解決するための、データストリームへのFIFOの追加を示す略ブロック
図である。
【図9】 本発明の一つの特徴による、二つのオペランドでメモリ待ち時間の
問題を解決するための、データストリームへのFIFOの追加を示す略ブロック
図である。
【図10】 本発明の一つの特徴による、三つのオペランドでメモリ待ち時間
の問題を解決するための、データストリームへのFIFOの追加を示す略ブロッ
ク図である。
【図11】 本発明の一つの特徴の略ブロック図であり、二つの物理メモリを
用いて三つのオペランド計算を可能にするために、一つの共有メモリと共に結果
バッファを使用することを示している。
【図12】 本発明の一つの特徴の略ブロック図であり、視覚処理アクセラレ
ータにおいて実施される本発明のフレキシブルデータ経路配列を示している。
【図13】 本発明の一つの特徴によるワードワイド正規相関処理装置の略ブ
ロック図である。
【図14A−14K】 本発明の更に別の側面によるワードワイド近傍整列画
像処理装置の作用の略図である。
【図15】 本発明の一つの側面によるワードワイド近傍整列画像処理装置の
好ましい実施例の略ブロック図である。
【図16】 本発明の別の特徴によるワードワイド区分処理装置の略ブロック
図である。
【図17及び図18】 本発明の別の側面による内部処理アクセラレータ順序
づけエンジンの作用を示す略ブロック図である。
【図19及び図20】 機械視覚システムにおいて実施される本発明の更に別
の特徴による、監視特徴及び周辺バスインターフェースの使用を示す略ブロック
図である。
【手続補正書】
【提出日】平成12年7月4日(2000.7.4)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0022
【補正方法】変更
【補正の内容】
【0022】 データプロセッサ20は、以下で説明するように、より大きいメモリサブシス
テムの一部を形成する少なくとも一つのメモリ18へのプロセッサワード17の
記憶を制御する。二つ以上のデータサンプル15からなる各プロセッサワード1
7は、好ましい実施例として、少なくとも一つのメモリコントローラ40と、一
つ以上のアドレスジェネレータ41を含むデータプロセッサ20の制御の下で記
憶される。加えて、本発明の特徴は、以下でより詳細に説明するが、データプロ
セッサ20が、ホストCPUから一般に独立して、また自律的に作動することを
許容する処理シーケンサ200と、処理されるべきデータサンプルが、二つのプ
ロセッサワード17間の境界を越えて“クロスオーバー”した時、あるいは処理
されるべきデータの配列が、プロセッサワードの境界で開始されない時又は終了
しない時、プロセッサワード17内のデータサンプル15を整列し直すデータア
ライナ50と、以下で説明するが、それぞれに専門化された仕事を行う近傍処理
装置42a、相関処理装置42b、区分処理装置42c画像演算処理装置42
及びモルフォロジー42eといった一つ以上の処理装置42とを含む。
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正の内容】
【図1】
【手続補正書】
【提出日】平成12年11月16日(2000.11.16)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正の内容】
【図1】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,ML,MR, NE,SN,TD,TG),AP(GH,GM,KE,L S,MW,SD,SZ,UG,ZW),EA(AM,AZ ,BY,KG,KZ,MD,RU,TJ,TM),AL ,AM,AT,AU,AZ,BA,BB,BG,BR, BY,CA,CH,CN,CU,CZ,DE,DK,E E,ES,FI,GB,GE,GH,GM,GW,HU ,ID,IL,IS,JP,KE,KG,KP,KR, KZ,LC,LK,LR,LS,LT,LU,LV,M D,MG,MK,MN,MW,MX,NO,NZ,PL ,PT,RO,RU,SD,SE,SG,SI,SK, SL,TJ,TM,TR,TT,UA,UG,UZ,V N,YU,ZW (72)発明者 グリーンバーグ マイケル フィリップ アメリカ合衆国 ニューハンプシャー州 03045 ゴフスタウン イースト ダンバ ートン ロード 282 Fターム(参考) 5B047 AA11 EA03 EA07 EB12 EB14 EB17 5B057 AA01 BA30 CH05 CH11 CH14 5B085 AA01

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 データ処理システムであって、 複数の論理的に近接したデータサンプルを含む少なくとも一つの連続ストリー
    ムのデータを受取り、予め定める前記複数の近接したデータサンプルのデジタル
    表現をプロセッサワードに構成するためのデータオーガナイザと、 複数の前記プロセッサワードを記憶するための少なくとも一つのデータサンプ
    ルメモリと、 前記メモリに応答して、少なくとも第一及び第二の前記プロセッサワードを受
    取り、前記第一のプロセッサワードから少なくとも一つのデータサンプルを選択
    し、前記第二のプロセッサワードから少なくとも一つのデータサンプルを選択し
    、前記予め定める数の前記複数の論理的に近接したデータサンプルを含む少なく
    とも一つの整列されたプロセッサワードを供給するデータワードアライナとを備
    え、前記整列されたプロセッサワードは前記第一のプロセッサワードから少なく
    とも前記選択された少なくとも一つのデータサンプルと前記第二のプロセッサワ
    ードから前記選択された少なくとも一つのデータサンプルとを含み、 前記データワードアライナに応答して、前記予め定める数の前記論理的に近接
    したデータサンプルを含む少なくとも一つの整列されたプロセッサワードを受取
    り、前記少なくとも一つの整列されたプロセッサワードとして受取られた前記予
    め定める数の論理的に近接したデータサンプルを同時に処理し、前記少なくとも
    一つの整列されたプロセッサワードとして受取られた前記同時に処理された予め
    定める数の論理的に近接したデータサンプルに基づいて、少なくとも一つのデー
    タプロセッサ結果を発生する、データプロセッサを含む、データ処理システム。
  2. 【請求項2】 前記論理的に近接したデータサンプルはイメージデータを含み
    、前記複数の論理的に近接したイメージデータサンプルの各々は、処理されるべ
    きイメージからの一つの画素のイメージデータを表し、論理的に近接した連続す
    るイメージデータのサンプルは、処理されるべき前記イメージからの近接する画
    素のイメージデータを表し、前記データメモリは、一つの前記プロセッサワード
    として共に少なくとも二つの近接する画素のイメージデータを記憶する、請求項
    1記載の処理システム。
  3. 【請求項3】 前記データプロセッサは、更に少なくとも一つのデータ処理装
    置を含む、請求項1記載の処理システム。
  4. 【請求項4】 前記少なくとも一つのデータ処理装置は、近隣処理装置、算術
    処理装置、区分処理装置、モルフォロジー処理装置及び相関処理装置のうちのい
    ずれかから選択される、請求項3記載の処理システム。
  5. 【請求項5】 前記データメモリは、転送し、前記データワードプロセッサは
    、各プロセッササイクルで少なくとも一つのプロセッサワードを受取る、請求項
    2記載の処理システム。
  6. 【請求項6】 前記少なくとも一つのデータメモリに接続され、前記少なくと
    も第一及び第二のプロセッサワードを供給するために前記メモリをアドレスする
    メモリアドレスジェネレータを更に備える、請求項1記載の処理システム。
  7. 【請求項7】 イメージデータの少なくとも2つの画素の周りに予め定める大
    きさの少なくとも二つの近接を形成するための近隣イメージ処理装置を更に有す
    る、請求項2記載の処理システム。
  8. 【請求項8】 前記プロセッサワードとして共に記憶されるイメージデータの
    少なくとも二つの近隣する画素の各々の周りに予め定める大きさの少なくとも二
    つの近隣を形成するための近隣イメージ処理装置を更に備える、請求項2記載の
    処理システム。
  9. 【請求項9】 前記データプロセッサはデータバスに接続され、前記データバ
    スは前記データオーガナイザから一次データサンプルターゲット装置にデータを
    伝送するためのものであり、 前記データプロセッサは、前記データバス上を前記一次データサンプルターゲ
    ットへ伝送されるデータサンプルの同時取り込みを制御し、前記少なくとも一つ
    のデータサンプルメモリに前記データサンプルのコピーを記憶するためのデータ
    キャプチャ装置を含む、請求項1記載の処理システム。
  10. 【請求項10】 前記少なくとも一つのデータサンプルメモリは、第一及び第
    二のデータサンプルメモリを含み、 前記少なくとも一つのデータサンプルメモリから指令とプロセッサ登録値とを
    読み出し、少なくともプロセッサ登録値を少なくとも前記少なくとも一つのデー
    タサンプルメモリに書き込むための少なくとも一つの処理シーケンサを更に含む
    、請求項1記載の処理装置。
  11. 【請求項11】 前記少なくとも一つのデータサンプルメモリがプロセッサワ
    ードとして連続するデータサンプル値を供給している間、データサンプルメモリ
    制御指令を実行するための少なくとも一つのデータサンプルメモリコントローラ
    を更に含む、請求項1記載の処理システム。
  12. 【請求項12】 イメージデータのためのデータ処理システムであって、 複数の近接したイメージデータサンプルを含む少なくとも一つの連続ストリー
    ムのデータを受取り、前記複数の近接イメージデータサンプルの各々は、処理さ
    れるべきイメージからの一つの画素のイメージデータを表し、前記複数の近接し
    たイメージデータサンプルの少なくとも二つのデジタル表現をプロセッサワード
    に構成するためのデータオーガナイザと、 複数の前記プロセッサワードを記憶するための少なくとも一つのデータサンプ
    ルメモリと、 前記メモリに応答して、少なくとも第一及び第二の前記プロセッサワードを受
    取り、前記第一のプロセッサワードから少なくとも一つのイメージデータサンプ
    ルを選択し、前記第二のプロセッサワードから少なくとも一つのイメージデータ
    サンプルを選択し、前記予め定める数の前記複数の近接したイメージデータサン
    プルを含む少なくとも一つの整列されたプロセッサワードを供給するデータワー
    ドアライナとを備え、前記整列されたプロセッサワードは、前記第一のプロセッ
    サワードから少なくとも前記選択された少なくとも一つのイメージデータサンプ
    ルと前記第二のプロセッサワードから前記選択された少なくとも一つのイメージ
    データサンプルとを含み、 前記データアライナに応答して、前記予め定める数の近接したイメージデータ
    サンプルを含む少なくとも一つの整列されたプロセッサワードを受取り、前記少
    なくとも一つの整列されたプロセッサワードとして受取られた前記予め定める数
    の近接したイメージデータサンプルを同時に処理し、前記少なくとも一つの整列
    されたプロセッサワードとして受取られた前記同時に処理された予め定める数の
    近接したイメージデータサンプルに基づいて、少なくとも一つのデータプロセッ
    サ結果を発生する、データプロセッサを含む、データ処理システム。
  13. 【請求項13】 イメージデータの少なくとも2つの画素の周りに予め定める
    大きさの少なくとも二つの近接を形成するための近隣イメージ処理装置を更に有
    する、請求項12記載の処理システム。
  14. 【請求項14】 前記整列されたプロセッサワードの周りに予め定める大きさ
    の少なくとも二つの近隣を形成するための近隣イメージ処理装置を更に備える、
    請求項12記載の処理システム。
  15. 【請求項15】 イメージデータのためのデータ処理システムであって、 複数の近接したイメージデータサンプルを含む少なくとも一つの連続ストリー
    ムのデータを受取り、前記複数の近接イメージデータサンプルの各々は、処理さ
    れるべきイメージからの一つの画素のイメージデータを表し、前記複数の近接し
    たイメージデータサンプルの少なくとも二つのデジタル表現をプロセッサワード
    に構成するためのデータオーガナイザと、 複数の前記プロセッサワードを記憶するための少なくとも一つのデータサンプ
    ルメモリと、 前記少なくとも一つのデータサンプルメモリに応答して、少なくとも二つの
    前記近接する画素のイメージデータサンプルを含む少なくとも一つの前記記憶さ
    れたプロセッサワードを受取り、前記プロセッサワードとして共に記憶されるイ
    メージデータの少なくとも2つの画素の周りに予め定める大きさの少なくとも二
    つの近接の画素イメージデータを形成するための近隣イメージ処理装置を有する
    、処理システム。
JP2000517374A 1997-10-17 1998-05-08 機械視覚システムにおける画像データ等の論理的に近接したデータサンプル用データ処理システム Pending JP2003517649A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/953,772 1997-10-17
US08/953,772 US6208772B1 (en) 1997-10-17 1997-10-17 Data processing system for logically adjacent data samples such as image data in a machine vision system
PCT/US1998/009445 WO1999021126A1 (en) 1997-10-17 1998-05-08 Data processing system for logically adjacent data samples such as image data in a machine vision system

Publications (1)

Publication Number Publication Date
JP2003517649A true JP2003517649A (ja) 2003-05-27

Family

ID=25494513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000517374A Pending JP2003517649A (ja) 1997-10-17 1998-05-08 機械視覚システムにおける画像データ等の論理的に近接したデータサンプル用データ処理システム

Country Status (7)

Country Link
US (4) US6208772B1 (ja)
EP (1) EP1031108A4 (ja)
JP (1) JP2003517649A (ja)
KR (1) KR20010031192A (ja)
AU (1) AU747283B2 (ja)
CA (1) CA2308328A1 (ja)
WO (1) WO1999021126A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6459439B1 (en) * 1998-03-09 2002-10-01 Macromedia, Inc. Reshaping of paths without respect to control points
US6160423A (en) * 1998-03-16 2000-12-12 Jazio, Inc. High speed source synchronous signaling for interfacing VLSI CMOS circuits to transmission lines
JP2001243460A (ja) * 2000-02-29 2001-09-07 Fuji Photo Film Co Ltd 画像処理装置および画像処理プログラム記憶媒体
AUPQ668500A0 (en) * 2000-04-04 2000-05-04 Canon Kabushiki Kaisha Accessing items of information
EP1344189B1 (en) * 2000-12-18 2006-06-07 LightSpace Technologies, Inc. Rasterization of three-dimensional images
US6965606B2 (en) * 2001-01-26 2005-11-15 Exar Corporation Method and apparatus for byte rotation
KR100698549B1 (ko) * 2001-06-04 2007-03-21 에스케이케미칼주식회사 오·폐수처리용 미생물 배양기
US6620246B2 (en) 2001-06-14 2003-09-16 Nylok Corporation Process controller for coating fasteners
JP3703754B2 (ja) * 2001-10-23 2005-10-05 富士通株式会社 描画装置および情報処理装置
US20030137590A1 (en) * 2002-01-18 2003-07-24 Barnes Danny S. Machine vision system with auxiliary video input
US6871409B2 (en) 2002-12-18 2005-03-29 Snap-On Incorporated Gradient calculating camera board
US20040243767A1 (en) * 2003-06-02 2004-12-02 Cierniak Michal J. Method and apparatus for prefetching based upon type identifier tags
JP2006157580A (ja) * 2004-11-30 2006-06-15 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
US7855783B2 (en) * 2007-09-18 2010-12-21 Snap-On Incorporated Integrated circuit image sensor for wheel alignment systems
US9390661B2 (en) 2009-09-15 2016-07-12 E Ink California, Llc Display controller system
US8130229B2 (en) 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate
US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators
US8488882B1 (en) * 2011-08-10 2013-07-16 Google Inc. Non-linear transformation of images in web browsers
JP6385077B2 (ja) 2014-03-05 2018-09-05 ルネサスエレクトロニクス株式会社 半導体装置
US10262624B2 (en) * 2014-12-29 2019-04-16 Synaptics Incorporated Separating a compressed stream into multiple streams
CN106126453A (zh) * 2016-06-13 2016-11-16 浪潮电子信息产业股份有限公司 一种含外带接口的cpu的实现方法
US11081792B2 (en) 2018-03-07 2021-08-03 Anokiwave, Inc. Phased array with low-latency control interface
CN109191374B (zh) * 2018-10-10 2020-05-08 京东方科技集团股份有限公司 一种畸变参数测量方法、装置及系统
US11205858B1 (en) 2018-10-16 2021-12-21 Anokiwave, Inc. Element-level self-calculation of phased array vectors using direct calculation
US10985819B1 (en) * 2018-10-16 2021-04-20 Anokiwave, Inc. Element-level self-calculation of phased array vectors using interpolation
US11096012B2 (en) * 2019-05-29 2021-08-17 Texas Instruments Incorporated Integrated Wi-Fi location
TWI830363B (zh) * 2022-05-19 2024-01-21 鈺立微電子股份有限公司 用於提供三維資訊的感測裝置

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484346A (en) * 1980-08-15 1984-11-20 Sternberg Stanley R Neighborhood transformation logic circuitry for an image analyzer system
US4554593A (en) * 1981-01-02 1985-11-19 International Business Machines Corporation Universal thresholder/discriminator
US4577344A (en) 1983-01-17 1986-03-18 Automatix Incorporated Vision system
JPH0778825B2 (ja) * 1983-02-09 1995-08-23 株式会社日立製作所 画像処理プロセツサ
US4541114A (en) * 1983-05-05 1985-09-10 Research Environmental/Institute of Michigan Routing techniques using serial neighborhood image analyzing system
US4742552A (en) * 1983-09-27 1988-05-03 The Boeing Company Vector image processing system
US4581762A (en) 1984-01-19 1986-04-08 Itran Corporation Vision inspection system
US4648119A (en) * 1985-03-18 1987-03-03 Tektronix, Inc. Method and apparatus for forming 3×3 pixel arrays and for performing programmable pattern contingent modifications of those arrays
US4790026A (en) * 1985-12-31 1988-12-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Programmable pipelined image processor
US5717440A (en) * 1986-10-06 1998-02-10 Hitachi, Ltd. Graphic processing having apparatus for outputting FIFO vacant information
US4972359A (en) 1987-04-03 1990-11-20 Cognex Corporation Digital image processing system
US5129092A (en) 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
US5384912A (en) * 1987-10-30 1995-01-24 New Microtime Inc. Real time video image processing system
US5268856A (en) 1988-06-06 1993-12-07 Applied Intelligent Systems, Inc. Bit serial floating point parallel processing system and method
US4967378A (en) * 1988-09-13 1990-10-30 Microsoft Corporation Method and system for displaying a monochrome bitmap on a color display
US4974261A (en) * 1988-11-15 1990-11-27 Matsushita Electric Works, Ltd. Optical surface inspection method
NL8803112A (nl) 1988-12-19 1990-07-16 Elbicon Nv Werkwijze en inrichting voor het sorteren van een stroom voorwerpen in afhankelijkheid van optische eigenschappen van de voorwerpen.
US4972495A (en) * 1988-12-21 1990-11-20 General Electric Company Feature extraction processor
US5144683A (en) * 1989-04-28 1992-09-01 Hitachi, Ltd. Character recognition equipment
JPH0486961A (ja) * 1990-07-31 1992-03-19 Toshiba Corp 塗りつぶしパターン発生装置および発生方法
US5115309A (en) 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders
JPH087715B2 (ja) * 1990-11-15 1996-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理装置及びアクセス制御方法
US5341468A (en) * 1991-01-28 1994-08-23 Ricoh Company, Ltd. Image processor
JPH0568243A (ja) 1991-09-09 1993-03-19 Hitachi Ltd 可変長符号化制御方式
US5173951A (en) * 1991-10-10 1992-12-22 Unisys Corporation Word oriented image smoothing apparatus and method
US5315388A (en) 1991-11-19 1994-05-24 General Instrument Corporation Multiple serial access memory for use in feedback systems such as motion compensated television
US5216503A (en) 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system
US5657403A (en) 1992-06-01 1997-08-12 Cognex Corporation Vision coprocessing
US5623624A (en) * 1993-02-01 1997-04-22 Micron Technology, Inc. Memory control architecture for high speed transfer options
US6118886A (en) * 1993-03-30 2000-09-12 The United States Of America As Represented By The United States Department Of Energy Automatic target recognition apparatus and method
US5550972A (en) * 1993-06-30 1996-08-27 Microsoft Corporation Method and apparatus for efficient transfer of data to memory
US5583954A (en) 1994-03-01 1996-12-10 Cognex Corporation Methods and apparatus for fast correlation
US5526050A (en) 1994-03-31 1996-06-11 Cognex Corporation Methods and apparatus for concurrently acquiring video data from multiple video data sources
US5602937A (en) 1994-06-01 1997-02-11 Cognex Corporation Methods and apparatus for machine vision high accuracy searching
US5557734A (en) 1994-06-17 1996-09-17 Applied Intelligent Systems, Inc. Cache burst architecture for parallel processing, such as for image processing
US5536559A (en) * 1994-11-22 1996-07-16 Wisconsin Alumni Research Foundation Stress-free mount for imaging mask
US5706483A (en) * 1994-12-13 1998-01-06 Microsoft Corporation Run-time code compiler for data block transfer
US5564114A (en) * 1995-01-09 1996-10-08 Cirrus Logic Inc. Method and an arrangement for handshaking on a bus to transfer information between devices in a computer system
US5784047A (en) * 1995-04-28 1998-07-21 Intel Corporation Method and apparatus for a display scaler
US5608876A (en) * 1995-05-22 1997-03-04 International Business Machines Corporation Add-in board with enable-disable expansion ROM for PCI bus computers
EP0834135B1 (en) * 1995-06-15 2003-01-02 Intel Corporation Architecture for an i/o processor that integrates a pci to pci bridge
JP3556340B2 (ja) * 1995-08-21 2004-08-18 株式会社東芝 コンピュータシステム
US5835160A (en) * 1995-09-13 1998-11-10 Oak Technology, Inc. Sampling rate conversion using digital differential analyzers
US6084600A (en) * 1996-03-15 2000-07-04 Micron Technology, Inc. Method and apparatus for high-speed block transfer of compressed and word-aligned bitmaps
US5987590A (en) * 1996-04-02 1999-11-16 Texas Instruments Incorporated PC circuits, systems and methods
US5969750A (en) * 1996-09-04 1999-10-19 Winbcnd Electronics Corporation Moving picture camera with universal serial bus interface
US5889480A (en) * 1996-10-18 1999-03-30 Samsung Electronics Co., Ltd. Full duplex serial codec interface with DMA
US5784576A (en) * 1996-10-31 1998-07-21 International Business Machines Corp. Method and apparatus for adding and removing components of a data processing system without powering down
US6125418A (en) * 1996-11-27 2000-09-26 Compaq Computer Corporation Method and apparatus for enabling a computer user to convert a computer system to an intelligent I/O system
US5761461A (en) * 1996-12-13 1998-06-02 International Business Machines Corporation Method and system for preventing peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data processing system
US5978493A (en) * 1996-12-16 1999-11-02 International Business Machines Corporation Identification bracelet for child and guardian matching
US5933614A (en) * 1996-12-31 1999-08-03 Compaq Computer Corporation Isolation of PCI and EISA masters by masking control and interrupt lines
US5935233A (en) * 1997-05-21 1999-08-10 Micron Electronics, Inc. Computer system with a switch interconnector for computer devices
US6047349A (en) * 1997-06-11 2000-04-04 Micron Electronics, Inc. System for communicating through a computer system bus bridge
US5937173A (en) * 1997-06-12 1999-08-10 Compaq Computer Corp. Dual purpose computer bridge interface for accelerated graphics port or registered peripheral component interconnect devices
US6134579A (en) * 1997-08-15 2000-10-17 Compaq Computer Corporation Semaphore in system I/O space
US6094699A (en) * 1998-02-13 2000-07-25 Mylex Corporation Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller
US7082487B2 (en) * 2002-02-20 2006-07-25 Spectrum Signal Processing, Inc. Multiple configurable I/O common mezzanine cards
US6985990B2 (en) * 2002-03-29 2006-01-10 International Business Machines Corporation System and method for implementing private devices on a secondary peripheral component interface

Also Published As

Publication number Publication date
KR20010031192A (ko) 2001-04-16
EP1031108A4 (en) 2001-01-24
AU7375298A (en) 1999-05-10
AU747283B2 (en) 2002-05-09
US6208772B1 (en) 2001-03-27
EP1031108A1 (en) 2000-08-30
CA2308328A1 (en) 1999-04-29
US6041148A (en) 2000-03-21
WO1999021126A1 (en) 1999-04-29
US20060190656A1 (en) 2006-08-24
US5977994A (en) 1999-11-02

Similar Documents

Publication Publication Date Title
JP2003517649A (ja) 機械視覚システムにおける画像データ等の論理的に近接したデータサンプル用データ処理システム
US5774133A (en) Computer system with improved pixel processing capabilities
KR100325902B1 (ko) 고성능3차원그래픽가속기를위한부동소숫점처리기및그처리기능수행방법
EP0739513B1 (en) Method of transmitting of data
US5657403A (en) Vision coprocessing
US4967375A (en) Fast architecture for graphics processor
US5430885A (en) Multi-processor system and co-processor used for the same
JP2002541586A (ja) 並列データ処理装置
US5539898A (en) Data-array processing system wherein parallel processors access to the memory system is optimized
JP2009223758A (ja) 画像処理装置
JP3971535B2 (ja) Simd型プロセッサ
US7237072B2 (en) Data processor with a built-in memory
US5546532A (en) Data-array processing system
US5692163A (en) Process system which generates sets of output data from sets of predetermined input data with duplicate data
JP3821198B2 (ja) 信号処理装置
JP3305406B2 (ja) プログラム制御のプロセッサ
WO2006018822A1 (en) Combined load and computation execution unit
US7796133B1 (en) Unified shader
WO1992002883A1 (en) Parallel-processing systems
WO1992002923A1 (en) Data processing and memory systems
JPS6247785A (ja) 近傍画像処理装置
WO1992012496A1 (en) Computer system with enhanced image and graphics capabilities
JP2001202351A (ja) Simd型プロセッサ
JPH04291681A (ja) 超高速画像処理システムのフィルタリング処理方式
GB2252024A (en) Graphics accelerator area fill system