(57)【特許請求の範囲】
【請求項１】
１つの半導体チップに設けられ、アレイ状に配置された複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記複数のプロセッシングエレメントにおける各プロセッシングエレメントは、
前記複数のプロセッシングエレメントにおける他のプロセッシングエレメントに対して出力を供給するラッチ手段と、
当該各プロセッシングエレメントに対する入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段と、をそれぞれ備え、
前記各プロセッシングエレメントは、前記ラッチ手段をスルー状態にすることで直接結合され、全体として演算処理を実行するプロセッシングエレメント群を構成するモードを有し、
前記零信号は、前記選択手段が該零信号を選択して出力するプロセッシングエレメントを、前記プロセッシングエレメント群における先頭のプロセッシングエレメントとして指定することを特徴とする半導体集積回路装置。
【請求項２】
請求項１に記載の半導体集積回路装置において、さらに、
前記各プロセッシングエレメントの座標位置情報に応じて、当該各プロセッシングエレメントの前記選択手段が選択する入力元を制御する制御手段を備えることを特徴とする半導体集積回路装置。
【請求項３】
請求項１または２に記載の半導体集積回路装置において、該半導体集積回路装置は、リアルタイムの多ビット演算処理または累積演算処理を実行することを特徴とする半導体集積回路装置。
【請求項４】
請求項１に記載の半導体集積回路装置において、前記プロセッシングエレメント群は、前記プロセッシングエレメントを複数結合してブロック化したものであることを特徴とする半導体集積回路装置。
【請求項５】
請求項４に記載の半導体集積回路装置において、前記複数のプロセッシングエレメントを結合するブロック化の構成およびサイズを動的に可変としたことを特徴とする半導体集積回路装置。
【請求項６】
請求項１に記載の半導体集積回路装置において、該半導体集積回路装置は、複数の光検出回路を備え、前記各光検出回路は、光検出素子の出力と基準電圧とを比較する比較手段を備え、該比較手段の出力が該基準電圧を切るまでの時間をカウントしてＡ／Ｄ変換処理を行うことを特徴とする半導体集積回路装置。
【請求項７】
請求項６に記載の半導体集積回路装置において、前記比較手段に与える基準電圧レベルを可変としたことを特徴とする半導体集積回路装置。
【請求項８】
請求項６に記載の半導体集積回路装置において、前記比較手段の出力が前記基準電圧を切るまでの時間をカウントするカウント間隔を可変としたことを特徴とする半導体集積回路装置。
【請求項９】
請求項６〜８のいずれか１項に記載の半導体集積回路装置において、前記複数の光検出回路は、前記１つの半導体チップに設けられていることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路装置に関し、特に、複数の光検出器（ＰＤ：Photo Detector）およびプロセッシングエレメント（ＰＥ： Processing Element（演算処理回路））を備えたビジョンチップに関する。
【０００２】
画像処理を専門に行う画像処理プロセッサは、従来より研究、開発および提案がなされており、その多くはなんらかの並列演算を行う機構を備えている。例えば、並列度が数万にのぼる超並列プロセッサでは、少数または１つの画素毎にＰＥ（プロセッシングエレメント）を割り当て、それら複数のＰＥに対して同時に同一の命令を実行させるというＳＩＭＤ（Single Instruction Stream Multi Data Stream）型の制御を行うことで、ある種の画像処理を効率よく実行できる。
【０００３】
このような画像処理プロセッサは、かつてはスーパーコンピュータクラスの大規模なものがほとんどであったが、近年、半導体集積化技術の進歩に伴って、さらに、画像処理を手軽に扱いたいというニーズの高まりから、これを１チップ化する動きが進んでいる。さらに、プロセッサだけでなく、ＰＤ（光検出器；光検出回路，光検出素子）までも１チップに収めたビジョンチップと呼ばれるデバイスの研究も注目を集めている。
【０００４】
このような従来のビジョンチップや画像処理用ＳＩＭＤプロセッサ（半導体集積回路装置）においては、ＰＥの性能と画素数の間にトレードオフの関係が存在し、より汎用性の高い半導体集積回路装置の提供を困難にさせている。また、グローバル演算に不向きな構造であったため、２次元パターンからスカラー量を抽出する処理を効率よく行うことができなかった。
【０００５】
すなわち、従来、ビジョンチップのＰＥに採用されていたＡＬＵは、単に各ＰＥ内のデータのみに基づいて演算を行うものか、或いは、隣接ＰＥからの出力が直接ＡＬＵの入力とするものであるため、実現できる演算機能が自身とその周囲のＰＥから演算を行うローカルな演算に限られている。ビジョンチップの均質な配列構造を崩さずにグローバル演算を行うには、例えば、新たに加算器等の付加回路が必要となって回路規模が大きくなってしまう。これは、限られたチップ面積上になるべく多くの画素を配置するビジョンチップに対する回路規模をできるだけ小さくするという要求に相反する。
【０００６】
また、従来のビジョンチップでは、各ＰＥの演算能力や搭載されているメモリの量が有限であることが、実現できる処理の範囲を制限することになっている。そして、ビジョンチップの汎用性を増すために、演算能力や搭載するメモリの容量を増やすと、今度は回路面積が肥大化してしまうというジレンマがある。
【０００７】
そこで、画素数（搭載可能なＰＥの数）の低下を来すことなく、高い汎用性を有する半導体集積回路装置の提供が要望されている。
【０００８】
【従来の技術】
従来、画素毎にコンパクトなＰＥを備えた半導体集積回路装置（ビジョンチップ）の設計においては、ＰＥの性能と画素数のトレードオフポイントが固定であったため、想定されるあらゆる用途に対応できるように設計を行うと、通常の用途に対しては冗長になってしまった。また、従来の半導体集積回路装置はグローバル演算に不向きな構造であるため、画像処理のリアルタイム応用に必須の２次元パターンからスカラー量を抽出する処理を効率よく行うことができなかった。
【０００９】
図１はビジョンチップを概念的に示す図であり、図２は従来のビジョンチップのアーキテクチャを説明するための図である。
【００１０】
図１に示されるように、ビジョンチップ１は、光学系（例えば、レンズ）を介して与えられた画像（入力画像）をマトリクス状に配置された複数のユニット（画素）１００で検出および処理して出力する。
【００１１】
図２に示されるように、ビジョンチップ１は、マトリクス状に配置された複数のユニット１００、デコーダ１１、出力回路１２、および、通信手段１３を備えた１つの半導体チップとして構成される。デコーダ１１には、命令ＩＮＳＴおよびクロックＣＬＫ等が入力され、通信手段１３を介してデコードされた信号を各ユニット１００に供給し、また、出力回路１２は、通信手段１３を介して供給される各ユニット１００で検出および処理された信号を外部に出力する。
【００１２】
各ユニット１００は、光検出器（ＰＤ：光検出回路，光検出素子）１０１およびプロセッシングエレメント（ＰＥ）１０２を備える。図２に示すビジョンチップ１（ＰＥ１０２）は、アーキテクチャＳ3ＰＥ（Simple and Smart Sensory Processing Element）に従ったもので、センサ（ＰＤ１０１）とプロセッサ（ＰＥ１０２）の一体化により、それらの間の通信ボトルネックを解消し、１秒間に１０００枚を超える高フレームレートを実現するものである。このような高いフレームレートを有するビジョンチップは、視覚情報を用いたフィードバック制御を容易に実現し、また、ロボットビジョン等の分野で画像処理のリアルタイム応用を促進するものとして期待されている。ここで、ビジョンチップのアーキテクチャＳ3ＰＥを概説する。
【００１３】
図２において、参照符号１２１はローカルメモリ、１２２はＩ／Ｏポート、１２３〜１２５はデータラッチ（Ｄラッチ）、そして、１２６はＡＬＵ（Arithmetic and Logic Unit）を示している。
【００１４】
図２に示されるように、ビジョンチップ１は、ＰＥ（プロセッシングエレメント）１０２が画素数分マトリクス状に配列され、各ＰＥ１０２にはＰＤ（光検出器）１０１が取り付けられている。ＰＥ１０２は、主としてＡＬＵ１２６およびローカルメモリ１２１を備える。ＡＬＵ１２６は、全加算器、キャリー格納用レジスタ、および、いくつかのマルチプレクサを備える簡単な構成とされ、論理演算と算術演算を共通の回路で実行する。なお、演算はビット単位で行われ、多ビットデータの演算は繰り返し処理によりビットシリアルに実行する。
【００１５】
ローカルメモリ１２１は、２４ビットのランダムアクセスメモリ（ＲＡＭ）に加え、８ビットのＩ／Ｏポート（８ビットの Memory-mapped Input/Output ポート）１２２が同一のアドレス空間に割り当てられている。これらは、ビット単位でランダムにアクセスすることが可能となっている。Ｉ／Ｏポート１２２は、上下左右の４近傍との通信、ＰＤ１０１からの入力、および，零信号（”０”）と接続されている。このメモリマップＩ／Ｏ方式（１２２）の採用により、演算だけでなく入出力を含めた全ての処理をローカルメモリ１２１ヘのアクセスで行うようになっている。
【００１６】
ＰＤ１０１からの光強度信号のＡ／Ｄ（Analog to Digital）変換は、光電流による蓄積電荷の放電をしきい値回路（インバータ）で検出し、そのしきい値を切るまでの時間を計測して行っている。その際、ＰＥ１０２をカウンタとして用いることにより、回路を増やすことなくＡ／Ｄ変換を実現している。
【００１７】
上記のＳ3ＰＥでは、ＳＩＭＤ型の制御方式を用いており、全ての画素（ＰＥ１０２）に対し、同時に同一の命令が実行されるため、画像の局所性を利用したアルゴリズム、すなわち、画素自身とその周辺の画素から値が決定されるようなアルゴリズムが極めて効率的に実行できる。例えば、初期視覚処理と呼ばれるもののほとんどはこのようなアルゴリズムで実現できる。初期視覚処理は、画像処理のリアルタイム応用において、特徴抽出・認識を行う前の画像の前処理として用いられる。なお、この初期視覚処理アルゴリズムを実装したところ、どれもμｓオーダーの演算時間に収めることができた。このことから、ビジョンチップが実現する高いフレームレートに見合う演算能力を持っていることがわかる。
【００１８】
また、上記のＳ3ＰＥアーキテクチャに基づき、０．３５μｍＣＭＯＳプロセスを用いたフルカスタム設計を行った結果、各ＰＥあたりトランジスタ数で約４００個、面積で１０５μｍ×１０５μｍというコンパクトな回路に収まり、この設計を基に、６４×６４画素を１チップ上に集積したビジョンチップを試作したところ、チップ面積は８．７ｍｍ×８．７ｍｍとなった。
【００１９】
なお、従来、上述したＳ3ＰＥのほかにも、汎用のＰＥを利用したビジョンチップがいくつか作られている。例えば、スウェーデンの Linkoping 大学では光センサとＡ／ＤコンバータおよびＰＥアレイを１チップ化したビジョンチップの研究が行なわれ、ＩＶＰ社より製品化された。また、その MAPP2200 と呼ばれるビジョンチップは、２５６×２５６画素のＣＭＯＳイメージセンサの列毎にＡ／Ｄコンバータと汎用のＰＥが取り付けられている。さらに、同研究グループは、画素単位で並列演算を行うビジョンチップ Near-Sensor Image Processing（ＮＳＩＰ）の研究も行っており、３２×３２画素のチップが開発されている。また、フランスの Bernard らは Programmable Artificial Retina と呼ばれる汎用のＰＥを採用したビジョンチップを設計しており、６５×７６画素（後に、１２８×１２８画素）のチップが開発されている。
【００２０】
なお、センサとの一体化はなされていないが、１画素を１つのＰＥが処理する画素単位のＳＩＭＤプロセッサとして、Gealow らによる Pixel-Parallel Image Processor があり、６４×６４＝４０９６個のＰＥが１チップに収められている。同種のアプローチとして、Gayles らによるＭＧＡＰ−２もあり、４９１５２個のＰＥが３２チップ構成で実現されている。
【００２１】
【発明が解決しようとする課題】
上述したように、従来、様々なビジョンチップが研究、開発および提案されているが、従来のビジョンチップの設計においては、なるべくＰＥ（１０２）の回路を小さくする必要から、ＰＥの性能は用途に対して最低限のものでなくてはならなかった。ここで、ＰＥの性能とは、主に演算機能とメモリ容量を指す。演算機能の充実はアルゴリズムの実行速度の向上につながり、また、メモリ容量の増加は実行できるアルゴリズムの範囲を広げることにつながる。特に、メモリ容量はビジョンチップを設計する上で重要な項目であり、ビジョンチップの適用範囲を決めることにもなる。
【００２２】
ところで、ビジョンチップ（半導体集積回路装置）は、実行させたいアルゴリズムの範囲を広げようとすればするほど、すなわち、汎用性を高めようとすればするほど、例えば、大容量のメモリが必要となって各ＰＥの回路面積が増加することになる。この各ＰＥの回路面積の増加は、そのまま１チップに集積できる画素数（ＰＥの数）の減少につながる。このように、ビジョンチップにおいて、汎用性と画素数との間にトレードオフの関係が存在し、ビジョンチップを設計する上でジレンマとなっている。
【００２３】
他の問題として、多くのビジョンチップが採用している２Ｄメッシュネットワーク構造（通信手段１３：上下左右の四方向とのみ接続するもの）は、グローバル演算に不向きであるということである。この構造は、例えば、エッジ検出のように、ある画素の値がその画素自身とその周辺の画素からのみ決定されるような局所的な演算に対しては非常に強力であるが、遠く離れた画素の情報を利用するような演算には、その距離分の通信時間がかかってしまう。
【００２４】
これらの問題に対して、上述したＳ3ＰＥをはじめとする従来のビジョンチップおよびＳＩＭＤプロセッサでは、効果的な解決策を提示できていなかった。また、ＭＧＡＰ−２やいくつかのＳＩＭＤプロセッサでは、コンディションレジスタを利用したＰＥの結合機能を持ち、前者の問題に対処しているが、結合がレジスタを介した擬似的なものであるため、結合ＰＥ数分の段数のパイプライン処理が必要となる。これは、段数が多くなった場合に効率が悪く、好ましくない。さらに、後者の問題に対する解決とはなっていない。また、ＮＳＩＰで採用されているＧＬＵや、高速対象追跡ビジョンチップで使われているモーメント抽出回路は、後者の問題を部分的に解決しているが、これらは画像全体に対する固定した処理であり、より高度なアルゴリズムを実装したい場合には柔軟性が不足している。
【００２５】
すなわち、従来の半導体集積回路装置は、例えば、ロボットビジョンに必要不可欠な入力画像の特徴抽出や画像認識といった処理を十分に実現することが困難である。
【００２６】
本発明の第１の形態は、上述した従来の半導体集積回路装置が有する課題に鑑み、画素数の低下を来すことなく（ＰＥの占有面積の増大を来すことなく）、高い汎用性を有する半導体集積回路装置の提供を目的とする。本発明の第２の形態は、光検出器の出力信号のＡ／Ｄ変換を追加回路なしで行うと共に、柔軟なセンシングを実現することのできる半導体集積回路装置の提供を目的とする。
【００２７】
【課題を解決するための手段】
本発明によれば、１つの半導体チップに設けられ、アレイ状に配置された複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記複数のプロセッシングエレメントにおける各プロセッシングエレメントは、前記複数のプロセッシングエレメントにおける他のプロセッシングエレメントに対して出力を供給するラッチ手段と、当該各プロセッシングエレメントに対する入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段と、をそれぞれ備え、前記各プロセッシングエレメントは、前記ラッチ手段をスルー状態にすることで直接結合され、全体として演算処理を実行するプロセッシングエレメント群を構成するモードを有し、前記零信号は、前記選択手段が該零信号を選択して出力するプロセッシングエレメントを、前記プロセッシングエレメント群における先頭のプロセッシングエレメントとして指定することを特徴とする半導体集積回路装置が提供される。
本発明の第１の形態によれば、１つの半導体チップに設けられた複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記各プロセッシングエレメントの出力に設けられたラッチ手段と、入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段とを備えることを特徴とする半導体集積回路装置が提供される。
【００２８】
また、本発明の第１の形態によれば、複数のプロセッシングエレメント、および、該プロセッシングエレメントをつなぐ通信手段を有する半導体集積回路装置であって、第１のプロセッシングエレメントにおける資源を、前記通信手段を介して任意の第２のプロセッシングエレメントの資源として使用することを特徴とする半導体集積回路装置も提供される。
【００２９】
本発明の第２の形態によれば、複数の光検出回路および複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記各光検出回路は、光検出素子の出力と基準電圧とを比較する比較手段を備え、該比較手段の出力が該基準電圧を切るまでの時間をカウントしてＡ／Ｄ変換処理を行うことを特徴とする半導体集積回路装置が提供される。
【００３０】
本発明の第１の形態に係る半導体集積回路装置は、これまでのアーキテクチャに若干の変更を加えるだけで、複数のＰＥ（プロセッシングエレメント）を結合して１つの大きなＰＥとして扱うことが可能であり、これにより、ＰＥの性能と画素数（搭載可能なＰＥの数）のトレードオフポイントが可変になり、効率よく資源を利用することができる。さらに、本発明の第１の形態に係る半導体集積回路装置によれば、結合されたＰＥの中で総和やブロードキャスト等のグローバル演算を実行することができ、特徴量フィードバックを実現することが可能になる。
【００３１】
すなわち、ビジョンチップに用いられるビットシリアルＡＬＵに、ＰＥ間通信の機能だけでなく、ＰＥ間を回路的に連結する機能を付加することで、累積演算や多ビット演算を実現する。これにより、画像全体の総和を計算するようなグローバルな演算を、新たに加算器等の回路を追加することなく実行することができるようになる。さらに、結合の組合せを変えることにより、複数のＰＥを用いて多ビット演算を実行することもでき、個々のＰＥの能力を集めてひとつの強力なプロセッサとして利用することも可能になる。
【００３２】
また、近傍通信の入力元を上下左右のいずれかのＰＥまたは零信号からＰＥ毎に選択できるようにすることで、複数のＰＥを縦続接続してブロック化することができる。ブロックの指定には、列バスおよび行バスを通じて行なわれるか、或いは、内部データから生成される。このとき、ｎ個のＰＥが接続されたブロックにおいては、ｎ個のＡＬＵが結合されｎビットＡＬＵとして振る舞わせることが可能であり、ｎ個のデータの総和・ＡＮＤ・ＯＲ・ＸＯＲおよびｎビットデータ同士の加減算等を一度に計算することができる。また、メモリ素子も、例えば、１ビットメモリを２４個持つＰＥをｎ個結合することで、ｎビットが１ワードのメモリが２４個使用可能になる。従って、ブロックのサイズを大きくすることで、素子を無駄にすることなく、ブロックの演算能力を高めることができる。
【００３３】
本発明の第２の形態に係る半導体集積回路装置は、光検出素子（光検出器ＰＤの画素値）の出力のＡ／Ｄ変換を、ソフトウェアを用いて行うことにより、柔軟で能動的な画像センシングを実現することができる。ここで、Ａ／Ｄ変換を、ソフトウェアを用いて行うとは、フォトダイオードに光が照射されて電荷が次第に抜けるのを比較手段（コンパレータ）で観測し、電圧が基準電圧（しきい値）を切るまでの時間をプロセッシングエレメント（ＰＥ）でカウントすることであり、カウントの際の時間の刻み幅をプログラムで可変にすることにより、或いは、基準電圧を可変にすることにより、アナログ量の量子化の区間割り当てを任意に実現する。また、リセットのタイミングをローカルに可変にすることで、広ダイナミックレンジと高フレームレートを両立した撮像が可能になる。
【００３４】
上記の本発明の特徴的な構成は、ビジョンチップのみならず、一般のイメージセンサ、或いは、広く複数のプロセッシングエレメント（演算処理回路）を有する半導体集積回路装置に対しても適用することができ、その性能を大幅に向上することが可能である。
【００３５】
【発明の実施の形態】
以下、本発明に係る半導体集積回路装置（ビジョンチップ）の実施例を、添付図面を参照して詳述する。
【００３６】
図３は本発明の第１の形態に係るビジョンチップの一例のアーキテクチャを説明するための図である。図３において、参照符号２はＰＥ（図２におけるプロセッシングエレメント１０２に対応）、１２１はローカルメモリ、１２２はＩ／Ｏポート、１２３，１２４はデータラッチ（Ｄラッチ）、そして、１２６はＡＬＵを示している。さらに、参照符号２０は３ビットのレジスタ（状態レジスタ）、２１は列バス（ＣＯＬ）、２２は行バス（ＲＯＷ）、そして、２３はＤラッチを示している。
【００３７】
図３に示すＰＥ２（１０２）は、前述した図２に示されるように、画素数分マトリクス状に配列され、それぞれＰＤ（光検出器１０１）が取り付けられてビジョンチップ１を構成する。ＰＥ２は、主としてＡＬＵ１２６およびローカルメモリ１２１を備える。ＡＬＵ１２６は、マルチプレクサ１２６１〜１２６５、全加算器（ＦＡ：Full Adder）１２６６、および、Ｄ型フリップフロップ（キャリー格納用レジスタ）１２６７を備える。ここで、各マルチプレクサ１２６１〜１２６５は、命令（制御信号）Ｓ０〜Ｓ５で制御することにより指定され、論理演算と算術演算を同一の回路で実行するようになっている。
【００３８】
図３に示すＰＥ２は、前述した図２に示すＳ3ＰＥ１０２に対して、座標依存値を送るための列バス２１および行バス２２の共通バスが設けられている。また、状態レジスタ２０の出力は、マルチプレクサ２７に供給され、近傍通信の入力元が上下左右のいずれかのＰＥまたは零信号（上下左右零のいずれか）から選択されてＡＬＵ１２６（マルチプレクサ１２６３）に供給されるようになっている。すなわち、メモリ空間上に用意された状態レジスタ２０（３ビットのレジスタ）の内容によって、マルチプレクサ２７を制御して近傍通信の入力先を上下左右零のいずれにするかを選択できるようになっている。ここで、マルチプレクサ２７が零を選択するのは、マルチプレクサ２７の出力（ＡＬＵ１２６の入力）を遮断して、例えば、始点となるＰＥの指定等を行う。さらに、マルチプレクサ１２６５の出力は、ローカルメモリ１２１に供給されると共に、Ｄラッチ２３に格納されて他のＰＥに出力されるようになっている。すなわち、近傍通信の出力先は、ラッチ（Ｄラッチ２３）になっている。
【００３９】
ここで、ＡＬＵ１２６の出力信号は、フリップフロップではなくラッチ（Ｄラッチ）２３を介して出力されるように構成されているのは、フリップフロップではクロックＣＬＫ（例えば、クロックＣＬＫの立ち上がりタイミング）を待つ必要があるのに対して、ラッチ２３ではイネーブル信号Ｎｅｎの入力（高レベル『Ｈ』）によりそのまま出力信号を他のＰＥ（ＡＬＵ）に伝えることができるからである。すなわち、例えば、ＰＥ２ａのＡＬＵ１２６ａの出力をＤラッチ２３ａ、および、ＰＥ２ｂのマルチプレクサ２７ｂ（１２６３ｂ）を介してＰＥ２ｂのＡＬＵ１２６ｂ（全加算器１２６６ｂ）に接続することにより、１つのモジュール（機能ブロック）として使用し、リアルタイムの処理を行うことができる。
【００４０】
単独のＰＥ２における演算の手順は、前述した図２のＳ3ＰＥ１０２と同様であり、Ａ，Ｂの二つのデータをローカルメモリ１２１から読み出して演算を実行した後、結果をローカルメモリ１２１に書き込む。算術命令の場合は、結果書き込みの後にキャリー格納用レジスタ１２６７を更新する。なお、Ａ，Ｂのデータが前回と同じ場合は読み出し処理を省略することができ、通常演算において実行できる演算の種類は、図２のＳ3ＰＥ１０２で実行できる演算と同じである。
【００４１】
具体的に、演算の手順としては、Ｄラッチ１２４をイネーブル信号Ａｅｎにより一瞬イネーブルにして、一方のオペランド（Ａ）をローカルメモリ１２１から読み込む。次に、Ｄラッチ１２３をイネーブル信号Ｂｅｎにより一瞬イネーブルにして、他方のオペランド（Ｂ）をメモリ１２１から読み込む。命令の種類を指定すると、演算結果が計算されるので、その演算結果をメモリ１２１へ格納する。
【００４２】
キャリー格納用レジスタ１２６７は、その出力が全加算器１２６６の入力につながっていることで、多ビットの加減算を１ビット単位で行うビットシリアル演算を実現する。ここで、キャリー格納用レジスタ１２６７は、クロックＣＬＫによりキャリー値を更新するようになっている。また、マルチプレクサ１２６３に与える制御信号Ｓ５を高レベル『Ｈ』（”１”）にすることにより、演算のオペランドの一方を近傍入力（マルチプレクサ２７の出力）に切り換えることができる。
【００４３】
近傍入力の元になる近傍出力の値は、ＡＬＵ１２６の演算結果であり、Ｄラッチ２３をイネーブル信号Ｎｅｎで一瞬イネーブルにすることにより更新される。このとき、制御信号Ｓ５が高レベル『Ｈ』になっていると、全加算器１２６６の出力が隣接ＰＥの全加算器の入力に直接（レジスタを介さずに）つながることになり、全加算器が縦続接続される。これを利用することで、累積演算や多ビット演算を実現する。
【００４４】
これにより、より無駄の少ない構成で高度な処理にも対応できるビジョンチップを実現することができる。
【００４５】
図４は図３のアーキテクチャにおけるＰＥ（プロセッシングエレメント）のブロック化処理を実行するための構成を説明するための図であり、図３における主たる構成（列バス２１、行バス２２、ローカルメモリ１２１、Ｉ／Ｏポート１２２、状態レジスタ２０、および、マルチプレクサ２７）を概略的に示すブロック図である。
【００４６】
ビジョンチップに設けられている（ローカルメモリ１２１にマップされている）状態レジスタ２０の内容によって、ＡＬＵ１２６に供給される近傍入力元を上側のＰＥ，下側のＰＥ，左側のＰＥ，右側のＰＥ，或いは，零信号のいずれかから各ＰＥ毎に（ローカルに）選択できるようになっている。また、列バス２１および行バス２２が設けられており、各ＰＥ（２）に座標情報を送信する機構を備えている。
【００４７】
本発明の第１の形態に係るビジョンチップの一例のアーキテクチャによれば、ＰＥ同士を結合し、１つの大きなＰＥとみなすことにより、演算機能やメモリ容量等を高めることができる。また、近傍通信の入力先をローカルに変えることで、さまざまな結合の形を作ることができる。すなわち、後述するように、可変粒度プロセッサや列並列プロセッサのエミュレーション等が実現される。結合されたＰＥの中で実行できる演算としては、例えば、累積演算および多ビット演算がある。
【００４８】
図５は本発明の第１の形態に係るビジョンチップの一例におけるＰＥの結合処理を説明するための図であり、左右（行方向）に隣接するＰＥの結合を示すブロック図である。
【００４９】
図５に示されるように、例えば、行方向に隣接する２つのプロセッシングエレメント（ＰＥ）２ａおよび２ｂは、ＰＥ２ａのラッチ２３ａを介してＡＬＵ１２６ａと１２６ｂが直接接続されて隣接するＰＥ同士の結合が実現される。このようにして結合されたＰＥ群は、累積演算（総和演算や全ＯＲ演算等）や多ビット演算を実行するために使用される。
【００５０】
図６は本発明の第１の形態に係るビジョンチップの一例における累積演算処理を説明するための図であり、図６は上述した図５に対応している。
【００５１】
図５および図６に示されるように、まず、データをメモリ（１２１）から読み出してラッチ（１２４）に格納し、全加算器（１２６６）にデータＡ（A(i), A(i+1), …）として供給する。次に、マルチプレクサ（１２６３）の制御信号Ｓ５を高レベル『Ｈ』（”１”）としてマルチプレクサ（２７）の出力を選択し、データＢとして全加算器（１２６６）に供給する。このとき、マルチプレクサ（２７）はラッチ（２０）の出力により、例えば、左側のＰＥの出力を選択して出力する。さらに、全加算器（１２６６）の出力（演算結果：W(i), W(i+1), …）をメモリ（１２１）に格納する。なお、必要に応じて、キャリー格納用レジスタ（１２６７）を更新する。
【００５２】
このように、累積演算処理は、例えば、マルチプレクサ１２６３ａの制御信号Ｓ５を”１”にした状態で、ラッチ２３ａのイネーブル信号Ｎｅｎを”１”にする（イネーブルにする）ことで、全加算器１２６６ａの和出力が次段の全加算器１２６６ｂの入力に直接接続され、累積演算を実行することができる。すなわち、同様に、近傍出力（例えば、左側のＰＥ（２ａ）のＡＬＵ（１２６ａ）の出力）を隣接ＰＥ（２ｂ）のＡＬＵ（１２６ｂ）の入力に直接に入力することで、演算器を多段となるように構成し、累積演算を実現する。
【００５３】
図６は、例えば、制御信号［Ｓ０，Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５］をそれぞれ［１，ｘ，０，０，１，ｘ］とした場合の例であり、累積加算器が構成される。これにより、ひとまとまりのＰＥからのデータの総和を計算することができる。演算の種類を変えることで、全ＯＲ・全ＡＮＤ等も計算することができる。
【００５４】
すなわち、演算の種類を論理和にすれば全ＯＲになり、また、加算にすれば総和になる。総和の場合は、最下位ビットから順にビットシリアルに計算することになる。全ＯＲを用いることで、ブロック内のデータのブロードキャストを実現することができる。
【００５５】
図７は本発明の第１の形態に係るビジョンチップの一例における総和演算処理を説明するための図であり、Ｎ＝４，ｍ＝２で、１１＋１０＋０１＋００の総和（１１＋１０＋０１＋００＝０１１０）が計算される。ここで、前述したように、各ＰＥの出力は、ラッチ（Ｄラッチ２３）を介して隣接する（右側の）ＰＥに供給されるようになっているため、１つのモジュールとして１命令で総和演算を実行することができる。
【００５６】
なお、例えば、列バス２１および行バス２２からの座標値をマスクとして用いることにより、モーメント量等のスカラー特徴量を計算することもできる。
【００５７】
図８は本発明の第１の形態に係るビジョンチップの一例における多ビット演算処理を説明するための図である。
【００５８】
まず、図８（Ｉ）に示されるように、一旦、キャリー格納用レジスタ（１２６７）に一方のオペランドに相当する値を格納するような命令を実行しておき、キャリー信号Ｃ（C(i), C(i+1), …）が次段に接続されるような命令を与える（図８（Ｉ）の例では、制御信号Ｓ［Ｓ０，Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５］にそれぞれ［１，ｘ，０，１，１，ｘ］を与える）ことにより、図８（II）に示されるような複数のＰＥを用いた多ビット演算が実現される。なお、図８に示されるように、加算命令の場合、桁上げ加算器を構成することになる。
【００５９】
具体的に、まず、一方のデータをローカルメモリ（１２１）から読み出してキャリー格納用レジスタ（１２６７）に格納する（”１”との加算を実行する）。また、他方のデータをメモリ（１２１）から読み出してラッチ（１２４）に格納する。さらに、命令を選択する（制御信号Ｓ５＝”１”，Ｓ２＝”１”）。
【００６０】
次に、近傍出力ラッチをイネーブルにする（図８（Ｉ）：マルチプレクサ（１２６３）の制御信号Ｓ５を”１”としてマルチプレクサ（２７）の出力を選択する。このとき、マルチプレクサ（２７）はラッチ（２０）の出力により、例えば、左側のＰＥの出力を選択して出力する。）さらに、近傍出力ラッチをディセーブルにする。
【００６１】
そして、命令を選択し（制御信号Ｓ５＝”１”，Ｓ２＝”０”：図８（II））、演算結果をメモリ（１２１）に格納する。なお、上記のような累積演算や多ビット演算を行うＰＥ群を指すものとして、ブロック（ブロック化）という概念を用いている。
【００６２】
なお、上記の多ビット演算処理においても、ＡＬＵ（全加算器１２６７）の出力信号は、フリップフロップではなくラッチ（Ｄラッチ２３）を介して接続することで１つのモジュールとして機能し、リアルタイムの処理を行うことができる。
【００６３】
図９〜図１１は本発明の第１の形態に係るビジョンチップの一例におけるＰＥのブロック化処理を説明するための図である。図９および図１０において、参照符号２００はブロック（ＰＥ群）を示し、ＰＥｓは始点のプロセッシングエレメント、また、ＰＥｅは終点のプロセッシングエレメントを示している。
【００６４】
図９は１次元の例であり、図１０は２次元の例であるが、ＰＥのブロック化（ＰＥ群化）は、列バス２１および行バス２２を介して各ＰＥに座標に依存した値を送り、それに基づいて状態レジスタ（２０）の値をローカルに設定することによって、ＰＥをブロック状に連結してブロック２００を構成する。
【００６５】
すなわち、図９および図１０に示されるように、始点になるプロセッシングエレメントＰＥｓの近傍入力先を零に設定（例えば、図３に示すＰＥにおけるマルチプレクサ２７が零を選択して出力するように設定）し、そこから一筆書きで終点のプロセッシングエレメントＰＥｅまで連結する。ここで、終点のプロセッシングエレメントＰＥｅは、総和等のスカラー特徴量の格納先になる。このひとかたまりのブロック２００が、先に挙げた累積演算や多ビット演算を行う際の処理単位となる。
【００６６】
このようなブロック化により、例えば、図１０に示されるように、ｎ×ｍブロック内において、ｎｍ個の１ビットＡＬＵ（１２６６）が縦続接続され、ｎｍビットＡＬＵとして振る舞う。また、図１１に示されるように、メモリ素子も１ビットメモリが２４個で構成されるメモリ（１２１）を持つＰＥをｎｍ個結合することで、ｎｍビットが１ワードのメモリが２４個使用可能になる。従って、ブロックのサイズを大きくすることで、素子を無駄にすることなく、ブロックの演算能力を高めることが可能になる。
【００６７】
なお、ブロック（２００）の大きさを動的に切り替えることで、可変粒度の画像処理が可能になる。さらに、ブロック内のブロードキャストが自由に行えるため、ピラミッドアーキテクチャ等のメッシュ以外のネットワーク構造のエミュレーションも可能である。
【００６８】
図１２は本発明の第１の形態に係るビジョンチップの一例におけるブロック内特徴量のフィードバック処理を説明するための図である。
【００６９】
上述したブロック（２００）内において、まず、総和演算でモーメント等のスカラー特徴量を計算し、その結果をブロードキャスト（全ＯＲで実現）でブロック内の全ＰＥに送り、結合メモリに格納することで、ブロック内での特徴量フィードバックが実現される。これらの一連の処理は、ビットシリアルに実現可能であるため、作業用のメモリを消費せずに済む。
【００７０】
図１２に示されるように、複数のＰＥをあるときは空間（画像）を表すために使用し、また、あるときはビット列（最下位ビット（ＬＳＢ：Least Significant Bit）、第２ビット、…：演算結果）を表すために用いることができ、メモリ（資源）を自由に無駄なく使用することが可能である。このように、ブロック（ＰＥ群）内に保持するデータを桁毎に異なるＰＥに分散して持たせることで、単一の場合におけるメモリ使用量を削減することができる。
【００７１】
次に、列並列プロセッサのエミュレーションに関して、従来のビジョンチップやＳＩＭＤプロセッサの中には、列に１つだけＰＥを設置した列並列のもの（例えば、MAPP2200）が存在する。このタイプのプロセッサは、列並列にすることにより、完全並列に比べて１列分の繰り返し処理が必要となるため速度の点で性能が落ちるが、その分個々のＰＥの演算能力を高めることを目指すことができる。これに関して、本発明の第１の形態に係るビジョンチップのＰＥ結合機能を用いてＰＥを列方向に一列につなげることにより、演算器（ＡＬＵ１２６）やメモリ（１２１）を無駄にすることなく、これらの列並列プロセッサのエミュレーションが可能である。
【００７２】
また、列並列のプロセッサでは、列毎に任意の画素にアクセスできるため、ある種の座標変換アルゴリズムにおいて威力を発揮する。従来の２Ｄメッシュネットワークを用いたチップにおいては、ＰＥ間の通信が近傍のみと限られているため、このようなアルゴリズムを実装することは難しいが、本発明の第１の形態に係るビジョンチップのブロードキャスト機能を用いることで、列並列プロセッサと同等の機能を実現することができる。具体例として、後に９０度回転アルゴリズムの実装例を示す。
【００７３】
図１３は本発明の第１の形態に係るビジョンチップの一例におけるその他の処理を説明するための図であり、ブロックの自己生成を説明するためのものである。
【００７４】
上述したブロック化において、ブロックを指定するのは、外部から列バス２１および行バス２２を介して行うため、ブロックの大きさや位置は格子等のある程度規則的なものとなっている。しかしながら、図１３に示されるように、ブロック２００ａ，２００ｂの大きさや位置を、例えば、入力画像に基づいて内部生成（ブロックの自己生成）することで、より一層柔軟なブロックを生成することができる。なお、ブロックは、同時に複数生成することが可能である。
【００７５】
また、ＰＥを列方向に一列につなげて列並列マシンのエミュレーションを行うことで、演算能力およびメモリ容量を向上し、列内の任意の画素同士の通信を可能とすることもできる。これは、ある種の座標変換系のアルゴリズムにおいて威力を発揮することになる。
【００７６】
次に、図１４〜図１６を参照して、本発明の第１の形態に係るビジョンチップの一例に対して視覚処理アルゴリズムを実装した結果を説明する。なお、アルゴリズムの検証は、専用シミュレータを使用して行った。
【００７７】
図１４は本発明の第１の形態に係るビジョンチップの一例を適用した並列ブロックマッチング処理を説明するための図であり、図１２を参照して説明したブロック内特徴量のフィードバック処理を用いたアルゴリズムの例としての並列ブロックマッチングを説明するためのものである。
【００７８】
本並列ブロックマッチング処理は、二枚の画像（画像Ａ，画像Ｂ）のうち、一方の画像（画像Ａ）における区分けされた各部分（Ａ１，Ａ２，Ａ３，Ａ４）が、他方の画像（画像Ｂ）においてどちらにずれているかを探索するアルゴリズムである。すなわち、二枚の画像を別々のカメラから入力することでステレオ処理を実現したり、また、１フレーム前の入力とのマッチングを取ることでオプティカルフローを実現する等の応用が考えられる。
【００７９】
図１４（Ｉ）に示されるように、一方の画像（画像Ａ）をうずまき状に移動させながら、ブロック単位でＳＡＤ（Sum of Absolute Difference：差分の絶対値の総和）を取る。ＳＡＤがこれまでの最大値よりも大きい場合には、最大値およびインデックスを更新する。なお、図１４（II）は、並列ブロックマッチング処理の一例のプログラムおよびブロックマッチングを行う移動方向を示し、また、図１４（III）は、並列ブロックマッチング処理の結果（インデックスｉｄｘ）を示している。ここで、図１４（III）は、部分Ａ１では１８回目でパターンが一致し、部分Ａ２では１４回目でパターンが一致し、部分Ａ３では２２回目でパターンが一致し、そして、部分Ａ４では１０回目でパターンが一致した場合を示している。
【００８０】
通常、ＳＡＤのような演算は、総和計算に時間がかかり、何度も繰り返して演算を行うのは難しいが、本発明の第１の形態に係るビジョンチップによれば、ブロック内総和を高速に計算することができるため、ＳＡＤ演算を無理なく実行することが可能である。また、例えば、入力画像を４ビット×２枚、ブロックサイズを８×８、そして、探索領域を４×４とした場合に使用するメモリ量は、入力が８ビット、差分の絶対値の格納が４ビット、ＳＡＤ結果の格納が１０ビット、最大値の格納が１０ビット、そして、インデックスの格納４ビットを合計した３６ビット＋作業用数ビットとなり、１個のＰＥが持つローカルメモリ（例えば、２４ビット）には収まりきらない。
【００８１】
しかしながら、本発明の第１の形態に係るビジョンチップによれば、ＳＡＤの結果、最大値、および、インデックス等をブロック内の複数ＰＥのメモリに分散して持たせることができるため、メモリ領域を圧迫せずに済むことになる。
【００８２】
具体的に、入力画像を４ビット、ブロックサイズを８×８画素、そして、探索範囲をｎ画素とした場合に必要な演算の回数は、通常演算が（２２４ｎ−１２）回、ブロック内累積演算が（２２ｎ−２）回、座標指定が（６６ｎ−６）回、そして、各ＰＥが使用するメモリ量は１９ビットであった。
【００８３】
図１５は本発明の第１の形態に係るビジョンチップの一例を適用した９０度回転処理を説明するための図である。
【００８４】
例えば、正立の画像『Ａ』を反時計回り方向に９０度だけ回転する場合を考える。ここで、回転、拡大およびフーリエ変換等の座標変換系のアルゴリズムは、処理の局所性がないため、従来の２Ｄメッシュ結合のＳＩＭＤプロセッサで実行するには向かないアルゴリズムである。しかしながら、並列度を２次元から１次元に落とし、繰り返し演算を行うことで、これらの演算が可能になる場合がある。ここでは、特に、本発明の第１の形態に係るビジョンチップを列並列プロセッサと見立て、９０度回転のアルゴリズムを実装した。
【００８５】
図１５に示されるように、アルゴリズムの手順は、対角線を介して列毎に列を行に置き換えていく。同一列内および同一行内でのデータの移動は、累積演算によるブロードキャストを用いて行う。
【００８６】
本アルゴリズムを実装すると、入力画像が１ビット、そして、画素数がＮ×Ｎ（２n＝Ｎ）の場合に必要な演算の回数は、通常演算が（４Ｎ＋２ｎ＋２）回、列（行）累積演算が４Ｎ回、座標指定が（６Ｎ＋２ｎ）回、そして、各ＰＥが使用するメモリ量が４ビットであった。
【００８７】
図１６は本発明の第１の形態に係るビジョンチップの一例を適用した複数物体の同時トラッキング処理を説明するための図である。
【００８８】
複数物体の同時トラッキングを行おうとした場合、１つの方法として、個々の物体に対して順番にトラッキング処理を行うという方法が考えられる。しかしながら、対象の数が多くなると、要求されるフレームレート内に処理が収まらない可能性も出てくる。そこで、図１６のトラッキング処理は、本発明の第１の形態に係るビジョンチップのブロック化の機能を用いて、複数の物体を同時にトラッキングすることを考える。この場合、入力画像における対象の位置と形状に依存してブロックを作らなければならず、前述したブロックの自己生成が有効になる。
【００８９】
すなわち、図１６に示されるように、まず、初めに物体の初期位置（既知とする）に初期ブロックを配置し、それを基に対象を囲むブロックを自己生成する。次に、ブロック内でスカラー特徴量を計算して出力する。特徴量から対象の位置情報を計算し、次のフレームにおける初期ブロックの位置とする。
【００９０】
ここで、初期ブロックの配置、特徴量の出力および位置情報の計算は対象毎に行う必要があるが、ブロックの自己生成および特徴量の計算は複数物体に対して同時に実行することができるため、トラッキング処理全体の処理時間を短縮することができる。
【００９１】
本アルゴリズムを実装すると、入力画像を１ビット（バイナリ）、対象の個数をｍ、対象の最大サイズをｎmax×ｎmax、そして、画素数Ｎ×Ｎとした場合、初期ブロックの配置およびブロックの自己生成には、通常演算が（５１ｎmax＋１２ｍ＋４）回、ブロック内列（行）方向累積演算が４ｎmax回、そして、座標指定が（５ｍ＋１６ｎmax）回だけかかる。特徴量の計算および出力は、モーメントを利用した場合で、通常演算が（６６log2ｎmax＋４０log2Ｎ）回、ブロック内累積演算が（１２log2ｎmax＋８log2Ｎ）回、列（行）累積演算が（６ｍlog2ｎmax＋４ｍlog2Ｎ）回、そして、座標指定が（２ｍ＋２log2Ｎ）回だけかかる。なお、使用メモリは、合計７である。
【００９２】
上述したアルゴリズムの実行時間および使用メモリの見積もりの例を次の表１に示す。ここで、画素数を２５６×２５６、マッチングの探索範囲を９×９画素、トラッキング対象の最大サイズを３２×３２、トラッキング対象の個数を１０個、通常演算の実行速度を４０ｎｓ、Ｎ段累積演算の実行速度を（２０＋１．０Ｎ）ｎｓ、そして、座標指定の実行速度を２０ｎｓとする。
【００９３】
【表１】
0003902741.tif 000002
【００９４】
上述した本発明の第１の形態に係るアーキテクチャを基に試作チップの設計を行った。過去の設計から回路の追加はほとんどないので、回路規模はそのままに機能だけ拡充することができた。さらに、回路およびレイアウトを改良することにより、さらに高集積化が実現された。具体的には、制御信号のグローバル配線化・ＳＲＡＭの非双対線化による効果が大きい。また、これまでＰＤ回路には、インバータが反転するまでの時間をカウントする方式がとられていたが、比較器で基準電圧Ｖrefと比較する方式を採用することにより、消費電流をかなり抑えることができ、Ａ／Ｄ変換のしきい値電圧を変えられるという利点がある。
【００９５】
具体的に、例えば、０．３５μｍ ＣＭＯＳ ＤＬＰ／ＴＬＭプロセス、エリアサイズが５．４ｍｍ×５．４ｍｍの中に６４×６４個の画素（図１におけるユニット１００に相当）を搭載することができる。ここで、各ＰＥの面積は、例えば、６７．４μｍ×６７．４μｍであり、２５６×２５６画素を約１．８ｃｍ角のチップに搭載することが可能であり、画像処理デバイスとして標準的な画素数にまで到達させることができる。
【００９６】
このように、本発明の第１の形態に係るＰＥ結合機能とグローバル演算機能を付加したビジョンチップによれば、例えば、ステレオ視やオプティカルフローのためのブロックマッチングを１ｍｓ以内に実行できる等、画像処理のリアルタイム応用に対し有効であり、従って、ビジョンチップで実行できるアプリケーションの幅を拡大することが可能である。
【００９７】
上述したように、本発明によれば、ＡＬＵに含まれるＦＡやＤＦＦ等の回路を通常演算のみならず、累積演算・多ビット演算にも流用することにより、小さい回路規模を維持しつつ多様な演算を実現することができる。その結果、グローバルな演算を行うことができるビジョンチップを、従来のものとほとんど同じ回路規模で実現することができる。
【００９８】
また、近傍通信の入力元をＰＥ毎に選択できるようにすることで、複数のＰＥをブロック化し、ＰＥ単体では不足な性能を補うことが可能である。その結果、予め想定させるアプリケーションの最大のスペックに合わせてＰＥを設計せずに済み、結果としてハードウェア量の大幅な削減、並びに、対応アプリケーションの大幅な拡大につながる。
【００９９】
以下、本発明の第２の形態としての光検出回路ＰＤ（光検出素子：フォトダイオード）の出力をソフトウェアＡ／Ｄ変換する半導体集積回路装置を詳述する。
【０１００】
従来技術の説明として、図２を参照して説明したように、Ｓ3ＰＥにおいて、光検出器（ＰＤ）１０１からの光強度信号のＡ／Ｄ変換は、光電流による蓄積電荷の放電をしきい値回路（インバータ）で検出し、そのしきい値を切るまでの時間を計測して行っており、ＰＥ１０２をカウンタとして用いることで回路を増やすことなくＡ／Ｄ変換を実現している。
【０１０１】
図１７は従来のビジョンチップの一例におけるフォトダイオード出力（光検出回路ＰＤ）のＡ／Ｄ変換処理を実行するための構成を説明するための図である。図１７において、参照符号３０１は光検出器（ＰＤ１０１）を示し、３０２はプロセッシングエレメント（ＰＥ１０２）を示している。
【０１０２】
ＰＤ３０１は、光検出素子（フォトダイオード）３１１およびしきい値回路（インバータ）３１２を備え、しきい値回路３１２は、フォトダイオード３１１の光電流による蓄積電荷の放電を検出する。ＰＥ３０２は、ＰＤ３０１からの光強度信号のＡ／Ｄ変換をソフトウェアで行うもので、しきい値回路３１２で検出されたしきい値を切るまでの時間を計測して行うようになっている。すなわち、ＰＥ３０２をカウンタとして用いることで、回路を増やすことなくＡ／Ｄ変換を実現している。
【０１０３】
図１８は図１７のＡ／Ｄ変換処理における課題を説明するための図である。図１８において、参照符号Ｌ１は光検出素子（フォトダイオード）３１１に入力（照射）される光強度が大きい（明るい）とき、Ｌ２は光検出素子３１１に入力される光強度が中くらいのとき、そして、Ｌ３は光検出素子３１１に入力された光強度が小さい（暗い）ときの時間に対する出力電圧の関係を示している。
【０１０４】
すなわち、光検出素子３１１に入力する光強度が大きい場合には、光電流による電圧降下は大きく（Ｌ１）、また、光検出素子３１１に入力する光強度が小さい場合には、光電流による電圧降下が小さい（Ｌ３）。ここで、図１７のＡ／Ｄ変換処理では、しきい値回路３１２としてインバータを使用するため、しきい値電圧（基準電圧Ｖref）は固定であり、また、ＰＥ３０２におけるしきい値回路３１２の出力の変化検出処理（カウンタによる時間測定処理）も一定の時間間隔（Ｐ0）となっている。
【０１０５】
このように、図１７に示す従来のビジョンチップの一例における光検出回路ＰＤ（フォトダイオード出力）のＡ／Ｄ変換処理は、しきい値が固定されたしきい値回路（インバータ）３１２を使用し、しきい値回路３１２の出力の変化も一定の時間間隔Ｐ0で実行されている。その結果、光の強度やノイズに対する適切な制御を行うことが困難であり、また、必要な個所で検出精度を向上させるといったこともできなかった。
【０１０６】
図１９は本発明の第２の形態に係るビジョンチップの一例におけるフォトダイオード出力（光検出回路ＰＤ）のＡ／Ｄ変換処理を実行するための構成を説明するための図であり、図２０は図１９の一構成例を示す図である。図１９および図２０において、参照符号３１は光検出器（ＰＤ１０１）、３３はリセット回路、３４は光検出素子（フォトダイオード３１１）、そして、３５はコンパレータ（比較手段）を示している。また、参照符号３２はプロセッシングエレメント（ＰＥ１０２）、３６はローカルメモリ（１２１）、３７はＩ／Ｏポート（１２２）、そして、３８はＡＬＵ（１２６）を示している。ここで、フォトダイオード３４の出力（カソード）はコンパレータ３５の負入力に接続され、また、コンパレータ３５の正入力には基準電圧Ｖrefが印加されている。
【０１０７】
図１９および図２０に示されるように、フォトダイオード３４の寄生容量に蓄えられた電荷は、照射された光の光強度に応じた量の光電流が流れることで蓄積または解放（図１９および図２０では解放）され、それに伴って、コンパレータ３５の入力電圧も変動し、予め定められた基準電圧（しきい値）Ｖrefを切ったところで出力が反転する。このコンパレータ３５の出力をＩ／Ｏポート３７（図２０ではローカルメモリ３６にマップされている）を通じて取り込み、ＰＥ３２のＡＬＵ３８とメモリ３６を用いてカウントする。
【０１０８】
また、図２０に示されるように、フォトダイオード３４の電荷をリセットするための信号は、Ｉ／Ｏポート３７からリセット回路３３に送られ、各ＰＥ毎に（ローカルに）リセットのタイミングを制御するようになっている。
【０１０９】
上述した本発明に係るＡ／Ｄ変換（可変量子化間隔Ａ／Ｄ変換）は、光電流による電圧降下をコンパレータ３５で検知する方式であり、電圧が基準電圧Ｖrefを切るまでの時間をカウンタで測定する。この際、出力が光強度の逆数となってしまうが、これでは、画像処理を行う上で都合が悪いので、出力が光強度に比例または対数比例するように、カウントのタイミングを時間によって変えて量子化間隔を調整する。
【０１１０】
この際、ビジョンチップを高い時間分解能で制御する必要が生じるため、ビジョンチップに対して命令を供給する装置（システム）として、パイプライン化によって命令供給の時間分解能を高め、且つ、そのパイプラインの動的な停止を一切排除することにより、命令サイクルの粒度での実時間性を保証できるコントローラを用いる。さらに、カウントの最中に基準電圧Ｖrefを変化させることにより、さらに柔軟なセンシングが可能となる。例えば、カウントしながら基準電圧Ｖrefを徐々に上げていくことにより、暗いところでは感度を優先し、明るいところでは精度を優先したセンシングを実現することができる。また、この可変量子化間隔Ａ／Ｄ変換の機構を積極的に利用し、過去のＡ／Ｄ変換結果を用いて現時刻の区間割り当て制御を更新することにより、環境変化に対し適応的なＡ／Ｄ変換が可能になる。詳細は、後述する。
【０１１１】
図２０に示す回路では、ＰＤ３１（光検出素子３４）のリセットを各画素毎に行うことができ、これを利用して、電圧が基準電圧Ｖrefを切った画素（ＰＤ）に対してのみリセット信号を与える。これにより、明るいところは高いフレームレートで、また、暗いところは低いフレームレートで撮像することになり、広ダイナミックレンジと高フレームレートを両立した撮像が可能になる。
【０１１２】
さらに、ＰＤ３１（光検出素子３４）のＡ／Ｄ変換を既にＰＥに設けられているＡＬＵ３８とメモリ３６を用いて行うことにより、回路の追加なしにＡ／Ｄ変換を実現することがでる。また、この方式の利点として、光検出素子（フォトダイオード）３４の制御のタイミングをソフトウェアで変えることができ、従来のイメージセンサでは不可能であった柔軟なセンシングを実現することができる。
【０１１３】
図２１は図１９および図２０のＡ／Ｄ変換処理の動作を説明するための図である。図２１において、参照符号ＬＬ１〜ＬＬ６は光検出素子（フォトダイオード）３４に入力された光強度が高い（明るい：ＬＬ１）方から低い（暗い：ＬＬ６）に向かっての時間に対する出力電圧の関係を示している。
【０１１４】
図２１に示されるように、図２０のＡ／Ｄ変換処理は、基準電圧Ｖrefを様々な電圧レベルに設定すると共に、プロセッシングエレメント（ＰＥ）３２におけるしきい値回路（コンパレータ）３５の出力の変化検出処理（カウンタによる時間測定処理）も異なる時間間隔（例えば、Ｐ1，Ｐ2）に変化させて制御するようになっている。図２１に示されるように、ノイズの影響は、ノイズの大きさが同じであっても、光強度が小さいときほど（例えば、ＬＬ１よりもＬＬ４やＬＬ５の方が）その影響は大きくなり、また、検出精度は、基準電圧Ｖrefが低いときほど高くなる。
【０１１５】
ここで、フォトダイオード３４に入力する光強度が大きい場合には、コンパレータ３５の基準電圧Ｖrefを低く設定してノイズに強くし、また、検出精度を向上させる方が好ましい。一方、フォトダイオード３４に入力する光強度が小さい場合には、コンパレータ３５の基準電圧Ｖrefを高く設定して感度を向上させる必要がある。さらに、コンパレータ３５の出力の変化検出処理（カウンタによる時間測定処理）は、例えば、フォトダイオード３４に入力する光強度が大きいことが予想される場合（例えば、ＬＬ１）には、最初の時間間隔を狭く設定（Ｐ1）すると共に後の時間間隔を広く設定（Ｐ2）し、コンパレータ３５の変化タイミングを狭い時間間隔の領域で検出して検出精度を向上させるように構成することもできる。
【０１１６】
このように、本発明の第２の形態に係る半導体集積回路装置は、ビジョンチップが適用されるシステム（装置）に応じて、光の強度やノイズに対する適切な制御を行い、さらに、必要な個所で検出精度を向上させるといった制御を行うこともできる。
【０１１７】
図２２は本発明の第２の形態に係るビジョンチップが適用されるシステムの構成例を示す図である。図２２において、参照符号１はビジョンチップ（半導体集積回路装置）、１００はユニット（画素）、４１はＰＤ読み出し時刻・供給電圧テーブル（光検出回路ＰＤの出力を検出するタイミング（時間間隔）およびコンパレータに与える基準電圧Ｖref用のテーブル）、４２は命令テーブル、４３はビジョンチップ制御装置、そして、４４はＤ／Ａ変換器を示している。まず、可変量子化間隔Ａ／Ｄ変換の動作について説明する。
【０１１８】
図２２に示されるように、本発明の第２の形態に係る半導体集積回路装置（ビジョンチップ）が適用されるシステムは、ビジョンチップ制御装置４３が、命令テーブル４２およびＰＤ読み出し時刻・供給電圧テーブル４１に従い、ビジョンチップに対して制御命令および基準電圧Ｖrefを供給する機能を有する。
【０１１９】
ｎ階調の可変量子化間隔ＡＤ変換は、以下の手順で行うことができる。
【０１２０】
１）各画素１００の変換結果を格納するメモリ領域（各ＰＥのローカルメモリ３６）を零に初期化するための制御命令を供給する。
【０１２１】
２）全ての画素をリセット（リセット回路３３をオンした後にオフ）する制御命令を供給する（これを時刻０とする）。
【０１２２】
３）基準電圧Ｖrefに電位Ｖ１を供給する。
【０１２３】
４）ｋ＝１，２，…，ｎ−１に対して、以下の処理を繰り返し実行する。
【０１２４】
ｉ）時刻ｔkまで待った後、各画素において、光検出器３１（フォトダイオード３４）の出力を読み出す制御命令を供給する。
【０１２５】
ii）基準電圧Ｖrefとして電位Ｖk+1を供給する。
【０１２６】
iii）各画素１００において、変換結果を格納するメモリ領域に対して、上記ｉ）で読み出した１ビット値を加算する制御命令を供給する。
【０１２７】
５）以上の手順終了後、各画素の変換結果格納メモリ領域にはＡ／Ｄ変換結果が格納される。
【０１２８】
次に、｛ｔk｝および｛Ｖk｝の決定法について説明する。ここで、｛ｔk｝は、プロセッシングエレメント（ＰＥ）が光検出回路ＰＤの出力を検出する時刻（カウントのタイミング）に相当し、また、｛Ｖk｝はコンパレータ（３５）に供給する基準電圧（Ｖref）に相当する。
【０１２９】
本発明の第２の形態に係る半導体集積回路装置によれば、テーブルに格納する｛ｔk｝および｛Ｖk｝を変更することで、さまざまな量子化間隔を実現することができる。具体的に、｛ｔk｝，｛Ｖk｝を決定する方法の例として、仕様として与えられた｛ｉk｝（光電流量の量子化間隔）から、それを実現するための｛ｔk｝および｛Ｖk｝を算出するアルゴリズムを次に示す。
【０１３０】
図２３〜図２５は図２２のシステムにおけるフォトダイオード出力のＡ／Ｄ変換処理を説明するための図である。
【０１３１】
まず、アルゴリズムヘの入力に関し、｛ｉk｝（ｋ＝１，…，ｎ−１）は、光電流量の量子化間隔を示す。量子化間隔｛ｉk｝は、図２３のように表現する。すなわち、光電流量ｉkからｉk-1までのアナログ量に対して、符号（ディジタル値）ｎ−ｋを割り当てるものとする。
【０１３２】
図２３において、光電流量ｉの添字は、大きい方が暗い光量を表し、フォトダイオード（３４）を流れる光電流量は少なく、逆に、小さい方が明るい光量を表し、フォトダイオードを流れる光電流量は多い。ここで、光電流量ｉの添字を上記のように設定するのは、時間順に添字を取るｔk，Ｖkとの対応を表すためである。ただし、ｉn，ｉ0は、それぞれ０および∞に固定としてある。
【０１３３】
次に、アルゴリズムの出力に関し、｛ｔk｝（ｋ＝１，…，ｎ−１）は、光検出回路（ＰＤ）の出力の読み出し時刻列を示し、そして、｛Ｖk｝（ｋ＝１，…，ｎ−１）は、各ｔkにおいてＶrefとして与えるべき電位を示す。なお、ｔ0は０に固定する。
【０１３４】
また、その他のパラメータに関し、ΔＶは基準電圧Ｖrefとして入力できる値の粒度、ΔｔはＰＤ読み出し時刻の粒度、ｔmaxはＡＤ変換に費やす時間［Δｔの整数倍］、そして、｛Ｐk｝（ｋ＝１，…，ｎ−１）は前述したｉ）〜iii）を実行するのに要する時間［Δｔの整数倍］を示す。さらに、Ｖddはフォトダイオードのリセット電位（電源電圧）、Ｖmaxは基準電圧Ｖrefに入力できる最大値（コンパレータの動作領域の上限）［ΔＶの整数倍］、Ｖminは基準電圧Ｖrefに入力できる最小値（コンパレータの動作領域の下限）［ΔＶの整数倍］、そして、Ｃはフォトダイオードの容量を示す。
【０１３５】
アルゴリズムに関し、まず、ｋ＝ｎ−１の場合を決定する。その結果を用いて、ｋ＝ｎ−２の場合を決定し、以下同様に、ｋ＝１まで決定していく。途中でエラー終了になるのは、入力として与えられた｛ｉk｝がハードウェア的な制約から実現不可能な場合である。それぞれの値の対応を図２４に示す。なお、記述の都合上、ｔn＝ｔmax，Ｖn＝Ｖmaxとして扱う。
【０１３６】
図２４において、参照符号参照符号ＬＬ１１〜ＬＬ１４はフォトダイオード（３４）に入力された光強度が高い（明るい：ＬＬ１１）方から低い（暗い：ＬＬ１４）に向かっての時間に対する出力電圧の関係を示し、ＬＬ１１は傾きが−ｉ1／Ｃ、ＬＬ１２は傾きが−ｉ2／Ｃ、ＬＬ１３は傾きが−ｉk／Ｃ、そして、ＬＬ１４は傾きが−ｉn-1／Ｃとなっている。
【０１３７】
ｋ＝ｎ−１，ｎ−２…，１の順にそれぞれに対して、以下のいずれかの処理を行う。
【０１３８】
Ｖk+1≠Ｖminのとき、処理（Ａ）を行う。
【０１３９】
Ｖk+1＝Ｖminのとき、処理（Ｂ）を行う。
【０１４０】
ここで、上記の処理（Ａ）および処理（Ｂ）は次の通りである。
【０１４１】
処理（Ａ）は、以下のように計算する。
【０１４２】
【数１】
0003902741.tif 000003
【０１４３】
ただし、Ｖk＞Ｖk+1となった場合はエラー終了する。Ｖk＜Ｖminとなった場合は、処理（Ｂ）にて再計算する。
【０１４４】
処理（Ｂ）は、以下のように計算する。
【０１４５】
【数２】
0003902741.tif 000004
【０１４６】
ただし、ｔk+1−ｔk＜Ｐkとなった場合は、エラー終了する。
【０１４７】
このようにして、図２４の曲線ＲＬに示されるように、所望の光電流量の量子化間隔｛ｉk｝を実現するＰＤ読み出し時刻列｛ｔk｝および基準電圧Ｖrefとして与えるべき電位｛Ｖk｝を用意し、Ａ／Ｄ変換を行うことができる。また、ＰＤ読み出し時刻・供給電圧テーブル４１の内容を動的に入れ替えることで、環境や目的の変化に応じた適応的なセンシングを実現することができる。
【０１４８】
光電流量の量子化間隔｛ｉk｝の与え方の例を図２５に示す。ただし、説明を簡略化するために、８階調のＡ／Ｄ変換とする。
【０１４９】
まず、図２５（ａ）は、暗い領域を狭い刻み幅でＡ／Ｄ変換する例（フォトダイオード３４に入力する光強度が小さい領域で検出精度を向上させるのに適した例）であり、逆に、図２５（ｂ）は、明るい領域を狭い刻み幅でＡ／Ｄ変換する例（フォトダイオード３４に入力する光強度が大きい領域で検出精度を向上させるのに適した例）である。
【０１５０】
また、図２５（ｃ）は、刻み幅を大きく取ることで暗い領域から明るい領域までをカバーする例である。ただし、図２５（ｃ）の例は、図２５（ａ）と比べて検出可能な上限が２倍になったのと同時に下限も２倍になっているため、ダイナミックレンジは変わらない。
【０１５１】
さらに、図２５（ｄ）は、刻み幅を暗い領域から明るい領域になるに従って大きくして、広いダイナミックレンジを実現する例である。ただし、図２５（ｄ）の例では、その代償として、入力光の強度とＡ／Ｄ変換後の値の関係は線形ではなくなる。
【０１５２】
本発明の第２の形態に係る半導体集積回路装置によれば、上記の図２５（ａ）〜図２５（ｄ）に示されるように、ビジョンチップが適用されるシステム（装置）に応じて、光の強度やノイズに対する適切な制御を行うことができ、必要な個所で検出精度を向上させるといった制御が可能になる。
【０１５３】
以上の説明においては、本発明の適用可能な半導体集積回路装置としてビジョンチップを例として説明したが、本発明はビジョンチップに限定されず、複数のプロセッシングエレメント（ＰＥ）が１つの半導体チップ上に形成された半導体集積回路装置に対して幅広く適用することができる。
【０１５４】
（付記１）  １つの半導体チップに設けられた複数のプロセッシングエレメントを有する半導体集積回路装置であって、
前記各プロセッシングエレメントの出力に設けられたラッチ手段と、
入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段とを備えることを特徴とする半導体集積回路装置。
【０１５５】
（付記２）  付記１に記載の半導体集積回路装置において、さらに、
前記各プロセッシングエレメントの座標位置情報に応じて前記選択手段が選択するプロセッシングエレメントを制御する制御手段を備えることを特徴とする半導体集積回路装置。
【０１５６】
（付記３）  付記１または２に記載の半導体集積回路装置において、該半導体集積回路装置は、リアルタイムの多ビット演算処理または累積演算処理を実行することを特徴とする半導体集積回路装置。
【０１５７】
（付記４）  付記１〜３のいずれか１項に記載の半導体集積回路装置において、さらに、複数の光検出器を備え、前記各プロセッシングエレメントは対応する前記光検出器の出力を処理することを特徴とする半導体集積回路装置。
【０１５８】
（付記５）  複数のプロセッシングエレメント、および、該プロセッシングエレメントをつなぐ通信手段を有する半導体集積回路装置であって、
第１のプロセッシングエレメントにおける資源を、前記通信手段を介して任意の第２のプロセッシングエレメントの資源として使用することを特徴とする半導体集積回路装置。
【０１５９】
（付記６）  付記５に記載の半導体集積回路装置において、前記プロセッシングエレメントを複数結合し、プロセッシングエレメント群としてブロック化することを特徴とする半導体集積回路装置。
【０１６０】
（付記７）  付記６に記載の半導体集積回路装置において、前記各プロセッシングエレメントはそれぞれＡＬＵおよびメモリを備え、前記ブロック化されたプロセッシングエレメント群に含まれる複数のＡＬＵおよびメモリにより所定の処理を行うことを特徴とする半導体集積回路装置。
【０１６１】
（付記８）  付記６に記載の半導体集積回路装置において、前記複数のプロセッシングエレメントを結合するブロック化の構成およびサイズを動的に可変としたことを特徴とする半導体集積回路装置。
【０１６２】
（付記９）  付記６に記載の半導体集積回路装置において、前記各プロセッシングエレメントは、それぞれ近傍のプロセッシングエレメントとの接続を制御する接続制御手段を備えることを特徴とする半導体集積回路装置。
【０１６３】
（付記１０）  付記９に記載の半導体集積回路装置において、前記接続制御手段は、近傍通信の入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択することを特徴とする半導体集積回路装置。
【０１６４】
（付記１１）  付記６に記載の半導体集積回路装置において、前記ブロック化されたプロセッシングエレメント群は、リアルタイムの多ビット演算または累積演算を実行することを特徴とする半導体集積回路装置。
【０１６５】
（付記１２）  付記５〜１１のいずれか１項に記載の半導体集積回路装置において、前記複数のプロセッシングエレメントはマトリクス状に配置され、前記通信手段は行バスおよび列バスを備えて該各プロセッシングエレメントに対して所定の情報を送信することを特徴とする半導体集積回路装置。
【０１６６】
（付記１３）  付記１２に記載の半導体集積回路装置において、前記所定の情報は、前記各プロセッシングエレメントの座標情報であることを特徴とする半導体集積回路装置。
【０１６７】
（付記１４）  付記５〜１３のいずれか１項に記載の半導体集積回路装置において、該半導体集積回路装置は、ＳＩＭＤプロセッサであることを特徴とする半導体集積回路装置。
【０１６８】
（付記１５）  付記１４に記載の半導体集積回路装置において、該半導体集積回路装置は、前記各プロセッシングエレメントがそれぞれ対応する光検出器の出力を処理するビジョンチップであることを特徴とする半導体集積回路装置。
【０１６９】
（付記１６）  付記５〜１５のいずれか１項に記載の半導体集積回路装置において、該半導体集積回路装置は、１つの半導体チップとして構成されていることを特徴とする半導体集積回路装置。
【０１７０】
（付記１７）  複数の光検出回路および複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記各光検出回路は、光検出素子の出力と基準電圧とを比較する比較手段を備え、該比較手段の出力が該基準電圧を切るまでの時間をカウントしてＡ／Ｄ変換処理を行うことを特徴とする半導体集積回路装置。
【０１７１】
（付記１８）  付記１７に記載の半導体集積回路装置において、前記比較手段に与える基準電圧レベルを可変としたことを特徴とする半導体集積回路装置。
【０１７２】
（付記１９）  付記１８に記載の半導体集積回路装置において、前記比較手段の基準電圧レベルを、ソフトウェアにより可変制御するか、または、予め与えられたテーブルに基づいて規定することを特徴とする半導体集積回路装置。
【０１７３】
（付記２０）  付記１７に記載の半導体集積回路装置において、前記比較手段の出力が前記基準電圧を切るまでの時間をカウントするカウント間隔を可変としたことを特徴とする半導体集積回路装置。
【０１７４】
（付記２１）  付記２０に記載の半導体集積回路装置において、前記カウント間隔を、ソフトウェアにより可変制御するか、または、予め与えられたテーブルに基づいて規定することを特徴とする半導体集積回路装置。
【０１７５】
（付記２２）  付記１７〜２１のいずれか１項に記載の半導体集積回路装置において、前記光検出素子のリセットを該各光検出回路毎に行うことを特徴とする半導体集積回路装置。
【０１７６】
（付記２３）  付記１７〜２２のいずれか１項に記載の半導体集積回路装置において、前記Ａ／Ｄ変換処理を、前記各プロセッシングエレメントのＡＬＵおよびメモリを使用して実行することを特徴とする半導体集積回路装置。
【０１７７】
（付記２４）  付記１７〜２３のいずれか１項に記載の半導体集積回路装置において、該半導体集積回路装置はビジョンチップであり、前記各プロセッシングエレメントは前記複数の光検出回路の対応する１つと結合されていることを特徴とする半導体集積回路装置。
【０１７８】
（付記２５）  付記１７〜２４のいずれか１項に記載の半導体集積回路装置において、該半導体集積回路装置は、１つの半導体チップとして構成されていることを特徴とする半導体集積回路装置。
【０１７９】
【発明の効果】
以上、詳述したように、本発明の第１の形態によれば、画素数の低下を来すことなく（ＰＥの占有面積の増大を来すことなく）、高い汎用性を有する半導体集積回路装置を提供することができる。また、本発明の第２の形態によれば、光検出素子の出力のＡ／Ｄ変換を追加回路なしで行うと共に、柔軟なセンシングを実現することのできる半導体集積回路装置を提供することができる。
【図面の簡単な説明】
【図１】ビジョンチップを概念的に示す図である。
【図２】従来のビジョンチップのアーキテクチャを説明するための図である。
【図３】本発明の第１の形態に係るビジョンチップの一例のアーキテクチャを説明するための図である。
【図４】図３のアーキテクチャにおけるＰＥ（プロセッシングエレメント）のブロック化処理を実行するための構成を説明するための図である。
【図５】本発明の第１の形態に係るビジョンチップの一例におけるＰＥの結合処理を説明するための図である。
【図６】本発明の第１の形態に係るビジョンチップの一例における累積演算処理を説明するための図である。
【図７】本発明の第１の形態に係るビジョンチップの一例における総和演算処理を説明するための図である。
【図８】本発明の第１の形態に係るビジョンチップの一例における多ビット演算処理を説明するための図である。
【図９】本発明の第１の形態に係るビジョンチップの一例におけるＰＥのブロック化処理を説明するための図（その１）である。
【図１０】本発明の第１の形態に係るビジョンチップの一例におけるＰＥのブロック化処理を説明するための図（その２）である。
【図１１】本発明の第１の形態に係るビジョンチップの一例におけるＰＥのブロック化処理を説明するための図（その３）である。
【図１２】本発明の第１の形態に係るビジョンチップの一例におけるブロック内特徴量のフィードバック処理を説明するための図である。
【図１３】本発明の第１の形態に係るビジョンチップの一例におけるその他の処理を説明するための図である。
【図１４】本発明の第１の形態に係るビジョンチップの一例を適用した並列ブロックマッチング処理を説明するための図である。
【図１５】本発明の第１の形態に係るビジョンチップの一例を適用した９０度回転処理を説明するための図である。
【図１６】本発明の第１の形態に係るビジョンチップの一例を適用した複数物体の同時トラッキング処理を説明するための図である。
【図１７】従来のビジョンチップの一例におけるフォトダイオード出力のＡ／Ｄ変換処理を実行するための構成を説明するための図である。
【図１８】図１７のＡ／Ｄ変換処理における課題を説明するための図である。
【図１９】本発明の第２の形態に係るビジョンチップの一例におけるフォトダイオード出力のＡ／Ｄ変換処理を実行するための構成を説明するための図である。
【図２０】図１９の一構成例を示す図である。
【図２１】図１９および図２０のＡ／Ｄ変換処理の動作を説明するための図である。
【図２２】本発明の第２の形態に係るビジョンチップが適用されるシステムの構成例を示す図である。
【図２３】図２２のシステムにおけるフォトダイオード出力のＡ／Ｄ変換処理を説明するための図（その１）である。
【図２４】図２２のシステムにおけるフォトダイオード出力のＡ／Ｄ変換処理を説明するための図（その２）である。
【図２５】図２２のシステムにおけるフォトダイオード出力のＡ／Ｄ変換処理を説明するための図（その３）である。
【符号の説明】
１…半導体集積回路装置（ビジョンチップ）
２，３２，１０２，３０２…プロセッシングエレメント（ＰＥ）
１１…デコーダ
１２…出力回路
１３…通信手段
２０…状態レジスタ（３ビットのレジスタ）
２１…列バス（ＣＯＬ）
２２…行バス（ＲＯＷ）
２３，１２３〜１２５…データラッチ（Ｄラッチ）
２７，１２６１〜１２６５…マルチプレクサ（ＭＵＸ）
３１，１０１，３０１…光検出器（ＰＤ）
３３…リセット手段（リセット回路）
３４…光検出素子（フォトダイオード）
３５…コンパレータ
３６，１２１…メモリ（ローカルメモリ）
３７，１２２…Ｉ／Ｏポート
３８，１２６…ＡＬＵ
１００…ユニット（画素）
１２６６…全加算器（ＦＡ）
１２６７…キャリー格納用レジスタ（Ｄ型フリップフロップ：ＤＦＦ）
Ｓ０〜Ｓ５…命令（制御信号）
Ｖref…基準電圧
【図１】
0003902741.tif 000005
【図２】
0003902741.tif 000006
【図３】
0003902741.tif 000007
【図４】
0003902741.tif 000008
【図５】
0003902741.tif 000009
【図６】
0003902741.tif 000010
【図７】
0003902741.tif 000011
【図８】
0003902741.tif 000012
【図９】
0003902741.tif 000013
【図１０】
0003902741.tif 000014
【図１１】
0003902741.tif 000015
【図１２】
0003902741.tif 000016
【図１３】
0003902741.tif 000017
【図１４】
0003902741.tif 000018
【図１５】
0003902741.tif 000019
【図１６】
0003902741.tif 000020
【図１７】
0003902741.tif 000021
【図１８】
0003902741.tif 000022
【図１９】
0003902741.tif 000023
【図２０】
0003902741.tif 000024
【図２１】
0003902741.tif 000025
【図２２】
0003902741.tif 000026
【図２３】
0003902741.tif 000027
【図２４】
0003902741.tif 000028
【図２５】
0003902741.tif 000029