JP3902741B2 - 半導体集積回路装置 - Google Patents
半導体集積回路装置 Download PDFInfo
- Publication number
- JP3902741B2 JP3902741B2 JP2002017665A JP2002017665A JP3902741B2 JP 3902741 B2 JP3902741 B2 JP 3902741B2 JP 2002017665 A JP2002017665 A JP 2002017665A JP 2002017665 A JP2002017665 A JP 2002017665A JP 3902741 B2 JP3902741 B2 JP 3902741B2
- Authority
- JP
- Japan
- Prior art keywords
- integrated circuit
- semiconductor integrated
- circuit device
- processing
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000004065 semiconductor Substances 0.000 title claims description 99
- 238000012545 processing Methods 0.000 claims description 160
- 238000000034 method Methods 0.000 claims description 58
- 238000006243 chemical reaction Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 47
- 238000001514 detection method Methods 0.000 claims description 33
- 230000001186 cumulative effect Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 47
- 238000004364 calculation method Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 16
- 238000013139 quantization Methods 0.000 description 11
- 230000000903 blocking effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 235000003976 Ruta Nutrition 0.000 description 1
- 240000005746 Ruta graveolens Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 235000005806 ruta Nutrition 0.000 description 1
- 230000031893 sensory processing Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J1/00—Photometry, e.g. photographic exposure meter
- G01J1/42—Photometry, e.g. photographic exposure meter using electric radiation detectors
- G01J1/4228—Photometry, e.g. photographic exposure meter using electric radiation detectors arrangements with two or more detectors, e.g. for sensitivity compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/50—Control of the SSIS exposure
- H04N25/57—Control of the dynamic range
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/77—Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components
- H04N25/772—Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components comprising A/D, V/T, V/F, I/T or I/F converters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/78—Readout circuits for addressed sensors, e.g. output amplifiers or A/D converters
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J1/00—Photometry, e.g. photographic exposure meter
- G01J1/02—Details
- G01J1/0204—Compact construction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Solid State Image Pick-Up Elements (AREA)
Description
【発明の属する技術分野】
本発明は半導体集積回路装置に関し、特に、複数の光検出器(PD:Photo Detector)およびプロセッシングエレメント(PE: Processing Element(演算処理回路))を備えたビジョンチップに関する。
【0002】
画像処理を専門に行う画像処理プロセッサは、従来より研究、開発および提案がなされており、その多くはなんらかの並列演算を行う機構を備えている。例えば、並列度が数万にのぼる超並列プロセッサでは、少数または1つの画素毎にPE(プロセッシングエレメント)を割り当て、それら複数のPEに対して同時に同一の命令を実行させるというSIMD(Single Instruction Stream Multi Data Stream)型の制御を行うことで、ある種の画像処理を効率よく実行できる。
【0003】
このような画像処理プロセッサは、かつてはスーパーコンピュータクラスの大規模なものがほとんどであったが、近年、半導体集積化技術の進歩に伴って、さらに、画像処理を手軽に扱いたいというニーズの高まりから、これを1チップ化する動きが進んでいる。さらに、プロセッサだけでなく、PD(光検出器;光検出回路,光検出素子)までも1チップに収めたビジョンチップと呼ばれるデバイスの研究も注目を集めている。
【0004】
このような従来のビジョンチップや画像処理用SIMDプロセッサ(半導体集積回路装置)においては、PEの性能と画素数の間にトレードオフの関係が存在し、より汎用性の高い半導体集積回路装置の提供を困難にさせている。また、グローバル演算に不向きな構造であったため、2次元パターンからスカラー量を抽出する処理を効率よく行うことができなかった。
【0005】
すなわち、従来、ビジョンチップのPEに採用されていたALUは、単に各PE内のデータのみに基づいて演算を行うものか、或いは、隣接PEからの出力が直接ALUの入力とするものであるため、実現できる演算機能が自身とその周囲のPEから演算を行うローカルな演算に限られている。ビジョンチップの均質な配列構造を崩さずにグローバル演算を行うには、例えば、新たに加算器等の付加回路が必要となって回路規模が大きくなってしまう。これは、限られたチップ面積上になるべく多くの画素を配置するビジョンチップに対する回路規模をできるだけ小さくするという要求に相反する。
【0006】
また、従来のビジョンチップでは、各PEの演算能力や搭載されているメモリの量が有限であることが、実現できる処理の範囲を制限することになっている。そして、ビジョンチップの汎用性を増すために、演算能力や搭載するメモリの容量を増やすと、今度は回路面積が肥大化してしまうというジレンマがある。
【0007】
そこで、画素数(搭載可能なPEの数)の低下を来すことなく、高い汎用性を有する半導体集積回路装置の提供が要望されている。
【0008】
【従来の技術】
従来、画素毎にコンパクトなPEを備えた半導体集積回路装置(ビジョンチップ)の設計においては、PEの性能と画素数のトレードオフポイントが固定であったため、想定されるあらゆる用途に対応できるように設計を行うと、通常の用途に対しては冗長になってしまった。また、従来の半導体集積回路装置はグローバル演算に不向きな構造であるため、画像処理のリアルタイム応用に必須の2次元パターンからスカラー量を抽出する処理を効率よく行うことができなかった。
【0009】
図1はビジョンチップを概念的に示す図であり、図2は従来のビジョンチップのアーキテクチャを説明するための図である。
【0010】
図1に示されるように、ビジョンチップ1は、光学系(例えば、レンズ)を介して与えられた画像(入力画像)をマトリクス状に配置された複数のユニット(画素)100で検出および処理して出力する。
【0011】
図2に示されるように、ビジョンチップ1は、マトリクス状に配置された複数のユニット100、デコーダ11、出力回路12、および、通信手段13を備えた1つの半導体チップとして構成される。デコーダ11には、命令INSTおよびクロックCLK等が入力され、通信手段13を介してデコードされた信号を各ユニット100に供給し、また、出力回路12は、通信手段13を介して供給される各ユニット100で検出および処理された信号を外部に出力する。
【0012】
各ユニット100は、光検出器(PD:光検出回路,光検出素子)101およびプロセッシングエレメント(PE)102を備える。図2に示すビジョンチップ1(PE102)は、アーキテクチャS3PE(Simple and Smart Sensory Processing Element)に従ったもので、センサ(PD101)とプロセッサ(PE102)の一体化により、それらの間の通信ボトルネックを解消し、1秒間に1000枚を超える高フレームレートを実現するものである。このような高いフレームレートを有するビジョンチップは、視覚情報を用いたフィードバック制御を容易に実現し、また、ロボットビジョン等の分野で画像処理のリアルタイム応用を促進するものとして期待されている。ここで、ビジョンチップのアーキテクチャS3PEを概説する。
【0013】
図2において、参照符号121はローカルメモリ、122はI/Oポート、123〜125はデータラッチ(Dラッチ)、そして、126はALU(Arithmetic and Logic Unit)を示している。
【0014】
図2に示されるように、ビジョンチップ1は、PE(プロセッシングエレメント)102が画素数分マトリクス状に配列され、各PE102にはPD(光検出器)101が取り付けられている。PE102は、主としてALU126およびローカルメモリ121を備える。ALU126は、全加算器、キャリー格納用レジスタ、および、いくつかのマルチプレクサを備える簡単な構成とされ、論理演算と算術演算を共通の回路で実行する。なお、演算はビット単位で行われ、多ビットデータの演算は繰り返し処理によりビットシリアルに実行する。
【0015】
ローカルメモリ121は、24ビットのランダムアクセスメモリ(RAM)に加え、8ビットのI/Oポート(8ビットの Memory-mapped Input/Output ポート)122が同一のアドレス空間に割り当てられている。これらは、ビット単位でランダムにアクセスすることが可能となっている。I/Oポート122は、上下左右の4近傍との通信、PD101からの入力、および,零信号(”0”)と接続されている。このメモリマップI/O方式(122)の採用により、演算だけでなく入出力を含めた全ての処理をローカルメモリ121ヘのアクセスで行うようになっている。
【0016】
PD101からの光強度信号のA/D(Analog to Digital)変換は、光電流による蓄積電荷の放電をしきい値回路(インバータ)で検出し、そのしきい値を切るまでの時間を計測して行っている。その際、PE102をカウンタとして用いることにより、回路を増やすことなくA/D変換を実現している。
【0017】
上記のS3PEでは、SIMD型の制御方式を用いており、全ての画素(PE102)に対し、同時に同一の命令が実行されるため、画像の局所性を利用したアルゴリズム、すなわち、画素自身とその周辺の画素から値が決定されるようなアルゴリズムが極めて効率的に実行できる。例えば、初期視覚処理と呼ばれるもののほとんどはこのようなアルゴリズムで実現できる。初期視覚処理は、画像処理のリアルタイム応用において、特徴抽出・認識を行う前の画像の前処理として用いられる。なお、この初期視覚処理アルゴリズムを実装したところ、どれもμsオーダーの演算時間に収めることができた。このことから、ビジョンチップが実現する高いフレームレートに見合う演算能力を持っていることがわかる。
【0018】
また、上記のS3PEアーキテクチャに基づき、0.35μmCMOSプロセスを用いたフルカスタム設計を行った結果、各PEあたりトランジスタ数で約400個、面積で105μm×105μmというコンパクトな回路に収まり、この設計を基に、64×64画素を1チップ上に集積したビジョンチップを試作したところ、チップ面積は8.7mm×8.7mmとなった。
【0019】
なお、従来、上述したS3PEのほかにも、汎用のPEを利用したビジョンチップがいくつか作られている。例えば、スウェーデンの Linkoping 大学では光センサとA/DコンバータおよびPEアレイを1チップ化したビジョンチップの研究が行なわれ、IVP社より製品化された。また、その MAPP2200 と呼ばれるビジョンチップは、256×256画素のCMOSイメージセンサの列毎にA/Dコンバータと汎用のPEが取り付けられている。さらに、同研究グループは、画素単位で並列演算を行うビジョンチップ Near-Sensor Image Processing(NSIP)の研究も行っており、32×32画素のチップが開発されている。また、フランスの Bernard らは Programmable Artificial Retina と呼ばれる汎用のPEを採用したビジョンチップを設計しており、65×76画素(後に、128×128画素)のチップが開発されている。
【0020】
なお、センサとの一体化はなされていないが、1画素を1つのPEが処理する画素単位のSIMDプロセッサとして、Gealow らによる Pixel-Parallel Image Processor があり、64×64=4096個のPEが1チップに収められている。同種のアプローチとして、Gayles らによるMGAP−2もあり、49152個のPEが32チップ構成で実現されている。
【0021】
【発明が解決しようとする課題】
上述したように、従来、様々なビジョンチップが研究、開発および提案されているが、従来のビジョンチップの設計においては、なるべくPE(102)の回路を小さくする必要から、PEの性能は用途に対して最低限のものでなくてはならなかった。ここで、PEの性能とは、主に演算機能とメモリ容量を指す。演算機能の充実はアルゴリズムの実行速度の向上につながり、また、メモリ容量の増加は実行できるアルゴリズムの範囲を広げることにつながる。特に、メモリ容量はビジョンチップを設計する上で重要な項目であり、ビジョンチップの適用範囲を決めることにもなる。
【0022】
ところで、ビジョンチップ(半導体集積回路装置)は、実行させたいアルゴリズムの範囲を広げようとすればするほど、すなわち、汎用性を高めようとすればするほど、例えば、大容量のメモリが必要となって各PEの回路面積が増加することになる。この各PEの回路面積の増加は、そのまま1チップに集積できる画素数(PEの数)の減少につながる。このように、ビジョンチップにおいて、汎用性と画素数との間にトレードオフの関係が存在し、ビジョンチップを設計する上でジレンマとなっている。
【0023】
他の問題として、多くのビジョンチップが採用している2Dメッシュネットワーク構造(通信手段13:上下左右の四方向とのみ接続するもの)は、グローバル演算に不向きであるということである。この構造は、例えば、エッジ検出のように、ある画素の値がその画素自身とその周辺の画素からのみ決定されるような局所的な演算に対しては非常に強力であるが、遠く離れた画素の情報を利用するような演算には、その距離分の通信時間がかかってしまう。
【0024】
これらの問題に対して、上述したS3PEをはじめとする従来のビジョンチップおよびSIMDプロセッサでは、効果的な解決策を提示できていなかった。また、MGAP−2やいくつかのSIMDプロセッサでは、コンディションレジスタを利用したPEの結合機能を持ち、前者の問題に対処しているが、結合がレジスタを介した擬似的なものであるため、結合PE数分の段数のパイプライン処理が必要となる。これは、段数が多くなった場合に効率が悪く、好ましくない。さらに、後者の問題に対する解決とはなっていない。また、NSIPで採用されているGLUや、高速対象追跡ビジョンチップで使われているモーメント抽出回路は、後者の問題を部分的に解決しているが、これらは画像全体に対する固定した処理であり、より高度なアルゴリズムを実装したい場合には柔軟性が不足している。
【0025】
すなわち、従来の半導体集積回路装置は、例えば、ロボットビジョンに必要不可欠な入力画像の特徴抽出や画像認識といった処理を十分に実現することが困難である。
【0026】
本発明の第1の形態は、上述した従来の半導体集積回路装置が有する課題に鑑み、画素数の低下を来すことなく(PEの占有面積の増大を来すことなく)、高い汎用性を有する半導体集積回路装置の提供を目的とする。本発明の第2の形態は、光検出器の出力信号のA/D変換を追加回路なしで行うと共に、柔軟なセンシングを実現することのできる半導体集積回路装置の提供を目的とする。
【0027】
【課題を解決するための手段】
本発明によれば、1つの半導体チップに設けられ、アレイ状に配置された複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記複数のプロセッシングエレメントにおける各プロセッシングエレメントは、前記複数のプロセッシングエレメントにおける他のプロセッシングエレメントに対して出力を供給するラッチ手段と、当該各プロセッシングエレメントに対する入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段と、をそれぞれ備え、前記各プロセッシングエレメントは、前記ラッチ手段をスルー状態にすることで直接結合され、全体として演算処理を実行するプロセッシングエレメント群を構成するモードを有し、前記零信号は、前記選択手段が該零信号を選択して出力するプロセッシングエレメントを、前記プロセッシングエレメント群における先頭のプロセッシングエレメントとして指定することを特徴とする半導体集積回路装置が提供される。
本発明の第1の形態によれば、1つの半導体チップに設けられた複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記各プロセッシングエレメントの出力に設けられたラッチ手段と、入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段とを備えることを特徴とする半導体集積回路装置が提供される。
【0028】
また、本発明の第1の形態によれば、複数のプロセッシングエレメント、および、該プロセッシングエレメントをつなぐ通信手段を有する半導体集積回路装置であって、第1のプロセッシングエレメントにおける資源を、前記通信手段を介して任意の第2のプロセッシングエレメントの資源として使用することを特徴とする半導体集積回路装置も提供される。
【0029】
本発明の第2の形態によれば、複数の光検出回路および複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記各光検出回路は、光検出素子の出力と基準電圧とを比較する比較手段を備え、該比較手段の出力が該基準電圧を切るまでの時間をカウントしてA/D変換処理を行うことを特徴とする半導体集積回路装置が提供される。
【0030】
本発明の第1の形態に係る半導体集積回路装置は、これまでのアーキテクチャに若干の変更を加えるだけで、複数のPE(プロセッシングエレメント)を結合して1つの大きなPEとして扱うことが可能であり、これにより、PEの性能と画素数(搭載可能なPEの数)のトレードオフポイントが可変になり、効率よく資源を利用することができる。さらに、本発明の第1の形態に係る半導体集積回路装置によれば、結合されたPEの中で総和やブロードキャスト等のグローバル演算を実行することができ、特徴量フィードバックを実現することが可能になる。
【0031】
すなわち、ビジョンチップに用いられるビットシリアルALUに、PE間通信の機能だけでなく、PE間を回路的に連結する機能を付加することで、累積演算や多ビット演算を実現する。これにより、画像全体の総和を計算するようなグローバルな演算を、新たに加算器等の回路を追加することなく実行することができるようになる。さらに、結合の組合せを変えることにより、複数のPEを用いて多ビット演算を実行することもでき、個々のPEの能力を集めてひとつの強力なプロセッサとして利用することも可能になる。
【0032】
また、近傍通信の入力元を上下左右のいずれかのPEまたは零信号からPE毎に選択できるようにすることで、複数のPEを縦続接続してブロック化することができる。ブロックの指定には、列バスおよび行バスを通じて行なわれるか、或いは、内部データから生成される。このとき、n個のPEが接続されたブロックにおいては、n個のALUが結合されnビットALUとして振る舞わせることが可能であり、n個のデータの総和・AND・OR・XORおよびnビットデータ同士の加減算等を一度に計算することができる。また、メモリ素子も、例えば、1ビットメモリを24個持つPEをn個結合することで、nビットが1ワードのメモリが24個使用可能になる。従って、ブロックのサイズを大きくすることで、素子を無駄にすることなく、ブロックの演算能力を高めることができる。
【0033】
本発明の第2の形態に係る半導体集積回路装置は、光検出素子(光検出器PDの画素値)の出力のA/D変換を、ソフトウェアを用いて行うことにより、柔軟で能動的な画像センシングを実現することができる。ここで、A/D変換を、ソフトウェアを用いて行うとは、フォトダイオードに光が照射されて電荷が次第に抜けるのを比較手段(コンパレータ)で観測し、電圧が基準電圧(しきい値)を切るまでの時間をプロセッシングエレメント(PE)でカウントすることであり、カウントの際の時間の刻み幅をプログラムで可変にすることにより、或いは、基準電圧を可変にすることにより、アナログ量の量子化の区間割り当てを任意に実現する。また、リセットのタイミングをローカルに可変にすることで、広ダイナミックレンジと高フレームレートを両立した撮像が可能になる。
【0034】
上記の本発明の特徴的な構成は、ビジョンチップのみならず、一般のイメージセンサ、或いは、広く複数のプロセッシングエレメント(演算処理回路)を有する半導体集積回路装置に対しても適用することができ、その性能を大幅に向上することが可能である。
【0035】
【発明の実施の形態】
以下、本発明に係る半導体集積回路装置(ビジョンチップ)の実施例を、添付図面を参照して詳述する。
【0036】
図3は本発明の第1の形態に係るビジョンチップの一例のアーキテクチャを説明するための図である。図3において、参照符号2はPE(図2におけるプロセッシングエレメント102に対応)、121はローカルメモリ、122はI/Oポート、123,124はデータラッチ(Dラッチ)、そして、126はALUを示している。さらに、参照符号20は3ビットのレジスタ(状態レジスタ)、21は列バス(COL)、22は行バス(ROW)、そして、23はDラッチを示している。
【0037】
図3に示すPE2(102)は、前述した図2に示されるように、画素数分マトリクス状に配列され、それぞれPD(光検出器101)が取り付けられてビジョンチップ1を構成する。PE2は、主としてALU126およびローカルメモリ121を備える。ALU126は、マルチプレクサ1261〜1265、全加算器(FA:Full Adder)1266、および、D型フリップフロップ(キャリー格納用レジスタ)1267を備える。ここで、各マルチプレクサ1261〜1265は、命令(制御信号)S0〜S5で制御することにより指定され、論理演算と算術演算を同一の回路で実行するようになっている。
【0038】
図3に示すPE2は、前述した図2に示すS3PE102に対して、座標依存値を送るための列バス21および行バス22の共通バスが設けられている。また、状態レジスタ20の出力は、マルチプレクサ27に供給され、近傍通信の入力元が上下左右のいずれかのPEまたは零信号(上下左右零のいずれか)から選択されてALU126(マルチプレクサ1263)に供給されるようになっている。すなわち、メモリ空間上に用意された状態レジスタ20(3ビットのレジスタ)の内容によって、マルチプレクサ27を制御して近傍通信の入力先を上下左右零のいずれにするかを選択できるようになっている。ここで、マルチプレクサ27が零を選択するのは、マルチプレクサ27の出力(ALU126の入力)を遮断して、例えば、始点となるPEの指定等を行う。さらに、マルチプレクサ1265の出力は、ローカルメモリ121に供給されると共に、Dラッチ23に格納されて他のPEに出力されるようになっている。すなわち、近傍通信の出力先は、ラッチ(Dラッチ23)になっている。
【0039】
ここで、ALU126の出力信号は、フリップフロップではなくラッチ(Dラッチ)23を介して出力されるように構成されているのは、フリップフロップではクロックCLK(例えば、クロックCLKの立ち上がりタイミング)を待つ必要があるのに対して、ラッチ23ではイネーブル信号Nenの入力(高レベル『H』)によりそのまま出力信号を他のPE(ALU)に伝えることができるからである。すなわち、例えば、PE2aのALU126aの出力をDラッチ23a、および、PE2bのマルチプレクサ27b(1263b)を介してPE2bのALU126b(全加算器1266b)に接続することにより、1つのモジュール(機能ブロック)として使用し、リアルタイムの処理を行うことができる。
【0040】
単独のPE2における演算の手順は、前述した図2のS3PE102と同様であり、A,Bの二つのデータをローカルメモリ121から読み出して演算を実行した後、結果をローカルメモリ121に書き込む。算術命令の場合は、結果書き込みの後にキャリー格納用レジスタ1267を更新する。なお、A,Bのデータが前回と同じ場合は読み出し処理を省略することができ、通常演算において実行できる演算の種類は、図2のS3PE102で実行できる演算と同じである。
【0041】
具体的に、演算の手順としては、Dラッチ124をイネーブル信号Aenにより一瞬イネーブルにして、一方のオペランド(A)をローカルメモリ121から読み込む。次に、Dラッチ123をイネーブル信号Benにより一瞬イネーブルにして、他方のオペランド(B)をメモリ121から読み込む。命令の種類を指定すると、演算結果が計算されるので、その演算結果をメモリ121へ格納する。
【0042】
キャリー格納用レジスタ1267は、その出力が全加算器1266の入力につながっていることで、多ビットの加減算を1ビット単位で行うビットシリアル演算を実現する。ここで、キャリー格納用レジスタ1267は、クロックCLKによりキャリー値を更新するようになっている。また、マルチプレクサ1263に与える制御信号S5を高レベル『H』(”1”)にすることにより、演算のオペランドの一方を近傍入力(マルチプレクサ27の出力)に切り換えることができる。
【0043】
近傍入力の元になる近傍出力の値は、ALU126の演算結果であり、Dラッチ23をイネーブル信号Nenで一瞬イネーブルにすることにより更新される。このとき、制御信号S5が高レベル『H』になっていると、全加算器1266の出力が隣接PEの全加算器の入力に直接(レジスタを介さずに)つながることになり、全加算器が縦続接続される。これを利用することで、累積演算や多ビット演算を実現する。
【0044】
これにより、より無駄の少ない構成で高度な処理にも対応できるビジョンチップを実現することができる。
【0045】
図4は図3のアーキテクチャにおけるPE(プロセッシングエレメント)のブロック化処理を実行するための構成を説明するための図であり、図3における主たる構成(列バス21、行バス22、ローカルメモリ121、I/Oポート122、状態レジスタ20、および、マルチプレクサ27)を概略的に示すブロック図である。
【0046】
ビジョンチップに設けられている(ローカルメモリ121にマップされている)状態レジスタ20の内容によって、ALU126に供給される近傍入力元を上側のPE,下側のPE,左側のPE,右側のPE,或いは,零信号のいずれかから各PE毎に(ローカルに)選択できるようになっている。また、列バス21および行バス22が設けられており、各PE(2)に座標情報を送信する機構を備えている。
【0047】
本発明の第1の形態に係るビジョンチップの一例のアーキテクチャによれば、PE同士を結合し、1つの大きなPEとみなすことにより、演算機能やメモリ容量等を高めることができる。また、近傍通信の入力先をローカルに変えることで、さまざまな結合の形を作ることができる。すなわち、後述するように、可変粒度プロセッサや列並列プロセッサのエミュレーション等が実現される。結合されたPEの中で実行できる演算としては、例えば、累積演算および多ビット演算がある。
【0048】
図5は本発明の第1の形態に係るビジョンチップの一例におけるPEの結合処理を説明するための図であり、左右(行方向)に隣接するPEの結合を示すブロック図である。
【0049】
図5に示されるように、例えば、行方向に隣接する2つのプロセッシングエレメント(PE)2aおよび2bは、PE2aのラッチ23aを介してALU126aと126bが直接接続されて隣接するPE同士の結合が実現される。このようにして結合されたPE群は、累積演算(総和演算や全OR演算等)や多ビット演算を実行するために使用される。
【0050】
図6は本発明の第1の形態に係るビジョンチップの一例における累積演算処理を説明するための図であり、図6は上述した図5に対応している。
【0051】
図5および図6に示されるように、まず、データをメモリ(121)から読み出してラッチ(124)に格納し、全加算器(1266)にデータA(A(i), A(i+1), …)として供給する。次に、マルチプレクサ(1263)の制御信号S5を高レベル『H』(”1”)としてマルチプレクサ(27)の出力を選択し、データBとして全加算器(1266)に供給する。このとき、マルチプレクサ(27)はラッチ(20)の出力により、例えば、左側のPEの出力を選択して出力する。さらに、全加算器(1266)の出力(演算結果:W(i), W(i+1), …)をメモリ(121)に格納する。なお、必要に応じて、キャリー格納用レジスタ(1267)を更新する。
【0052】
このように、累積演算処理は、例えば、マルチプレクサ1263aの制御信号S5を”1”にした状態で、ラッチ23aのイネーブル信号Nenを”1”にする(イネーブルにする)ことで、全加算器1266aの和出力が次段の全加算器1266bの入力に直接接続され、累積演算を実行することができる。すなわち、同様に、近傍出力(例えば、左側のPE(2a)のALU(126a)の出力)を隣接PE(2b)のALU(126b)の入力に直接に入力することで、演算器を多段となるように構成し、累積演算を実現する。
【0053】
図6は、例えば、制御信号[S0,S1,S2,S3,S4,S5]をそれぞれ[1,x,0,0,1,x]とした場合の例であり、累積加算器が構成される。これにより、ひとまとまりのPEからのデータの総和を計算することができる。演算の種類を変えることで、全OR・全AND等も計算することができる。
【0054】
すなわち、演算の種類を論理和にすれば全ORになり、また、加算にすれば総和になる。総和の場合は、最下位ビットから順にビットシリアルに計算することになる。全ORを用いることで、ブロック内のデータのブロードキャストを実現することができる。
【0055】
図7は本発明の第1の形態に係るビジョンチップの一例における総和演算処理を説明するための図であり、N=4,m=2で、11+10+01+00の総和(11+10+01+00=0110)が計算される。ここで、前述したように、各PEの出力は、ラッチ(Dラッチ23)を介して隣接する(右側の)PEに供給されるようになっているため、1つのモジュールとして1命令で総和演算を実行することができる。
【0056】
なお、例えば、列バス21および行バス22からの座標値をマスクとして用いることにより、モーメント量等のスカラー特徴量を計算することもできる。
【0057】
図8は本発明の第1の形態に係るビジョンチップの一例における多ビット演算処理を説明するための図である。
【0058】
まず、図8(I)に示されるように、一旦、キャリー格納用レジスタ(1267)に一方のオペランドに相当する値を格納するような命令を実行しておき、キャリー信号C(C(i), C(i+1), …)が次段に接続されるような命令を与える(図8(I)の例では、制御信号S[S0,S1,S2,S3,S4,S5]にそれぞれ[1,x,0,1,1,x]を与える)ことにより、図8(II)に示されるような複数のPEを用いた多ビット演算が実現される。なお、図8に示されるように、加算命令の場合、桁上げ加算器を構成することになる。
【0059】
具体的に、まず、一方のデータをローカルメモリ(121)から読み出してキャリー格納用レジスタ(1267)に格納する(”1”との加算を実行する)。また、他方のデータをメモリ(121)から読み出してラッチ(124)に格納する。さらに、命令を選択する(制御信号S5=”1”,S2=”1”)。
【0060】
次に、近傍出力ラッチをイネーブルにする(図8(I):マルチプレクサ(1263)の制御信号S5を”1”としてマルチプレクサ(27)の出力を選択する。このとき、マルチプレクサ(27)はラッチ(20)の出力により、例えば、左側のPEの出力を選択して出力する。)さらに、近傍出力ラッチをディセーブルにする。
【0061】
そして、命令を選択し(制御信号S5=”1”,S2=”0”:図8(II))、演算結果をメモリ(121)に格納する。なお、上記のような累積演算や多ビット演算を行うPE群を指すものとして、ブロック(ブロック化)という概念を用いている。
【0062】
なお、上記の多ビット演算処理においても、ALU(全加算器1267)の出力信号は、フリップフロップではなくラッチ(Dラッチ23)を介して接続することで1つのモジュールとして機能し、リアルタイムの処理を行うことができる。
【0063】
図9〜図11は本発明の第1の形態に係るビジョンチップの一例におけるPEのブロック化処理を説明するための図である。図9および図10において、参照符号200はブロック(PE群)を示し、PEsは始点のプロセッシングエレメント、また、PEeは終点のプロセッシングエレメントを示している。
【0064】
図9は1次元の例であり、図10は2次元の例であるが、PEのブロック化(PE群化)は、列バス21および行バス22を介して各PEに座標に依存した値を送り、それに基づいて状態レジスタ(20)の値をローカルに設定することによって、PEをブロック状に連結してブロック200を構成する。
【0065】
すなわち、図9および図10に示されるように、始点になるプロセッシングエレメントPEsの近傍入力先を零に設定(例えば、図3に示すPEにおけるマルチプレクサ27が零を選択して出力するように設定)し、そこから一筆書きで終点のプロセッシングエレメントPEeまで連結する。ここで、終点のプロセッシングエレメントPEeは、総和等のスカラー特徴量の格納先になる。このひとかたまりのブロック200が、先に挙げた累積演算や多ビット演算を行う際の処理単位となる。
【0066】
このようなブロック化により、例えば、図10に示されるように、n×mブロック内において、nm個の1ビットALU(1266)が縦続接続され、nmビットALUとして振る舞う。また、図11に示されるように、メモリ素子も1ビットメモリが24個で構成されるメモリ(121)を持つPEをnm個結合することで、nmビットが1ワードのメモリが24個使用可能になる。従って、ブロックのサイズを大きくすることで、素子を無駄にすることなく、ブロックの演算能力を高めることが可能になる。
【0067】
なお、ブロック(200)の大きさを動的に切り替えることで、可変粒度の画像処理が可能になる。さらに、ブロック内のブロードキャストが自由に行えるため、ピラミッドアーキテクチャ等のメッシュ以外のネットワーク構造のエミュレーションも可能である。
【0068】
図12は本発明の第1の形態に係るビジョンチップの一例におけるブロック内特徴量のフィードバック処理を説明するための図である。
【0069】
上述したブロック(200)内において、まず、総和演算でモーメント等のスカラー特徴量を計算し、その結果をブロードキャスト(全ORで実現)でブロック内の全PEに送り、結合メモリに格納することで、ブロック内での特徴量フィードバックが実現される。これらの一連の処理は、ビットシリアルに実現可能であるため、作業用のメモリを消費せずに済む。
【0070】
図12に示されるように、複数のPEをあるときは空間(画像)を表すために使用し、また、あるときはビット列(最下位ビット(LSB:Least Significant Bit)、第2ビット、…:演算結果)を表すために用いることができ、メモリ(資源)を自由に無駄なく使用することが可能である。このように、ブロック(PE群)内に保持するデータを桁毎に異なるPEに分散して持たせることで、単一の場合におけるメモリ使用量を削減することができる。
【0071】
次に、列並列プロセッサのエミュレーションに関して、従来のビジョンチップやSIMDプロセッサの中には、列に1つだけPEを設置した列並列のもの(例えば、MAPP2200)が存在する。このタイプのプロセッサは、列並列にすることにより、完全並列に比べて1列分の繰り返し処理が必要となるため速度の点で性能が落ちるが、その分個々のPEの演算能力を高めることを目指すことができる。これに関して、本発明の第1の形態に係るビジョンチップのPE結合機能を用いてPEを列方向に一列につなげることにより、演算器(ALU126)やメモリ(121)を無駄にすることなく、これらの列並列プロセッサのエミュレーションが可能である。
【0072】
また、列並列のプロセッサでは、列毎に任意の画素にアクセスできるため、ある種の座標変換アルゴリズムにおいて威力を発揮する。従来の2Dメッシュネットワークを用いたチップにおいては、PE間の通信が近傍のみと限られているため、このようなアルゴリズムを実装することは難しいが、本発明の第1の形態に係るビジョンチップのブロードキャスト機能を用いることで、列並列プロセッサと同等の機能を実現することができる。具体例として、後に90度回転アルゴリズムの実装例を示す。
【0073】
図13は本発明の第1の形態に係るビジョンチップの一例におけるその他の処理を説明するための図であり、ブロックの自己生成を説明するためのものである。
【0074】
上述したブロック化において、ブロックを指定するのは、外部から列バス21および行バス22を介して行うため、ブロックの大きさや位置は格子等のある程度規則的なものとなっている。しかしながら、図13に示されるように、ブロック200a,200bの大きさや位置を、例えば、入力画像に基づいて内部生成(ブロックの自己生成)することで、より一層柔軟なブロックを生成することができる。なお、ブロックは、同時に複数生成することが可能である。
【0075】
また、PEを列方向に一列につなげて列並列マシンのエミュレーションを行うことで、演算能力およびメモリ容量を向上し、列内の任意の画素同士の通信を可能とすることもできる。これは、ある種の座標変換系のアルゴリズムにおいて威力を発揮することになる。
【0076】
次に、図14〜図16を参照して、本発明の第1の形態に係るビジョンチップの一例に対して視覚処理アルゴリズムを実装した結果を説明する。なお、アルゴリズムの検証は、専用シミュレータを使用して行った。
【0077】
図14は本発明の第1の形態に係るビジョンチップの一例を適用した並列ブロックマッチング処理を説明するための図であり、図12を参照して説明したブロック内特徴量のフィードバック処理を用いたアルゴリズムの例としての並列ブロックマッチングを説明するためのものである。
【0078】
本並列ブロックマッチング処理は、二枚の画像(画像A,画像B)のうち、一方の画像(画像A)における区分けされた各部分(A1,A2,A3,A4)が、他方の画像(画像B)においてどちらにずれているかを探索するアルゴリズムである。すなわち、二枚の画像を別々のカメラから入力することでステレオ処理を実現したり、また、1フレーム前の入力とのマッチングを取ることでオプティカルフローを実現する等の応用が考えられる。
【0079】
図14(I)に示されるように、一方の画像(画像A)をうずまき状に移動させながら、ブロック単位でSAD(Sum of Absolute Difference:差分の絶対値の総和)を取る。SADがこれまでの最大値よりも大きい場合には、最大値およびインデックスを更新する。なお、図14(II)は、並列ブロックマッチング処理の一例のプログラムおよびブロックマッチングを行う移動方向を示し、また、図14(III)は、並列ブロックマッチング処理の結果(インデックスidx)を示している。ここで、図14(III)は、部分A1では18回目でパターンが一致し、部分A2では14回目でパターンが一致し、部分A3では22回目でパターンが一致し、そして、部分A4では10回目でパターンが一致した場合を示している。
【0080】
通常、SADのような演算は、総和計算に時間がかかり、何度も繰り返して演算を行うのは難しいが、本発明の第1の形態に係るビジョンチップによれば、ブロック内総和を高速に計算することができるため、SAD演算を無理なく実行することが可能である。また、例えば、入力画像を4ビット×2枚、ブロックサイズを8×8、そして、探索領域を4×4とした場合に使用するメモリ量は、入力が8ビット、差分の絶対値の格納が4ビット、SAD結果の格納が10ビット、最大値の格納が10ビット、そして、インデックスの格納4ビットを合計した36ビット+作業用数ビットとなり、1個のPEが持つローカルメモリ(例えば、24ビット)には収まりきらない。
【0081】
しかしながら、本発明の第1の形態に係るビジョンチップによれば、SADの結果、最大値、および、インデックス等をブロック内の複数PEのメモリに分散して持たせることができるため、メモリ領域を圧迫せずに済むことになる。
【0082】
具体的に、入力画像を4ビット、ブロックサイズを8×8画素、そして、探索範囲をn画素とした場合に必要な演算の回数は、通常演算が(224n−12)回、ブロック内累積演算が(22n−2)回、座標指定が(66n−6)回、そして、各PEが使用するメモリ量は19ビットであった。
【0083】
図15は本発明の第1の形態に係るビジョンチップの一例を適用した90度回転処理を説明するための図である。
【0084】
例えば、正立の画像『A』を反時計回り方向に90度だけ回転する場合を考える。ここで、回転、拡大およびフーリエ変換等の座標変換系のアルゴリズムは、処理の局所性がないため、従来の2Dメッシュ結合のSIMDプロセッサで実行するには向かないアルゴリズムである。しかしながら、並列度を2次元から1次元に落とし、繰り返し演算を行うことで、これらの演算が可能になる場合がある。ここでは、特に、本発明の第1の形態に係るビジョンチップを列並列プロセッサと見立て、90度回転のアルゴリズムを実装した。
【0085】
図15に示されるように、アルゴリズムの手順は、対角線を介して列毎に列を行に置き換えていく。同一列内および同一行内でのデータの移動は、累積演算によるブロードキャストを用いて行う。
【0086】
本アルゴリズムを実装すると、入力画像が1ビット、そして、画素数がN×N(2n=N)の場合に必要な演算の回数は、通常演算が(4N+2n+2)回、列(行)累積演算が4N回、座標指定が(6N+2n)回、そして、各PEが使用するメモリ量が4ビットであった。
【0087】
図16は本発明の第1の形態に係るビジョンチップの一例を適用した複数物体の同時トラッキング処理を説明するための図である。
【0088】
複数物体の同時トラッキングを行おうとした場合、1つの方法として、個々の物体に対して順番にトラッキング処理を行うという方法が考えられる。しかしながら、対象の数が多くなると、要求されるフレームレート内に処理が収まらない可能性も出てくる。そこで、図16のトラッキング処理は、本発明の第1の形態に係るビジョンチップのブロック化の機能を用いて、複数の物体を同時にトラッキングすることを考える。この場合、入力画像における対象の位置と形状に依存してブロックを作らなければならず、前述したブロックの自己生成が有効になる。
【0089】
すなわち、図16に示されるように、まず、初めに物体の初期位置(既知とする)に初期ブロックを配置し、それを基に対象を囲むブロックを自己生成する。次に、ブロック内でスカラー特徴量を計算して出力する。特徴量から対象の位置情報を計算し、次のフレームにおける初期ブロックの位置とする。
【0090】
ここで、初期ブロックの配置、特徴量の出力および位置情報の計算は対象毎に行う必要があるが、ブロックの自己生成および特徴量の計算は複数物体に対して同時に実行することができるため、トラッキング処理全体の処理時間を短縮することができる。
【0091】
本アルゴリズムを実装すると、入力画像を1ビット(バイナリ)、対象の個数をm、対象の最大サイズをnmax×nmax、そして、画素数N×Nとした場合、初期ブロックの配置およびブロックの自己生成には、通常演算が(51nmax+12m+4)回、ブロック内列(行)方向累積演算が4nmax回、そして、座標指定が(5m+16nmax)回だけかかる。特徴量の計算および出力は、モーメントを利用した場合で、通常演算が(66log2nmax+40log2N)回、ブロック内累積演算が(12log2nmax+8log2N)回、列(行)累積演算が(6mlog2nmax+4mlog2N)回、そして、座標指定が(2m+2log2N)回だけかかる。なお、使用メモリは、合計7である。
【0092】
上述したアルゴリズムの実行時間および使用メモリの見積もりの例を次の表1に示す。ここで、画素数を256×256、マッチングの探索範囲を9×9画素、トラッキング対象の最大サイズを32×32、トラッキング対象の個数を10個、通常演算の実行速度を40ns、N段累積演算の実行速度を(20+1.0N)ns、そして、座標指定の実行速度を20nsとする。
【0093】
【表1】
【0094】
上述した本発明の第1の形態に係るアーキテクチャを基に試作チップの設計を行った。過去の設計から回路の追加はほとんどないので、回路規模はそのままに機能だけ拡充することができた。さらに、回路およびレイアウトを改良することにより、さらに高集積化が実現された。具体的には、制御信号のグローバル配線化・SRAMの非双対線化による効果が大きい。また、これまでPD回路には、インバータが反転するまでの時間をカウントする方式がとられていたが、比較器で基準電圧Vrefと比較する方式を採用することにより、消費電流をかなり抑えることができ、A/D変換のしきい値電圧を変えられるという利点がある。
【0095】
具体的に、例えば、0.35μm CMOS DLP/TLMプロセス、エリアサイズが5.4mm×5.4mmの中に64×64個の画素(図1におけるユニット100に相当)を搭載することができる。ここで、各PEの面積は、例えば、67.4μm×67.4μmであり、256×256画素を約1.8cm角のチップに搭載することが可能であり、画像処理デバイスとして標準的な画素数にまで到達させることができる。
【0096】
このように、本発明の第1の形態に係るPE結合機能とグローバル演算機能を付加したビジョンチップによれば、例えば、ステレオ視やオプティカルフローのためのブロックマッチングを1ms以内に実行できる等、画像処理のリアルタイム応用に対し有効であり、従って、ビジョンチップで実行できるアプリケーションの幅を拡大することが可能である。
【0097】
上述したように、本発明によれば、ALUに含まれるFAやDFF等の回路を通常演算のみならず、累積演算・多ビット演算にも流用することにより、小さい回路規模を維持しつつ多様な演算を実現することができる。その結果、グローバルな演算を行うことができるビジョンチップを、従来のものとほとんど同じ回路規模で実現することができる。
【0098】
また、近傍通信の入力元をPE毎に選択できるようにすることで、複数のPEをブロック化し、PE単体では不足な性能を補うことが可能である。その結果、予め想定させるアプリケーションの最大のスペックに合わせてPEを設計せずに済み、結果としてハードウェア量の大幅な削減、並びに、対応アプリケーションの大幅な拡大につながる。
【0099】
以下、本発明の第2の形態としての光検出回路PD(光検出素子:フォトダイオード)の出力をソフトウェアA/D変換する半導体集積回路装置を詳述する。
【0100】
従来技術の説明として、図2を参照して説明したように、S3PEにおいて、光検出器(PD)101からの光強度信号のA/D変換は、光電流による蓄積電荷の放電をしきい値回路(インバータ)で検出し、そのしきい値を切るまでの時間を計測して行っており、PE102をカウンタとして用いることで回路を増やすことなくA/D変換を実現している。
【0101】
図17は従来のビジョンチップの一例におけるフォトダイオード出力(光検出回路PD)のA/D変換処理を実行するための構成を説明するための図である。図17において、参照符号301は光検出器(PD101)を示し、302はプロセッシングエレメント(PE102)を示している。
【0102】
PD301は、光検出素子(フォトダイオード)311およびしきい値回路(インバータ)312を備え、しきい値回路312は、フォトダイオード311の光電流による蓄積電荷の放電を検出する。PE302は、PD301からの光強度信号のA/D変換をソフトウェアで行うもので、しきい値回路312で検出されたしきい値を切るまでの時間を計測して行うようになっている。すなわち、PE302をカウンタとして用いることで、回路を増やすことなくA/D変換を実現している。
【0103】
図18は図17のA/D変換処理における課題を説明するための図である。図18において、参照符号L1は光検出素子(フォトダイオード)311に入力(照射)される光強度が大きい(明るい)とき、L2は光検出素子311に入力される光強度が中くらいのとき、そして、L3は光検出素子311に入力された光強度が小さい(暗い)ときの時間に対する出力電圧の関係を示している。
【0104】
すなわち、光検出素子311に入力する光強度が大きい場合には、光電流による電圧降下は大きく(L1)、また、光検出素子311に入力する光強度が小さい場合には、光電流による電圧降下が小さい(L3)。ここで、図17のA/D変換処理では、しきい値回路312としてインバータを使用するため、しきい値電圧(基準電圧Vref)は固定であり、また、PE302におけるしきい値回路312の出力の変化検出処理(カウンタによる時間測定処理)も一定の時間間隔(P0)となっている。
【0105】
このように、図17に示す従来のビジョンチップの一例における光検出回路PD(フォトダイオード出力)のA/D変換処理は、しきい値が固定されたしきい値回路(インバータ)312を使用し、しきい値回路312の出力の変化も一定の時間間隔P0で実行されている。その結果、光の強度やノイズに対する適切な制御を行うことが困難であり、また、必要な個所で検出精度を向上させるといったこともできなかった。
【0106】
図19は本発明の第2の形態に係るビジョンチップの一例におけるフォトダイオード出力(光検出回路PD)のA/D変換処理を実行するための構成を説明するための図であり、図20は図19の一構成例を示す図である。図19および図20において、参照符号31は光検出器(PD101)、33はリセット回路、34は光検出素子(フォトダイオード311)、そして、35はコンパレータ(比較手段)を示している。また、参照符号32はプロセッシングエレメント(PE102)、36はローカルメモリ(121)、37はI/Oポート(122)、そして、38はALU(126)を示している。ここで、フォトダイオード34の出力(カソード)はコンパレータ35の負入力に接続され、また、コンパレータ35の正入力には基準電圧Vrefが印加されている。
【0107】
図19および図20に示されるように、フォトダイオード34の寄生容量に蓄えられた電荷は、照射された光の光強度に応じた量の光電流が流れることで蓄積または解放(図19および図20では解放)され、それに伴って、コンパレータ35の入力電圧も変動し、予め定められた基準電圧(しきい値)Vrefを切ったところで出力が反転する。このコンパレータ35の出力をI/Oポート37(図20ではローカルメモリ36にマップされている)を通じて取り込み、PE32のALU38とメモリ36を用いてカウントする。
【0108】
また、図20に示されるように、フォトダイオード34の電荷をリセットするための信号は、I/Oポート37からリセット回路33に送られ、各PE毎に(ローカルに)リセットのタイミングを制御するようになっている。
【0109】
上述した本発明に係るA/D変換(可変量子化間隔A/D変換)は、光電流による電圧降下をコンパレータ35で検知する方式であり、電圧が基準電圧Vrefを切るまでの時間をカウンタで測定する。この際、出力が光強度の逆数となってしまうが、これでは、画像処理を行う上で都合が悪いので、出力が光強度に比例または対数比例するように、カウントのタイミングを時間によって変えて量子化間隔を調整する。
【0110】
この際、ビジョンチップを高い時間分解能で制御する必要が生じるため、ビジョンチップに対して命令を供給する装置(システム)として、パイプライン化によって命令供給の時間分解能を高め、且つ、そのパイプラインの動的な停止を一切排除することにより、命令サイクルの粒度での実時間性を保証できるコントローラを用いる。さらに、カウントの最中に基準電圧Vrefを変化させることにより、さらに柔軟なセンシングが可能となる。例えば、カウントしながら基準電圧Vrefを徐々に上げていくことにより、暗いところでは感度を優先し、明るいところでは精度を優先したセンシングを実現することができる。また、この可変量子化間隔A/D変換の機構を積極的に利用し、過去のA/D変換結果を用いて現時刻の区間割り当て制御を更新することにより、環境変化に対し適応的なA/D変換が可能になる。詳細は、後述する。
【0111】
図20に示す回路では、PD31(光検出素子34)のリセットを各画素毎に行うことができ、これを利用して、電圧が基準電圧Vrefを切った画素(PD)に対してのみリセット信号を与える。これにより、明るいところは高いフレームレートで、また、暗いところは低いフレームレートで撮像することになり、広ダイナミックレンジと高フレームレートを両立した撮像が可能になる。
【0112】
さらに、PD31(光検出素子34)のA/D変換を既にPEに設けられているALU38とメモリ36を用いて行うことにより、回路の追加なしにA/D変換を実現することがでる。また、この方式の利点として、光検出素子(フォトダイオード)34の制御のタイミングをソフトウェアで変えることができ、従来のイメージセンサでは不可能であった柔軟なセンシングを実現することができる。
【0113】
図21は図19および図20のA/D変換処理の動作を説明するための図である。図21において、参照符号LL1〜LL6は光検出素子(フォトダイオード)34に入力された光強度が高い(明るい:LL1)方から低い(暗い:LL6)に向かっての時間に対する出力電圧の関係を示している。
【0114】
図21に示されるように、図20のA/D変換処理は、基準電圧Vrefを様々な電圧レベルに設定すると共に、プロセッシングエレメント(PE)32におけるしきい値回路(コンパレータ)35の出力の変化検出処理(カウンタによる時間測定処理)も異なる時間間隔(例えば、P1,P2)に変化させて制御するようになっている。図21に示されるように、ノイズの影響は、ノイズの大きさが同じであっても、光強度が小さいときほど(例えば、LL1よりもLL4やLL5の方が)その影響は大きくなり、また、検出精度は、基準電圧Vrefが低いときほど高くなる。
【0115】
ここで、フォトダイオード34に入力する光強度が大きい場合には、コンパレータ35の基準電圧Vrefを低く設定してノイズに強くし、また、検出精度を向上させる方が好ましい。一方、フォトダイオード34に入力する光強度が小さい場合には、コンパレータ35の基準電圧Vrefを高く設定して感度を向上させる必要がある。さらに、コンパレータ35の出力の変化検出処理(カウンタによる時間測定処理)は、例えば、フォトダイオード34に入力する光強度が大きいことが予想される場合(例えば、LL1)には、最初の時間間隔を狭く設定(P1)すると共に後の時間間隔を広く設定(P2)し、コンパレータ35の変化タイミングを狭い時間間隔の領域で検出して検出精度を向上させるように構成することもできる。
【0116】
このように、本発明の第2の形態に係る半導体集積回路装置は、ビジョンチップが適用されるシステム(装置)に応じて、光の強度やノイズに対する適切な制御を行い、さらに、必要な個所で検出精度を向上させるといった制御を行うこともできる。
【0117】
図22は本発明の第2の形態に係るビジョンチップが適用されるシステムの構成例を示す図である。図22において、参照符号1はビジョンチップ(半導体集積回路装置)、100はユニット(画素)、41はPD読み出し時刻・供給電圧テーブル(光検出回路PDの出力を検出するタイミング(時間間隔)およびコンパレータに与える基準電圧Vref用のテーブル)、42は命令テーブル、43はビジョンチップ制御装置、そして、44はD/A変換器を示している。まず、可変量子化間隔A/D変換の動作について説明する。
【0118】
図22に示されるように、本発明の第2の形態に係る半導体集積回路装置(ビジョンチップ)が適用されるシステムは、ビジョンチップ制御装置43が、命令テーブル42およびPD読み出し時刻・供給電圧テーブル41に従い、ビジョンチップに対して制御命令および基準電圧Vrefを供給する機能を有する。
【0119】
n階調の可変量子化間隔AD変換は、以下の手順で行うことができる。
【0120】
1)各画素100の変換結果を格納するメモリ領域(各PEのローカルメモリ36)を零に初期化するための制御命令を供給する。
【0121】
2)全ての画素をリセット(リセット回路33をオンした後にオフ)する制御命令を供給する(これを時刻0とする)。
【0122】
3)基準電圧Vrefに電位V1を供給する。
【0123】
4)k=1,2,…,n−1に対して、以下の処理を繰り返し実行する。
【0124】
i)時刻tkまで待った後、各画素において、光検出器31(フォトダイオード34)の出力を読み出す制御命令を供給する。
【0125】
ii)基準電圧Vrefとして電位Vk+1を供給する。
【0126】
iii)各画素100において、変換結果を格納するメモリ領域に対して、上記i)で読み出した1ビット値を加算する制御命令を供給する。
【0127】
5)以上の手順終了後、各画素の変換結果格納メモリ領域にはA/D変換結果が格納される。
【0128】
次に、{tk}および{Vk}の決定法について説明する。ここで、{tk}は、プロセッシングエレメント(PE)が光検出回路PDの出力を検出する時刻(カウントのタイミング)に相当し、また、{Vk}はコンパレータ(35)に供給する基準電圧(Vref)に相当する。
【0129】
本発明の第2の形態に係る半導体集積回路装置によれば、テーブルに格納する{tk}および{Vk}を変更することで、さまざまな量子化間隔を実現することができる。具体的に、{tk},{Vk}を決定する方法の例として、仕様として与えられた{ik}(光電流量の量子化間隔)から、それを実現するための{tk}および{Vk}を算出するアルゴリズムを次に示す。
【0130】
図23〜図25は図22のシステムにおけるフォトダイオード出力のA/D変換処理を説明するための図である。
【0131】
まず、アルゴリズムヘの入力に関し、{ik}(k=1,…,n−1)は、光電流量の量子化間隔を示す。量子化間隔{ik}は、図23のように表現する。すなわち、光電流量ikからik-1までのアナログ量に対して、符号(ディジタル値)n−kを割り当てるものとする。
【0132】
図23において、光電流量iの添字は、大きい方が暗い光量を表し、フォトダイオード(34)を流れる光電流量は少なく、逆に、小さい方が明るい光量を表し、フォトダイオードを流れる光電流量は多い。ここで、光電流量iの添字を上記のように設定するのは、時間順に添字を取るtk,Vkとの対応を表すためである。ただし、in,i0は、それぞれ0および∞に固定としてある。
【0133】
次に、アルゴリズムの出力に関し、{tk}(k=1,…,n−1)は、光検出回路(PD)の出力の読み出し時刻列を示し、そして、{Vk}(k=1,…,n−1)は、各tkにおいてVrefとして与えるべき電位を示す。なお、t0は0に固定する。
【0134】
また、その他のパラメータに関し、ΔVは基準電圧Vrefとして入力できる値の粒度、ΔtはPD読み出し時刻の粒度、tmaxはAD変換に費やす時間[Δtの整数倍]、そして、{Pk}(k=1,…,n−1)は前述したi)〜iii)を実行するのに要する時間[Δtの整数倍]を示す。さらに、Vddはフォトダイオードのリセット電位(電源電圧)、Vmaxは基準電圧Vrefに入力できる最大値(コンパレータの動作領域の上限)[ΔVの整数倍]、Vminは基準電圧Vrefに入力できる最小値(コンパレータの動作領域の下限)[ΔVの整数倍]、そして、Cはフォトダイオードの容量を示す。
【0135】
アルゴリズムに関し、まず、k=n−1の場合を決定する。その結果を用いて、k=n−2の場合を決定し、以下同様に、k=1まで決定していく。途中でエラー終了になるのは、入力として与えられた{ik}がハードウェア的な制約から実現不可能な場合である。それぞれの値の対応を図24に示す。なお、記述の都合上、tn=tmax,Vn=Vmaxとして扱う。
【0136】
図24において、参照符号参照符号LL11〜LL14はフォトダイオード(34)に入力された光強度が高い(明るい:LL11)方から低い(暗い:LL14)に向かっての時間に対する出力電圧の関係を示し、LL11は傾きが−i1/C、LL12は傾きが−i2/C、LL13は傾きが−ik/C、そして、LL14は傾きが−in-1/Cとなっている。
【0137】
k=n−1,n−2…,1の順にそれぞれに対して、以下のいずれかの処理を行う。
【0138】
Vk+1≠Vminのとき、処理(A)を行う。
【0139】
Vk+1=Vminのとき、処理(B)を行う。
【0140】
ここで、上記の処理(A)および処理(B)は次の通りである。
【0141】
処理(A)は、以下のように計算する。
【0142】
【数1】
【0143】
ただし、Vk>Vk+1となった場合はエラー終了する。Vk<Vminとなった場合は、処理(B)にて再計算する。
【0144】
処理(B)は、以下のように計算する。
【0145】
【数2】
【0146】
ただし、tk+1−tk<Pkとなった場合は、エラー終了する。
【0147】
このようにして、図24の曲線RLに示されるように、所望の光電流量の量子化間隔{ik}を実現するPD読み出し時刻列{tk}および基準電圧Vrefとして与えるべき電位{Vk}を用意し、A/D変換を行うことができる。また、PD読み出し時刻・供給電圧テーブル41の内容を動的に入れ替えることで、環境や目的の変化に応じた適応的なセンシングを実現することができる。
【0148】
光電流量の量子化間隔{ik}の与え方の例を図25に示す。ただし、説明を簡略化するために、8階調のA/D変換とする。
【0149】
まず、図25(a)は、暗い領域を狭い刻み幅でA/D変換する例(フォトダイオード34に入力する光強度が小さい領域で検出精度を向上させるのに適した例)であり、逆に、図25(b)は、明るい領域を狭い刻み幅でA/D変換する例(フォトダイオード34に入力する光強度が大きい領域で検出精度を向上させるのに適した例)である。
【0150】
また、図25(c)は、刻み幅を大きく取ることで暗い領域から明るい領域までをカバーする例である。ただし、図25(c)の例は、図25(a)と比べて検出可能な上限が2倍になったのと同時に下限も2倍になっているため、ダイナミックレンジは変わらない。
【0151】
さらに、図25(d)は、刻み幅を暗い領域から明るい領域になるに従って大きくして、広いダイナミックレンジを実現する例である。ただし、図25(d)の例では、その代償として、入力光の強度とA/D変換後の値の関係は線形ではなくなる。
【0152】
本発明の第2の形態に係る半導体集積回路装置によれば、上記の図25(a)〜図25(d)に示されるように、ビジョンチップが適用されるシステム(装置)に応じて、光の強度やノイズに対する適切な制御を行うことができ、必要な個所で検出精度を向上させるといった制御が可能になる。
【0153】
以上の説明においては、本発明の適用可能な半導体集積回路装置としてビジョンチップを例として説明したが、本発明はビジョンチップに限定されず、複数のプロセッシングエレメント(PE)が1つの半導体チップ上に形成された半導体集積回路装置に対して幅広く適用することができる。
【0154】
(付記1) 1つの半導体チップに設けられた複数のプロセッシングエレメントを有する半導体集積回路装置であって、
前記各プロセッシングエレメントの出力に設けられたラッチ手段と、
入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段とを備えることを特徴とする半導体集積回路装置。
【0155】
(付記2) 付記1に記載の半導体集積回路装置において、さらに、
前記各プロセッシングエレメントの座標位置情報に応じて前記選択手段が選択するプロセッシングエレメントを制御する制御手段を備えることを特徴とする半導体集積回路装置。
【0156】
(付記3) 付記1または2に記載の半導体集積回路装置において、該半導体集積回路装置は、リアルタイムの多ビット演算処理または累積演算処理を実行することを特徴とする半導体集積回路装置。
【0157】
(付記4) 付記1〜3のいずれか1項に記載の半導体集積回路装置において、さらに、複数の光検出器を備え、前記各プロセッシングエレメントは対応する前記光検出器の出力を処理することを特徴とする半導体集積回路装置。
【0158】
(付記5) 複数のプロセッシングエレメント、および、該プロセッシングエレメントをつなぐ通信手段を有する半導体集積回路装置であって、
第1のプロセッシングエレメントにおける資源を、前記通信手段を介して任意の第2のプロセッシングエレメントの資源として使用することを特徴とする半導体集積回路装置。
【0159】
(付記6) 付記5に記載の半導体集積回路装置において、前記プロセッシングエレメントを複数結合し、プロセッシングエレメント群としてブロック化することを特徴とする半導体集積回路装置。
【0160】
(付記7) 付記6に記載の半導体集積回路装置において、前記各プロセッシングエレメントはそれぞれALUおよびメモリを備え、前記ブロック化されたプロセッシングエレメント群に含まれる複数のALUおよびメモリにより所定の処理を行うことを特徴とする半導体集積回路装置。
【0161】
(付記8) 付記6に記載の半導体集積回路装置において、前記複数のプロセッシングエレメントを結合するブロック化の構成およびサイズを動的に可変としたことを特徴とする半導体集積回路装置。
【0162】
(付記9) 付記6に記載の半導体集積回路装置において、前記各プロセッシングエレメントは、それぞれ近傍のプロセッシングエレメントとの接続を制御する接続制御手段を備えることを特徴とする半導体集積回路装置。
【0163】
(付記10) 付記9に記載の半導体集積回路装置において、前記接続制御手段は、近傍通信の入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択することを特徴とする半導体集積回路装置。
【0164】
(付記11) 付記6に記載の半導体集積回路装置において、前記ブロック化されたプロセッシングエレメント群は、リアルタイムの多ビット演算または累積演算を実行することを特徴とする半導体集積回路装置。
【0165】
(付記12) 付記5〜11のいずれか1項に記載の半導体集積回路装置において、前記複数のプロセッシングエレメントはマトリクス状に配置され、前記通信手段は行バスおよび列バスを備えて該各プロセッシングエレメントに対して所定の情報を送信することを特徴とする半導体集積回路装置。
【0166】
(付記13) 付記12に記載の半導体集積回路装置において、前記所定の情報は、前記各プロセッシングエレメントの座標情報であることを特徴とする半導体集積回路装置。
【0167】
(付記14) 付記5〜13のいずれか1項に記載の半導体集積回路装置において、該半導体集積回路装置は、SIMDプロセッサであることを特徴とする半導体集積回路装置。
【0168】
(付記15) 付記14に記載の半導体集積回路装置において、該半導体集積回路装置は、前記各プロセッシングエレメントがそれぞれ対応する光検出器の出力を処理するビジョンチップであることを特徴とする半導体集積回路装置。
【0169】
(付記16) 付記5〜15のいずれか1項に記載の半導体集積回路装置において、該半導体集積回路装置は、1つの半導体チップとして構成されていることを特徴とする半導体集積回路装置。
【0170】
(付記17) 複数の光検出回路および複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記各光検出回路は、光検出素子の出力と基準電圧とを比較する比較手段を備え、該比較手段の出力が該基準電圧を切るまでの時間をカウントしてA/D変換処理を行うことを特徴とする半導体集積回路装置。
【0171】
(付記18) 付記17に記載の半導体集積回路装置において、前記比較手段に与える基準電圧レベルを可変としたことを特徴とする半導体集積回路装置。
【0172】
(付記19) 付記18に記載の半導体集積回路装置において、前記比較手段の基準電圧レベルを、ソフトウェアにより可変制御するか、または、予め与えられたテーブルに基づいて規定することを特徴とする半導体集積回路装置。
【0173】
(付記20) 付記17に記載の半導体集積回路装置において、前記比較手段の出力が前記基準電圧を切るまでの時間をカウントするカウント間隔を可変としたことを特徴とする半導体集積回路装置。
【0174】
(付記21) 付記20に記載の半導体集積回路装置において、前記カウント間隔を、ソフトウェアにより可変制御するか、または、予め与えられたテーブルに基づいて規定することを特徴とする半導体集積回路装置。
【0175】
(付記22) 付記17〜21のいずれか1項に記載の半導体集積回路装置において、前記光検出素子のリセットを該各光検出回路毎に行うことを特徴とする半導体集積回路装置。
【0176】
(付記23) 付記17〜22のいずれか1項に記載の半導体集積回路装置において、前記A/D変換処理を、前記各プロセッシングエレメントのALUおよびメモリを使用して実行することを特徴とする半導体集積回路装置。
【0177】
(付記24) 付記17〜23のいずれか1項に記載の半導体集積回路装置において、該半導体集積回路装置はビジョンチップであり、前記各プロセッシングエレメントは前記複数の光検出回路の対応する1つと結合されていることを特徴とする半導体集積回路装置。
【0178】
(付記25) 付記17〜24のいずれか1項に記載の半導体集積回路装置において、該半導体集積回路装置は、1つの半導体チップとして構成されていることを特徴とする半導体集積回路装置。
【0179】
【発明の効果】
以上、詳述したように、本発明の第1の形態によれば、画素数の低下を来すことなく(PEの占有面積の増大を来すことなく)、高い汎用性を有する半導体集積回路装置を提供することができる。また、本発明の第2の形態によれば、光検出素子の出力のA/D変換を追加回路なしで行うと共に、柔軟なセンシングを実現することのできる半導体集積回路装置を提供することができる。
【図面の簡単な説明】
【図1】ビジョンチップを概念的に示す図である。
【図2】従来のビジョンチップのアーキテクチャを説明するための図である。
【図3】本発明の第1の形態に係るビジョンチップの一例のアーキテクチャを説明するための図である。
【図4】図3のアーキテクチャにおけるPE(プロセッシングエレメント)のブロック化処理を実行するための構成を説明するための図である。
【図5】本発明の第1の形態に係るビジョンチップの一例におけるPEの結合処理を説明するための図である。
【図6】本発明の第1の形態に係るビジョンチップの一例における累積演算処理を説明するための図である。
【図7】本発明の第1の形態に係るビジョンチップの一例における総和演算処理を説明するための図である。
【図8】本発明の第1の形態に係るビジョンチップの一例における多ビット演算処理を説明するための図である。
【図9】本発明の第1の形態に係るビジョンチップの一例におけるPEのブロック化処理を説明するための図(その1)である。
【図10】本発明の第1の形態に係るビジョンチップの一例におけるPEのブロック化処理を説明するための図(その2)である。
【図11】本発明の第1の形態に係るビジョンチップの一例におけるPEのブロック化処理を説明するための図(その3)である。
【図12】本発明の第1の形態に係るビジョンチップの一例におけるブロック内特徴量のフィードバック処理を説明するための図である。
【図13】本発明の第1の形態に係るビジョンチップの一例におけるその他の処理を説明するための図である。
【図14】本発明の第1の形態に係るビジョンチップの一例を適用した並列ブロックマッチング処理を説明するための図である。
【図15】本発明の第1の形態に係るビジョンチップの一例を適用した90度回転処理を説明するための図である。
【図16】本発明の第1の形態に係るビジョンチップの一例を適用した複数物体の同時トラッキング処理を説明するための図である。
【図17】従来のビジョンチップの一例におけるフォトダイオード出力のA/D変換処理を実行するための構成を説明するための図である。
【図18】図17のA/D変換処理における課題を説明するための図である。
【図19】本発明の第2の形態に係るビジョンチップの一例におけるフォトダイオード出力のA/D変換処理を実行するための構成を説明するための図である。
【図20】図19の一構成例を示す図である。
【図21】図19および図20のA/D変換処理の動作を説明するための図である。
【図22】本発明の第2の形態に係るビジョンチップが適用されるシステムの構成例を示す図である。
【図23】図22のシステムにおけるフォトダイオード出力のA/D変換処理を説明するための図(その1)である。
【図24】図22のシステムにおけるフォトダイオード出力のA/D変換処理を説明するための図(その2)である。
【図25】図22のシステムにおけるフォトダイオード出力のA/D変換処理を説明するための図(その3)である。
【符号の説明】
1…半導体集積回路装置(ビジョンチップ)
2,32,102,302…プロセッシングエレメント(PE)
11…デコーダ
12…出力回路
13…通信手段
20…状態レジスタ(3ビットのレジスタ)
21…列バス(COL)
22…行バス(ROW)
23,123〜125…データラッチ(Dラッチ)
27,1261〜1265…マルチプレクサ(MUX)
31,101,301…光検出器(PD)
33…リセット手段(リセット回路)
34…光検出素子(フォトダイオード)
35…コンパレータ
36,121…メモリ(ローカルメモリ)
37,122…I/Oポート
38,126…ALU
100…ユニット(画素)
1266…全加算器(FA)
1267…キャリー格納用レジスタ(D型フリップフロップ:DFF)
S0〜S5…命令(制御信号)
Vref…基準電圧
Claims (9)
- 1つの半導体チップに設けられ、アレイ状に配置された複数のプロセッシングエレメントを有する半導体集積回路装置であって、前記複数のプロセッシングエレメントにおける各プロセッシングエレメントは、
前記複数のプロセッシングエレメントにおける他のプロセッシングエレメントに対して出力を供給するラッチ手段と、
当該各プロセッシングエレメントに対する入力元を上下左右のいずれかのプロセッシングエレメントまたは零信号から選択して出力する選択手段と、をそれぞれ備え、
前記各プロセッシングエレメントは、前記ラッチ手段をスルー状態にすることで直接結合され、全体として演算処理を実行するプロセッシングエレメント群を構成するモードを有し、
前記零信号は、前記選択手段が該零信号を選択して出力するプロセッシングエレメントを、前記プロセッシングエレメント群における先頭のプロセッシングエレメントとして指定することを特徴とする半導体集積回路装置。 - 請求項1に記載の半導体集積回路装置において、さらに、
前記各プロセッシングエレメントの座標位置情報に応じて、当該各プロセッシングエレメントの前記選択手段が選択する入力元を制御する制御手段を備えることを特徴とする半導体集積回路装置。 - 請求項1または2に記載の半導体集積回路装置において、該半導体集積回路装置は、リアルタイムの多ビット演算処理または累積演算処理を実行することを特徴とする半導体集積回路装置。
- 請求項1に記載の半導体集積回路装置において、前記プロセッシングエレメント群は、前記プロセッシングエレメントを複数結合してブロック化したものであることを特徴とする半導体集積回路装置。
- 請求項4に記載の半導体集積回路装置において、前記複数のプロセッシングエレメントを結合するブロック化の構成およびサイズを動的に可変としたことを特徴とする半導体集積回路装置。
- 請求項1に記載の半導体集積回路装置において、該半導体集積回路装置は、複数の光検出回路を備え、前記各光検出回路は、光検出素子の出力と基準電圧とを比較する比較手段を備え、該比較手段の出力が該基準電圧を切るまでの時間をカウントしてA/D変換処理を行うことを特徴とする半導体集積回路装置。
- 請求項6に記載の半導体集積回路装置において、前記比較手段に与える基準電圧レベルを可変としたことを特徴とする半導体集積回路装置。
- 請求項6に記載の半導体集積回路装置において、前記比較手段の出力が前記基準電圧を切るまでの時間をカウントするカウント間隔を可変としたことを特徴とする半導体集積回路装置。
- 請求項6〜8のいずれか1項に記載の半導体集積回路装置において、前記複数の光検出回路は、前記1つの半導体チップに設けられていることを特徴とする半導体集積回路装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002017665A JP3902741B2 (ja) | 2002-01-25 | 2002-01-25 | 半導体集積回路装置 |
US10/200,332 US7098437B2 (en) | 2002-01-25 | 2002-07-23 | Semiconductor integrated circuit device having a plurality of photo detectors and processing elements |
US11/289,696 US7244919B2 (en) | 2002-01-25 | 2005-11-30 | Semiconductor integrated circuit device having photo detector circuits, processing elements, and comparing circuits which compare the output of a photo detector element with a reference voltage |
US11/289,695 US8244788B2 (en) | 2002-01-25 | 2005-11-30 | Semiconductor integrated circuit device having a plurality of photo detectors and processing elements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002017665A JP3902741B2 (ja) | 2002-01-25 | 2002-01-25 | 半導体集積回路装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003218338A JP2003218338A (ja) | 2003-07-31 |
JP3902741B2 true JP3902741B2 (ja) | 2007-04-11 |
Family
ID=27606177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002017665A Expired - Fee Related JP3902741B2 (ja) | 2002-01-25 | 2002-01-25 | 半導体集積回路装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7098437B2 (ja) |
JP (1) | JP3902741B2 (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383421B2 (en) | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US9330060B1 (en) * | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) * | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
US7218350B2 (en) * | 2003-06-30 | 2007-05-15 | Texas Instruments Incorporated | Image sensor with digital output and inherent pixel non-uniformity suppression |
US8553113B2 (en) * | 2003-08-20 | 2013-10-08 | At&T Intellectual Property I, L.P. | Digital image capturing system and method |
US8423597B1 (en) | 2003-08-29 | 2013-04-16 | Nvidia Corporation | Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation |
US7126512B2 (en) * | 2004-03-19 | 2006-10-24 | Charles Douglas Murphy | Comparing circuits for time-to-threshold A/D conversion in digital imaging arrays |
CN1965569A (zh) * | 2004-06-09 | 2007-05-16 | 皇家飞利浦电子股份有限公司 | 电子电路 |
KR100646996B1 (ko) * | 2004-06-16 | 2006-11-23 | 삼성에스디아이 주식회사 | 유기 발광 표시 장치 및 그 제어 방법 |
US20060129374A1 (en) * | 2004-12-15 | 2006-06-15 | Larson Lee A | Apparatus and method for apparatus mediating voltage levels between an emulation unit and a target processor |
JP4565122B2 (ja) * | 2005-04-05 | 2010-10-20 | 国立大学法人 東京大学 | 画像モーメントセンサ、画像モーメント計測装置、画像モーメントセンサの演算方法及び画像モーメント計測方法 |
TWI267797B (en) * | 2005-05-02 | 2006-12-01 | Pixart Imaging Inc | Method for recognizing objects in an image without recording the image in its entirety |
US7451293B2 (en) * | 2005-10-21 | 2008-11-11 | Brightscale Inc. | Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing |
US7659497B2 (en) * | 2005-12-06 | 2010-02-09 | International Business Machines Corporation | On demand circuit function execution employing optical sensing |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
US7488926B2 (en) * | 2006-01-06 | 2009-02-10 | Microsoft Corporation | Pixel array with shared pixel output lines |
US7671460B2 (en) * | 2006-01-25 | 2010-03-02 | Teledyne Licensing, Llc | Buried via technology for three dimensional integrated circuits |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
KR100748319B1 (ko) | 2006-03-29 | 2007-08-09 | 삼성에스디아이 주식회사 | 유기발광표시장치 및 그의 구동방법 |
US8660380B2 (en) * | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
US20080244238A1 (en) * | 2006-09-01 | 2008-10-02 | Bogdan Mitu | Stream processing accelerator |
US20080059764A1 (en) * | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
US7436342B2 (en) * | 2007-01-30 | 2008-10-14 | Teledyne Licensing, Llc | Numerical full well capacity extension for photo sensors with an integration capacitor in the readout circuit using two and four phase charge subtraction |
US7498650B2 (en) * | 2007-03-08 | 2009-03-03 | Teledyne Licensing, Llc | Backside illuminated CMOS image sensor with pinned photodiode |
US7923763B2 (en) * | 2007-03-08 | 2011-04-12 | Teledyne Licensing, Llc | Two-dimensional time delay integration visible CMOS image sensor |
US8756482B2 (en) * | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US20080291209A1 (en) * | 2007-05-25 | 2008-11-27 | Nvidia Corporation | Encoding Multi-media Signals |
US9118927B2 (en) * | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
US7982775B2 (en) * | 2007-08-02 | 2011-07-19 | Texas Instruments Incorporated | Method and apparatus for motion stabilization |
US9451142B2 (en) | 2007-11-30 | 2016-09-20 | Cognex Corporation | Vision sensors, systems, and methods |
US8570393B2 (en) * | 2007-11-30 | 2013-10-29 | Cognex Corporation | System and method for processing image data relative to a focus of attention within the overall image |
US7795650B2 (en) * | 2008-12-09 | 2010-09-14 | Teledyne Scientific & Imaging Llc | Method and apparatus for backside illuminated image sensors using capacitively coupled readout integrated circuits |
US8666181B2 (en) * | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
ITCO20110022A1 (it) * | 2011-06-30 | 2012-12-31 | Fond Bruno Kessler | Fotorilevatore |
FR2991083A1 (fr) * | 2012-05-24 | 2013-11-29 | St Microelectronics Grenoble 2 | Procede et dispositif de protection d'un circuit integre contre des attaques par sa face arriere |
US9798698B2 (en) | 2012-08-13 | 2017-10-24 | Nvidia Corporation | System and method for multi-color dilu preconditioner |
US10141342B2 (en) * | 2014-09-26 | 2018-11-27 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and display device |
US9647655B2 (en) * | 2015-03-27 | 2017-05-09 | Raytheon Company | Current to frequency converter |
JP2017126811A (ja) * | 2016-01-12 | 2017-07-20 | ソニー株式会社 | 画像データ処理回路および撮像回路 |
CN105962922B (zh) | 2016-04-19 | 2018-11-27 | 矽力杰半导体技术(杭州)有限公司 | 光电传感器、光电检测方法以及应用其的心率检测设备 |
CN105910632B (zh) | 2016-04-21 | 2018-10-26 | 矽力杰半导体技术(杭州)有限公司 | 光电检测设备和集成电路 |
CN105953823B (zh) | 2016-04-21 | 2018-12-18 | 矽力杰半导体技术(杭州)有限公司 | 环境光滤除电路、光电传感器及应用其的光电检测设备 |
WO2018047616A1 (ja) | 2016-09-08 | 2018-03-15 | ソニー株式会社 | 演算装置およびセンサー |
KR101941892B1 (ko) | 2017-03-23 | 2019-01-28 | 고려대학교 산학협력단 | 대비 감도 향상을 위한 인공 망막 시스템 |
KR20200106547A (ko) * | 2018-01-18 | 2020-09-14 | 밸브 코포레이션 | 센서 집적 회로들을 포함하는 머리-착용 디스플레이들에 대한 위치 추적 시스템 |
WO2021212045A1 (en) * | 2020-04-17 | 2021-10-21 | SiMa Technologies, Inc. | Synchronization of processing elements and software managed memory hierarchy in a machine learning accelerator |
US11989581B2 (en) | 2020-04-17 | 2024-05-21 | SiMa Technologies, Inc. | Software managed memory hierarchy |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3855589A (en) * | 1969-11-25 | 1974-12-17 | Sylvania Electric Prod | Analog to digital converter with variable quantization and dynamic range |
US4215401A (en) * | 1978-09-28 | 1980-07-29 | Environmental Research Institute Of Michigan | Cellular digital array processor |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4593351A (en) * | 1981-06-12 | 1986-06-03 | International Business Machines Corporation | High speed machine for the physical design of very large scale integrated circuits |
US4524428A (en) * | 1982-01-26 | 1985-06-18 | Hughes Aircraft Company | Modular input-programmable logic circuits for use in a modular array processor |
JPS61208561A (ja) | 1985-03-13 | 1986-09-16 | Agency Of Ind Science & Technol | 並列デ−タ処理装置 |
US6108763A (en) * | 1986-09-18 | 2000-08-22 | Grondalski; Robert S. | Simultaneous parity generating/reading circuit for massively parallel processing systems |
US4985832A (en) * | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
US5027117A (en) * | 1988-03-31 | 1991-06-25 | Ricoh Company, Ltd. | Conversion using a variable reference based on image density |
DE68926783T2 (de) * | 1988-10-07 | 1996-11-28 | Martin Marietta Corp | Paralleler datenprozessor |
US5253308A (en) * | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
WO1992002884A1 (en) * | 1990-08-03 | 1992-02-20 | Du Pont Pixel Systems Limited | Data-array processing systems |
US5689719A (en) * | 1991-06-28 | 1997-11-18 | Sanyo Electric O., Ltd. | Parallel computer system including processing elements |
US5252308A (en) | 1991-12-31 | 1993-10-12 | Union Oil Company Of California | Transporting urea for quantitative conversion into ammonia |
KR100186918B1 (ko) | 1994-10-21 | 1999-05-01 | 모리시다 요이치 | 신호처리장치 |
JP3639014B2 (ja) | 1994-10-21 | 2005-04-13 | 松下電器産業株式会社 | 信号処理装置 |
US6118901A (en) * | 1997-10-31 | 2000-09-12 | National Science Council | Array architecture with data-rings for 3-step hierarchical search block matching algorithm |
JP4458678B2 (ja) | 1998-10-07 | 2010-04-28 | 浜松ホトニクス株式会社 | 高速視覚センサ装置 |
US6970196B1 (en) * | 1999-03-16 | 2005-11-29 | Hamamatsu Photonics K.K. | High-speed vision sensor with image processing function |
FR2791155B1 (fr) * | 1999-03-17 | 2001-05-11 | St Microelectronics Sa | Dispositif et procede de mise en oeuvre d'une operation modulaire elementaire selon la methode de montgomery |
US7158183B1 (en) * | 1999-09-03 | 2007-01-02 | Nikon Corporation | Digital camera |
JP4592243B2 (ja) * | 1999-10-04 | 2010-12-01 | 浜松ホトニクス株式会社 | 高速画像処理カメラシステム |
US6525304B1 (en) * | 2000-11-28 | 2003-02-25 | Foveon, Inc. | Circuitry for converting analog signals from pixel sensor to a digital and for storing the digital signal |
US6642503B2 (en) * | 2001-06-13 | 2003-11-04 | Texas Instruments Incorporated | Time domain sensing technique and system architecture for image sensor |
-
2002
- 2002-01-25 JP JP2002017665A patent/JP3902741B2/ja not_active Expired - Fee Related
- 2002-07-23 US US10/200,332 patent/US7098437B2/en not_active Expired - Fee Related
-
2005
- 2005-11-30 US US11/289,696 patent/US7244919B2/en not_active Expired - Fee Related
- 2005-11-30 US US11/289,695 patent/US8244788B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20030141434A1 (en) | 2003-07-31 |
US7098437B2 (en) | 2006-08-29 |
US20060081767A1 (en) | 2006-04-20 |
US7244919B2 (en) | 2007-07-17 |
US8244788B2 (en) | 2012-08-14 |
US20060081765A1 (en) | 2006-04-20 |
JP2003218338A (ja) | 2003-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3902741B2 (ja) | 半導体集積回路装置 | |
Ma et al. | Scalable and modularized RTL compilation of convolutional neural networks onto FPGA | |
Imani et al. | Floatpim: In-memory acceleration of deep neural network training with high precision | |
TWI848207B (zh) | 記憶體內運算架構及將應用程式映射至記憶體內運算架構的電腦實施方法 | |
Komuro et al. | A dynamically reconfigurable SIMD processor for a vision chip | |
Du et al. | An accelerator for high efficient vision processing | |
Choi et al. | An energy-efficient deep convolutional neural network training accelerator for in situ personalization on smart devices | |
CN111768458A (zh) | 一种基于卷积神经网络的稀疏图像处理方法 | |
Wong et al. | Analognet: Convolutional neural network inference on analog focal plane sensor processors | |
WO2022015967A1 (en) | High endurance memory circuitry | |
Kang et al. | ASIE: An asynchronous SNN inference engine for AER events processing | |
CN108364298B (zh) | 用于将像素识别为局部极值点的方法和布置 | |
Shivapakash et al. | A power efficiency enhancements of a multi-bit accelerator for memory prohibitive deep neural networks | |
Lopich et al. | An 80× 80 general-purpose digital vision chip in 0.18 μm CMOS technology | |
Yang et al. | Coreset: Hierarchical neuromorphic computing supporting large-scale neural networks with improved resource efficiency | |
Shabani et al. | Hirac: A hierarchical accelerator with sorting-based packing for spgemms in dnn applications | |
Földesy et al. | Configurable 3D‐integrated focal‐plane cellular sensor–processor array architecture | |
Richter et al. | Speck: A smart event-based vision sensor with a low latency 327k neuron convolutional neuronal network processing pipeline | |
Yousefzadeh et al. | Energy-efficient in-memory address calculation | |
Zarándy et al. | 2D operators on topographic and non‐topographic architectures—implementation, efficiency analysis, and architecture selection methodology | |
Földesy et al. | Digital implementation of cellular sensor‐computers | |
So et al. | Pixelrnn: in-pixel recurrent neural networks for end-to-end-optimized perception with neural sensors | |
Foldesy et al. | High performance processor array for image processing | |
US20230385624A1 (en) | Computing in memory with artificial neurons | |
Kim et al. | An augmented reality processor with a congestion-aware network-on-chip scheduler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061101 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070104 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130112 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |