(57)【要約】【課題】画像収集を非同期的に行う。【解決手段】機械視覚システム用の画像収集システムは、ホストへのデータ伝送を選択的に禁止及び許可するプログラム可能イメージャ制御器を利用し、またメモリ割当てが保留のままの画像データを一時的に記憶するバッファシステムを利用することで、画像伝送からホストプロセッサへの画像収集を切断する。これにより、本画像収集システムは、画像収集を非同期的に行うことができ、また、収集画像の記憶用にメモリを割り当てることに伴う待ち時間を生ずることなくフレーム毎に露光パラメータを変更することができる。本発明のシステム構造ではさらに、データ損失の可能性を最小限に抑えて画像収集の中断及び再開を行うことができる。さらに、画像内の目的領域に相当するデータのみをホストに送信し、目的領域以外から得られたデータをカメラ段階で廃棄することで、データスループットが向上している。【選択図】図１
2008243211.tif 000002
【特許請求の範囲】
【請求項１】
画像を表すデータを記憶するメモリ（１１６）を割り当てるホストプロセッサ（１２０）を備えた機械視覚システムに画像を伝送するシステムであって、
トリガ信号に応答して前記画像の少なくとも一部を収集する画像収集手段（１６）と、
前記画像を前記画像収集手段（１６）から前記メモリ（１１６）に伝送する画像伝送手段（１４）であって、前記ホストプロセッサ（１２０）による前記メモリ（１１６）からのメモリスペースの割り当て中は、前記画像の少なくとも一部を少なくとも一時的に記憶するバッファメモリ手段（７８）を備えた画像伝送手段と、
ホスト計算システム（１２）内に割り当てられたメモリ（１１６）に、前記バッファメモリ手段（７８）内に蓄積された前記画像データを直接伝送する直接記憶アドレスデータ伝送手段であって、前記データ伝送により前記ホスト計算システム（１２）が前記ホストプロセッサ（１２０）に割込みする回数が減らされる、直接記憶アドレスデータ伝送手段と、を含み、
前記画像収集手段（１６）が、データを損失したりデータの完全性を失うことなく、前記ホストプロセッサによるメモリ割り当てからは独立して動作可能な、システム。
【請求項２】
例えば目的領域の最初の線と最後の線やの露光時間などのような画像収集に関連したパラメータを記憶するパラメータ・メモリ・モジュール（４８）であって、前記パラメータが前記ホストプロセッサ（１２０）によって生成される、パラメータ・メモリ・モジュールと、
前記パラメータ・メモリ・モジュール（４８）から前記画像収集手段（１６）に前記パラメータを伝送する、前記パラメータ・メモリ・モジュールに結合された、カメラローダ回路（４２）と、を更に包含した、請求項１に記載のシステム。
【請求項３】
前記画像収集手段（１６）が、
前記画像を収集する光電性回路（５４、５５、６０）と、
前記カメラローダ回路（４２）と前記光電性回路（５４、５５、６０）とに結合された、画像収集に関連した前記パラメータを前記パラメータ・メモリ・モジュール（４８）から受け取ると共に、それに応答して前記トリガ信号を生成するプログラム可能イメージャ回路（２０）とを含む、請求項２に記載のシステム。
【請求項４】
前記バッファメモリ手段が、１つ又はそれ以上の例えばデータＦＩＦＯレジスタ（７８）のようなレジスタを包含し、このレジスタが、前記画像収集手段からの前記画像を表すデータを前記トリガ信号に応答して受け取ると共に、前記ホストプロセッサ（１２０）によって生成される解放信号に応答して前記画像を表すデータを前記ホストプロセッサに解放するように結合されている、請求項１乃至３の何れかに記載のシステム。
【請求項５】
前記光電性回路（５４、５５、６０）が、複数のホトサイト（７０ａ乃至７０ｉ）とこのホトサイトが受け取った光学エネルギーを記憶するオンボードメモリ（８０）とを包含し、更に前記システムが、
前記バッファメモリ手段（７８）と前記プログラム可能イメージャ回路（２０）との間の、バッファ信号を前記バッファメモリ手段から前記プログラム可能イメージャ回路へ伝送する、フィードバックコネクション（７９）を、包含し、
前記プログラム可能イメージャ回路が、前記ホトサイト（７０ａ乃至７０ｉ）から前記オンボードメモリ（８０）へ光学エネルギーを駆動する手段（１５６）と、前記バッファ信号に応答して前記ホトサイトから前記オンボードメモリへの光学エネルギーの前記伝送に割り込む割込み信号を生成する手段と、を包含する、請求項３または４に記載のシステム。
【請求項６】
前記光電性回路（５４、５５、６０）が、
ホトサイト（７０ａ乃至７０ｉ）からの前記収集された画像を表す光学エネルギーを記憶する１つ又はそれ以上の垂直レジスタ（８０）と、この垂直レジスタ（８０）に記憶された前記光学エネルギーの少なくとも一部を受け取るように配置された１つ又はそれ以上の水平レジスタ（８２）と、を包含し、前記光電性回路が、前記画像の少なくとも一部に対応した目的領域を収集すると共に前記レジスタ内に記憶し得るようにされた、請求項３乃至５の何れかに記載のシステム。
【請求項７】
前記目的領域の一部に対応した前記光学エネルギーの一部を前記垂直レジスタ（８０）から前記水平レジスタ（８２）へ伝送する手段（２０）を更に包含する、請求項５又は６に記載のシステム。
【請求項８】
前記画像が、前記光電性回路（５４、５５、６０）の前記レジスタ（８０、８２）に記憶された、請求項４乃至７の何れかに記載のシステム。
【請求項９】
前記プログラム可能イメージャ回路（２０）と前記バッファメモリ手段（７８）とにフィードバック通信した不能手段であって、光学エネルギーを前記垂直レジスタ（８０）から前記水平レジスタ（８２）へ伝送する間は、前記水平レジスタ（８２）からの前記光学エネルギーの伝送を不能にする不能手段と、
前記目的領域の一部に対応した前記光学エネルギーを前記垂直レジスタ（８０）から前記水平レジスタ（８２）へ、前記の記憶したエネルギーを前記水平レジスタから積極的に取り除くことなく、迅速に伝送する手段（２０）と、を更に包含する、請求項５に記載のシステム。
【請求項１０】
前記画像収集手段が、選択された画像収集パラメータを含んだ前記トリガ信号に応答して前記画像を収集する光電性手段（５４）と、
前記トリガ信号を生成すると共に前記画像収集中に前記選択された画像収集パラメータをプログラミング可能に変更する、前記光電性手段（５４）と共に回路上に設けられたプログラム可能制御手段（２０）と、を包含し、
前記プログラム可能制御手段（２０）が、
前記選択された画像収集パラメータでプログラムされ得るようにし、ローディング信号に応答して前記トリガ信号を生成する制御手段（２０）と、
前記ローディング信号を生成すると共に前記画像収集パラメータを例えば前記ホストプロセッサ（１２０）から受け取る、前記制御手段（２０）に結合されたパラメータローディング手段（４２）と、を包含する、請求項４に記載のシステム。
【請求項１１】
前記プログラム可能イメージャ回路（２０）が、前記画像収集パラメータを約２μ秒かそれ以下で受け取る手段を含み、よってこの回路を迅速に実質的にリアルタイムで再プログラムする手段を含む、請求項３に記載のシステム。
【請求項１２】
前記プログラム可能制御手段（２０）がある駆動頻度で動作し、前記画像の収集中に、この駆動頻度を自動的に変更する手段を包含する、請求項１０に記載のシステム。
【請求項１３】
前記システムが、
命令信号に応答して出力動作信号を生成する動作手段（３４）と、
前記画像収集パラメータを前記ホストプロセッサ（１２０）から受け取るパラメータ・メモリ・モジュール（４８）と、
パラメータ・メモリ・モジュール（４８）に結合され、前記出力動作信号と前記選択された画像収集パラメータを前記パラメータ・メモリ・モジュールから受け取り得るようにしたカメラローダ回路（４２）であって、前記画像収集パラメータで前記プログラム可能制御手段（２０）をプログラムするカメラローダ回路と、を更に包含する、請求項１０に記載のシステム。
【請求項１４】
前記光電性手段（５４）が、前記収集された画像を表す光学エネルギーを記憶する１つ又はそれ以上の垂直レジスタ（８０）と、この垂直レジスタに記憶された前記光学エネルギーの少なくとも一部を受け取るように配置された１つ又はそれ以上の水平レジスタ（８２）と、を包含し、前記光電性手段（５４）が、前記画像の少なくとも一部に対応した目的領域を収集し得るようにされ、前記画像伝送手段が前記目的領域の一部に対応した前記光学エネルギーの一部を前記垂直レジスタ（８０）から前記水平レジスタ（８２）に伝送し、更に前記システムが、
前記垂直レジスタから前記水平レジスタへの光学エネルギーの前記伝送の間は、前記記憶されたエネルギーを前記水平レジスタ（８２）から積極的に取り除くことなく、前記光学エネルギーの前記水平レジスタ（８２）からの伝送を禁止し、よって前記垂直レジスタから電荷を迅速にパージする第１禁止手段（２０）と、
前記水平レジスタに記憶された前記光学エネルギーの伝送を可能にする可能手段（２０）と、
光学エネルギーの前記水平レジスタからの前記伝送の間は、光学エネルギーの前記垂直レジスタから前記水平レジスタへの伝送を禁止する第２禁止手段を更に包含する、請求項１０乃至１３の何れかに記載のシステム。
【請求項１５】
前記画像データを受け取ると共に、前記ホストプロセッサ（１２０）に殆ど割り込みしないでこのデータを少なくとも部分的に処理する、前記ホストプロセッサ（１２０）とは別の予備処理装置（１２４）を更に包含する、請求項１乃至１４の何れかに記載のシステム。
【請求項１６】
前記バッファメモリ手段（７８）と前記画像収集手段（１６）とに結合された割り込み手段であって、前記バッファメモリ手段が閾値に達した時は前記画像の前記収集に割り込みし、よって前記画像に対応したデータの信頼性のある伝送を可能にする割り込み手段を更に包含し、
前記画像データが前記光電性手段内の１つかそれ以上のレジスタ（８０，８２）内に記憶され、前記画像が複数の線からなり、前記画像に対応した前記線の間で、前記割り込み手段が前記画像の前記収集に割り込みが可能な、請求項１０乃至１３の何れかに記載のシステム。
【請求項１７】
前記画像収集手段（１６）と前記バッファメモリ手段（７８）との間に結合され、割り込み信号を前記画像収集手段（１６）に伝送して前記画像の前記収集に割り込むフィードバック手段（７９）を更に包含し、このフィードバック手段（７９）が、前記バッファメモリ手段が記憶閾値に達した時は前記割り込み信号を生成する、前記バッファメモリ手段に結合された割り込み手段を含み、よってこの割り込み手段が即座に且つ一時的に前記画像の前記収集に割り込む、請求項１０、１３及び１４の何れかに記載のシステム。
【請求項１８】
前記画像収集手段（１６）に収集された前記画像が複数のピクセルを含み、更に前記メモリへ前記ピクセルを伝送する前に前記ピクセルを補正するピクセル補正手段（６２）を、前記画像収集手段（１６）と共に回路上に、前記ホストプロセッサとは別に包含し、このピクセル補正手段が前記画像データを前記画像収集手段（１６）から受け取るように前記回路に配置されている、請求項１乃至１７の何れかに記載のシステム。
【請求項１９】
前記ピクセル補正手段（６２）が、
前記画像の各ピクセルに対応した複数の所定のピクセル補正値を記憶する第２メモリモジュール（６３）と、
前記画像の各ピクセルを、前記の対応したピクセル補正値で乗算して補正されたピクセルを形成する乗算手段（６４）とを包含する、請求項１８に記載のシステム。
【請求項２０】
前記画像が前記画像の一部に対応した目的領域を備え、前記目的領域が選択した数のピクセルを備え、このシステムが、
前記画像収集手段（１６）に結合され、前記選択した数のピクセルに対応する値を記憶するピクセル評価メモリ手段と、
前記画像収集手段（１６）に結合され、所定の数のピクセルに対応する値を記憶する所定ピクセル記憶手段（６３）と、を包含し、
前記ピクセル評価手段に記憶された前記値と、前記所定ピクセル記憶手段に記憶された前記値とを比較する比較手段と、
前記の２つの値が一致した時には一致信号を生成する手段とを包み、
更に前記プログラム可能制御手段（２０）が、前記一致信号を受け取ると共に前記画像収集パラメータを変更する手段を含む、請求項１０に記載のシステム。
【請求項２１】
前記画像を収集する前に前記画像収集パラメータを変更する手段（４２、４８、２０）を更に包含し、前記画像伝送手段が、
割り込み点において前記画像の伝送に割り込む手段（２０）と、
前記割り込み点から前記画像の伝送を再開する手段（２０）とを含み、
前記割り込み点における前記画像の前記収集の再開は、前記画像に対応したデータの消失を実質的に防止する、請求項１に記載のシステム。
【請求項２２】
前記画像収集手段（１６）が、前記画像の部分集合を前記画像の前記部分集合に対応する補正値で乗算する画像補正手段（６２）を含み、前記画像収集手段（６２）が、
前記画像を表すデータを受け取る画像入力手段（６１）と、
前記画像の前記部分集合に対応する前記補正係数を記憶する記憶手段（６３）であって、外部信号に応答する入力手段を備えた記憶手段と、
前記記憶手段（６３）と前記画像入力手段（６１）とに結合され、前記補正値を前記画像の対応する部分集合で乗算する乗算手段（６４）と、
前記記憶テーブル手段に結合され、前記画像の前記部分集合と前記補正値との一致を判断するデータ計数手段（６５）とを包含する、請求項１乃至１７及び２１の何れかに記載のシステム。
【請求項２３】
前記画像収集手段（１６）が収集時間を前記画像中に符号化する手段を包含し、前記の符号化する手段が、前記ホストプロセッサ（１２０）と通信するカーネル・レベル・ソフトウェアを含み、このカーネル・レベル・ソフトウェアがカメラトリガ信号に応答する、請求項１乃至２２の何れかに記載のシステム。
【請求項２４】
前記画像伝送手段が、データが前記画像収集手段（１６）から前記メモリに移動する速度を選択的に制御するプログラム可能イメージャデータ伝送手段（２０、５４、５５、６０）を包含し、前記バッファメモリ手段が前記画像データを記憶すると共に非同期的に解放する、請求項１又は２２の何れかに記載のシステム。
【請求項２５】
前記プログラム可能イメージャデータ伝送手段（２０、５４、５５、６０）が、
前記画像収集手段（１６）によって収集された前記画像を記憶する第１データ記憶手段と（８０）、
前記第１データ記憶手段（８０）に結合された第２データ記憶手段（８２）と、
前記第１データ記憶手段（８０）に記憶された前記画像の部分集合を、前記第２データ記憶手段（８２）にシフトさせて、前記画像の前記部分集合を前記第２データ記憶手段に記憶させる第１シフト手段と、
前記第２データ記憶手段に記憶された前記画像の前記部分集合を、前記ホストメモリにシフトさせる第２シフト手段と、
前記第１シフト手段の動作中は前記第２シフト手段を不能にし、前記第２シフト手段の動作中は前記第１シフト手段を不能にする禁止手段とを包含し、
前記禁止手段が、
前記第２データ記憶手段（８２）に記憶された前記画像が、前記目的領域内であるときは、前記第２シフト手段を動作させる手段と、
前記第２データ記憶手段（８２）に記憶された前記画像が、前記目的領域外であるときは、前記第２シフト手段を不能にし、前記第１シフト手段を動作させる手段と、を包含する、請求項２４に記載のシステム。
【請求項２６】
前記画像収集手段（１６）が、
命令信号に応答して出力トリガ信号を生成するトリガ手段と、
前記画像収集パラメータを前記ホストプロセッサ（１２０）から受け取り得るようにしたパラメータメモリ手段（４８）と、
前記出力動作信号と前記選択された画像収集パラメータを前記パラメータメモリ手段（４８）から受け取り得るようにしたカメラローダ回路（４２）であって、前記画像収集パラメータでプログラム可能制御手段（２０）をプログラムするカメラローダ回路と、を更に包含する、請求項１及び２１乃至２５の何れかに記載のシステム。
【請求項２７】
前記プログラム可能制御回路（２０）が、前記画像収集手段（１６）で前記画像を捕獲する動作モードを３２ミリ秒未満で迅速に選択する手段を包含し、前記プログラム可能制御回路（２０）を、新しい命令で１２μ秒未満で迅速にプログラムする手段を包含する、請求項３に記載のシステム。
【請求項２８】
目的領域の選択されたトリガ領域をサンプリングする制御コントローラ（２０）であって、このトリガ領域の大きさは前記目的領域の大きさからは独立した制御コントローラと、
前記トリガ領域を検出すると共に、この検出を示す信号を発する検出手段と、
前記信号に応答して前記画像捕獲を自律的にトリガする動作手段と、を更に包含する、請求項１に記載のシステム。
【請求項２９】
画像を記憶するメモリ（１１６）を割り当てるホストプロセッサ（１２０）を備えた機械視覚システムに画像を非同期的に伝送する方法であって、
前記メモリ（１１６）の状態に応答して生成されるトリガ信号（３６，４４）に応答して前記画像の少なくとも一部を収集する段階と、
前記ホストプロセッサによる前記メモリ（１１６）内のメモリスペースの割り当て中は、前記画像の少なくとも一部を一時的にバッファメモリ手段（７８）に記憶する段階と、
データを損失したりデータの完全性を失うことなく、前記ホストプロセッサによるメモリ割り当てからは独立して、前記画像を前記バッファメモリ手段（７８）から前記メモリ（１１６）に伝送し且つ前記バッファメモリ手段（７８）内の蓄積データが閾値に達した時は、画像収集手段（１６）から前記バッファメモリ手段（７８）へのデータ伝送に割り込む段階と、を包含する方法。
【請求項３０】
前記ホストプロセッサ（１２０）によって生成される、画像収集に関連したパラメータをパラメータ・メモリ・モジュール（４８）に記憶する段階と、
前記パラメータ・メモリ・モジュール（４８）から前記画像収集手段（１６）に前記パラメータを伝送する、前記パラメータ・メモリ・モジュール（４８）に結合された、カメラローダ回路（４２）を結合する段階と、
を更に包含した、請求項２９に記載の方法。
【請求項３１】
光電性回路（５４、５５、６０）で前記画像を収集する段階と、
前記カメラローダ回路（４２）と前記光電性回路（５４、５５、６０）とに結合された、画像収集に関した前記パラメータを前記パラメータ・メモリ・モジュール（４８）から受け取ると共に、それに応答して前記トリガ信号を生成するプログラム可能イメージャ回路（２０）を提供する段階とを更に含む、請求項３０に記載の方法。
【請求項３２】
前記の一時的に記憶する段階が、１つ又はそれ以上の例えばデータＦＩＦＯレジスタ（７８）のようなレジスタを提供する段階を包含し、このレジスタが、前記画像収集手段（１６）からの前記画像を表すデータを前記トリガ信号に応答して受け取ると共に、前記ホストプロセッサ（１２０）によって生成される解放信号に応答して前記画像を表すデータを前記ホストプロセッサに解放するように結合されている、請求項２９乃至３１の何れかに記載の方法。
【請求項３３】
前記光電性回路（５４、５５、６０）で前記画像を収集する前記の段階が、
複数のホトサイト（７０ａ乃至７０ｉ）を提供する段階と、
前記ホトサイトが受け取った光学エネルギーを記憶するオンボードメモリ（８０）を提供する段階とを包含し、更に前記方法が、
前記バッファメモリ手段（７８）と前記プログラム可能イメージャ回路（２０）との間の、バッファ信号を前記バッファメモリ手段（７８）から前記プログラム可能イメージャ回路へ伝送する、フィードバックコネクション（７９）を提供する段階とを、包含し、
前記ホトサイト（７０ａ乃至７０ｉ）から前記オンボードメモリ（８０）へ光学エネルギーを駆動する段階と、
前記バッファ信号に応答して前記ホトサイトから前記オンボードメモリへの光学エネルギーの前記伝送に割り込む割込み信号を生成する段階とを包含する、請求項３１または３２に記載の方法。
【請求項３４】
光学エネルギーの前記垂直レジスタ（８０）から前記水平レジスタへの前記伝送の間は、前記水平レジスタ（８２）からの前記光学エネルギーの伝送を不能にする段階と、
前記目的領域の一部に対応した前記光学エネルギーを前記垂直レジスタ（８０）から前記水平レジスタ（８２）へ、前記の記憶したエネルギーを前記水平レジスタから積極的に取り除くことなく、迅速に伝送する段階と、を更に包含する、請求項３３に記載の方法。
【請求項３５】
前記画像収集手段（１６）と前記バッファメモリ手段（７８）との間のフィードバックコネクション（７９）を提供する段階と、
前記画像収集に割り込むために、割り込み信号を前記画像収集手段（１６）へ伝送する段階と、
前記バッファメモリ手段（７８）が記憶閾値に達した時は、前記割り込み信号を生成し、よってこの割り込み手段が即座に且つ一時的に前記画像の前記収集に割り込む段階と、を更に包含する、請求項３１記載の方法。
【請求項３６】
前記メモリへ前記ピクセルを伝送する前に前記ピクセルを補正するピクセル補正手段（６２）を、前記画像収集手段（１６）と共に回路上に、前記ホスト装置とは別に提供する段階を更に包含し、前記ピクセル補正手段が前記画像データを前記画像収集手段（１６）から受け取るように前記回路に配置されている、請求項２９または３５に記載の方法。
【請求項３７】
前記画像の各ピクセルに対応した複数の所定のピクセル補正値を記憶する段階と、
前記画像の各ピクセルを、前記の対応したピクセル補正値で乗算して、補正されたピクセルを形成する段階とを更に包含する、請求項３６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像収集システム、より具体的には光学的画像を捉えて処理する機械視覚システムに適した画像収集システムに関するものである。
【背景技術】
【０００２】
従来、光学画像を収集して処理するために画像収集システムが数十年にわたって用いられてきている。従来のシステムは、典型的には画像を収集する一つ又は複数のビデオカメラと、その画像を記憶及び／又は処理するフレームグラバ盤とを利用している。これらのシステムの構成部品はよく性格付けられ、容易に理解でき、従ってその効果も予測可能であるために、これらのシステムは比較的に接続が簡単である。
今日、最新の製造用及び産業用設備は、世界市場での競争力を高めるために品質の向上及びコストの削減に向けてますます自動化されつつある。その結果、これらの設備は製造工程を監視したり、所定の部品を配置したり、その他の重要な製造上の作業を行う際に機械視覚システムを利用するものであることが多い。しかしながら、今日の機械視覚システムの必要性と、機械視覚システムに多く用いられている既存の映像技術の設計上の到達点との間には食い違いがある。
【０００３】
従来の画像収集システムは、ヒトの認識時間及び反応時間で決定されるある一定の速度で、かつできる限り低いコストで、画像の連続的流れ又は画像の予測可能な流れを提供するよう設計されている。このようなシステムでは新しいフレームを毎１／６０秒で送ると、欠けた線及び／又はフレームがあっても、ヒトの目では一般には気づかれないために気にはならない。従来の画像収集システムにおける画像捕獲及び搬送の一定の速度は、人間の認識では無限に速いか、又は切れ目がないように見えるのにちょうどの速さになっている。例えば線やフレームの欠落など、画像収集及び伝送中に発生するエラーが見ている者の目に届くのは僅かに１／６０秒間であり、またヒトの目が時間積分装置として働くために、これら度々起きるエラーが人間の観察者に認識されることはめったにない。
その他方で、機械視覚システムは一枚の静止画像に基づいて決定を下すことがよくある。そのために、データの完全性のためには、機械視覚システムには、従来の画像収集システムに比べて著しく高い解像度、コントラスト、及び裕度が必要である。例えば、機械視覚システムが製品の正常な加工偏差を探している場合には、何らかの映像エラーが不正な部品拒絶に結びつきかねない。その結果、部品が不当に無駄になり、製品の総コストが高くなってしまう。
画像収集システムのエラーには映像エラー及び処理エラーがある。例えば線及びフレームの欠落などの処理エラーは、画像データがカメラからホストの計算システムに移動するときに起きるエラーが原因である。映像エラーはカメラ自体か、又はカメラの外側にある環境が原因である。我々は前者をセンサエラーと呼び、後者を情景エラーと呼ぶことにする。
センサエラーが生じるのは、画像収集システムの一部を成す光電性素子（例えば電荷結合素子のホトサイトなど）間の差が原因であることが多い。これらの差の結果、一対の光電性素子が同じ量の光に対して異なる応答を行うことがある。
これらの差は、その光電性素子の製造中の正常な処理偏差から生じたり、それ以外は同一でありながら温度だけ異なる光電性素子が原因で生じたりする。
情景エラーは、情景に誤った照射の仕方をしたときに起きるエラーである。周辺光条件は現在の機械視覚システムで解象可能な精度と同じレベルまでは制御できないため、例えば光源の老化による光量又は色の微妙な差は、その機械視覚システムの性能を損ないかねない。
【０００４】
画像を連続的に又は一定の間隔を置きながら得ている従来の画像収集システムとは異なり、機械視覚システムは予測不可能な時点で画像を必要とすることがある。例えば、自動化された検査ラインでは、検査の対象となる物体は、コンベヤベルト上に一定の充分な間隔を置いて配置されてはいないこともあるため、定期的な画像収集ができないこともある。結論的に、機械視覚システムはいつ物体が受け取られるのかを前もって知ることはできないのである。
さらに機械視覚システムは、要請があれば直ちに画像を収集できる状態になければならない。例えば、上述のような自動化された検査ラインでは、検査の対象となる物体がカメラの視界に入ろうとしている場合には、その物体がカメラの視界を出る前に高速で画像が収集されることが好ましい。
【０００５】
機械視覚システムは高速で繰り返し複数の画像を得なければならないことがよくあるために、ホストシステムのプロセッサに画像データを高速で伝送する必要がある。従来技術の機械視覚システムは一般に、実際の画像収集及び伝送を開始できるようにするには、ホストプロセッサに割り込んで画像又はその一部を入れる開始記憶アドレスを得なければならない。「ソフトウェア分散／集積」システムと呼ばれるこのようなシステムでは、ホストプロセッサは画像収集及び伝送において重要な役割を担う。ホストプロセッサのような数少ないリソースに依存しているため、ホストプロセッサが他のタスクを行っていて忙しい場合に画像収集及び伝送が行えないといった待ち時間が生じている。これらの待ち時間の長さが不特定であることから、機械視覚システムは、要求があった時点で画像を繰り返し収集することが不可能でないとしても困難になっている。待ち時間が過度に長引いた場合、その次の画像のデータが前の画像のデータよりも速く到着して処理されるといった、データパスでの衝突が起きかねない。その結果、データが失われたり誤ったものになったりする。
【０００６】
「ハードウェア分散／集積」システムと呼ばれるその他の機械視覚システムでは、データ伝送は直接記憶アドレス技術（ＤＭＡ）により行われる。これらのシステムはメモリにアクセスするのにホストプロセッサの力は必要とはしないが、これらが専用に使用できるメモリセグメントを必要とすることが多い。この方法の短所は、この専用のメモリが画像伝送用に用いられていないときでも、その他の処理タスクに利用ができないことである。
この種類のシステムでは、上述したようなデータの衝突は専用メモリを二つのブロックに分割することで改善させることができる。これによりこのシステムは、入ってきた画像を第一のメモリブロックに配置し、この画像の処理は第二のメモリブロックで行うことができる。システムがそのシステムの処理を第二のブロックで完了すれば直ちに、第一のブロックで画像処理を開始することができ、第二のブロックは入ってくる別の画像を受け取るべく解放される。この種類のシステムの短所は、多重スレッド計算環境と連携させて用いた場合に、このタスクをプログラムする複雑性がすぐに管理不能になってしまうことである。
【０００７】
さらに、最新の機械視覚システムにとっては、画像を収集すべきか、そうでないかを自律的に判断することが好ましい。例えば、検査ラインでは、検査の対象となる物体は一定の間隔にはないかも知れない。このことから、検査対象の物体がカメラの視界に来たとき、又はカメラの視界内の特定の領域に来た場合にのみにするなど、画像をどのように収集するかといった問題が生じる。
従来枝術のシステムは、機械視覚システムの外側に配置した外部センサを用いてカメラをトリガすることでこの問題の解決を試みる。しかしながら、一般的には、これらのセンサに機械視覚システムとの信頼性の高いインターフェースを行わせることは難しい。さらに、機械視覚システムに伴う待ち時間があるために、検査対象の物体をカメラの視界の正しい領域に間違いなく配置することが困難になることもある。
従来の画像収集システムの持つ重要な制約には、さらに、相対的に固定された視界、相対的に固定された画像捕獲頻度、ホストコンピュータのメモリに対して固定され、かつ比較的に低速な画像伝送速度（又は相対的に高価な画像伝送費用）、さらに例えばピクセルのジッタ及びスキューを含めいくつかの原因があるグレースケールエラーや線及びフレームの欠落などのデータ損失を原因とするデータ完全性の欠如などがある。
加えて、現在の機械視覚システムはインストール及び運転が比較的に高価である。これらのシステムのもう一つの欠点は、収集された画像データの形をリアルタイムで、別の言葉で言えば各収集フレーム又はショット間で変更できないことである。
【０００８】
最新の機械視覚システムはこれらの欠陥のいくつかに対処しようと開発されている。これらの欠陥のいくつかを改善するよう考案されたものの一例には、画像収集の忠実度を高め、エラーを低減することを狙いとした、高価となる、カスタムアプリケーション専用の回路の使用がある。これらのカスタムシステムは手に入れるとなると大変高価であり、また既存の機械視覚システムに一体化するのは大変困難なものである。
このように、最新の機械視覚システムに利用するのに適した、柔軟性に富み、かつ忠実度の高い非同期的画像収集及び伝送を行う画像収集システムが当業において求められている。
【発明の開示】
【課題を解決するための手段】
【０００９】
本発明の画像収集システムは、画像収集要素の殆ど全てを１つの専用機械構成に統一することで、これら及びその他の画像収集エラーの原因を取り除く。この専用構成を用いて予備的画像処理をリアルタイムで実行できる。この予備的画像処理には、ハードウェアおよび情景エラーに関して夫々の収集された画像を補正することや、ピクセル間の差に起因するエラーや情景照度エラーを補正するためにリアルタイムでセンサーアレイを再較正することや、その他にもリアルタイムで画像を空間的にフィルタするなどを含むが、これは全てホストプロセッサに負担をかけずに実行できる。
本発明のシステムは、トリガ信号に応答して画像から少なくとも１つの目的領域を収集する画像収集ステージを含む。トリガ信号は画像収集ステージに関する露光情報及び目標領域を特定する指示事項を含むことができる。この情報は、フレーム単位で、リアルタイムで、且つ迅速に変更できる。
【００１０】
次にこのシステムは、画像を表すデータの一部又は全部を一連の一時バッファを介してホストプロセッサに伝送する。これらのバッファにより、システムが画像伝送から画像収集を切り離すことが可能になり、よってホストプロセッサがシステムの記憶用のメモリを割り当てるのを待たずにシステムが画像を収集できる。更に、これら一連の一時バッファによって、本発明によるシステムは、複数画像の間か単一画像の途中で送信操作に割り込み、またデータの損失の恐れが殆ど無く送信を再開できる。
本発明によるシステムのデータ処理量は、バッファの状態に応答して及びホストプロセッサからの指示に応答してＣＣＤアレイまたはその他の固体結像装置からホストプロセッサへの可変速度でのデータの伝送を駆動できるプログラム可能イメージャ制御装置によって制御される。さらに、このプログラム可能イメージャ制御装置は、目的領域内のデータのみをホストプロセッサへ送信し、且つ目的領域外のデータを破棄することでシステムの処理量を増加させる。データは送信されるより速く破棄できるので、目的領域が画像全体よりかなり小さいときは、処理量はかなり増大する。
本発明によるシステムは、選択されたシステムパラメータを１つ以上の画像収集の間に制御することも可能である。これらのパラメータには、露光の回数と時間や、視野内部の特定の目的領域や、システムの特定の動作モードや、画像収集のための枠組みを決定したり光学及び電気工学において通常の技能を持つ当業者には自明なその他のパラメータなどが含まれる。本発明による顕著な利点は、これらパラメータをリアルタイムで、複数のショットやフレームの間に帯域幅を犠牲にせずに変更可能な点である。この特徴によって、システムは画像収集中に要求に動的に応答できる。
【００１１】
また、このシステムによって、システムメモリが画像を記憶するために使用可能になるのを待たずに、画像を非同期的に仮想的に要求があればすぐに収集できる。このシステムは、短くて比較的予想可能な時間を要するタスクであるカメラによる画像の収集を、予想不可能で長時間を要することもあるタスクであるカメラからホストプロセッサに画像を送信するタスクから分離することで、これを達成する。その結果、画像捕捉ステージは、画像伝送ステージからは独立して実行できる。必要なときは、システムが画像を記憶させるメモリアドレスを待つ間、収集された画像はデータＦＩＦＯレジスタのようなメモリに一時的に記憶しておくことも可能である。画像伝送と画像収集のこの分離によって、本発明のシステムは、画像を保存するメモリアドレスを待つことなく画像を収集できる。従ってこのシステムは、これまでの画像収集システムに付随した待ち時間によって処理を妨げられることがない。さらに、このシステムは、前もって目的アドレスを必要とすることなく画像収集の要求を処理できる。
データＦＩＦＯレジスタの容量が上限に近づくと、以下に述べるように割り込みして画像収集を中断できる。これは、カメラと画像収集盤との間にフィードバックループを挿入することにより、達成される。このフィードバックループにより、信頼性のあるデータ送信を実行するにはデータ通信量が多すぎる時にはいつでも画像収集盤は一時的に且つ即座に画像収集および伝送を中止できる。本発明による一実施例によれば、カメラによりすでに収集されたデータは、この割り込みの間はずっとカメラによって一時的に記憶される。この機能を専用構成に組み込むことによって、本発明は、ホストプロセッサのデータ管理タスクを軽減する。これにより、画像の忠実度、つまりデータの完全性が増大する一方で、画像収集時におけるエラーの発生を減らし、さらに画像処理量全体を増加させる。
【００１２】
本発明による更なる特徴は、上述の画像収集および伝送の中断は、フレームの終わり、画像内部の線の終わり、または画像の所定の部分の終わりの何れかにおいて実行可能である。画像全体よりも小さい単位で画像データを伝送することにより達成されるこの柔軟性により、システムは、この柔軟性がなければ利用できないデータ通信量の小さなギャップを利用したり、画像データを迅速に収集し且つ伝送できる。
本発明による別の特徴は、このシステムが、従来の結像および機械視覚システムを使用したハイブリッド従来システムをふくむ公知のシステムよりかなり高速にデータを収集できることである。本発明の一実施例に拠れば、画像データを柔軟に高速に制御し且つ伝送しつつ、画像を従来システムと比べて最高で３０倍の速度で収集し且つシステムの画像信号プロセッサに伝送できる。
メモリの一部が処理される画像を保持するのに専用に使われる従来のシステムとは異なり、本発明によるシステムは、動的メモリ割り当てを行う最新のオペレーティングシステムの能力を最大限に利用する。これにより、このシステムは、画像を処理するのに必要なだけのメモリを割り当て、且つ必要なときにだけ画像ごとにのみメモリを割り当てる。いったん画像処理タスクが終了すると、このタスクに割り当てられていたメモリは他の処理タスクの為に解放できる。
【００１３】
一実施例に拠れば、このシステムは、ホストプロセッサとは非同期的に且つそれから独立して画像を収集する。
これは画像収集と画像伝送を分離することで達成され、結果として画像を記憶するためのメモリが使用可能となる前に収集が可能となる。このシステムは、収集した画像にタイムスタンプを押すようにも構成されている。一実施例に拠れば、ホストデバイスの制御装置ハードウェアは、システムを監視してカメラをトリガするカメラトリガ信号を検出する。これにより、ホストプロセッサに監視させ画像にタイムスタンプを押させることによる待ち時間をなくせる。
【００１４】
本発明は、カメラの視野内の画像に基づいて、画像を取得すべきか否かを自立的に判断する構成も提供する。本発明によるシステムは、カメラの視野内にトリガ領域を設定し、このトリガ領域からの画像を処理してカメラの視野内の目的領域を収集すべきかを決定することにより、これを達成する。このシステムは、設定されたトリガ領域内の画像の一部を、ホストプロセッサからは独立して、且つ比較的高速のサンプル速度で処理する。
よって、画像収集の前述の制御は、周知のシステムより小型でかなり安価な専用の構成によって画像毎に処理される。この結果、画像収集システム全体の費用を大幅に削減できる。費用削減に繋がる本発明の更なる特徴は、データ通路の単純化である。
本発明による画像収集システムは、画像を収集するカメラのような画像収集要素と、画像収集要素による複数の選択機能の実行を選択的且つプログラム可能に開始するプログラム可能な制御要素とを含む。これら機能には、画像収集の開始及び終了と、収集された画像内部の特定の目的領域の選択と、画像収集システムの一部をなす光電性要素の出力の較正およびフィルタリングと、トリガ領域の定義と、光電性要素からの電荷の除去とを含んで良い。画像の少なくとも一部がカメラに一時的に記憶されるように、カメラによる画像収集にもリアルタイムで割り込んで良い。この割り込みシーケンスによって、本発明の画像収集がすでに送信された画像データを高い信頼性で処理できる。
このシステムは、カメラと従来のホスト計算システムとの間のインターフェースとして機能する収集盤上に設置できる。収集盤は、カメラと画像データが最終的に処理される場所であるホスト計算システムとの間の画像データの伝送を管理する。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明の教示に基づく画像収集システム１０の概略図である。図示のシステム１０は中央又はホスト計算システム１２を含む。ホスト計算システムはいかなる従来の計算装置でもよく、また表示用モニタ及び専用の信号プロセッサを含めるか、あるいは、例えばＬＡＮ又はＷＡＮなど、より大型の地域ネットワークの一部を成すクライアント信号プロセッサであってもよい。好ましくはホスト計算システム１２が収集盤１４と連絡しており、この収集盤１４が例えばカメラなどの一つ又は複数の外部画像捕獲装置１６に接続されているとよい。収集盤１４は図ではホストシステム１２の外側に配されて示されているが、当業者であれば理解されるようにこのシステムの一部を形成させてもよい。結論的にはこの二つの組み合わせを場合によってはホストシステムと呼称することとなろう。好適な実施例では、収集盤は、本発明の教示するところに基づいてホストシステム１２のＰＣＩバスにインターフェースするＰＣＩバスカードと同様なものである。
当業者であれば、一個の収集盤１４を用いて複数のカメラ１６を操作することが可能であることは認識されよう。反対に、別々の収集盤１４を収集の各カメラ１６について用いることもできる。
【００１６】
図示のカメラ１６はそれぞれ、画像捕獲素子２４に接続したプログラム可能イメージャ制御器ステージ２０を含む。好ましくは収集盤１４が制御信号を生成すると、この信号がプログラム可能イメージャ制御器２０に連絡パス２８を通じて伝送されるとよい。カメラ素子１６の出力は収集盤にデータ出力パス３０を介して伝送され、ホストシステム１２による記憶及び／又は処理に向けられる。
図２は、本発明の画像捕獲素子１６、収集盤１４及びホスト計算システム１２のより詳細な概略図である。図示のホスト計算システム１２は、好ましくは、バス１００、ディスプレイ制御器１０６、メモリバス１１０、実際の物理的メモリを表すメモリモジュール１１６、ホストプロセッサ１２０、コプロセッサ１２４、及び、代表的には、コードモジュール１３２−１３８として指定される、選択された実行可能かつ動的なリンクライブラリ及びコードと、宛先アドレス１４２−１４６として指定される、その画像データ領域について選択されたメモリとを記憶する仮想メモリブロック１２８を含むとよい。コンピュータ及び電気工学の当業者であれば、物理的及び仮想の両方のメモリ、及びホスト計算システム１２の常駐のソフトウェアの間の作動上の関係を容易に理解されることであろう。
【００１７】
バス１００は好ましくは、収集盤１４とインターフェース及び連絡してカメラ１６とホスト計算システム１２との間で画像データの流れが可能となるような構造を提供するものであるとよい。「バス」という用語は、いかなる適したデータ信号伝送パスをも含むものとして意図されているが、好ましくは例えばＰＣＩバスなどの高帯域幅データ伝送チャンネルであるとよい。ディスプレイ制御器１０６は好ましくはバス１００及びメモリバス１１０の両方と連絡し、制御器１０６が収集された画像データを例えばＶＧＡモニタなどの表示モニタ１２Ａ上で表示できるようにすると共に、記憶された命令にアクセスできるようになっているとよい。図示のコプロセッサ１２４は好ましくはバス１００及びメモリバス１１０の両方に接続されており、収集された画像データの方向を指示するものであるとよい。このＩＯ制御器、即ち「ブリッジチップ」を利用することで、画像データを処理するのにホストプロセッサ１２０に割り込む必要が減じられ、従って全体の処理時間を短縮でき、また画像収集システム１０の処理速度が向上する。
【００１８】
画像収集システム１０は、一実施例に基づくと、外部から印加されたトリガに応答して、又は中央システム１２のメモリ１２８に記憶された所定のソフトウェア符号により内部で生成された信号に応答して作動することができる。具体的には、システム１０に対する要求を始動すると所定の形態のイメージング操作を高速で選択できる。「高速で」という用語は、要求の始動が約３２ミリ秒以下、好ましくは約１ミリ秒以下で行われることを意味する。例えば、cam.exe１３２と呼ばれるカメラインターフェース実行可能プログラム、又はここではclient.exe１３４と呼ばれる所定のクライアントソフトウェア（例えば画像分析又は機械視覚アプリケーションプログラム）により、要求がなされてもよい。このように実行可能ファイル１３４は画像収集システム１０を画像データのソースとして利用するものである。
ここで用いられている専門用語はマイクロソフト社のウィンドウズ３．１１及びＤＯＳｖ．６．ｘオペレーティングシステムを用いたコンピュータにインストールされたシステムに適切である。その他のオペレーティングシステム、例えばウィンドウズＮＴ又はＶＭＥシステムと共に用いる場合は、同様の専門用語が当てはまるであろう。cam.exe、client.exeで表されるソフトウェア符号や動的リンクライブラリの構造は、本明細書の画像収集システム１０の動作の説明を参照することでコンピュータ及び電気工学の当業者には容易に構築できるものであろう。
【００１９】
一実施例では、ホストコンピュータが実行可能プログラムcam.exe１３２をロード又はブートすると、所定の環境がカメラシステムが利用しているホストコンピュータで確定され、コンピュータのキーボード又はマウスを通じたユーザからの要求、又は、例えば機械視覚プログラムclient.exe１３４などの自律的な実施可能符号ブロックからの要求に応えようとする。最小限の場合は、割り込み符号（割り込みサービスルーチン）を含んだプログラムがホスト計算システム１２のメモリ１２８にロードされる。割り込み符号の役割は、cam.exe１３２又はclient.exe１３４のいずれかに対し、ある画像バッファがそれが要求したデータで既にいっぱいであり、要求者による観察及び／又は処理の準備が出来ていることを高速で知らせることである。プログラムcam.exe１３２がユーザの要求に直接応える必要がある場合には、所定の動的リンクライブラリ（ＤＬＬ）を呼び出す。cam.dllなど、これらのＤＬＬは、典型的には即時アクセス可能な機能及びリソースのリストを記憶しておくか、ホスト計算システム１２内に置かれた画像バッファのための仮想又は物理的メモリを割り当てる際に用いられるものである。あるいは、プログラムclient.exe１３４が画像要求を直接発すると、cam.dll１３８を直接呼び出すことでメモリ内に充分なバッファ空間を割り当てる。
【００２０】
［カメラのセットアップ］
すべての作用の形態において、cam.exe１３２又はclient.exe１３４のいずれかが、カメラの特定の作動形態、特定の目的領域、及び適した露光時間を含めた所定のカメラセットアップ情報を提供すると共に、一つ又は複数のカメラ１６について画像データを受け取る、保持する及び処理する画像バッファを含めたホストメモリセットアップ要件を提供することで、画像収集システム１０の作動の枠組みを確定する。従ってこれらのプログラムを用いて、以下にさらに説明するように、カメラセットアップ記憶部４８に記憶されるカメラ命令と、宛先アドレス記憶部９０内の画像データのための予約物理的アドレスとを生成することができる。
ここで用いられる「目的領域」は、画像収集装置又はシステムにより収集された画像全体よりも一又は複数の空間的又は軸方向寸法において小さい、収集された画像の一領域又は部分を含むものとして意図されている。好ましくは目的領域が選択可能であるとよい。加えて、当業者であれば、以下にさらに詳述するように、カメラセットアップ記憶部４８及び宛先アドレス記憶部９０にロードされる複数及び異なる目的領域を当該プログラムが確定できることを認識されるであろう。これら複数の目的領域を確定できることで、本システムはある画像を動的に収集し、収集された画像全体のうち異なる所定部分を処理することができる。加えて、これら複数の目的領域があることで、本システムは、ある目的領域に見つかった内容に基づき、別の目的領域からの画像の収集を始動させることができる。
ある好適な実施例では、画像中の矩形領域の左上角の線及びピクセル数と、その領域の右下角に関する同様の情報とを提供することで、目的領域を明示してもよい。ホストオペレーティングシステムにより確定される装填画像バッファは、予約され、例えば５１２バイトから４Ｋバイトのブロックなど所定かつ可変のブロックの大きさの物理的レジメントにマップ化されると共に、メモリ位置１４２−１４６として表された規定の初期物理的メモリアドレスを有する連続した仮想メモリの区域でもよい。当業者であれば、仮想メモリ空間中で連続している画像バッファを、物理的メモリ空間の非連続な位置により実現できることは理解されよう。本発明の教示するところにより、各物理的ブロックの内のみで物理的アドレスが連続となっていることが予測される。これにより、複数のカメラによる収集中、複数のソースから一つのＤＭＡチャンネルへ、データが非同期的にミキシングされるのが容易となる。
【００２１】
上述の情報はすべて、カメラ１６、収集盤１４、及び、呼出しの形で、画像収集システムに規定の、かつ適合性のある言語で及びホスト計算システム１２に、さらに所定の符号モジュール、例えばcam.dll１３８へ連絡される。この所定の符号モジュールは、ＡＰＩ又は同様の呼出しをホスト計算システム１２のオペレーティングシステムに行うことで応答して、典型的には１から３００Ｋバイト及びそれ以上の大きさである、連続仮想メモリの一つ又は複数の領域を割り当てる。このような連続仮想メモリの領域はそれぞれ、オペレーティングシステムに都合の良い大きさと考えられる、典型的には１から４Ｋバイトの固まりのサブセットに分割される。次にオペレーティングシステムに対し、これらのサブセットの各々について最初のバイトの物理的アドレスが問い合わされる。上述の物理的アドレスはＡＰＩ（アプリケーション・プログラミング・インターフェース）又は同様の呼出しを介してカメラ宛先アドレス記憶部９０に伝送される。ＤＯＳ／ウィンドウズ／ＰＣＩ環境では、各サブセットはそれ自体、物理的メモリでは連続している。プログラムcam.dll１３８はこの情報を、カメラを直接制御するオン−ボードメモリに転送するが、このオン−ボードメモリは、とりわけ入出力バス１０２（典型的にはＰＣＩバス）に常駐しているものでもよい。次に、各画像バッファに関する画像バッファ物理メモリブロックの開始アドレスが、カメラ宛先アドレス記憶部９０で示された所定のメモリ位置に記憶される。その間に、露光時間、カメラモード、及び目的領域もまたカメラセットアップ記憶部４８にロードされる。
【００２２】
画像データは、画像バッファに割り当てられた上述のメモリに、典型的にはホストプロセッサ１２０による処理を必要としない直接メモリアドレス（ＤＭＡ）
転送を介して転送される。従って、ホストプロセッサ１２０への割り込みが必要なのはある画像転送の終了時のみである。コンピュータ及び電気工学の当業者であれば、上述及び以下の動作を行うのに利用可能な符号の種類を理解されよう。
ホストの物理的メモリに転送されるのと同時に、画像データをＤＭＡ転送を介してディスプレイ制御器１０６に向けることができる。ルックアップ（ＬＵＴ）
９６はピクセルデータを、ホスト計算システム１２及びそのディスプレイ制御器１０６に適した形にリアルタイムで変換する。
【００２３】
［画像収集の開始］
図２をさらに参照すると、収集盤１４には、ホストシステム１２を含む様々な外部ソースが生成した信号を受け取るための複数の外部トリガ入力３６を有する外部トリガインターフェース３４が含まれる。トリガ入力３６から適した信号を受け取ると、外部トリガインタフェース３４は、どのカメラ又はカメラアレーを用いるかをカメラローダ４２に命令するトリガ出力信号３８を生成する。図示のカメラローダ４２は、例えば支援ｎ入力など、複数の入力を有し、特定の入力信号で指示される一つ又は複数のカメラ１６を駆動する一つ又は複数のカメラトリガ信号４４を生成する。カメラトリガ信号４４は好ましくは所定のカメラセットアップ情報が含まれているとよく、この所定カメラセットアップ情報には目的領域（ＲＯＩ）の開始線及び終了線、収集しようとする画像の露光時間及び作動の形態が含まれるが、これらに限定されるものではない。図示のシステム１６の特定の作動の形態は、カメラ１６の作動順序及びパラメータを表すものである。代表的な作動の形態を以下にさらに詳述する。このカメラセットアップ情報は多くの場合、ホストプロセッサ１２０と収集盤１４との間でＰＣＩバス１００により連絡される。カメラローダ４２はさらに、カメラセットアップ記憶ブロック４８及び近接度レジスタ記憶ブロック５２として図示した所定のメモリブロックと連絡するが、これらのブロックの機能を以下にさらに詳述する。
【００２４】
ホストプロセッサ１２０は所定のセットアップ情報を記憶することで画像収集システム１０を初期設定する。このセットアップ情報にはカメラの作動形態、画像のうちの目的領域、及び露光時間が含まれる。ホストプロセッサ１２０はさらに、カメラ１６に関する更なるセットアップ要件を提供する。これらには、画像データの受け取り、保持及び処理をさせるのに特定のクライアントが用いる画像バッファが含まれる。ホストプロセッサは、カメラ１６が捕獲した画像のうちの特定の目的領域を、矩形の目的領域の左上角の線及びピクセル数を明示し、目的領域の右下角に関する同様の情報を明示することで選択することができる。このようにホスト計算システムは単なる呼出しに基づいて、ある所定フレームの目的領域を規定する。この選択された目的領域は一定のままとしても、あるいは各フレーム後又は所定のフレーム数後に変更することができる。
【００２５】
［画像の収集］
再度図２を参照すると、カメラローダ４２により特定のカメラ１６に関して生成されたカメラトリガ信号４４はそのカメラ１６のプログラム可能イメージャ制御器２０にロードされる。カメラトリガ信号４４は、いかなる時点で、かつ収集しようとする画像に既に割り当てられた宛先アドレスを有している必要なく、カメラに伝送されてもよい。宛先アドレスが得られる前に画像が収集された場合は、その画像データは単に、以下に説明するように、宛先アドレスが得られるまで例えばデータＦＩＦＯ９４など、データパス上の一つ又は複数の位置で待機することができる。
図示の実施例によれば、ある所定のカメラ１６のカメラトリガ信号４４は、そのカメラに関してカメラセットアップ記憶部４８に記憶された命令と、近接度レジスタ記憶部５２の出力信号５３とに応答してカメラローダ４２により生成されるものである。具体的には、カメラローダ４２はその選択されたカメラ１６のためのカメラセットアップ記憶部４８に記憶された命令にアクセスし、適したビットをそのカメラにシフトする。カメラトリガ信号４４は好ましくは、露光時間を表すｗビット、：目的領域の最初の線を表すｘビット、目的領域内の線の数を表すｙビット、及びこのショット用のカメラのモードを表すｚビットを含む信号であるとよい。数値ｗ、ｘ、ｙ及びｚはカメラ１６のＣＣＤアレー回路５４に依存する。
【００２６】
カメラトリガ信号４４は各画像収集毎に異なっていてもよい。その結果、各フレームでカメラセットアップ記憶部４８の内容を変更することができる。これにより、その機械視覚システムは露光時間、目的領域又はカメラモードをフレーム間で変更することができることとなる。画像収集を画像の転送からは独立して行わせることができるために、カメラセットアップ記憶部４８の内容を変更してもシステムの性能に大きな影響はでない。
画像収集及びその画像のためのメモリ割り当てのプロセスは、相互に平行かつ概ね独立して行わせることができる。そのため、このシステムのメモリ管理プログラムはシステム要件から必要と判断されたときに、宛先アドレスを生成することができる。この特徴の利点の中には、システムに以下のことができるという点がある。即ち、画像に対する要求が出されたら直ちに、しかも宛先アドレスを待つことに伴う、多くの場合予測不可能な待ち時間もなく、画像を収集できること、複数の画像収集要求を行列させられること、そして、画像収集及び転送から独立してディスクへの書き込みなどの時間のかかる画像処理タスクを行うことができること、である。従って画像収集を宛先アドレスの割り当てに関係なく開始させることができ、また宛先アドレスも最終的にはメモリ９０に記憶される。
【００２７】
一例では、プログラム可能イメージャ制御器２０には好ましくは、現場でプログラム可能な論理列回路（ＦＰＬＡ）などのプログラム可能な論理回路と、所定の信号を残りのカメラ構成部品と適合した形に変換する電圧変換器とが含まれているとよい。電気工学及び回路設計の当業者であれば、ＦＰＬＡは本発明の教示に基づく形態で作動するよう設計の可能なＡＳＩＣチップであることは理解されよう。
図示のプログラム可能イメージャ制御器２０は、例えば各フレームの露光後又は選択された数のフレームの露光後など、いかなる所定の時点でも、異なるカメラトリガ信号４４を受け取ると、異なる画像捕獲スキームが開始されるという点においてプログラム可能である。例えばカメラ１６に、プログラム可能イメージャ制御器２０を介して、各フレーム後に異なる目的領域を伝送するように命令することができる。これは、目的領域及び露光を、複雑な画像捕獲及び処理回路を利用する必要なく動的に制御するための比較的に簡単な方法である。さらに、このプログラミングは比較的高速に行われる。例えば、約１２μ秒未満、及び好ましくは約１μ秒未満で、プログラム可能イメージャ制御器２０はＣＣＤアレイ回路５４への新しい組の命令を生成することができる。
【００２８】
ある好適な実施例では、最終ビットがプログラム可能イメージャ制御器２０に到着するとカメラ１６の準備が整う。次にカメラローダ４２がカメラトリガ信号２１を生成すると、この信号は、ＣＣＤアレイ回路５４、画像プロセッサ６０、及びそのカメラの構内にある発振器５８を含むカメラ１６の画像捕獲部分に転送される。図示のカメラ発振器５８は、好ましくはカメラタイミング信号５８Ｂをプログラム可能イメージャ制御器２０及び収集盤１４に伝送するとよい。このカメラタイミング信号５８Ｂは、収集盤１４をカメラ１６及びホスト計算システム１２に同期させる。コンピュータ及び電気工学の当業者であれば、このカメラトリガ信号を他の方法でロードすることもできることは認識されよう。
プログラム可能イメージャ制御器２０がカメラトリガ信号２１を受け取ると、ＣＣＤアレイ回路５４は本発明の教示に基づいて露光プロセスを開始する。この露光プロセスは好ましくは、カメラローダ４２が生成するカメラトリガ信号４４の一部を成す所定の露光ビットにより規定される所定の露光時間、継続されるとよい。
【００２９】
システム１０はカメラトリガ信号２１又は外部トリガ入力３６上のトリガ信号の存在に応答するカーネルレベルソフトウェアを作動させるものである。これらの信号のいずれかが発生すると、カーネルレベルソフトウェアはホストプロセッサ１２０からシステム時間を要求する。この要求は、ホストプロセッサ１２０の応答の待ち時間が確実にごくわずかとなるよう、充分高い優先度を有するよう設定される。こうしてシステム時間は、トリガ信号に応答して収集された画像データを関連させるために利用できることとなる。
【００３０】
［ＣＣＤアレイからの収集画像の伝送］
プログラム可能イメージャ制御器２０は、所定の画像捕獲パラメータを表すカメラトリガ信号２１を受け取る。この信号はＣＣＤアレイ回路５４により受け取られる。このトリガ信号を受け取ると、ＣＣＤアレイなどの固体イメージャの制御用の一連の信号が開始される。画像を搬送するのにＣＣＤアレイが用いるメカニズムは本発明による作動に影響するものではない。好適な実施例における図示のＣＣＤアレイ回路５４は、所定数のピクセル位置に対応する多数のホトサイトと、収集された光学データを垂直アレイのレジスタにシフトさせる順次走査チップとを有するＣＣＤセンサアレイを含む行間転送ＣＣＤである。例えば、カメラが６４０×４８０の解像度に設計されている場合、縦６４０列横４８０列のホトサイト、即ち各ピクセルの後方に一個のホトサイト、のホトサイトアレイが存在している。当業者であれば、ＣＣＤアレイは時間に対する光の積分器として機能することは理解されるであろうから、ここではさらに詳述する必要はないであろう。
【００３１】
図３Ａを参照すると、行間転送ＣＣＤでは、各ホトサイト７０は露光された部分の画像に対応する電荷を蓄積する。露光時間経過後及びイメージャ制御器２０に応答して、各ホトサイト７０は蓄えた電荷をホトサイトの縦列に対応する垂直アレイのレジスタ８０のシャドーレジスタ８０ａに転送する。この転送はそのアレイの全てのホトサイトについて同時に行われる。図３Ａでは二つの縦列のホトサイトと二つの垂直アレイのレジスタしか描かれていないが、当業者であれば６４０×４８０の解像度には６４０の垂直レジスタを存在させられることは理解されよう。
図３Ｂを参照すると、フレーム転送ＣＣＤでは各ホトサイト７０ａは露光された部分の画像に対応する電荷を蓄積する。露光時間経過後及びイメージング制御器２０に応答して、各ホトサイト７０は蓄えた電荷を隣接するホトサイト７０ｂに転送する。ＣＣＤアレイ７０ｇの端部にあるホトサイトは垂直アレイのレジスタ８０中の最上段のレジスタ８０ａにその電荷を転送する。この手続きは、縦列のホトサイト７０の最上段のホトサイト７０ａの内容が垂直アレイのレジスタ８０の最上段のレジスタ８０ａに移動するまで繰り返される。
【００３２】
図３Ｂのフレーム転送ＣＣＤ及び図３Ａの行間転送ＣＣＤの両方の正味の結果は同一となる、即ち各レジスタ中の垂直アレイのレジスタ８０は、対応するホトサイトの持つ電荷に相当する電荷を含むことになることは明白である。
ＣＣＤアレイ回路５４にはさらに、垂直アレイのレジスタと同じ数のレジスタを有する水平アレイのレジスタ８２を含めることができる。従って、上述した例のような６４０×４８０の解像度には、水平アレイのレジスタ８２には６４０のレジスタが含まれることとなるであろう。水平アレイのレジスタを含むレジスタは好ましくは、図示の基板表面８４と連絡しているとよい。図面では一個の水平アレイのレジスタが描かれているだけであるが、当業者であれば多数の水平アレイのレジスタを利用してもよいことは理解されよう。
図３Ａ及び３Ｂをさらに参照すると、カメラにより画像が収集され、その画像に関連する電荷が垂直アレイのレジスタに転送されると、プログラム可能イメージャ制御器２０は、この垂直アレイのレジスタ８０内に記憶された画像データの垂直アレイのレジスタ８２へのシフトを開始する。６４０×４８０の画像の場合、画像の転送が完了するまでには、水平アレイのレジスタが水平方向に６４０回シフトされることとなる。
【００３３】
ｍ×ｎの画像を収集する従来の機械視覚システムでは、各ｍシフトの終了時点では、システム１０は現在のレジスタの線が目的領域内の画像の一本の線に対応したものなのかどうかは決定できない。その結果、すべてのレジスタの内容が、そのレジスタの内容が目的領域よりも上又は下にある線に対応するものかどうかに関係なく、更なる処理に向けて収集盤に伝送される。典型的には、ある横列をｎ垂直アレイのレジスタから水平アレイのレジスタのｎレジスタにシフトさせるよりも、ｎレジスタの内容を廃棄する方が５０から１００倍長くかかる。その結果、従来のシステムでは画像を伝送できる速度は水平アレイのレジスタを操作できる速度による制限を受けている。そのために、ある画像の複数の線を水平アレイのレジスタにシフトできる速度を、従来のシステムは生かしていない。
【００３４】
本発明のシステム１０では、各ｍシフトの終了時にシステムはｎレジスタの内容が目的領域内の画像のうちのある線に対応するものかどうかを決定できる。そうであれば、ｎレジスタの内容は、従来のシステムと同様に更なる処理に向けて収集盤に伝送される。しかしｎレジスタの内容が目的領域内の画像の線に対応するものでない場合、このｎレジスタは、ｎレジスタの次の横列により、ｎ垂直アレイのレジスタから即座に上書きされる。何らかの余分な電荷があれば、その電荷は単に、上述したようにレジスタが連絡している基板８４に「こぼれ落ちる」か、あるいは水平レジスタを一回シフトする際に除去される。その結果、水平アレイのレジスタが行わなければならないのは、目的領域の線が実際にその中にロードされたときに収集盤にデータを伝送するという低速のプロセスのみである。
このようにして、本発明は、垂直アレイのレジスタの内容から得られた電荷を水平アレイのレジスタに伝送できる速度を生かすことができる。
【００３５】
垂直アレイのレジスタ８０は、カメラローダ４２が生成する制御ビットにより規定される、目的領域の最初の線の直前に位置する情報の線が水平レジスタ８２に配置されるまでシフトされる。こうして次の線は垂直方向の下側にシフトされ、次に水平レジスタの外側に水平方向にクロックされ（原語：clocked）て、そこからすべての電荷が取り除かれる。
カメラトリガ信号４４にはさらに、目的領域の終了線が含まれる。このように目的領域の各線に関連した画像データは水平レジスタ８２内にクロックされ（原語：clocked）た後、読み出される。次にこの情報が、ＣＣＤアレイ出力信号５９で表されるように、そして図２で示されるように、画像プロセッサ６０に伝送される。画像プロセッサ６０はＣＣＤアレイ出力信号５９を収集盤１４に送る前に調整する。画像プロセッサ６０は当業ではよく性格付けられており、公知であるため、ここでさらに説明する必要はない。
目的領域の外側の画像部分に関連した残りの画像データがあれば、このような画像データは次に水平及び垂直アレイのレジスタ８０，８２から外へ向かってシフトされ、廃棄される。これはデータを垂直レジスタ８０のアレイから水平レジスタ８２のアレイ内に高速でシフトすることで行われる。
目的領域の外側にある線を高速で垂直方向にシフトさせる方法に加え、垂直方向の解像度を目的領域内の速度と引き換えにすることで更なる加速が達成される。上述のモードの用語ｚには、目的領域内のデータ伝送中の各水平レジスタの読み取りの前に結合される隣接線の数が含まれる。この方法により、二本又はそれ以上の垂直方向で隣接するピクセルが水平レジスタ中で足し合わされて、一つのデータ値として読み出されることとなる。
【００３６】
［プログラム可能イメージャ制御器の作動］
図４及び５は、本発明のプログラム可能イメージャ制御器２０及びカメラ１６をさらに詳細に示した図である。図示したように、カメラ制御情報を表すカメラトリガ信号４４は、プログラム可能イメージャ制御器２０に、以下に更に説明するＦＩＦＯ状態信号７９と、カメラ発振器５８のカメラタイミング信号５８Ｂと共に伝送される。これに応答して、プログラム可能生成器２０は、例えばＳＤ、Ｖ１、Ｖ２、Ｖ３、ＸＦＲ、Ｈ１、Ｈ２、ＲＧ、Ｓｈ１、Ｓｈ２ＣｌｐＤｍ、ＩＰＯｐ、ＣＢ、及びＣｓなどの数多くの出力信号や、画像プロセッサ６０に伝送される出力信号を生成する。図示の出力信号は画像プロ七ッサ６０、ＣＣＤ電力調整器１５２、垂直駆動装置１５６、及びＣＣＤセンサアレイ１６０と連絡する。ＣＣＤ電力調整器１５２は入力信号１５２Ｂを変換してＤＣ出力信号１５２Ａにし、このＤＣ出力信号１５２ＡはＣＣＤセンサアレイ１６０及び垂直駆動装置１５６に連絡する。データの完全性を保存するために、ＣＣＤ電力調整器１５２による電荷ポンピングはＣＣＤセンサアレイ１６０と同期されており、そのためＤＣ出力電圧に関連した開閉過渡がアナログの画像データの転送、記憶又は処理に干渉することはない。
【００３７】
出力信号Ｖ１−Ｖ３は垂直駆動装置１５６に垂直アレイのレジスタ８０の垂直方向のシフトを駆動又は制御させるものである。信号ＳＤは、以下に詳述するように、センサアレイからの電荷のパージを開始させる信号である。出力信号Ｈ１及びＨ２は作動中に水平アレイのレジスタ８２を駆動するものである。
図示の画像プロセッサ６０、ＣＣＤ電力調整器１５２、垂直駆動装置１５６、及びＣＣＤセンサアレイの作動及び利用は、電気工学の当業者には自明であろう。
図５を参照すると、本発明によるプログラム可能イメージャ制御器２０は、カメラローダ４２が生成したカメラトリガ信号４４をロードする、シリアル接続された多数のレジスタ１６８−１７４に接続された図示の状態装置１６６として特徴付けることができる。プログラム可能イメージャ制御器２０にはさらに、シフト−イン完了カウンタ１７６、及びショット完了カウンタ１７８、垂直制御発生器１８０、水平制御発生器１８２、並びにＣＣＤ画像プロセッサ信号生成器１８６が含まれる。
【００３８】
図７は、本発明による状態装置及び、プログラム可能イメージャ制御器２０の関連回路の概略的なフローチャートである。作動中、図示のタイミング発生器２０は、ステップ１８８に示すように、次の通信パケットを受け取るまで待機する。ステップ１９０では、通信完了カウンタ１７６がゼロに等しいかどうかが調べられる。そうでない場合、タイミング発生器２０は命令データを受け取り続ける。
カウンタ１７６がゼロに等しい場合、図５に示すように、適したカウンタに命令ビットｘ、ｙ、ｚ及びｗで表されるカメラ制御情報４４がロードされる。次に状態装置１６６がＳＩＥＮ出力信号１８１Ａを生成すると、この信号を垂直制御発生器１８０がステップ１９４で受け取る。ステップ１９６では、露光カウンタ１７２が垂直シフト間隔クロック信号を受け取り、ステップ１９８では、このシステムは露光カウンタ１７２がゼロに等しいかどうかを判定する。そうである場合、ステップ２００に示すように露光カウンタ１７２はクリア、即ちナルにされる。次に、ステップ２０２及び２０４では、状態装置１６６が、１８１Ｂで搬送されてきて垂直制御発生器が受け取った信号をロジックハイとロジックローとの間でトグルする。その後ステップ２０６に示されるように状態装置１６６は１８１Ａを通じてロジックハイを生成する。
【００３９】
ステップ２０８では、ショット完了カウンタクロック１７８が垂直シフト信号
を受け取る。ステップ２１０では、状態装置１６６はパス１８１Ｃ及び１８１Ｄを通じてロジックハイを生成する。
ステップ２１２では、ＲＯＩ（目的領域）線カウンタ１７０が、ステップ２１４及び２１６に示すようにこのカウンタがゼロになるまで垂直方向にシフトされる。この時点で、状態装置１６６は垂直クロックの速度をロジックローにパス１８１Ｄを通じて設定する。これは垂直制御発生器１８０により受け取られる（ステップ２１８）。ＲＯＩ終了線カウンタ１６８も同様に、ステップ２２０及び２２２にあるようにこのカウンタがゼロになるまで、垂直方向にシフトされる。次に、状態装置１６６が論理ハイをパス１８１Ｄを通じて生成する。図示のシステムは、次にショット完了カウンタ１７８がゼロに等しいかどうかを判定する。そうであれば、このシステムは、ステップ２２８及び２３０に示すように論理ローをパス１８１Ｃ及び１８１Ｄを通じて生成する。次にステップ２３２で、プログラム可能イメージャ制御器２０はショット完了カウンタをリロードする。当業者であれば、プログラム可能イメージャ制御器２０の概略ブロック図は、その動作を描いたフローチャートを参照すれば、ＣＣＤセンサアレイのレジスタの垂直及び水平方向のクロッキングを行い、またＣＣＤアレイのホトサイトからの電荷のパージを実行するものであることを認識されよう。
【００４０】
図６は、画像収集及び伝送中のプログラム可能イメージャ制御器のいくつかのゲートの状態を表形式で示したものである。画像収集中は、信号ＳＩＥＮ及びＸＦＲＥＮは画像の露光を可能にすべく協働する。ＳＩＥＮは論理ゼロに落ちてカメラを露光準備する。ＳＩＥＮは露光を始動させないことに留意されたい。露光は、ＸＦＲＥＮが論理ゼロから論理１に移行したときに開始し、ＸＦＲＥＮが論理ゼロでアイドル状態に戻ったときに終了する。露光が終了すると、ＳＩＥＮは論理１に戻ってカメラを解除する。
画像伝送中は、ＶＣＫＥＮが論理１に移行して、カメラから収集盤へのデータ転送準備が行われる。目的領域の一部を成す画像データの線については、画像データが垂直アレイのレジスタから水平アレイのレジスタへ一度に一ライン分垂直方向にシフトされる高速シフトステップと、画像データの線が水平アレイの外側にシフトされる読み出しステップとの間を交互して伝送が行われる。ＶＣＫＥＮはこれらのステップの両方を通じて論理１のままである。
高速シフトステップと、より低速の読み出しステップとの間の切換えは、信号
ＶＣＫＳＰ及びＨＣＫＥＮにより制御される。高速シフトステップの間は、ＶＣＫＳＰは論理１に設定されている。ＶＣＫＳＰは読み出しステップを準備するときに論理ゼロに落ちる。ＶＣＫＳＰが実際に読み出しステップを始動させるわけではないことに留意されたい。読み出しは、ＨＣＫＥＮが論理ゼロに落ちたときに開始し、ＨＣＫＥＮが論理１に戻ったときに終了する。
【００４１】
［収集された画像の記憶用のメモリの割り当て］
上述したように、収集された画像の記憶用のメモリを割り当てるプロセスは画像収集からは独立して、かつ画像収集と同時に発生することが可能である。「ハードウェア分散／集積」と呼ぶこととするこのメモリ割り当て方法は、動的なメモリ割り当てを行う最新のオペレーティングシステムの能力を利用するものである。
ハードウェア分散／集積システムでは、システムのメモリ管理プログラムはソフトウェア・アプリケーションの要求があると、画像記憶用のメモリを割り当てることとなる。画像記憶用にはメモリが必要でなくなると、このメモリ管理プログラムはその後の計算タスクに向けて、割当て済みのメモリを通常のメモリプールに直ちに戻すことができる。このような方法で、このシステムは各フレームに様々なメモリアドレスを割り当てることができ、またいかなる場合も必要な量のメモリのみを割り当てることができる。メモリの割当てを画像収集と同時に進行させることができるため、システムのスループットが向上し、最小限の待ち時間で画像の収集を始動させることができる。
動的なメモリ割当てアルゴリズムは数多くの最新のオペレーティングシステムで入手可能である。このように、動的メモリの割当てのこのような使用はコンピュータ工学の当業者には充分、通常の能力の範囲であろう。
【００４２】
［ピクセルの感度の補正］
図２、８Ａ及び８Ｂを参照すると、本発明の光学的特徴では、画像プロセッサ出力信号６１は、各ホトサイト７０の対応する出力を所定のピクセル感度係数で乗算するピクセル感度補正モジュール６２に伝送される。このピクセル感度係数により、各ホトサイト７０の異なる応答特性、又は情景の光量を精確に制御できないことを原因とする誤差を補正することができる。加えて、各ホトサイト７０に対応する出力をその対応するピクセル感度係数で乗算することで、収集された画像の空間的フィルタリングを行うことができる。このようにして、ピクセル感度補正モジュール６２は、ホストプロセッサ１２０に割り込むことなく、予備的画像処理ステップをリアルタイムで行うことができる。ピクセル感度補正モジュール６２の行うこの予備的画像処理ステップは、この段階で行われなければホストプロセッサ１２０がしなければならないと考えられるため、ピクセル感度補正モジュール６２の存在により、システムの総処理時間が省け、またスループットが向上する。
【００４３】
図８Ａを参照すると、ピクセル感度補正モジュール６２は、ピクセル感度係数を含むピクセル感度係数記憶テーブル６３を記憶するメモリと乗算器６４とを含む。加えて、ピクセル感度補正モジュール６２には、目的領域内のピクセル数でロールオーバするカウンタ６５を含めてもよい。
図示の実施例では、ピクセル感度補正モジュール６２はＡ／Ｄ変換器７４のアナログ側に接続されている。しかしながら、図８Ｂに示すように、ピクセル感度補正モジュール６２をさらにＡ／Ｄ変換器７４のデジタル側に接続してもよい。
ピクセル感度補正モジュールの出力は、カメラのアナログ出力信号をデジタル信号に変換するアナログ対デジタル（Ａ／Ｄ）変換器７４のアナログ入力に接続される。このような変換器の構成は電気工学の当業者には公知であり、適した変換器が市販されている。本発明のある実施例では、Ａ／Ｄ変換器７４をカメラ１６の一構成部品とすることができる。このような場合、ピクセル感度補正モジュールは、図８Ｂに示すようにＡ／Ｄ変換器７４のデジタル側に接続されることとなろう。
【００４４】
作動中、ピクセル感度補正モジュール６２はデータを、図８Ａが示すように画像プロセッサ６０か、又は図８Ｂが示すようにＡ／Ｄ変換器７４のデジタル側のいずれかから受け取る。いずれの場合も、ピクセル感度補正モジュールはそのカウンタ６５を用いて、ピクセル感度係数記憶テーブル６３から来たエントリのうちのどれが、ピクセル感度補正モジュール６２の入力端に現在あるピクセルに対応するものかを判定する。こうしてこの記憶テーブルから得た対応するエントリを乗算器６４が利用できるようになり、乗算器６４はそれを現在、ピクセル感度補正モジュール６２の入力にあるピクセルの数値で乗算する。この積は次に乗算器６４から、図８Ａ及び図２に示すようにＡ／Ｄ変換器７４のアナログ入力か、又は図８Ｂが示すようにデータＦＩＦＯ７８に送られる。大部分の実施例では、乗算器６４の前に加算器がある。この加算器は、感度補正係数と平行して記憶された単一のオフセット値でピクセル値を改良するものである。
【００４５】
［データＦＩＦＯからホスト計算システムへのデータ伝送］
図示のシステム１０の各カメラ１６はそれぞれに対応するデータＦＩＦＯ７８を有し、このデータＦＩＦＯ７８では画像データはカメラ１６から到着した時点で蓄積される。このデータＦＩＦＯ７８は、その内部に記憶された蓄積データが、そのカメラ１６について割り当てられたメモリ位置である開始物理的アドレスに送られることで定期的に空にされ、その程度は宛先アドレス記憶部９０内に記憶される。データＦＩＦＯ７８は、蓄積されたデータ量が何らかのデータＦＩＦＯスレショルドに達した場合に空にされるのが一般的である。データＦＩＦＯ７８は、データがデータＦＩＦＯに届いた時点からは独立した時点で蓄積データを空にすることができる。これが理由で、データＦＩＦＯはカメラ１６とホスト計算システム１２との間でデータ転送を非同期的に行うことが可能である。ここで用いられる「データＦＩＦＯ」という用語は、ＦＩＦＯ及びその他のメモリ種を含め、連続及び非連続のメモリ及びレジスタを含むものとして意図されている。メモリ又はレジスタはホスト装置のメモリの一部を成していても、又は、ＳＲＡＭ、ＤＲＡＭ、ＦＬＡＳＨ又は遠隔駆動装置内に設置されてもよく、あるいは本発明のカメラ１６及びホスト計算システム１２と連携させて用いた専用の電気回路に付属のその他のメモリ上にあってもよい。
【００４６】
これは収集盤１４が、カメラ宛先アドレス記憶部９０に規定されたアドレス位置にデータをＤＭＡ（直接メモリアドレス）転送するときに行われる。カメラ宛先記憶部９０には、ホスト計算システム１２のホストプロセッサ１２０により適したアドレス宛先が予めロードされていることが好ましい。このデータＦＩＦＯのスレショルドの選択は、システムの効率的及び経済的機能のために重要である。選択したデータＦＩＦＯのスレショルドが高すぎると、データを記憶させるのに充分な容量を持つデータＦＩＦＯを用いることが必要となる。このような大容量のデータＦＩＦＯは法外に高価であることがある。一方、データＦＩＦＯスレショルドが低すぎると、システム１０は、各ＦＩＦＯでは少量のデータしか検索できないために、ＦＩＦＯに頻繁にアクセスしなければならなくなるであろう。
これではシステムリソースの効率的な利用にはならない。
【００４７】
図示の実施例では、カメラ１６の行う画像収集は画像のある線の終点と次の線の開始点との間で中断が可能であるので便利である。このように都合のいいデータＦＩＦＯのスレショルドは画像の単一の線である。しかしながら、本発明はデータＦＩＦＯのスレショルドとして画像の単一の線を用いることに制限されない。
データＦＩＦＯ７８からホストメモリ１１６への画像データの伝送は、所定の目的領域に対応するデータの最後の線が伝送されるまで進行する。データＦＩＦＯ８６で検索された蓄積データはＰＣＩバス１００へバスインターフェース１０２を介して送られ、次にＩＯ管理プログラムを介してホストメモリに送られるため、ホストプロセッサ１２０が割り込まれる回数が大きく減少しており、システム１０全体の処理速度及び効率が向上している。コプロセッサ１２４がさらにメモリバス１１０と連絡している。従来のシステムはホストプロセッサ１２０を用いて各データ転送を行わせているために、各データ転送ごとにこのプロセッサが割り込まれなければならない。本発明はこの欠点を、より大きな固まりの画像データを移動させるのにＤＭＡを利用することで解決するため、ホストプロセッサへの割り込み回数が大きく減少している。好適な実施例では、ＩＯ管理プログラム１２０は目的領域の収集中に割り込まれる。ホスト計算システムに記憶されたソフトウェア、例えばcam.dllは目的領域から受け取られたピクセル数を計算し、トリガスレショルドパラメータを近接度評価器８８に送る。近接度評価器８８に送られるパラメータが、好ましくは目的領域の一部に関する合計統計量を規定し、この統計量の値が、画像を捕獲しようとする物体がカメラの視界内にあるかどうかを判断するために監視されるとよい。こうして近接度評価器８８内に収容されたピクセル値は、近接度レジスタ記憶部５２内に記憶された、予め選択された数値と比較される。この数値が到達されたときに、近接度評価器８８は近接度評価器出力信号８８Ａを生成し、この信号８８Ａがカメラローダ４２に送られる。これに応答してカメラローダがもう一組の命令を生成し、この命令がプログラム可能イメージャ制御器２０に送られる。
【００４８】
［データ伝送の割込み］
本発明の画像収集システム１０の大きな利点は、カメラ１６から収集盤１４を通ってホストコンピュータのメモリ１２８に画像データを伝送する際に予測不可能な遅れを補正する点である。これは、データパスでオーバフローが発生する前に、各カメラのデータ伝送の所定の長さ時間のリアルタイムの割込みで達成される。カメラ１６により既に収集されていながら、まだ収集盤１４に送られていないデータがあれば、そのデータはカメラ自体の記憶機能、例えば垂直アレイのレジスタ８０に割込み時間の間、記憶される。これにより未伝送の画像部分を記憶するための費用有効性の高い方法が提供される。
カメラ１６からのデータ伝送は必要に応じて頻繁に割り込まれることができる。さらに割込みはフレーム間だけでなく、予め設定したいかなるフレームのサブセットの伝送終了時でも行わせることができる。例えばある実施例によれば、ある線の終了点と、次の線の開始点との間で割込みを行わせることができる。このことは、ホスト計算システム１２のデータトラフィックはシステムの全活動の予測不可能な関数であり、その大部分は多くの場合、画像データの伝送には無関係であるため、有利である。データトラフィックを管理するのに信頼性の高い方法を持たないシステムは、機械視覚システムやその他の画像処理システムが必要とする忠実度の高いデータ伝送を提供できない可能性がある。例えば従来のシステムは画像データの線又はフレームの大部分ですらランダムに欠落させてしまうことが知られている。機械視覚のための用途では、この画像データの消失は、システムの機能が正しく果たせないことにつながりかねない。
【００４９】
さらに図２を参照すると、収集盤１４がこのＤＭＡデータ伝送を行っている間、さらなる画像データが引き続きデータＦＩＦＯ７８内に読み込まれる。ホストコンピュータのＩ／Ｏバス１００上にある別のトラフィックがこの伝送を遅延させるものでない限り、このデータは一まとめにバンドルされ、次のアドレス位置に送られる。バスのトラフィックが、データＦＩＦＯの任意の大部分がいっぱいになってもまだその伝送を妨げるものである場合は、データＦＩＦＯ状態ビット７９が断定され、カメラ１６に送られる。データＦＩＦＯ状態ビット７９がプログラム可能イメージャ制御器２０で受け取られると、このプログラム可能イメージャ制御器２０は、次回の垂直アレイのレジスタ８０へのデータの垂直シフトに割り込むか、又は選択に応じ、水平アレイのレジスタ８２からの画像データの読み出しに割り込むことでデータ伝送に割り込む。この割込みは有利であるが、それはなぜなら、この割込みでは、例えば線又はフレームの欠落がないなど、ホスト計算システムのデータトラフィックを原因とする、収集された光学データの損失が全くないためである。データＦＩＦＯ状態ビット７９は、収集盤１４とプログラム可能イメージャ制御器２０との間でデータのオーバーフローを検出するためのフィードバックループを提供するものである。この割込みに応答して、カメラ１６は、ホスト計算システム１２がＤＭＡ伝送の受け取りを再開できるまでに充分な時間、ＣＣＤ垂直レジスタ８０内にデータを保持する。このフィードバックプロセスの結果、収集ハードウェア自体を用いて、収集された画像データを一時的に記憶させておく、信頼性の高い、かつ費用有効性の高い画像収集システムが達成される。さらにこの割込みという特徴及びそれに関連したフィードバックループを通じて、本発明は、収集されたデータの完全性を損なわないばかりか、ＤＭＡ伝送を行う際の予測不可能な待ち時間を原因としたデータ損失又はエラーをほぼ完全に解消するものである。
【００５０】
伝送終了割込みがホストを通じてclient executableに伝えられるのは、目的領域から得た全てのピクセルがカメラヘッド１６を出た旨の信号がプログラム可能イメージャ制御器２５から出され、ＦＩＦＯ状態ｘ７９の数値がデータＦＩＦＯが空であることを示したときである。この割込みは、画像データの最後のバイトがシステムを通じてフラッシュ（原語：flush）されてから行われるのが好ましい。
【００５１】
［ＣＣＤアレイのパージ］
ＣＣＤアレイの伝送ゲートがその通常の状態に回復した後、プログラム可能イメージャ制御器２０は続く組のパルスをＣＣＤアレイ回路５４に送ることで、次の露光まで蓄積電荷をホトサイトからパージする。これにより、不要な光学データが収集システム１０により記憶されたり処理されたりすることがなくなる。このパージプロセスは、次の露光指令が、パイプライン露光モードでそのカメラが作動させているカメラローダ４２により生成されるまで、その他のオペレーションと並行して継続されることが好ましい。
図４を参照すると、ＣＣＤアレイをパージするために、プログラム可能イメージャ制御器２０は信号ＳＤを垂直駆動装置１５６に送る。その結果、垂直駆動装置１５６は、垂直アレイのシフトレジスタ８０の内容を水平アレイのシフトレジスタ８２へ高速でシフトさせる。データが垂直アレイのシフトレジスタ８０から水平アレイのシフトレジスタ８２へシフトされるこの速度は、典型的には水平アレイのシフトレジスタを水平方向にシフトできる速度よりもずっと高速である。しかしながら、パージが行われるのは垂直アレイのシフトレジスタにあるデータに用がない場合のみであるから、水平アレイのレジスタ中のデータエラーは重要ではない。
【００５２】
［ＶＧＡＦＩＦＯからピデオのディスプレイへの伝送］
Ａ／Ｄ変換器７４のデジタルデータ信号７５はディスプレイＦＩＦＯ９４にも送られる。ディスプレイＦＩＦＯ９４は、その後の処理用及びディスプレイモニタ（図示せず）上の表示用に画像データを記憶する。Ａ／Ｄ変換器７４からのデジタルデータ信号７５は、ルックアップ（ＬＵＴ）９６によりディスプレイモニタに適した信号に変換される。ディスプレイＦＩＦＯ９４に記憶されたデータ用の宛先アドレスは、ディスプレイ宛先アドレス記憶部１０８に記憶される。このアドレス記憶部は、収集されたデータが送られる予定のメモリ位置の記憶アドレスを保持するものである。ここで用いられる「ディスプレイＦＩＦＯ」という用語は、データを所定のバイトの大きさで記憶できるあらゆる適したメモリ位置を含むものとして意図されている。
本発明のもう一つの長所は、位相ロックループを用いていないという点である。位相ロックループは、ピクセルジッタ及びスキューにつながることのあるタイミングエラーを起こしやすい。結論的には、本発明の画像収集システムはピクセルジッタを概ねゼロまで減少させるものである。さらに位相ロックループがないことでデータパスが簡潔になり、システムコストが低減されている。
【００５３】
［作用の形態］
本発明の画像収集システムはいくつかの作用形態を有する。始動の形態としては、当該画像収集システムは外部から始動させることができる。これはカメラ１６及びホスト計算システム１２の両方にとって外部の機械から出たトリガが、カメラのそれぞれについて一つずつ接続されたｎ入力を有する外部トリガインターフェース３４へ信号（典型的にはエッジを有する信号）を送ることで起こすことが可能である。外部トリガ入力３６のうちの一つにパルスエッジが到着すると、カメラローダ４２が始動されてカメラトリガ信号４４が生成され、その特定の外部トリガ入力３６により指定されたカメラ１６へ送られる。次にこのカメラトリガ信号４４はこの選択されたカメラ１６に向けてプログラム可能イメージャ制御器２０に伝送される。
【００５４】
予め設定された露光時間の経過後、プログラム可能イメージャ制御器２０はＣＣＤアレイ回路５４のホトサイト７０から垂直アレイのレジスタ８０への電荷の移動を開始させる。目的領域を表す画像データはこうして垂直アレイのレジスタ８０から水平アレイのレジスタ８２内へとクロックアウトされ（原語：clocked out）る。目的領域の外側の画像データは、データを水平レジスタからクロックアウトできる速度よりも著しく高速な速度で、垂直レジスタから水平アレイのレジスタ８２内へとクロックアウトされる。不要な画像データに対し、このように選択的に高速な「ダンピング（原語：dumping）」を行うことで、システム１０は目的領域に相当する画像データにアクセスかつこれを得ることをかなり迅速に行うことができる。水平アレイのレジスタ中のデータに上書きすることで生じた収集画像データは無視される。
【００５５】
プログラム可能イメージャ制御器２０の伝送ゲートがその正常状態に回復された後、イメージャ制御器は一組のパルスをＣＣＤアレイ回路５４に送り、その結果ＣＣＤは、アレイのホトサイトに蓄積した電荷を継続的に抽出することとなる。このプロセスは好ましくは、次回の画像のための露光が開始されるまで、その他のオペレーションと並行して継続されるとよい。
目的領域中の線の数に関しては、プログラム可能イメージャ制御器２０は、ＣＣＤアレイ回路５４を、エラーのない画像データが計算ホストシステム１２に提供されるような速度で駆動する。画像データは、画像プロセッサ６０によりカメラ１６内で調整された後、収集盤１４に送られる。収集盤１４には、予め設定されたピクセル感度係数で画像の各ピクセルを乗算すると共に、その結果得られた画像データをデータＦＩＦＯ７８内で蓄積データの量がスレショルドに達するまで集めるピクセル感度補正モジュール６２を含めてもよい。次に収集盤１４はホスト計算システム１２と連携して、蓄積されたデータの、カメラ宛先記憶部９０内に規定されたアドレスへのＤＭＡ伝送（データバースト）を行う。これらのアドレスは好ましくは、現在明示されている画像バッファのメモリの最初の物理的固まりに相当するものであるとよい。データはＤＭＡの最中でさえデータＦＩＦＯ７８内に読み込まれ続ける。
【００５６】
データＦＩＦＯ７８内のデータが再度スレショルドを越えて蓄積したときは、ＤＭＡ伝送がもう一回、次に開始アドレスに向かって行われるが、その他のデータトラフィックによってホストコンピュータのＩ／Ｏバス上でバスローディングが行われているためにこの伝送が遅延される場合は行われない。バストラフィックのために、データＦＩＦＯの半分を越える部分がいっぱいになるのに充分長い時間、データ伝送が妨げられると、データＦＩＦＯ状態ビットが断定される。これが発生すると、ホストコンピュータがＤＭＡ伝送の受け入れを再開できるまで、データＦＩＦＯの関連カメラはデータ収集及び伝送を中断し、収集済みのデータをＣＣＤの垂直アレイのレジスタ８０内に保持する。このプロセスは、目的領域の最後の線がホスト計算システム１２のメモリに伝送されるまで進行する。
目的領域の最後の線が読まれる又は水平レジスタから外へシフトされると、プログラム可能イメージャ制御器２０は「高速シフト」信号を生成するが、この信号はＣＣＤアレイ５４に命令して、最初に収集された画像に関連した残りのデータをすべて廃棄させるものである。このデータパージは上述の方法で達成される。この時点で、好ましくは垂直アレイのシフトレジスタ８０のすべてにおいて電荷がなくなるとよい。また全ホトサイト７０も空になることが好ましいが、それはなぜなら、アレイがホトサイト７０からいかなる電荷をも取り除くよう、タイミング発生器２０がＣＣＤアレイ５４にパルスを送るからである。このような方法で、カメラ１６は別の画像収集命令を受け取る準備ができる。
【００５７】
画像データのＤＭＡ伝送がすべて完了すると、ホスト計算システム１２は、ホストのＩ／Ｏバス上の割込みラインのうちの一つを制御器１４が励起することに応答して、割込み符号、即ちcam．exeプログラム１３２によりブート時にロードされたcam．VxD１３７の処理を始動させる。この割込み符号１３７は、ある特定の画像バッファが新しいデータで満杯である旨の報告を受けるよう、client.exe（又はcam.exe）が最も最近指定されたというコールバックを、この処理のハンドルを記憶するcam.dll１３８が保持するメモリに行う。
「即時モード」と呼ばれるもう一つの作用の形態では、本発明の画像収集システムに、画像分析及び機械視覚の両方のアプリケーションを用いることができる。この作用形態では、先の画像を処理して得られたデータが次の行動を決定する。
従ってこの形態では、上述と同様に、収集盤１４は、画像収集及び処理サイクルを開始するのにホストからの書き込みの命令を受け取るのを待機する。client exe１３４又はcam.exe１３２のいずれかがcam.dll１３８を呼び出してこの命令を伝送するように伝える。この命令が到着すると、カメラローダ４２は、カメラセットアップ記憶部４８からの情報を含んだカメラトリガ信号４４を、そのバイトが指定する特定のカメラに伝える。画像収集及び伝送のその他のステップは上述したように進行する。
【００５８】
もう一つの作用の形態では、所定のカメラから、ある一定の時間的間隔をおいて画像を得ることができる。これらの時間的間隔は選択可能であり、選択された露光時間と、目的領域を伝送するのに必要な時間とに適合性のある最小時間以上であれば、いかなる値でもよい。この作用形態は、すぐ上で説明したものとまったく同じであるが、唯一の例外は、選択されたカメラによる画像収集を開始させるトリガが、カメラローダ４２の関連するタイマ形成部分であることである。
この形態では、cam.exe１３２又はclient.exe１３４のいずれかが、ホスト計算システム１２及び又は収集盤１４に命令を送るcam.dll１３８に呼出しを行う。この命令には、特定の該当カメラ、及び対応するタイマをカメラローダ４２に設定するのに用いられるデータワードが含まれる。選択されたカメラ用のタイマの時間が経過すると、カメラローダ４２はカメラトリガ信号４４を送り、その選択されたカメラによる収集を開始させる。
これに応答して、そのカメラに対応するタイマの時間が経過するたびに、画像がこの選択カメラ１６から戻され、ホストメモリ１１６に伝送される。
【００５９】
さらにもう一つの作用形態では、当該画像収集システムは、目的領域の大きさ及び露光時間のみの制約を受ける速度で、継続的な画像収集を行うものである。この形態は、特定のカメラセットアップ情報をカメラセットアップ記憶部４８から特定のカメラ１６へ収集盤１４のホストインターフェースを介して送るよう、cam.exe１３２又はclient.exe１３４が要求を出すことで開始する。図１−３に関連する説明に関して上述したように、このカメラセットアップ情報により、カメラ１６は露光及び画像データの読み出しを開始する。この形態でのカメラの応答は、露光完了後、プログラム可能イメージャ制御器２０はＣＣＤアレイ５４に対し、ホトサイトの電荷を消去させるパルスをすぐには送らないことである。
【００６０】
ある好適な実施例では、cam.dll１３８が目的領域の読み出し時間よりも露光時間が長いと算定すると、カメラトリガ信号４４に含まれたカメラセットアップ情報により、プログラム可能イメージャ制御器２０はこの画像データの伝送直後に次の露光を開始することとなる。上述したようなホトサイトからの電荷のパージは行われないが、それはなぜなら、その前の露光から得られた画像データを含む垂直アレイのレジスタ８０が水平アレイのレジスタ８２内に読み込まれている最中は、カメラ１６による次の露光が継続するからである。さらなるフレームの収集は、既に収集済みのデータの読み出しが終わっても、適した露光時間に達するまで続行される。この時点で、タイミング発生器２０が「フレーム伝送」を命令し、別の露光及び別の読み出しの両方を開始する。このプロセスは、新たなカメラセットアップ情報がカメラ１６にカメラセットアップ記憶部４８から送られるまで繰り返される。
【００６１】
一方、cam.dll１３８が露光時間よりも目的領域の読み出し時間が長いことを算定すると、カメラトリガ信号４４に含まれたカメラセットアップ情報により、プログラム可能イメージャ制御器２０は、フレーム伝送後にホトサイトからの電荷パージを開始させると共に、読み出し時間が露光時間よりも長くなっている分の時間、電荷のパージを続行させることとなる。画像伝送が完了すると、プログラム可能イメージャ制御器２０は別の「フレーム伝送」を開始し、電荷のパージを再開し、別の読み出しを開始する。このプロセスは、新たなカメラセットアップ情報がカメラセットアップ記憶部４８からカメラ１６に送られるまで続く。
一サイクル中の露光に実際に影響を与えるほど長時間、ＦＩＦＯ状態信号７９が断定されている場合は、プログラム可能イメージャ制御器２０はそのサイクルについての画像データの読み出しを打ち切らせる。読み出しは、ホトサイト領域でそのデータの目的領域の開始時に再開される。
【００６２】
さらにもう一つの作用の形態では、システム１０は、図９に示すように目的の物体がカメラの視界中のトリガ領域９５内にあるときにこれを認識することができる。目的の物体がトリガ領域９５に侵入したことを認識すると、当該システムは、これも図９に示すように、カメラ視界内の目的領域９９の捕獲を独立して始動させ、この目的領域に相当する画像データをシステムのメモリ及び／又はシステムのディスプレイに送信する。トリガ領域９５の大きさ及び位置は目的領域９９の大きさ及び位置からは独立している。この形態では、物体の視界内の存在に基づいてユーザ又はクライアントのソフトウェアが、いつ画像収集が行われるかを適宜制御できるために、画像処理の自動化が大きく容易となる。
この作用形態はすぐ前の形態と同様である。大まかに言うと、カメラトリガ信号４４には一つ又は複数のスレショルドが含まれ、このスレショルドを収集盤が用いて、目的領域の画像を収集すべきかを判定することとなろう。これらのスレショルドは、cam.dll１３８により予め計算されてカメラセットアップ記憶部４８内にロードされるものである。加えて、カメラトリガ信号４４には、目的領域を規定するのに用いられる、既に説明したのと同様な方法でトリガ領域を規定するのに必要な情報を含めてもよい。
【００６３】
この形態では、画像データの収集盤への伝送に関して上述した方法に基づき、トリガ領域は繰り返し捕獲されて収集盤１４へ送られる。しかしながらその他の形態でのようにデータＦＩＦＯ７８に経路指定されるのではなく、トリガ領域から得られた画像データは近接度評価器８８に送られ、この近接度評価器８８はトリガ領域から到着するピクセルの数値を蓄積する。ある一つのフレームのトリガ領域の伝送が完了すると、今やこの近接度評価器８８に記憶されたトリガ領域から得られたピクセルの合計統計量を用いて、目的領域からの画像を捕獲すべきかどうかが判定される。蓄積された数値から、目的領域からの画像を捕獲すべきだとシステムが判定すると、その画像は先に説明したようにデータＦＩＦＯ７８に経路指定される。一方、目的領域からの画像は捕獲する必要はないと、蓄積された数値に基づいてシステムが判断すると、別のトリガ領域が捕獲され、蓄積され、比較される。
【００６４】
トリガ領域９９内の画像に基づいて行われる目的領域９５から画像を収集すべきかどうかの判定は、トリガ領域中のピクセルの数値の合計に基づいて行ってもよく、又はトリガ領域中のピクセルの数値の偏差に基づいて行ってもよい。
この形態のある実施例では、目的領域から画像を捕獲するかどうかを、トリガ領域中のピクセルの蓄積された数値がスレショルドより上か下かに依存させることができる。この形態の二番目の実施例では、ｎスレショルドがあり、目的領域からの画像の捕獲は、このｎスレショルドにより規定されるｎ＋１の区間のうちのいずれに、トリガ領域から得たピクセルの蓄積数値が該当するかを条件とすることができる。この形態の三番目の実施例では、目的領域からの画像の捕獲には、トリガ領域から得たピクセルの合計統計量の、何らかのノルムからの偏差が、プログラムされた偏差スレショルドより上か下かを条件とすることができる。この形態のさらなる実施例は上述の条件の様々なブールの組合せから得ることができる。
【００６５】
目的領域からの画像の収集はさらに、時間的な条件を満たすことを条件としてもよい。例えば、保留のままの収集と最後に行われた収集との間の時間間隔が何らかの時間的スレショルドを越えている場合にのみ、目的領域から画像を収集するように当該システムを作成してもよい。このような時間的条件を、上述に概観したような蓄積ピクセル値及び偏差と組み合わせてもよい。このような特徴に欠けると、カメラの視界を、長寸かつ均一な物体がゆっくりと移動すると、同じ物体を複数回露光することが起きるかも知れない。
また別の作用の形態では、すぐ上の形態で作動中のある一つのカメラからの画像が、このシステムに接続されたもう一つのカメラの画像収集及び伝送を始動させるものでもよい。
さらにまた別の作用形態では、カメラローダが出力を生成し、各カメラに同期してフラッシュ装置などの外部照射システムを始動させるものである。
【００６６】
このように本発明は、以上の説明から明らかな目的の中でも上述の目的を効率的に達成するものであることが理解されよう。本発明の範囲から逸脱する子となく上述の構成に何らかの変更を加えることは可能であろうため、上述の説明に含まれた事項及び添付の図面に示された事項はすべて、描写を目的としており、限定的な意味を持つものとして解釈されることは意図されていない。
さらに、請求の範囲はここで説明した本発明の一般的かつ特定の特徴と、言語的問題としてそれらの範疇に入ると考えられる本発明の範囲の記述のすべてをすべて網羅したものであることは理解されねばならない。
【図面の簡単な説明】
【００６７】
【図１】本発明の画像収集システムの概略的ブロック図である。
【図２】図１の画像収集システムのより詳細な概略的ブロック図である。
【図３Ａ】図１の収集システムのカメラ構成部品の垂直及び水平レジスタアレイの概略図である。
【図３Ｂ】図１の収集システムのカメラ構成部品の垂直及び水平レジスタアレイの概略図である。
【図４】図１の画像収集装置のより詳細な概略図である。
【図５】図２のカメラのより詳細な概略図である。
【図６】選択された作用形態における図５のプログラム可能イメージャ制御器の選択されたゲートの状態を示す表である。
【図７】ある作用形態によるプログラム可能イメージャ制御器の作動順序を示したフローチャートである。
【図８Ａ】画像収集素子を構成する光電性素子の出力を較正する又はフィルタ処理するのに用いられるピクセル感度補正装置のブロック図である。
【図８Ｂ】図１の収集システムのＡ／Ｄ変換器成分のデジタル入力に接続されたピクセル感度補正装置のブロック図である。
【図９】カメラ視界内のトリガ領域及び目的領域を描いた図である。
【符号の説明】
【００６８】
１０・・画像収集システム、１２・・ホスト計算システム、１４・・収集盤、１６・・カメラ、２０・・プログラム可能イメージャ制御器、６０・・画像プロセッサ、９０・・メモリ、７８・・データＦＩＦＯ、１２０・・ホストプロセッサ、１２８・・メモリ。
【図１】
2008243211.tif 000003
【図２】
2008243211.tif 000004
【図３Ａ】
2008243211.tif 000005
【図３Ｂ】
2008243211.tif 000006
【図４】
2008243211.tif 000007
【図５】
2008243211.tif 000008
【図６】
2008243211.tif 000009
【図７】
2008243211.tif 000010
【図８Ａ】
2008243211.tif 000011
【図８Ｂ】
2008243211.tif 000012
【図９】
2008243211.tif 000013
【手続補正書】
【提出日】平成20年5月2日(2008.5.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を表すデータを記憶するメモリ（１１６）を割り当てるホストプロセッサ（１２０）を備えた機械視覚システムに画像を伝送するシステムであって、
トリガ信号に応答して前記画像の少なくとも一部を収集する画像収集手段（１６）と、
前記画像を前記画像収集手段（１６）から前記メモリ（１１６）に伝送する画像伝送手段（１４）であって、前記ホストプロセッサ（１２０）による前記メモリ（１１６）からのメモリスペースの割り当て中は、前記画像の少なくとも一部を少なくとも一時的に記憶するバッファメモリ手段（７８）を備えた画像伝送手段と、を含み、
前記画像収集手段（１６）は、前記ホストプロセッサ（１２０）による前記メモリ（１１６）におけるメモリスペースの割り当てに関して常に前記画像を収集できるように、前記ホストプロセッサ（１２０）によるメモリ割り当てからは独立して動作可能であって、
前記画像の伝送が、画像データを前記画像収集手段（１６）から前記メモリ（１１６）に伝送するためのデータパスの一部を形成する１つ以上の要素によってアサートされた２つ以上の信号に応答して生成される解放信号または保留信号に応答して生じる、システム。
【請求項２】
前記バッファメモリ手段が、データＦＩＦＯレジスタ（７８）を包含し、このデータＦＩＦＯレジスタ（７８）が、前記画像収集手段（１６）からの前記画像を表すデータを前記トリガ信号に応答して受け取ると共に、前記解放信号に応答して前記画像を表すデータを前記ホストプロセッサ（１２０）に解放するように結合されている、請求項１に記載のシステム。
【請求項３】
前記画像収集手段が、選択された画像収集パラメータを含んだ前記トリガ信号に応答して前記画像を収集する光電性手段（５４）と、
前記トリガ信号を生成すると共に前記画像収集中に前記選択された画像収集パラメータをプログラミング可能に変更する、前記光電性手段（５４）と共に回路上に設けられたプログラム可能制御手段（２０）と、を包含する、請求項１に記載のシステム。
【請求項４】
前記光電性手段が固相イメージングアレイを含み、前記プログラム可能制御手段がプログラム可能イメージャ制御回路（２０）を含む、請求項３に記載のシステム。
【請求項５】
前記プログラム可能制御手段（２０）が、
前記選択された画像収集パラメータでプログラムされ得るようにし、ローディング信号に応答して前記トリガ信号を生成する制御手段と、
前記ローディング信号を生成すると共に前記画像収集パラメータを受け取る、前記制御手段に結合されたパラメータローディング手段（４２）と、を包含する、請求項３に記載のシステム。
【請求項６】
前記プログラム可能イメージャ制御回路（２０）が前記画像収集パラメータでプログラムされうる、請求項３に記載のシステム。
【請求項７】
前記プログラム可能イメージャ制御回路（２０）が、当該回路をリアルタイムで再プログラムする手段を含む、請求項６に記載のシステム。
【請求項８】
前記画像収集手段（１６）が、
命令信号に応答して出力動作信号を生成するトリガ手段と、
前記画像収集パラメータを前記ホストプロセッサ（１２０）から受け取る、前記プログラム可能制御手段と連結したパラメータメモリ手段（４８）と、
前記画像収集パラメータで前記プログラム可能制御手段（２０）をプログラムするために、前記出力動作信号と前記選択された画像収集パラメータを前記パラメータメモリ手段（４８）から受け取り得るようにしたカメラローダ回路と、を包含する、請求項３に記載のシステム。
【請求項９】
前記画像データを受け取ると共に、前記ホストプロセッサに殆ど割り込みしないでこのデータを少なくとも部分的に処理する、前記ホストプロセッサとは別の予備処理装置（１２４）を更に包含する、請求項２に記載のシステム。
【請求項１０】
前記バッファメモリ手段（７８）と前記画像収集手段（１６）とに結合された割り込み手段であって、前記バッファメモリ手段が閾値に達した時は前記画像の前記収集に割り込みし、よって前記画像に対応したデータの信頼性のある伝送を可能にする割り込み手段を更に包含する、請求項２に記載のシステム。
【請求項１１】
前記画像が複数の線からなり、前記割り込み手段が、前記画像に対応した前記線の間で前記画像の前記収集に割り込みが可能な、請求項１０に記載のシステム。
【請求項１２】
前記画像収集手段（１６）に収集された前記画像が複数のピクセルを含み、更に前記メモリへ前記ピクセルを伝送する前に前記ピクセルを補正するピクセル補正手段（６２）を、前記画像収集手段（１６）と共に回路上に包含されている、請求項１に記載のシステム。
【請求項１３】
前記ピクセル補正手段（６２）が、
前記画像の各ピクセルに対応した複数の所定のピクセル補正値を記憶する第２メモリモジュール（６３）と、
前記画像の各ピクセルを、前記の対応したピクセル補正値で乗算して補正されたピクセルを形成する乗算手段（６４）とを包含する、請求項１２に記載のシステム。
【請求項１４】
少なくとも１つの前記画像を収集するために、少なくとも１つの前記トリガ信号が外部要素によってアサートされる、請求項１に記載のシステム。