(57)【特許請求の範囲】
【請求項１】
複数の受光素子が２次元状に配列された受光素子アレイと、
前記受光素子アレイの所定列に対応して設けられ、対応する列中の受光素子から順次読み出された出力信号をアナログ・デジタル変換する複数のＡ／Ｄ変換器を有し、当該複数のＡ／Ｄ変換器が１次元状に配列されて構成されるＡ／Ｄ変換器アレイと、
前記受光素子アレイの所定の受光素子または受光素子群に対応して設けられ、前記Ａ／Ｄ変換器アレイから転送された対応する受光素子または受光素子群の出力信号に相当するデジタル信号について所定の演算を行う複数の演算素子を有し、当該複数の演算素子を２次元状に配列して、並列演算処理を行う演算素子アレイと、
前記受光素子アレイ及び前記Ａ／Ｄ変換器アレイ並びに前記演算素子アレイを制御する制御回路と、
を備える高速視覚センサ装置。
【請求項２】
前記制御回路は、前記Ａ／Ｄ変換器アレイの各所定列から対応する各演算素子へのデータ転送時に平行して各所定列内の演算素子間でのデータ転送及び演算を行い、全データ転送後に各所定列間のデータ転送及び演算を行うよう、前記演算素子アレイを制御することを特徴とする請求項１記載の高速視覚センサ装置。
【請求項３】
前記Ａ／Ｄ変換器は、前記制御回路から送出された制御信号により、Ａ／Ｄ変換時の階調を可変する機構を備えることを特徴とする請求項１又は２記載の高速視覚センサ装置。
【請求項４】
前記受光素子アレイと前記Ａ／Ｄ変換器アレイとの間に各Ａ／Ｄ変換器への入力を増幅するチャージアンプを所定個数併設した並列アンプを備えていることを特徴とする請求項１〜３のいずれかに記載の高速視覚センサ装置。
【請求項５】
前記Ａ／Ｄ変換器は、前記並列アンプを含む積分回路と、比較回路と容量制御機構とから構成されていることを特徴とする請求項４に記載の高速視覚センサ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理機能を備えた高速視覚センサ装置に関する。
【０００２】
【従来の技術】
人間の視覚系では階層的並列処理が行われている。これに対して、従来の工学的視覚センサでは、情報を効率的に伝送するために走査機構が用いられてきた。この走査機構は、並列の配線が難しく、各検出器からの情報を少ない本数の通信路で伝送するのには適しているが、その一方で、大量の情報を一本の通信路で送る必要があるため、１画像全体を伝送する速度は限られる。
【０００３】
このため、既存の画像取込装置と画像処理装置５０２を組み合わせた現状のビジョンシステム、例えば、図９に示すような、対象物５００をテレビカメラ５０１で撮影して、画像データを画像処理装置５０２に伝送するシステムでは、伝送速度はビデオ信号の制約である１フレームあたり約３３ミリ秒が限界で、たとえ高速の画像処理装置を組み合わせたとしても、この伝送速度以上の高速での画像処理はできなかった。つまり、この伝送速度が画像処理システム全体のＩ／Ｏボトルネックとなっていた。例えば、時速１００キロで走行する車において道路上の危険を検知する画像処理装置を考えた場合、上記のシステムの限界速度である約３３ミリ秒では車が１ｍ移動するため、遅すぎて実用にならなかった。
【０００４】
ところで、ＦＡシステムにおいてロボットを高速で動作させるためには、高速の画像処理が必要とされる。例えば、視覚センサとアクチュエータの間でフィードバックループを形成するロボットの場合、アクチュエータはミリ秒単位で制御可能であるため、本来はこれに対応した画像処理速度が必要になる。ところが、現状のビジョンシステムでは画像処理速度が上述のビデオフレームレートに限られているため、この画像処理速度に合わせた低速動作しかできず、ロボットの性能を十分に活かしきれていなかった。
【０００５】
一方、高速ＣＣＤカメラの中には１ミリ秒程度で画像を撮像できるものもあるが、これらは撮像した画像をいったんメモリに貯えて、後から読み出して処理を行う機構になっているため、画像解析などの用途には使えるが、実時間性はほとんどなく、ロボット制御などの用途には適用できなかった。
【０００６】
このような問題を解決するため、画像の取込部と処理部を一体として取り扱うビジョンチップの研究が進んでおり、マサチューセッツ工科大学、カリフォルニア工科大学、三菱電機などの研究が知られている。しかし、これらは主として集積化の容易なアナログの固定回路を用いており、出力信号の後処理が必要であったり、画像処理の内容が特定用途に限定されていて汎用性がないなどの問題点があった。
【０００７】
これらに対して汎用的な画像処理を行うことができるビジョンチップとしては、特公平７−６２８６６号の発明が知られている。この発明は、マトリクス状に配置された受光素子アレイの各受光素子の出力を、それぞれ１つの対応する演算素子に入力し、並列処理するものである（以下従来例１と呼ぶ）。これにより、演算素子への入力時間、演算時間が短縮され、各種の演算にも対応できる利点がある。
【０００８】
【発明が解決しようとする課題】
しかしながら、この従来例１の発明では、ＬＳＩ上に占める演算素子の面積が、受光素子の面積よりも大きく、ＬＳＩに集積できるトランジスタ数には限界があるため、画素数が多く取れないという欠点があった。
【０００９】
これを解決するため、この特公平７−６２８６６号には、受光素子１列に対し、一つの演算素子を対応させる装置が挙げられている（以下従来例２と呼ぶ）。また、特開平７−１７７４３５号の発明は、受光素子と演算素子を１次元に配置している（以下従来例３と呼ぶ）。これらは、演算素子が１次元であるため、演算時に走査処理が必要になり、それに時間がかかって、高速処理できないという欠点があった。
【００１０】
また、特開平７−８５２６０号の発明では、１個の演算素子に複数の受光素子を対応させている（以下従来例４と呼ぶ）。これも演算時間がかかるという欠点があると共に、演算素子と同じ領域に特性の揃った受光素子を作ることが難しく、実用に至っていない。
【００１１】
そこで、本発明は、高速の画像処理が可能で、安定して製造可能な多画素数の高速視覚センサ装置を提供することを課題としている。
【００１２】
【課題を解決するための手段】
本発明の高速視覚センサ装置は、複数の受光素子が２次元状に配列された受光素子アレイと、受光素子アレイの所定列に対応して設けられ、対応する列中の受光素子から順次読み出された出力信号をアナログ・デジタル変換する複数のＡ／Ｄ変換器を有し、これらの複数のＡ／Ｄ変換器が１次元状に配列されて構成されるＡ／Ｄ変換器アレイと、受光素子アレイの所定の受光素子または受光素子群に対応して設けられ、Ａ／Ｄ変換器アレイから転送された対応する受光素子または受光素子群の出力信号に相当するデジタル信号について所定の演算を行う複数の演算素子を有し、これらの複数の演算素子を２次元状に配列して、並列演算処理を行う演算素子アレイと、受光素子アレイ及びＡ／Ｄ変換器アレイ並びに演算素子アレイを制御する制御回路とを備える。
【００１３】
本発明によれば、受光素子と対応する複数の演算素子により、画像処理の演算を並列処理により高速で行うことができる。また、Ａ／Ｄ変換器で所定の列毎に分割してデータを演算素子に転送するため、この部分の伝送路の本数が少なく、受光素子アレイと演算器アレイを分離することが容易である。このため、双方とも高集積化が可能で、画素数を増やすことができる。また、安定した生産が可能となる。
【００１４】
また、制御回路は、Ａ／Ｄ変換器アレイの各所定列から対応する各演算素子へのデータ転送時に平行して各所定列内の演算素子間でのデータ転送及び演算を行い、全データ転送後に各所定列間のデータ転送及び演算を行うよう、演算素子アレイを制御する。これにより、演算素子間のデータ転送や演算にようする時間の無駄を省いて、効率的な処理を行うことができる。
【００１５】
さらに、Ａ／Ｄ変換器は、制御回路から送出された制御信号により、Ａ／Ｄ変換時の階調を可変する機構を備えてもよい。これにより、用途に応じて、低階調でも高速で読み込んだり、低速でも高階調で読み込むなどの使い分けが可能となる。
【００１６】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態に係る高速視覚センサ装置のブロック図である。
【００１７】
まず、図１により、センサ装置全体の構成を簡単に説明する。本実施形態の高速視覚センサ装置は、Ｎ１個×Ｎ２個の２次元状に配置された受光素子１２０からなる受光素子アレイ１１と、受光素子アレイ１１の１列ごとに対応して受光素子から出力された電荷を電圧信号に変換するＮ２個のチャージアンプ２２１からなる並列アンプ１２と、チャージアンプからの出力信号をＡ／Ｄ変換するＮ２個のＡ／Ｄ変換器２１０からなるＡ／Ｄ変換器アレイ１３と、受光素子１２０と１対１に対応するＮ１個×Ｎ２個の演算素子４００からなる演算素子アレイ１４と、回路全体に命令信号等を送って制御する制御回路１５及び制御回路１５からの信号を各回路に送るインストラクション／コマンドバス１６により構成されている。
【００１８】
図２は、装置の構成例を示したものである。受光素子アレイ１１と演算素子アレイ１４を別々の基板に形成することで、双方を高集積化することが可能であり、また、それぞれの装置の特性に合わせた加工工程を採用できるため、安定した生産が可能となる。
【００１９】
続いて、各回路の内部構成について説明する。図３は、画像取込部の詳細構成を示している。画像取込部は、光を検出する受光部１００（図１に示す受光素子アレイ１１に相当）、受光部１００からの出力信号を処理する信号処理部２００（図１に示す並列アンプ１２及びＡ／Ｄ変換器アレイ１３に相当）、受光部１００及び信号処理部２００に動作タイミングの指示信号を通知するタイミング制御部３００（図１に示す制御回路１５の一部に相当）を備えている。
【００２０】
最初に、図３により、図１の受光素子アレイ１１に相当する受光部１００の構成を説明する。受光素子１２０は、入力した光強度に応じて電荷を発生する光電変換素子１３０と、光電変換素子１３０の信号出力端子に接続され、垂直走査信号Ｖi（ｉ＝１〜Ｎ１）に応じて光電変換素子１３０に蓄積された電荷を出力するスイッチ素子１４０を１組として構成されている。この受光素子１２０が第１の方向（以下垂直方向と呼ぶ）に沿ってＮ１個配置され、各受光素子１２０のスイッチ素子１４０が電気的に接続されて垂直受光部１１０を構成している。そして、この垂直受光部１１０を垂直方向に直交する水平方向に沿ってＮ２個配列することにより受光部１００が構成されている。
【００２１】
次に、同じく図３により、図１では並列アンプ１２及びＡ／Ｄ変換器アレイ１３に相当する信号処理部２００の構成を説明する。信号処理部２００は、対応する垂直受光部１１０j（ｊ＝１〜Ｎ２）から転送されてきた電荷を個別に取り出して、処理し、この電荷強度に対応するデジタル信号を出力するＡ／Ｄ変換器２１０jをＮ２個配置して構成されている。Ａ／Ｄ変換器２１０jは、チャージアンプ２２１jを含む積分回路２２０jと比較回路２３０jと容量制御機構２４０jの３つの回路から構成される。本実施形態では、チャージアンプ２２１をＡ／Ｄ変換器２２１に含む回路構成になっている。
【００２２】
このうち、積分回路２２０jは、垂直受光部１１０jからの出力信号を入力として、この入力信号の電荷を増幅するチャージアンプ２２１jと、チャージアンプ２２１jの入力端子に一方の端が接続され、出力端子に他方の端が接続された可変容量部２２２jと、チャージアンプ２２１jの入力端子に一方の端が接続され、出力端子に他方の端が接続されて、リセット信号Ｒに応じてＯＮ、ＯＦＦ状態となり、積分回路２２０jの積分、非積分動作を切り替えるスイッチ素子２２３jからなる。
【００２３】
ここで、図４は、この積分回路２２０の詳細構成図である。本図は、４ビットつまり１６階調の分解能を持つＡ／Ｄ変換機能を備える積分回路の例であり、以下、この回路構成により説明する。可変容量部２２２は、チャージアンプ２２１の垂直受光部からの出力信号の入力端子に一方の端子が接続された容量素子Ｃ１〜Ｃ４と、容量素子Ｃ１〜Ｃ４の他方の端子とチャージアンプ２２１の出力端子の間に接続され、容量指示信号Ｃ11〜Ｃ14に応じて開閉するスイッチ素子ＳＷ１１〜ＳＷ１４と、容量素子Ｃ１〜Ｃ４とスイッチ素子ＳＷ１１〜ＳＷ１４の間に一方の端子が接続され、他方の端子がＧＮＤレベルと接続されて、容量指示信号Ｃ21〜Ｃ24に応じて開閉するスイッチ素子ＳＷ２１〜ＳＷ２４により構成されている。なお、容量素子Ｃ１〜Ｃ４の電気容量Ｃ1〜Ｃ4は、
Ｃ1＝２Ｃ2＝４Ｃ3＝８Ｃ4
Ｃ0＝Ｃ1＋Ｃ2＋Ｃ3＋Ｃ4
の関係を満たす。ここで、Ｃ0は積分回路２２０で必要とする最大電気容量であり、受光素子１３０（図３参照）の飽和電荷量をＱ0、基準電圧をＶREFとすると、
Ｃ0＝Ｑ0／ＶREF
の関係を満たす。
【００２４】
再び、図３に戻り、Ａ／Ｄ変換器２１０jの積分回路２２０j以外の回路を説明する。比較回路２３０jは、積分回路２２０jから出力された積分信号ＶSの値を基準値ＶREFと比較して、比較結果信号ＶCを出力する。容量制御機構２４０jは、比較結果信号ＶCの値から積分回路２２０j内の可変容量部２２２jに通知する容量指示信号Ｃを出力すると共に、容量指示信号Ｃに相当するデジタル信号Ｄ１を出力する。
【００２５】
続いて、図３に示すタイミング制御部３００の構成を説明する。全回路のクロック制御を行う基本タイミングを発生する基本タイミング部３１０と、基本タイミング部３１０から通知された垂直走査指示に従って、垂直走査信号Ｖiを発生する垂直シフトレジスタ３２０と、リセット指示信号Ｒを発生する制御信号部３４０により構成されている。
【００２６】
次に、図５に示すブロック図を用いて、演算素子アレイ１４を構成する演算素子４００の構成を説明する。演算素子４００は、Ａ／Ｄ変換器２１０から送られてきた対応する受光素子１２０の４近傍の出力信号に相当するデジタル信号Ｄ１を収容する４×８ビットのランダムアクセス可能な１ビットシフトのレジスタマトリックス４０１と、演算信号をそれぞれ収容するＡラッチ４０２、Ｂラッチ４０３、及び下位ビットから１ビットずつ順次演算する順次ビットシリアル演算を行う演算論理ユニット（ＡＬＵ）４０４で構成されている。ＡＬＵ４０４にはＡＮＤ、ＯＲ、ＸＯＲ、ＡＤＤの演算機能が用意されている。演算素子４００は、各素子が共通の制御信号で制御されるＳＩＭＤ型の並列処理を行う構造になっている。これにより、１素子あたりのトランジスタ数を削減し、演算素子アレイ１４の集積化を図り、素子数を増やすことができる。
【００２７】
次に、図２〜図５により、本実施形態の動作について説明する。
【００２８】
まず、リセット信号Ｒを有為に設定し、図４に示す可変容量部２２２のＳＷ１１〜ＳＷ１４を全て「ＯＮ」、ＳＷ２１〜ＳＷ２４を全て「ＯＦＦ」状態にする。これにより、チャージアンプ２２１の入力端子と出力端子間の容量値をＣ0に設定する。それと同時に、図３に示す全てのスイッチ素子１４０を「ＯＦＦ」状態とし、垂直走査信号Ｖｉをいずれの受光素子１２０i,jも選択しない状態に設定する。この状態から、リセット指示信号Ｒを非有為に設定し、各積分回路２２０での積分動作を開始させる。
【００２９】
積分動作を開始させると、図３に示すＮ２個の各垂直受光部１１０jにある第１番目の受光素子１２０1,jのスイッチ素子１４０のみを「ＯＮ」とする垂直走査信号Ｖ1が出力される。スイッチ素子が「ＯＮ」になると、それまでの受光によって光電変換素子１３０に蓄積された電荷Ｑ1は、電流信号として受光部１００から出力される。つまり、光電変換素子の信号を読み出すことができる。電荷Ｑ1は容量値Ｃ0に設定された可変容量部２２２に流入する。
【００３０】
次に、図４により積分回路２２０内部の動作を説明する。容量制御機構２４０（図３参照）は、ＳＷ１２〜ＳＷ１４を開放した後、ＳＷ２２〜２４を閉じる。この結果、積分信号ＶSは、
ＶS＝Ｑ／Ｃ1
で示す電圧値として出力される。積分信号ＶSは、比較回路２３０に入力して、基準電圧値ＶREFと比較される。ここで、ＶSとＶREFの差が、分解能の範囲以下、すなわち±（Ｃ4／２）以下の時は、一致したものとみなし、更なる容量制御は行わず、積分動作を終了する。分解能の範囲で一致しないときは、更に容量制御を行い、積分動作を続ける。
【００３１】
例えば、ＶS＞ＶREFであれば、容量制御機構２４０は、更に、ＳＷ２２を開放した後に、ＳＷ１２を閉じる。この結果、積分信号ＶSは、
ＶS＝Ｑ／（Ｃ1＋Ｃ2）
で示す電圧値となる。この積分信号ＶSは、後続の比較回路２３０（同）に入力して、基準電圧値ＶREFと比較される。
【００３２】
また、ＶS＜ＶREFであれば、容量制御機構２４０は、更に、ＳＷ１１及びＳＷ２２を開放した後に、ＳＷ１２及びＳＷ２１を閉じる。この結果、積分信号ＶSは、
ＶS＝Ｑ／Ｃ2
で示す電圧値となる。この積分信号ＶSは、後続の比較回路２３０に送出され、基準電圧値ＶREFと比較される。
【００３３】
以後、同様にして、積分回路２２０→比較回路２３０→容量制御機構２４０→積分回路２２０のフィードバックループによって、積分信号ＶSが基準電圧値ＶREFと分解能の範囲で一致するまで、比較及び容量設定（ＳＷ１１〜ＳＷ１４及びＳＷ２１〜ＳＷ２４のＯＮ／ＯＦＦ制御）を順次繰り返す。積分動作が終了した時点のＳＷ１１〜ＳＷ１４のＯＮ／ＯＦＦ状態を示す容量指示信号Ｃ11〜Ｃ14の値は、電荷Ｑ1の値に対応したデジタル信号であり、最上位ビット（ＭＳＢ）の値がＣ11、最下位ビット（ＬＳＢ）の値がＣ14である。こうしてＡ／Ｄ変換が行われ、これらの値をデジタル信号Ｄ１として、演算素子アレイ１４に出力する。以上述べたように、この装置では、デジタル信号Ｄ１の各ビット値は、ＭＳＢ側からＬＳＢ側へ１ビットずつ順に定まる。
【００３４】
第１番目の受光素子１２０1,jの光電出力に相当するデジタル信号の送出が終了すると、リセット信号Ｒが有為とされ、再び、非有為にして、可変容量部２２２jの容量値を初期化した後に、各垂直受光部１１０jの第２番目の受光素子１２０2,jのスイッチ素子１４０のみを「ＯＮ」とする垂直走査信号Ｖ2を出力し、上述と同様の動作により、第２番目の受光素子１２０2,jの光電出力を読み出し、これに相当するデジタル信号を送出する。以下、垂直走査信号を切り替えて、全受光素子１２０の光電出力を読み出し、相当するデジタル信号を演算素子アレイ１４に出力する。
【００３５】
次に、演算素子４００の動作を図５により説明する。Ａ／Ｄ変換されたデジタル信号は、それぞれの受光素子１２０i,jに対応する演算素子４００のレジスタマトリックス４０１に送られる。演算素子４００はそれぞれ４近傍接続されているため、インストラクションで順次隣の演算素子４００に信号を送るように命令を出すことで転送する演算素子４００の指定ができる。各垂直受光部１１０jの信号は対応する演算素子４００に対して、各列が同時に転送されるため、ｎビット×Ｎ２回のデータ転送で、全受光素子１２０の光電出力データが全演算素子４００に転送されることになる。
【００３６】
演算素子４００内部の演算は、必要があれば、各演算素子４００間でそれぞれのレジスタマトリックス４０１に収容された信号の転送を行った後、演算に必要な信号をレジスタマトリックス４０１からＡラッチ４０２とＢラッチ４０３に読み出し、ＡＬＵ４０４で所定の演算を行い、計算結果はレジスタマトリックス４０１を介して外部回路に出される。演算は全演算素子４００において同時に並列処理されるため、極めて高速の演算が可能である。以下に、「エッジ抽出」を例にとり、画像処理の実行動作を詳細に説明する。
【００３７】
例に挙げる「エッジ抽出」は画像処理において最も頻繁に利用される処理である。最も簡単に演算する場合は、隣接する画素の強度値との差分による２近傍演算が用いられる。これを数式で表すと、
Ｉ’（ｘ，ｙ）＝｜Ｉ（ｘ，ｙ）−Ｉ（ｘ−１，ｙ）｜
となる。ここで（ｘ，ｙ）は素子の位置座標、Ｉ（ｘ，ｙ）は画像強度データの値、Ｉ’（ｘ，ｙ）は求めたいエッジ抽出画像の画像強度データの値である。
【００３８】
転送から演算終了までの各演算素子４００における演算のフロー図を図６に示す。Ａ／Ｄ変換器２１０から演算素子４００へのデータ転送の際に、Ｉ（ｘ，ｙ）とＩ（ｘ−１，ｙ）に相当するデータを各演算素子４００内のレジスタマトリックス４０１に格納する。これにより、Ａ／Ｄ変換器アレイ１１からのデータ転送が終了した後の各演算素子４００間でのデータ転送をできる限り省略して、効率的で高速の処理をすることが可能になる。Ａ／Ｄ変換器２１０から全演算素子４００へのデータ転送が終了した時点で、レジスタマトリックス４０１に収容されたＩ（ｘ，ｙ）とＩ（ｘ−１，ｙ）のデータを下位ビットからＡラッチ４０２とＢラッチ４０３に読み出し、ＡＬＵ４０４により、差分を求める演算を行う。この計算結果はいったんレジスタマトリックス４０１に格納する。差分が求まった後、この差分値を再びＡラッチ４０２に読み出し、ＡＬＵ４０４により、その絶対値を算出し、レジスタマトリックス４０１に計算結果を格納し、外部に出力する。以上の計算処理は全ての演算素子４００で同時に並列処理されるため、非常に高速で演算処理が行われる。
【００３９】
画像処理でよく用いられるアルゴリズムのいくつかについて、本実施形態により演算を行った場合のステップ数、処理時間の例を図７に示す。図７から明らかなように、本実施形態では、一般的な画像処理（例えば、平滑化、細線化、コンボリューション、相関、マスク処理）演算を完全並列処理により、非常に高速で行うことができる。したがって、これまでの視覚センサ装置では、演算処理速度が遅いために制限されていたＦＡロボット制御などの分野への応用が可能になる。
【００４０】
さらに、本実施形態では、受光素子１２０の列毎にデータを転送しているため、列全体のデータを使用するような画像演算を、転送と同時に行うことで、より効率的な処理を行うことができる。例えば、図８に例示する画像の強度の合計値、平均値、重心、最大値・最小値の検出、などの画像処理演算においては、画像全体の情報を必要とするため、受光素子１２０−Ａ／Ｄ変換器２１０−演算素子４００を１対１に対応させた完全な並列処理システムにおいても、演算素子４００間のデータ転送に要する時間が長くなる。しかし、本実施形態では、データが受光素子１２０の列毎に転送される構成になっているため、このデータ転送を利用して演算素子４００間のデータ転送を省略することにより、列全体のデータを利用する処理を効率的に行うことができる。
【００４１】
例として画像強度の合計値を演算する場合について、図３、図５を参照して説明する。演算は、１列分の画像データが全て通過することになるＡ／Ｄ変換器からの信号を最初に受け取る位置（１，ｙ）の演算素子４００（以下第１の演算素子と呼ぶ）において行う。まず、全演算素子４００のレジスタ４０１を０にセットする。そして、位置（ｘ，ｙ）の受光素子１２０からの画像強度のデータＩ（ｘ，ｙ）を対応する位置（ｘ，ｙ）の演算素子４００に転送する際に、このデータを位置（１，ｙ）にある第１の演算素子４００においてレジスタ５１内のデータと加算して、計算結果により記憶されたデータを置き換える。１列分のデータ転送が終了した時点で、各列の第１の演算素子４００には、１列分の画像強度の合計値Ｇ（ｙ）が蓄えられている。これを行方向に加算していけば、画像全体の画像強度の合計値Ｇを得ることができる。
【００４２】
実際の画像処理では、図７に示した画像処理演算と図８に示した列あるいは画像全体のデータを使用するような演算を組み合わせて使用することが多く、このような演算では、本実施形態のような部分並列型の処理システムでも完全並列処理システムとほぼ同等の高速処理が可能となる。一方、本実施形態では、上述したように、画像取込部と画像処理部を分離できるため、それぞれの特性に合わせて製造することが可能で、製作が容易かつ安定した生産が可能になる。
【００４３】
本実施形態が目指しているのは、実用的な高速性と十分な解像度を有する画像処理システムである。解像度の目安としては、ＦＡシステムにおけるロボット制御には、受光素子１２０を１２８×１２８個以上配列する解像度が必要とされる。従来例１によれば、受光素子１２０の配列数を増やすことが難しいため、ここまで解像度を上げることは困難だった。本実施形態によれば、受光素子アレイ１１と演算素子アレイ１４を分離でき、それぞれの集積度を高められるため、この解像度を十分に実現できる。また、処理速度の目安としては、ロボットのアクチュエータの速度（１〜１０ミリ秒）が必要である。本実施形態では、この処理速度は、Ａ／Ｄ変換器２１０におけるＡ／Ｄ変換処理速度によって決まるが、以下に述べるように、十分に高速化が可能である。
【００４４】
ここで、本実施形態での１画素あたりのＡ／Ｄ変換速度は、１ビットあたり１マイクロ秒となる。例えば、入力アナログ信号を６ビット（６４階調）でデジタル変換する場合には、１列分の１２８個の受光素子１２０の出力信号をデジタル変換するのに必要な時間は、６マイクロ秒×１２８＝０．７６８ミリ秒となる。画像処理については、各受光素子に１対１に対応して演算素子が配置され、全演算素子で並列処理されるため、図７に示すように、０．４ミリ秒以下でほとんどの演算処理が行える。したがって、転送時間を考慮しても、ほとんどの画像処理が１ミリ秒以下で行えることになり、十分な高速性能を有する。一方、従来例２〜４では、複数の画素の計算を１つの演算素子で行う必要があるため、計算処理の時間自体が長くなる。例えば、従来例２の場合は、最も基本的な画像処理演算である４近傍エッジ検出の場合で、１点あたり７．７マイクロ秒かかる演算を１２８回繰り返す必要があり、合計の演算時間だけで約１ミリ秒かかる。実際には、受光素子からのデータ転送時間が必要であるうえに、さらに画像処理で複雑な演算を必要とすることがあるため、これでは実用的な高速処理はできない。
【００４５】
また、前述したように本実施形態のＡ／Ｄ変換器は、最上位ビットからＡ／Ｄ変換を行う。したがって、所望のビット数まで変換した時点で、リセット信号Ｒを送出し、次の光信号のＡ／Ｄ変換に移ることにより、Ａ／Ｄ変換の階調を変更することができる。これにより、より高速で、複雑な処理を行うことが可能となる。例えば、移動物体のトラッキングをするような場合に、物体が高速で移動している場合は、画像を１ビットの２値レベルで演算処理するように制御すれば、転送時間は、前述の６ビットの時の６分の１の０．１２８秒に短縮され、高速フィードバック制御に適用できる。逆に、低速で動いている場合には、階調を上げることにより、より精度を向上させて、追従することができる。
【００４６】
【発明の効果】
以上説明したように、本発明によれば、受光素子と１対１に対応する演算素子を有しているので、並列処理により高速の画像処理が可能である。また、Ａ／Ｄ変換器を１列ごとに設けているので、Ａ／Ｄ変換器を素子毎に設けている場合に比較して、受光素子と演算素子間の伝送線の数が少なく、受光素子と演算素子を別々に製造、配置することが容易にできる。このため、両者とも集積度を最適にすることができ、多画素数の高速視覚センサ装置を容易に製作できる。Ａ／Ｄ変換器を列ごとに設けたため、Ａ／Ｄ変換の処理速度により、全体の処理速度が制限を受けるが、ＦＡロボット制御に十分な画素数といわれる１２８×１２８画素の映像を６４階調で処理する場合でも、ほとんどの画像処理が１ミリ秒以下で終了し、従来にない高速処理が可能である。
【００４７】
また、Ａ／Ｄ変換器から演算素子へのデータ転送時に、列内の演算素子間でのデータ転送や演算を平行して処理できるため、Ａ／Ｄ変換器から演算素子へのデータ転送後に必要な演算素子間のデータ転送が少なくなり、処理時間を短縮できる。特に、列全体のデータを利用する画像処理演算で、効率的な処理が可能となる。
【００４８】
さらに、Ａ／Ｄ変換器の変換階調を可変にすることにより、高速で移動する物体の制御等には、低階調として、さらに高速で処理し、低速で移動する物体の制御の際には、転送時間がかかるが、高階調で処理するなど、状況に応じた汎用性の高い制御が可能である。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るブロック図である。
【図２】図１の実施形態に係る概略構成図である。
【図３】図１の実施形態に係る受光素子アレイ、並列アンプ及びＡ／Ｄ変換器アレイの回路構成図である。
【図４】図１の実施形態に係る積分回路の詳細回路構成図である。
【図５】図１の実施形態に係る演算素子のブロック図である。
【図６】図５の演算素子の２近傍演算時のフロー図である。
【図７】図５の演算素子の演算時間例を示す図である。
【図８】列全体又は画像全体のデータを必要とする画像処理の例を示す図である。
【図９】Ｉ／Ｏボトルネックの概念図である。
【符号の説明】
１１…受光素子アレイ、１２…アンプ、１３…Ａ／Ｄ変換器アレイ、１４…演算素子アレイ、１５…制御回路、１６…インストラクション／コマンドバス、１００…受光部、１１０…垂直受光部、１２０…受光素子、１３０…光電変換素子、１４０…スイッチ素子、２００…信号処理部、２１０…Ａ／Ｄ変換器、２２０…積分回路、２２１…チャージアンプ、２２２…可変容量部、２２３…スイッチ素子、２３０…比較回路、２４０…容量制御機構、３００…タイミング制御部、３１０…基本タイミング部、３２０…垂直シフトレジスタ、３４０…制御信号部、４００…演算素子、４０１…レジスタマトリックス、４０２…Ａラッチ、４０３…Ｂラッチ、４０４…ＡＬＵ、５００…対象物、５０１…テレビカメラ、５０２…画像処理装置、Ｃ１〜Ｃ４…容量素子、ＳＷ１１〜ＳＷ１４、ＳＷ２１〜ＳＷ２４…スイッチ素子。
【図１】
0003834113.tif 000002
【図２】
0003834113.tif 000003
【図３】
0003834113.tif 000004
【図４】
0003834113.tif 000005
【図５】
0003834113.tif 000006
【図６】
0003834113.tif 000007
【図７】
0003834113.tif 000008
【図８】
0003834113.tif 000009
【図９】
0003834113.tif 000010