-
Technisches
Gebiet
-
Die vorliegende Erfindung bezieht
sich auf einen Halbleiteroperationsschaltkreis und bezieht sich
insbesondere auf einen Operationsschaltkreis, welcher bei der Hochgeschwindigkeitsbildbearbeitung
oder ähnliches
angewendet wird.
-
Stand der
Technik
-
In den letzten Jahren ist der Fortschritt
auf dem Gebiet der Datenverarbeitungstechnologie, zusammen mit der
Entwicklung in der Computertechnologie, bemerkenswert gewesen. Wenn
jedoch Anstrengungen unternommen wurden, um den flexiblen Typ von
Datenverarbeitung, welche durch Menschen ausgeführt wird, zu realisieren, war
es nahezu unmöglich,
das Ergebnis von solchen Berechnungen in Echtzeit zu erzielen, bei
Verwendung von heutigen Computern. Die vorrangigen Gründe dafür sind,
dass die Daten, welche Menschen während ihres täglichen
Lebens verarbeiten, analoge Daten sind, und diese Daten sind unbestimmt.
Es ist daher ein Problem bei den heutigen Datenverarbeitungssystemen, dass
die extrem redundanten analogen Daten alle in digitale Werte konvertiert
werden und digitale Verarbeitungen rigoros eine nach der anderen
ausgeführt werden.
-
Ein Beispiel dafür ist die Bildbearbeitung. Wenn
beispielsweise eine Abbildung in ein zweidimensionales 500 × 500 Feld
eingebunden wird, dann ist die Gesamtanzahl von Punkten 250000 und
wenn die Stärke
der drei Farben rot, grün
und blau für
jeden Punkt (jedes Pixel) in Ausdrücken mit 8 Bit ausgedrückt wird,
dann erreicht die Datenmenge in einem stationären Bild 750000 Bits. Bei bewegten
Bildern nimmt die Menge an Bilddaten mit der Zeit zu.
-
Heutige Computer führen die
Datenverarbeitung im Hinblick auf die enormen Mengen von digitalen
Signalen durch sich wiederholende Operationen aus, so dass ein enormes
Ausmaß an
Zeit notwendig ist, und eine Echtzeitbearbeitung unmöglich ist.
-
Ein Beispiel dafür ist die Feststellung von
Bewegungsvektoren, was eine der wichtigsten Operationen bei der
Verarbeitung von bewegten Bildern ist. Dies bedeutet, dass bei dieser
Operation im Hinblick auf die Bilder in zwei Rahmen, welche in der
Zeit kontinuierlich sind, das Ausmaß von Bewegung in dem Bild
des fotografierten Objektes bestimmt wird. Bei dieser Operation
kann das Bild um ± 8
Pixel vertikal und horizontal bewegt werden, und das Ausmaß von Versetzungen
kann bestimmt werden, durch Überlagern
der Bilder bis sie (in ihrer Linienführung) abgeglichen sind. In
anderen Worten, das Ausmaß von Versetzungen
in dem Bild zwischen den zwei Rahmen wird im Hinblick auf eine Gesamtmenge
von 64 Kombinationen berechnet, und die Kombination, welche das
kleinste Ausmaß an
Versetzung aufweist, wird herausgefunden. Gesamtberechnungen von
einigen zehnfachen von GOPS (GOP: group of picture) sind notwendig,
und sogar wenn Prozessoren mit extremer Geschwindigkeit auf einer
Anzahl von Chips parallel geschaltet verwendet werden, ist eine
Zeitspanne von näherungsweise
30 Millisekunden erforderlich. Um Roboter in Echtzeit zu steuern,
ist es wichtig, die Bilddatenverarbeitung in einer Millisekunde
oder weniger auszuführen;
dies ist jedoch mit aktueller Technologie vollständig unmöglich.
-
Die vorliegende Erfindung wurde im
Licht der obigen Umstände
ausgeführt;
ihr liegt eine Aufgabe zugrunde, einen Halbleiteroperationsschaltkreis
bzw. Halbleiterfunktionsschaltkreis zur Verfügung zu stellen, welcher geeignet
ist, parallel eine große
Menge von Informationen sofort zu verarbeiten.
-
Offenbarung
der Erfindung
-
Der Halbleiteroperationsschaltkreis
der vorliegenden Erfindung, welcher eine vorbestimmte Operation
im Hinblick auf eine erste Signalfolge von Signalen A1,
A2, ..., AN–1,
AN (wobei N eine positive Ganzzahlige ist)
von N-Signalen, nummeriert von 1 bis N, und eine zweite Signalfolge
von Signalen B1, B2,
..., BM–
1, BM (wobei M eine
positive Ganzzahlige ist) von M-Signalen, nummeriert von 1 bis M,
ausführt,
umfassend eine Vielzahl von ersten Operationsschaltkreisen zum Ausführen einer
vorbestimmten Operation im Hinblick auf die Signale Ai und
Bi+n (wobei i eine positive Ganzzahlige
ist und n eine positive oder negative Ganzzahlige ist und 1 ≤ i ≤ n und 1 ≤ i + n ≤ M ist) und
Erzeugen eines Ausgabesignals Ci,n, ferner
wenigstens einen zweiten Operationsschaltkreis zum Erzeugen der
Summe Sn aus einem Teil oder der Gesamtheit
von Ausgabesignalen des ersten Operationsschaltkreises im Hinblick
auf einen vorbestimmten Wert von n, wobei i unterschiedliche Werte
aufweist, oder zum Erzeugen eines vorbestimmten Signals Tn, welches durch die Summe Sn bestimmt
wird, und einen dritten Operationsschaltkreis zum Finden der Werte
von Sn oder Tn im
Hinblick auf eine Vielzahl von unterschiedlichen n Werten oder zum
Bestimmten der n Werte, für
welche der Maximal- oder Minimal-Wert von Sn oder
Tn gegeben ist.
-
Funktion
-
Mittels der vorliegenden Erfindung
wird es möglich,
Operationen im Hinblick auf eine enorme Menge an analogen Daten
auszuführen,
welche von der Umgebungswelt zusammengetragen werden, ohne diese
Daten zu ändern,
und dadurch eine Logik zu bestimmen, und als ein Ergebnis ist es
möglich, eine
Datenverarbeitung mit extrem großer Geschwindigkeit zu realisieren,
durch Verwenden einer einfachen Operationsschaltung.
-
Kurze Beschreibung
der Zeichnungen
-
Die 1(a) und
die 1(b) sind schematische
Diagramme, welche eine erste Ausführung der vorliegenden Erfindung
erläutern.
-
Die 2(a) und
die 2(b) sind schematische
Diagramme, welche die Funktion der ΔX-Detektionsschaltung aus der 1 erläutern.
-
Die 3 ist
ein schematisches Diagramm, welches die Schaltung zeigt, welche
die Summe von Ci,n berechnet.
-
Die 4 ist
ein schematisches Diagramm, welches ein Ausmaß des Bewegungsdetektors zeigt.
-
Die 5 ist
ein Schaltungsdiagramm, welches ein Beispiel einer Winner-Take-All-Schaltung (WTA-Schaltung)
zeigt.
-
Die 6(a) zeigt
ein Beispiel einer Absolutwert-Operationsschaltung, während die 6(b) die Beziehung zwischen
den Eingaben und Ausgaben derselben zeigt.
-
Die 7(a), 7(b), 7(c) und die 7(d) stellen die Operation der Absolutwert-Operationsschaltung
dar.
-
Die Figur 8 ist ein schematisches Diagramm, welches
eine zweite Ausführung
der vorliegenden Erfindung zeigt.
-
Die 9(a) zeigt
ein weiteres Beispiel einer Absolutwert-Operationsschaltung, während die 9(b) die Beziehung zwischen
den Eingaben und Ausgaben derselben zeigt.
-
Die 10 ist
ein Graph, welcher die Ergebnisse der Operation der Absolutwert-Operationsschaltung
aus der 9 zeigt.
-
Die 11 ist
ein Schaltungsdiagramm, welches ein anderes Beispiel einer Winner-Take-All-Schaltung
(WTA-Schaltung) zeigt.
-
Die 12 ist
ein Graph, welcher die Ergebnisse der Operation aus der Schaltung
der 8 zeigt.
-
Die 13 ist
ein Graph, welcher das Signal der Zeit t und das Signal der Zeit
t + Δt zeigt.
-
Die 14 ist
ein schematisches Diagramm, welches eine dritte Ausführung der
vorliegenden Erfindung darstellt.
-
Die 15(a), 15(b), 15(c), 15(d), 15(d) und die 15(f) sind schematische
Diagramme, welche das Detektionsprinzip der dritten Ausführung zeigen.
-
Die 16 ist
ein schematisches Diagramm, welches eine vierte Ausführung der
vorliegenden Erfindung zeigt.
-
Die 17 ist
ein schematisches Diagramm, welches ein Beispiel eines Verfahrens
zum Setzen der Verstärkung
von jedem Kathodenfolger/jeder Kathodenverstärkerstufe auf denselben Wert.
-
Die 18 ist
ein schematisches Diagramm, welches ein Verfahren des Herausnehmens
unnötiger
Zellen zeigt.
-
Die 19(a) und
die 19(b) stellen die Operation
der Schaltung dar, wenn SEARCH (N, M) ausgeführt wird.
-
Die 20 ist
ein schematisches Diagramm, welches eine fünfte Ausführung der vorliegenden Erfindung
zeigt.
-
Beschreibung der Bezugszeichen
-
- 101
- Bildsensorfeld,
- 102,
103
- Bilder
von Flugzeugen, aufgenommen zu der Zeit t und t + Δt,
- 102'
- entlang
der x-Achse projizierte Daten, welche sich auf das Bild 102
-
- beziehen,
- 103'
- entlang
der x-Achse projizierte Daten, welche sich auf das Bild 103
-
- beziehen,
- 102"
- entlang
der y-Achse projizierte Daten, welche sich auf das Bild 102
-
- beziehen,
- 103"
- entlang
der y-Achse projizierte Daten, welche sich auf das Bild 103
-
- beziehen,
- 104
- Δx-Detektionsschaltung,
- 105
- Projektionsdatenspeicher,
- 106
- Einheit
für die
Vergleichsoperation,
- 107
- Ausmaß des Bewegungsdetektors,
- 108
- Δy-Detektionsschaltung,
- 201,
202
- Speicher,
- 203
- Einheit
für die
Vergleichsoperation
- 203a,
203b
- Zellen
für die
Vergleichsoperationsschaltung,
- 303,
304
- Kapazitäten,
- 305
- schwebende
Elektrode,
- 306,
307
- NMOS
und PMOS des Verarmungsschicht-Typs,
- 309
- Kathodenfolger-Schaltung,
welche eine CMOS-Struktur aufweist,
- 401
- Winner-Take-All-Schaltung
(WTA),
- 402
- Eingangssignal,
- 403
- Adressen-Decodierer,
- 501
- Schaltung/Stromkreis,
- 502
- CMOS-Inverter,
- 503
- gemeinsames
schwebendes Gate,
- 504
- NAND-Schaltung
mit neunfachem Eingang,
- 505
- Ausgabe
- 601,
602
- NMOS-Schalter,
- 603,
604
- NMOS-Transistoren,
- 603a,
604a
- schwebende
Gate-Elektroden,
- 605a–d
- Schalter
des Eingangsteils,
- 606,
607
- Schalter,
- 801
- A-Datenserien-Speicher,
welche t + Δt
Daten speichern,
- 802
- B-Datenserien-Speicher,
welche t Daten speichern,
- 803a,
803b
- Zellen
für die
Vergleichsoperationsschaltung,
- 804,
805
- Kabel,
- 806,
- Kathodenfolger-Schaltung,
- 807
- schwebendes
Gate,
- 808
- WTA,
- 903,
904
- PMOS,
- 903a,
904a
- schwebende
Gates,
- 905,
906
- Anschlüsse,
- 1401
- Bildsensorfeld,
- 1402
- Δx-Detektionsschaltung,
- 1403
- Schaltungsblock,
- 1404
- Speicher,
welcher t – Δt Daten speichert,
- 1405
- Speicher
für t Daten,
- 1406
- Speicher
für t + Δt Daten,
- 1407
- Absolutwert-Operationsschaltung
- 1601
- Speicher,
welcher A-Daten speichert,
- 1602
- Speicher,
welcher B-Daten speichert,
- 1603
- Schaltungsgruppe, ähnlich zu
203,
- 1701,
1702
- Dummy-Kapazitäten/Ersatzkapazitäten,
- 1703
- schwebendes
Gate,
- 1704,
1705
- Schalter,
- 1706–1711
- Zellen,
- 1801–1806
- Zellen,
- 1807,
1808
- Schalter,
- 1809
- Kathodenfolger,
- 1810
- schwebendes
Gate,
- 1811,
1812
- Kapazitäten
- 2001
- A-Datenserien-Speicher,
- 2002
- B-Datenserien-Speicher,
- 2003
- Schieberegister
für analoge
Daten,
- 2004
- Operationsschaltkreis,
- 2005
- Kathodenfolger-Schaltkreis,
- 2006
- schwebendes
Gate.
-
Beste Ausführungen
für die
Erfindung
-
Nachfolgend werden Ausführungen
der vorliegenden Erfindung bei Verwendung der Figuren erklärt.
-
(Erste Ausführung)
-
Die 1(a) zeigt
eine erste Ausführung
der vorliegenden Erfindung als ein Blockdiagramm; dies ist ein Operationsschaltkreis,
welcher Bewegungsvektoren von Bildern feststellt, die durch ein
Bildsensorfeld 101 aufgenommen wurden.
-
Zunächst wird die Funktion dieses
Schaltkreises kurz erklärt,
bei Verwendung der
-
1(b).
Die Bezugszeichen 102 und 103 kennzeichnen Bilder
eines Flugzeugs, welche jeweils zu den Zeiten t und t + Δt aufgenommen
wurden. Das Bezugszeichen 102' bezeichnet Daten, in welchen Daten
von jedem Pixel in dem Bild 102 (welche die Helligkeit
von jedem Pixel bezeichnen) im Hinblick auf vertikale Säulen aufsummiert
sind, und diese entlang der x-Achse aufgezeichnet/geplottet sind;
diese Daten repräsentieren
daher eine sogenannte Projektion des Bildes 102 auf die
x-Achse. Das Bezugszeichen 103' bezeichnet die x-Achsen-Projektionsdaten des
Bildes 103, und 102'' und 103'' bezeichnen y-Achsen-Projektionsdaten, welche sich
auf die Bilder 102 und 103 beziehen. Der Schaltkreis
aus der 1(a) bestimmt
das Ausmaß der
Bewegung Δx
in der x-Richtung
des Flugzeugs, durch Feststellen des Versatzes in den x-Achsen-Projektionsdaten,
und bestimmt das Ausmaß der
Bewegung Δy-Richtung
aus dem Ausmaß des
Versatzes in den y-Achsen-Projektionsdaten, und stellt dadurch einen
Bewegungsvektor (Δx, Δy) fest.
-
In der 1(a) bezeichnet
das Bezugszeichen 101 ein Sensorfeld; hier wurde, um die
Erklärung
einfach zu halten, ein 16 × 16
Sensorfeld (eine Gesamtzahl von 256 Zellen) als ein Beispiel verwendet,
aber selbstverständlich
ist es möglich,
dass jegliche Anzahl von Zellen verwendet werden kann. Zuerst wird
sich die Erklärung
auf den Δx-Detektionsschaltkreis 104 konzentrieren.
Das Bezugszeichen 105 bezeichnet einen analogen Speicher,
welcher 16 Datenwerte speichert, die auf die x-Achse projiziert wurden,
für jede
Spalte des Sensorfeldes, und zwei Gruppen von Werten werden beibehalten;
die Werte für
die Zeit t und die Werte für
die Zeit t + Δt.
Das Bezugszeichen 106 bezeichnet einen Schaltkreis, welcher
den Vergleich zwischen den zwei Gruppen von Datenserien erzielt.
Das bedeutet, die zwei Gruppen von Datenserien, die oben beschrieben
wurden, werden in die horizontale Richtung geschoben, jeweils ein
Pixel auf einmal, und das Ausmaß des
Versatzes wird berechnet; in dieser Ausführung wird das Ausmaß des Versatzes,
wenn eine Verschiebung eines Maximums von 4 Pixeln ausgeführt wird,
bestimmt mittels gleichzeitiger Paralleloperationen. Diese Ausgabe
wird eingegeben in den Detektor für das Ausmaß der Bewegung 107,
und das Ausmaß der
Verschiebung, welches in dem minimalen bewerteten Ausmaß von Versatz
resultiert, wird bestimmt, und dadurch spezifiziert der Schaltkreis
das Ausmaß der Bewegung Δx. Der Δy-Detektionsschaltkreis
108 ist ähnlich
zu dem Δx-Schaltkreis,
und dieser Schaltkreis spezifiziert das Ausmaß der Bewegung Δy.
-
Nachfolgend sind die Strukturen der
Bereiche, welche mit 105 und 106 gekennzeichnet
sind, in größerem Detail
in der 2(a) gezeigt.
Zunächst
ist der X-Achsen-Projektionsdatenzug/die X-Achsen-Projektionsdatenabfolge,
welche(r) zu einer Zeit t erzielt wurde, A1,
A2, ...., A16, und
der Speicher 201 speichert dies temporär. Beispielsweise wird A1 als ein Spannungswert gespeichert, der
proportional zu der Summe von allen Sensorausgaben der ersten Spalte
des Bildsensorfeldes 101 ist.
-
B5, B6, ..., B12 repräsentieren
eine x-Achsen-Projektionsdatenfolge, welche zu der Zeit t + Δt erzielt
wurde; die fünften
bis zwölften
Datenwerte werden in dem Speicher 202 gespeichert.
-
Das Bezugszeichen 203 repräsentiert
eine Einheit für
eine Vergleichsoperation; diese umfasst zweiundsiebzig Zellen 203a, 203b,
... für
einen Operationsschaltkreis, welche dieselbe Funktion aufweisen,
welche in zwei Dimensionen angeordnet sind, wie in der Figur gezeigt
ist. Wie in der 2(b) gezeigt
ist, ist die Funktion von jeder Zelle derart, dass der Schaltkreis
die Absolutwerte Ci,n = |Ai – Bi+n| im Hinblick auf die Daten Ai,
welche aus dem Speicher 201 zugeführt werden und die Daten Bi+n, welche aus dem Speicher 202 zugeführt werden,
berechnet und die Ergebnisse ausgibt.
-
Dieselben Daten werden aus dem Speicher 201 in
der Richtung zugeführt,
wie durch die Pfeile in der Figur gezeigt ist. Dies bedeutet, die
Daten (Werte) A1, A2,
..., A8 werden der Zeile 204a zugeführt, die Daten
A2, A3, ..., A9 werden der Zeile 204b zugeführt, und
die Daten A5, A6,
..., A12 werden der Zeile 204c zugeführt.
-
Dieselben Daten werden aus dem Speicher 202 in
der Richtung zugeführt,
welche in der Figur durch die Pfeile gezeigt ist. Die acht Daten
B5, B6, B7, ..., B12 werden
in anderen Worten jeder Zeile zugeführt.
-
Dementsprechend werden die Daten
A2 bis A9 aus dem
Speicher 201 und die Daten B5 bis
B12 aus dem Speicher 202 zu den
Zellen der Reihe 204b zugeführt, so dass beispielsweise
|A2 – B5| in der Zelle 203a berechnet wird
und |A3 – B6|
in der Zelle 203b berechnet wird. In anderen Worten, in
diesen Zeilen werden Berechnungen ausgeführt, in welchen n = 3 ist,
und die B-Daten werden um drei Pixel im Hinblick auf die A-Daten
nach links verschoben, und der Absolutwert der Differenz zwischen
diesen wird erzielt. In der Zeile 204c werden jeweils die
Berechnungen |A5 – B5|,
|A6 – B6|, ..., |A12 – B12| ausgeführt, so dass n = 0 ist, und
das Ausmaß des
Versatzes, wenn ein Vergleich ohne das Verschieben der Daten ausgeführt wird,
wird bestimmt. Ein Schaltkreis, welcher alle diese Absolutwerte
aufsummiert oder welcher beispielsweise So = |A5 – B5| + |A6 – B6| + ... + |A12 – B12| berechnet, wird im Hinblick auf jede
der Zeilen in der Einheit für
die Vergleichsoperation 203 vorgesehen. Diese Struktur
wird beispielsweise durch die in der 3 gezeigte
Verschaltung ausgebildet. Dieses Beispiel betrifft den Fall, dass
die Zeile 204c und jede Zelle 301, 302 und Ähnliches
Schaltkreise sind, welche identisch zu denjenigen aus der 2(b) sind; die jeweiligen
Ausgangsspannungen C5,0, C6,0 sind an
eine elektrische schwebende Elektrode 305 über die
Kapazitäten
(welche eine Kapazitanz CS aufweisen) 303 und 304 gekoppelt.
Die Bezugszeichen 306 und 307 bezeichnen jeweils
NMOS- und PMOS-Transistoren des Verarmungsschichttyps, und dies
bildet einen Kathodenfolger-Schaltkreis 309, welcher eine
CMOS-Struktur aufweist. Dies ist ein Verstärker, in welchem die Spannungsverstärkung näherungsweise
1 ist, wenn VOUT = VFG ist
(VFG: Potential des schwebenden Gate 305;
VOUT: Ausgangsspannung). Das Bezugszeichen 308 zeigt
die schwebende Kapazitanz Co., Weil gilt VFG =
CS(C5,0 + C6,0 + C7,0 + ...
+ C12,0)/(8 CS +
CO), wird eine Spannung, welche proportional
ist zu der Summe SO des Ausmaßes des
Versatzes, welcher in jeder Zelle bestimmt wird, zu VOUT ausgegeben.
-
Ähnliche
Berechnungen werden in jeder Zeile 204a, 204b,
und Ähnlichem
ausgeführt,
und Ausgangsspannungen, welche proportional sind zu den Summen S4, S3, und Ähnlichem
des Ausmaßes
des Versatzes aus jeder Zeile, werden gleichzeitig ausgegeben. Diese
neun Daten werden in den Bewegungsausmaßdetektor 107 eingegeben.
Die Details dieses Bereiches sind in der 4 gezeigt.
-
In der 4 zeigt
Sn (wobei gilt n = 4, 3, 2, 1, 0, –1, –2, –3, und –4) die
Ausgabespannungen von jeder Zeile der Einheit für die Vergleichsoperation 203;
diese bilden die neun Eingangsspannungen 402 in den Winner-Take-All-Schaltkreis (WTA) 401.
In dieser Ausführung
ist die Funktion des WTA derart, dass der Schaltkreis einen Wert
von 1 nur an den Ausgangsanschluss ausgibt, welcher der kleinsten
Eingabe entspricht, während
der Wert an alle anderen Ausgangsanschlüsse ausgegeben wird; die 4 zeigt den Fall, in welchem
S3 den kleinsten Wert unter den neun Eingangssignalen
aufweist. Dies bedeutet nur der Ausgang des WTA, welcher S3 entspricht, weist einen Wert von 1 auf.
Dies wird in den Adress-Kodierer 403 eingegeben, und beispielsweise
ein binärer
Code entsprechend zu +3, 0011, wird als der Wert von Δx ausgegeben.
-
Hier bedeutet die führende 0 „+", während die
nachfolgenden 3 Bits „3" bezeichnen.
-
Ein ROM mit vorgeschriebenen Codes,
welche dort hineingeschrieben wurden, kann als dieser Adress-Kodierer
verwendet werden, oder alternativ kann eine kombinierte logische
Schaltung verwendet werden.
-
Der Fakt, dass S3 den
kleinsten Wert aufweist, bezeichnet, dass die Summe der Ausmaße des Versatzes
in der Zeile 204b in der 2(a) die kleinste
ist. Dies bedeutet, wenn die t + Δt-Daten
3 Pixel nach links geschoben werden, weist diese Zeile die beste Übereinstimmung
mit den t-Daten auf; dies entspricht dem Fall, in welchem die Bewegung
des Bildes während
der Zeitspanne von Δt
3 Pixel nach rechts betrug, so dass in anderen Worten Δx = 3 ist. Auf
diesem Wege ist es möglich,
schnell die x-Komponente des Bewegungsvektors aufzufinden. In der 1 ist die Struktur der Δy-Detektionsschaltung identisch,
und es ist möglich,
schnell den Wert von Δy auf
dieselbe Art und Weise zu finden.
-
Als nächstes wird ein konkretes Beispiel
der Schaltung des WTA 401 in der 5 gezeigt. Sn und Vn sind jeweils der Eingangsanschluss und
der Ausgangsanschluss entsprechend der Nummer n des WTA 401;
eine Schaltung, welche identisch zu der Bezugsschaltung 501 ist,
wird im Hinblick auf jede Eingabe verwendet. Das Bezugszeichen 502 bezeichnet
einen CMOS-Inverter; das gemeinsame Gate 503 desselben
wird in einen elektrisch schwebenden Zustand gesetzt, durch Setzen
der Schalter SW1 und SW2 in einen Aus-Zustand.
-
Die zwei Eingaben Sn und
VR sind kapazitiv mit dem schwebenden Gate 503 über die
Kapazitäten
gekoppelt, welche dieselbe Größe aufweisen.
-
Als nächstes wird die Operation des
Schaltkreises erklärt
werden. Zunächst
wird der Schalter SW1 in dem Zustand, dass Sn =
0 und VR = VDD ist, geschlossen.
Wenn dies ausgeführt
wurde, wird der CMOS-Inverter 502 an dem Punkt unter Vorspannung
gesetzt, an welchem sich die Eingangs- und Ausgangscharakteristiken
am schnellsten ändern, und
VFG wird gleich zu VDD/2.
Zu diesem Zeitpunkt wird der Schalter SW1 in einen Aus-Zustand gesetzt, und
das gemeinsame Gate 503 wird in einen schwebenden Zustand
versetzt. Nachfolgend, wenn VFG zu VDD/2 wird, tritt der CMOS-Inverter 502 in
einen Ein-Zustand
ein, die Ausgabe desselben fällt
auf 0 V ab, und wenn VFG kleiner ist als
VDD/2, tritt der Inverter in einen Aus-Zustand
ein, und die Ausgabe desselben steigt auf VDD an.
Nachfolgend werden die jeweiligen Eingangsspannungen in Sn eingegeben. Nun, wenn Sn größer ist
als 0, dann ist VFG = (VR +
Sn)/2 gegeben, und wenn VR =
VDD ist, dann ist VFG > VDD/2.
-
Dies bedeutet, der CMOS-Inverter 502 befindet
sich in einem Ein-Zustand im Hinblick auf alle Werte von n, und
es resultiert Vn = 0 und Va =
VDD. Das Bezugszeichen 504 bezeichnet
einen NAND-Schaltkreis mit neun Eingängen; weil die Eingänge alle
einen Wert von 1 aufweisen, weist der Ausgang 505 / die
Ausgabe 505 einen Wert von 0 auf. Dadurch wird der Schalter
SW2 in einen Aus-Zustand
versetzt.
-
Danach, wenn VR abfällt von
VDD auf 0 V in einem Raum zum Beispiel von
200 ns, wenn VFG, VDD/2,
tritt der Inverter 502 in einen Aus-Zustand ein und daraus
resultierte Vn = VDD und
Va = 0. Es wird eine Gesamtzahl von neun
Schaltkreisen 501 für
den WTA 401 vorgesehen; der erste Schaltkreis jedoch, welcher
in einen Aus-Zustand tritt, ist der Schaltkreis, welcher den kleinsten
Wert von Sn aufweist. NAND-Schaltkreis 504 gibt
einen Wert von 1 aus, wenn sogar einer der Eingaben desselben auf
einen Wert von 0 abfällt,
und der Schalter SW2 befindet sich in einem Ein-Zustand in all den
Schaltkreisen, so dass die Ausgabespannung Va zurück in jeden Schaltkreis
zu dem schwebenden Gate geführt
wird, und dadurch die Werte selbsthaltend in einer unveränderten
Art gehalten werden. Dies bedeutet, in dem Schaltkreis, welcher
die kleinste Eingabe aufweist, resultiert Vn =
1(VA = 0) und in den anderen Schaltkreisen
resultiert Vn = 0(VA =
1).
-
Die WTA-Funktion wird auf die obige
Art realisiert. Die Verschaltung aus der 5 stellt nur ein Beispiel eines WTA dar,
und selbstverständlich
können
Schaltkreise, welche andere Formen aufweisen, verwendet werden.
-
In der 3 wurde
der Wert von Sn durch einen Kathodenfolger-Schaltkreis 309 ausgegeben; auf
diesen Kathodenfolger 309 kann jedoch verzichtet werden.
Dies bedeutet, dass das schwebende Gate 305 identisch zu
dem schwebenden Gate 503 in der 5 sein kann. Gleichzeitig wird die Sn-Eingabe aus der 5 unnötig,
und es ist notwendig, dass die Größe der Kapazität der VR-Eingabe gleich 8 Cs gesetzt
wird.
-
Als nächstes ist ein konkretes Beispiel
des Absolutwert-Operationsschaltkreises aus der 2(b) in der 6 gezeigt. Die 6(a) ist ein Schaltungsdiagramm, und
V1 und V2 stellen
zwei Eingänge
derselben dar; diese entsprechen den Eingangsanschlüssen für die A-Daten
und die B-Daten.
-
Die 6(b) zeigt
die Beziehung zwischen VOUT und V1 – V2; man kann sehen, dass gilt VOUT =
|V1 – V2|. Das Operationsprinzip/das Schaltprinzip
des vorliegenden Schaltkreises wird erklärt mit Verwendung der 7. Zunächst ist der Zustand von jedem Schalter
in dem Zustand, in welchem eine vorbeschriebene Eingangsspannung
an V1 und V2 angelegt
wird, wie in der 7(a) gezeigt
ist. Als nächstes werden
die NMOS-Schalter 601 und 602 in einen Aus-Zustand
versetzt, und die Gate-Elektroden 603a und 604a der
NMOS-Transistoren 603 und 604 werden
in einen schwebenden Zustand gesetzt ( 7(b)). Nachfolgend, wenn die Schalter 605a–d des
Eingangsbereiches geschaltet werden und die Eingangsspannungen geschaltet
werden, wird das Potential der schwebenden Gates 603 und 604 gleich zu
V2 – V1 und V1 – V2. Wenn V1 > V2 ist, dann
gilt V2 – V1 < 0, und das Potential
desselben wird auf dem Diffusionspotential (näherungsweise – 0,7 V)
festgelegt, mittels der Drain-PN-Verbindung des NMOS-Transistors 601 (7(c)).
-
Danach, wenn die Schalter 606 und 607 geschaltet
werden, wird der Ausgabeanschluss VOUT angehoben,
wie in der 7(d) gezeigt
ist, durch die Zufuhr von Strom aus VDD.
Wenn die Grenzwertspannung von NMOS 603 und 604 beispielsweise
auf 0 V gesetzt wird, dann steigt VOUT auf
ein Potential, welches gleich dem höheren des Potentials der schwebenden
Gates 603a und 604a ist. Dies bedeutet, der Schaltkreis
wird zu einem, welcher die Maximalwerte ausgibt. Dies bedeutet,
VOUT wird gleich zu |V1 – V2|.
-
Der Schaltkreis aus der 6 stellt nur ein Beispiel
dar; es ist selbstverständlich
so, dass jeder Schaltkreis insofern verwendet werden kann, wie er ein
Schaltkreis ist, welcher einen Wert proportional zu |V1 – V2| ausgibt oder einen Wert, welcher monoton
mit dem Wert von |V1 – V2|
ansteigt.
-
(Zweite Ausführung)
-
In dem Schaltkreis aus der 2 wurde eine Datenserie
der Zeit t in 201 eingegeben, während eine Datenserie der Zeit
t + Δt in 202 eingegeben wurde;
es ist jedoch klar, dass keine Probleme verursacht werden, wenn
dies umgekehrt wird. Eine zweite Ausführung der vorliegenden Erfindung,
welche eine solche Struktur aufweist, ist in der 8 gezeigt.
-
Das Bezugszeichen 801 bezeichnet
einen Speicher für
A-Datenserien, welcher die t + Δt-Daten speichert,
während
das Bezugszeichen 802 einen Speicher für B-Datenserien bezeichnet, welcher die t-Daten
speichert. 803a, 803b und Ähnliches sind Zellen eines
Vergleichsoperationsschaltkreises; in der vorliegenden Ausführung geben
diese einen Wert von Ci,n = VDD – |Ai – Bi+n| aus. Ein konkretes Schaltungsdiagramm
ist in der 9 gezeigt.
In der 8 ist die Verkabelung, welche
die A-Daten 801 und B-Daten 802 zu jeder Zelle
zuführt,
jeweils durch die Bezugszeichen 804 und 805 (die
Leitungen verlaufen in einer diagonalen Richtung) gezeigt. Die Grundstruktur
ist identisch zu der aus der 2,
so dass auf eine detaillierte Erklärung derselben hier verzichtet
wird. Das Bezugszeichen 806 entspricht dem Kathodenfolger-Schaltkreis 309,
während
das Bezugszeichen 807 dem schwebenden Gate 305 desselben entspricht.
Das Bezugszeichen 808 bezeichnet ein WTA. In diesem Fall
gibt der WTA-Schaltkreis einen Wert von 1 nur an der Position der
Eingabe aus, welche den maximalen Wert aufweist; konkret kann ein Schaltkreis,
wie er zum Beispiel in der 11 gezeigt ist,
verwendet werden.
-
Der Schaltkreis, welcher in der 9(a) gezeigt ist, ist ein
Schaltkreis, welcher im wesentlichen identisch im Prinzip zu demjenigen
aus der 6(a) ist; die
Hauptunterschiede desselben sind, dass PMOS 903 und 904 anstelle
von NMOS 603 und 604 verwendet werden, und dass
die Spannung VDD wird, wenn die Gates 903a und 904a derselben
zurückgesetzt
werden. Die 9(b), welche
die Charakteristiken von VOUT desselben
zeigt, zeigt Charakteristiken, in welchen 0 und VDD auf
eine umgekehrte Art eingegeben werden (Charakteristiken, so dass
der Graph umgekehrt erscheint, mit der Oberseite nach unten), und
der Schaltkreis gibt den größten Wert
(VDD) aus, wenn V1 und
V2 übereinstimmen,
während,
wenn V1 und V2 um
das weiteste Ausmaß getrennt
sind, der minimale Wert (0 V) ausgegeben wird. Dies bedeutet, wenn
die Daten in jeder Zelle in der 8 dichter werden,
wird die Auswertung höher
und der Wert von Sn wird größer.
-
Die 10 zeigt
die Ergebnisse einer Simulation der Operation des Schaltkreises
aus der 9, bei Verwendung
eines Schaltkreissimulators (HSPICE). In der Figur bezeichnet RST
das Steuersignal, welches an dem Anschluss 905 angelegt
wird, während
SFact das Steuersignal bezeichnet, welches an dem Anschluss 906 angelegt
wird; eine Ausgabe ist erzielbar, wenn beide von diesen auf dem
unteren (0 V) Wert liegen. Man kann sehen, dass der Schaltkreis
wie erwartet arbeitet.
-
Der Schaltkreis aus der 11 ist im wesentlichen identisch
zu demjenigen aus der 5.
Es gibt drei Unterschiede: der Ausgabe-Inverter 506 aus der 5 ist entfernt, der NAND-Schaltkreis
ist durch den ODER-Schaltkrreis (OR) 1101 ersetzt, und
VR ist anfänglich auf 0 V gesetzt und
wird dann erhöht
von 0 auf VDD. Vn weist
einen Wert von „1" nur dann auf, wenn
Sn den größten Wert in dem Schaltkreis
aufweist.
-
Die 12 zeigt
die Ergebnisse einer Simulation des Schaltkreises aus der 8, bei Verwendung eines
Schaltkreissimulators (HSPICE). Hier wurden als Daten der Zeit t
und t + Δt
das Gaußsche Verteilungssignal,
welches in der 13 gezeigt
ist, in welchem eine Verschiebung von +3 Pixeln nach rechts nach Δt ausgeführt wurde,
angelegt, und die Berechnungen wurden ausgeführt. In der 12 bezeichnet SFinp die Eingangsspannung
in den Kathodenfolger-Schaltkreis 806 und Ähnliches,
oder in anderen Worten die Potential-Wellenform des schwebenden
Gate 807 und Ähnliches,
während
SFout die Ausgangswellenform des Kathodenfolgers bezeichnet. Vout
bezeichnet die Ausgabe des WTA-Schaltkreises 808; nur die
Ausgabe des Anschlusses entsprechend zu n = +3 weist einen Wert
von 5 V auf, während
die anderen Anschlüsse
alle einen Wert von 0 V aufweisen und dies bezeichnet, dass Δx = +3 Pixel
ist.
-
Wie aus dieser Figur klar wird, werden
Operationen nach 300 ns abgeschlossen, ungeachtet wie lang sie sind,
und der Bewegungsvektor kann ausgewählt werden. Im Vergleich zu
herkömmlichen
digitalen Verfahren, bei welchen es extrem schwierig war, Operationen
innerhalb von 300 Millisekunden zu beenden, kann man sehen, dass
dies eine 105-fache (eine 100000-fache)
Vergrößerung in
der Geschwindigkeit darstellt. Dementsprechend ist die vorliegende
Erfindung extrem effektiv beim Echtzeitverarbeiten von Bilddaten.
Zudem, weil diese Erfindung realisiert werden kann bei Verwendung
einfacher Schaltkreise, wie derjenige, welcher in der 8 gezeigt ist, kann sie
auf demselben Chip wie der Bildsensor integriert werden, und Anwendungen,
wie zum Beispiel das direkte Vorsehen von intelligenten Funktionen
in Roboteraugen und ähnliches,
kann in einer extrem einfachen Art ausgeführt werden.
-
In der ersten Ausführung und
der zweiten Ausführung,
welche oben beschrieben wurden, wurden Bewegungsvektoren festgestellt,
bei Verwendung von Daten, welche die direkte Addition darstellen,
zeilenweise oder spaltenweise, von zweidimensionalen Bildsensordaten;
es kann jedoch eine Bildbearbeitung, wie zum Beispiel eine Flankenerkennung/Kantenerkennung
oder ähnliches
vorher im Hinblick auf die zweidimensionalen Bilddaten ausgeführt werden,
und danach können
die Daten zeilenweise oder spaltenweise addiert werden. Es gibt
Fälle,
in welchen diese Verfahren die Genauigkeit der Detektion verbessern.
Zudem kann ein Verfahren angewendet werden, in welchem das eine
oder andere von diesen Verfahren geeignet ausgewählt wird, Operationen aufeinanderfolgend
ausgeführt
werden, in welchen die Ergebnisse durch Verwendung von beiden Fällen mit
derselben Hardware bestimmt werden, und somit die Bewegungsdetektion
mit einer sehr hohen Genauigkeit ausgeführt wird. Zudem entspricht
das Ergebnis der Addition von einer Zeile oder einer Spalte von
Pixeldaten einem Messwert; es können
jedoch zwei oder mehrere Zeilen oder zwei oder mehrere Spalten von
Daten addiert werden und dies kann ausgeführt werden, um einem Messwert
zu entsprechen. Dies ist wirkungsvoll in dem Fall, dass Bildsensoren
eine große
Anzahl von Pixeln aufweisen. Zudem wurde ein Schaltkreis für eine Vergleichsoperation
beschrieben, welcher nur Operationen ausgeführt hat, welche den Absolutwert
erzielt haben; es können
jedoch andere Operationen verwendet werden. Beispielsweise kann
eine Operation, welche den größten Wert
von Ai und Bi+n bestimmt, ausgeführt werden,
und das Ausmaß der
Bewegung kann durch den Minimalwert der Summe von diesen Maximalwerten
für jede
Zelle bestimmt werden. Zudem kann dies umgekehrt werden und der
Minimalwert von Ai und Bi+n kann
bestimmt werden, und das Ausmaß der
Bewegung gefunden werden durch Auffinden der maximalen Summe der
minimalen Werte für
jede Zelle. Zudem kann eine sogenannte Abgleichsoperation ausgeführt werden,
in welcher die Ausgabe nur in dem Fall VDD ist,
wenn |Ai – Bi+n| < w ist, und die
Ausgabe zu anderen Zeiten 0 ist. Ferner kann eine Abgleichsoperation
selbstverständlich ausgeführt werden,
in welcher die Ausgabe nur dann 0 ist, wenn |Ai – Bi+n| < w,
und die Ausgabe zu anderen Zeiten VDD ist.
-
Ein weiterer wichtiger Punkt in der
vorliegenden Erfindung ist, dass es nicht notwendig ist, dass die
t-Daten in perfekter Übereinstimmung
mit dem t + Δt-Daten
im Hinblick auf die Pixelverschiebung vorliegen. Das Verschiebungsergebnis
in der relativ dichtesten Übereinstimmung
wird gefunden, so dass das Ausmaß der Bewegung ohne Probleme
gefunden werden kann, sogar wenn ein Objekt sich bewegt, während die
Form desselben sich leicht ändert.
-
(Dritte Ausführung)
-
Nachfolgend wird eine dritte Ausführung der vorliegenden
Erfindung erklärt,
bei Verwendung der 14.
Dies ist ein Operationsschaltkreis, welcher nur das Ausmaß der Bewegung
eines sich bewegenden Objekts genau findet, wenn das spezifizierende Objekt
sich gegen einen ruhenden Hintergrund bewegt. Das Bezugszeichen 1401 bezeichnet
ein Bildsensorfeld, während
das Bezugszeichen 1402 einen Δx-Detektionsschaltkreis bezeichnet;
diese sind identisch zu denjenigen, welche in der 1 beschrieben wurden. In der vorliegenden
Ausführung ist
ein neuer Schaltkreisblock 1403 hinzugefügt.
-
Die Bezugszeichen 1404 bis 1406 bezeichnen
Speicher, welche Summensignale in der Spaltenrichtung des Bildsensors
speichern, das bedeutet, die x-Achsen-Projektionsdaten; diese Speicher werden
verwendet für
die Daten von drei Zeitrahmen, so dass der Speicher 1404 die
t – Δt-Daten speichert, der
Speicher 1405 die t-Daten speichert und der Speicher 1406 die
t + Δt-Daten
speichert. Das Bezugszeichen 1407 bezeichnet einen Absolutwert-Operationsschaltkreis;
dieser berechnet den Absolutwert der Differenz der t – Δt-Daten und
der t-Daten und den Absolutwert der Differenz zwischen den t-Daten
und den t + Δt-Daten
und stellt diese als A-Datenserien und B-Datenserien für den Δx-Detektionsschaltkreis
zur Verfügung.
Der Schaltkreis, welcher in der 6 gezeigt
ist, kann als dieser Schaltkreis verwendet werden.
-
Dadurch ist es möglich, die Bewegung des sich
bewegenden Objekts gegen einen stillen Hintergrund mit einem hohen
Grad an Genauigkeit festzustellen. Die Prinzipien davon werden mit
Verwendung der 15 erklärt.
-
Die 15(a) stellt
einen Ballon dar, welcher sich über
ein Gebäude
bewegt. Nur der Ballon bewegt sich, und er bewegt sich nach rechts.
Die x-Achsen-Projektionsdaten
der Daten aus (a) sind in der 15(b) gezeigt,
und die Daten nach Δt
sind so, wie sie in der 15(c) gezeigt
sind, und weil der Hintergrund in diese Daten eingebunden ist, ist
es extrem schwierig, das Ausmaß der
Bewegung zu bestimmen bei Verwendung einer Pixelverschiebung. Wenn
der Absolutwert der Differenz von beiden erzielt wird, wie in der 15(e), wird der Hintergrund
stationär
gemacht, so dass dieser herausgenommen wird und verschwindet. Danach,
wenn die Differenz zwischen den t + Δt-Daten (15(d)) und den t-Daten erzielt wird, führt dies
zu der 15(f). Wenn die
Daten aus der 15(e) und
der 15(f) dann als die
Daten der Zeit t' und
der Zeit t' + Δt verwendet
werden, ist es möglich,
das Ausmaß der
Bewegung Δx
zu finden, bei Verwendung eines Schaltkreises 1402, welcher identisch
ist zu denjenigen aus der ersten und der zweiten Ausführung.
-
(Vierte Ausführung)
-
Eine vierte Ausführung der vorliegenden Erfindung
ist in der 16 gezeigt.
Dieser Schaltkreis führt
einen SEARCH (N, M)-Befehl aus, im Hinblick auf die Datenserien
A1 bis A8 und B1 bis B8, umfassend
zwei Gruppen von acht Daten. Dies bedeutet, der Schaltkreis nimmt
eine Anzahl von kontinuierlichen Daten M aus der Position, welche
die Ordnungsnummer N in den A-Datenserien aufweist, und bestimmt,
an welcher Position in den B-Daten die beste Übereinstimmung gefunden wird.
Zum Beispiel, in dieser Ausführung,
wenn M der Wert von 4–6 ist,
dann nimmt N einen Wert innerhalb eines Bereiches von 1-(8-M) ein.
-
Die Bezugszeichen 1601 und 1602 bezeichnen
Speicher, welche jeweils die A-Daten
und die B-Daten speichern, und das Bezugszeichen 1603 bezeichnet
eine Schaltkreisgruppe, welche identisch zu 203 in der 2 ist; jede Zelle des Vergleichsoperationsschaltkreises
ist identisch zu denjenigen in der ersten und zweiten Ausführung, und
jeder Typ von Schaltkreis kann verwendet werden. Die A-Daten und
die B-Daten werden jeder Zelle entlang der Linien zugeführt, welche
jeweils durch die Pfeile und die gepunkteten Linien gezeigt sind.
-
Um ein Beispiel zu verwenden, der
sechste Datenwert auf der rechten Seite A3,
A4 bis A8 und der sechste
Datenwert B1, B2 bis
B6 werden der Zeile 1604 zugeführt.
-
Der Hauptpunkt des Unterschieds zu
dem Fall, welcher in der 2 gezeigt
ist, ist, dass die Länge
von jeder Zeile unterschiedlich ist. Als ein Ergebnis ist in dem
Schaltkreis, welcher in der 3 gezeigt
ist, die Anzahl von Zellen 301, 302 und Ähnlichem,
welche an das schwebende Gate 305 angeschlossen sind, unterschiedlich,
und dies stört,
wenn ein Vergleich zwischen den Größen der Summen von den Absolutwerten
der Differenz zwischen verschiedenen Zeilen ausgeführt wird.
Dies bedeutet, es ist notwendig, einen Mechanismus zum Einstellen
der Verstärkung
von jedem Kathodenfolger auf denselben Wert vorzusehen, ein Beispiel
dafür ist
in der 17 gezeigt.
-
Diese Figur zeigt die Struktur, welche
zu den Zellen der Zeile 1604 in der 16 gehört. Weil nur sechs Zellen in 1604 inkorporiert
sind, weist diese Zeile zwei Zellen weniger auf als die größte Zeile 1605,
welche acht Zellen aufweist. Dementsprechend sind Blindkapazitäten (Dummy-Kapazitäten) 1701 und 1702 hinzugefügt, so dass
die Gesamtzahl 8 erreicht, und der Eingangsanschluss derselben fällt auf
das Massepotential. Dadurch ist es möglich, den Gesamtkapazitätswert,
von dem schwebenden Gate 1703 aus gesehen, auf denselben
Wert in allen Zeilen zu setzen. Zudem ist der Minimalwert von M
der Suche/SEARCH (N, M) gleich 4, so dass es Fälle gibt, in welchen nur vier
Zellen verwendet werden. In diesem Fall können beispielsweise die Schalter 1704 und 1705 auf
die Masseseite gesetzt werden, und die Zellen 1706 und 1707 können abgetrennt
werden. Die Zellen 1708–1721, welche für die Operation
notwendig sind, können
ihren Zellenausgang an die Kapazitäten über Schalter angeschlossen
haben, und die Ausgabe derselben kann an das schwebende Gate 1703 übertragen
werden. In dem dies ausgeführt
wird, ist es möglich,
Größenvergleiche
mit einem konstanten Wert für
die Verstärkung
des Kathodenfolger-Schaltkreises 1712 auszuführen.
-
Die 18 stellt
eine abweichende Erfindung zum Abtrennen unnötiger Zellen dar. Bei diesem
Verfahren werden keine Blindkapazitäten verwendet. Um die zwei
Zellen 1801 und 1802 von den sechs Zellen 1801–1806 abzutrennen,
werden die Schalter 1807 und 1808 nach links geschaltet
und an den Ausgang des Kathodenfolgers 1809 angeschlossen.
Der Wert von VOUT ist im wesentlichen gleich
zu der Spannung VFG des schwebenden Gate 1810,
so dass keine Spannung an die zwei Seiten der Kapazitäten 1811 und 1812 angelegt
wird und keine Ladung aufgebaut wird. Dies bewirkt dasselbe, als
wenn die Kapazitäten 1811 und 1812 nicht
vorhanden wären, und
dies ist im wesentlichen äquivalent
zum Abtrennen dieser Kapazitäten
vollständig
von dem schwebenden Gate 1810. Durch Verwendung dieses
Verfahrens operiert der Kathodenfolger konstant mit der größten Verstärkung, sogar
wenn die Anzahl von Zellen klein ist, so dass die Feststellung des
Bewegungsgrades mit einem hohen Grad an Genauigkeit ausgeführt werden
kann.
-
Die 19 zeigt
ein Beispiel der Operation des Schaltkreises, wenn der Befehl SEARCH
(N, M) momentan ausgeführt
wird. Die 19(a) zeigt
beispielsweise SEARCH (3, 4); die Daten A3,
A4, A5 und A6 (1902) innerhalb des A-Datenspeichers 1901 werden
mit den B-Daten 1903 verglichen. Zu dieser Zeit werden
nur diejenigen Zellen für
die Vergleichsoperation innerhalb der Box, welche durch die fette
Linie 1904 gekennzeichnet ist, verwendet, so dass eine Steuerung
ausgeführt
werden muss, welche die Ausgabe der anderen Zellen ignoriert.
-
Dementsprechend ist es in den Zeilen 1904a, 1904b und
so weiter notwendig, unnötige
Zellen abzutrennen, durch Verwendung des Verfahrens, welches in
den 17 und 18 gezeigt ist. Zudem gibt es
in den anderen Zeilen, zum Beispiel 1905a, 1905b und
so weiter, keine Notwendigkeit, die Operationsergebnisse S–4,
S–3,
und so weiter in dem WTA (zum Beispiel 401, 808 und
so weiter) einzugeben, so dass die Eingabe in den WTA auf einen
Standardwert von 0 V, VDD und so weiter
festgelegt werden kann. Wenn der WTA die Eingabe bestimmt, welche
den kleinsten Wert aufweist, wie in der 5 gezeigt ist, dann können die Eingaben auf VDD gesetzt werden, während, wenn der WTA die Eingabe
bestimmt, welche den größten Wert
aufweist, wie in der 11 gezeigt
ist, diese Eingaben auf 0 V gesetzt werden können. Die 19(b) zeigt den Fall des Befehls SEARCH
(1, 6); die Zellen außerhalb
des Kastens, welcher mit der fetten Linie markiert ist, können abgetrennt
werden, bei Verwendung einer Steuerung, welche identisch zu der
oben beschriebenen ist.
-
In der oben beschriebenen vierten
Ausführung
wurde der Fall beschrieben, in welchem Operationen ausgeführt wurden,
in welchen die Übereinstimmung
zwischen zwei Gruppen von Datenserien, welche acht Datenwerte aufweisen,
bestimmt wurde, um die Erklärung
einfach zu halten; dies kann jedoch im Hinblick auf Datenserien
ausgeführt
werden, welche eine große
Anzahl von Datenwerten aufweisen. Ferner können Datenserien als die zwei
Gruppen von Daten verwendet werden, welche beispielsweise von einem
eindimensionalen Bildsensor (ein Bildsensor, in welchem eine Vielzahl
von Pixeln in einer Serie angeordnet sind) erzielt werden.
-
Bei Verwendung einer Kamera oder Ähnlichem
können
einfallende Strahlen in zwei Richtungen aufgeteilt werden, bei Verwendung
einer Mikrolinse, und diese können
durch unterschiedliche eindimensionale Bildsensoren aufgenommen
werden, und Operationen können
ausgeführt
werden, welche die Daten davon als die zwei Gruppen von Datenserien
verwenden. Dadurch kann der Versatz und der Brennpunkt festgestellt
werden, und die Schärfen-/Dichteneinstellung
der Fotolinse kann ausgeführt
werden, und dadurch kann eine Autofokusfunktion realisiert werden.
-
Wenn eine Autofokusfunktion ausgeführt wird,
bei Verwendung des Schaltkreises der vorliegenden Erfindung, ist
eine Hochgeschwindigkeitssteuerung realisierbar, bei Verwendung
eines extrem einfachen Schaltkreises.
-
(Fünfte Ausführung)
-
Die 20 zeigt
eine fünfte
Ausführung
der vorliegenden Erfindung. Die Funktion dieser Ausführung ist
identisch zu derjenigen der vierten Ausführung; ein Befehl SEARCH (N,
M) wird im Hinblick auf die zwei Typen von Datenserien A und B ausgeführt. Das
Bezugszeichen 2001 bezeichnet einen A-Datenserien-Speicher, während das
Bezugszeichen 2002 einen B-Datenserien-Speicher bezeichnet.
Das Bezugszeichen 2003 bezeichnet ein Analogdaten-Schieberegister,
hier weist dieser die Funktion des Schiebens von Daten nach links
auf, je ein Messwert zu einer Zeit.
-
Das Bezugszeichen 2004 bezeichnet
sechs Operationsschaltkreise, welche in einer Reihe angeordnet sind,
welche dieselbe Funktion wie diejenigen aus der 2(b) aufweisen. Das Verfahren des Ausführens eines
Befehls SEARCH (3, 4) wird nachfolgend erläutert werden.
-
Zuerst wird die gesamte A-Datenserie
des Speichers 2001 in das Schieberegister 2003 übertragen,
und diese wird um drei Plätze
nach links verschoben und in dem Operationsschaltkreis 2004 gespeichert.
Danach werden die B-Datenserien in das Schieberegister 2003 eingegeben,
und dann werden sie zu den Operationsschaltkreisen 2004 übertragen, ohne
verschoben zu werden. Auf diesem Wege werden die Daten A3, A4, A5,
A6, A7 und A8 und die Daten B1,
B2, B3, B4, B5 und B6 in die Zellen C1,
C2, ..., C6 des Operationsschaltkreises
inkorporiert. Wenn die Operation |Ai – Bi+n| (n = –2) ausgeführt wird, wird die Ausgabe
auf das schwebende Gate 2006 des Kathodenfolger-Schaltkreises 2005 über ein
kapazitives Koppeln übertragen.
Zu dieser Zeit sind vier Vergleichsoperationen notwendig, so dass
es notwendig ist, die Ausgänge/Ausgaben
von C5 und C6 abzutrennen. Die
Technologie der 17 und 18 wird verwendet, um dies
auszuführen.
Die VOUT, welche auf diese Art erzielt wird,
ist S–2.
-
Bei der nächsten Operation, nachdem die B-Datenserien
in das Schieberegister 2003 geschoben worden sind, werden
die Daten einen Platz nach links verschoben und zu dem Operationsschaltkreis 2004 übertragen,
und derselbe Typ der Operation wird ausgeführt, um S–1 zu
bestimmen. Ähnliche Operationen
werden wiederholt, um So, S0 und S2 zu finden, und der Wert von n, welcher
den kleinsten Wert aufweist, wird bestimmt.
-
Sn wird in
einer sukzessiven Zeitserie bestimmt; dieses kann temporär in einem
analogen Speicher gespeichert werden, und der Wert von n, welcher
den Minimalwert gibt, kann spezifiziert werden, bei Verwendung eines
WTA, beispielsweise eines solchen, wie in der 5 gezeigt ist.
-
Alternativ können Größenvergleiche ausgeführt werden,
im Hinblick auf die sukzessiv erscheinenden Werte von Sn,
und der Wert von n, welcher den kleinsten Wert ergibt, kann konstant
verfolgt werden. Wenn die vorliegende Erfindung angewendet wird,
ist es möglich,
Operationen auszuführen,
welche das Ausmaß der Übereinstimmung
feststellen, bei Verwendung von Schaltungen mit einem kleineren
Ausmaß/kleinerem
Maßstab.
-
Zudem wurde hierbei ein Schieberegister 2003 verwendet;
es kann jedoch zum Beispiel eine Schaltmatrix verwendet werden,
und die vorbeschriebenen Datenserien können durch Schalter ausgewählt werden
und zu dem Operationsschaltkreis 2004 geleitet werden.
-
In den oben beschriebenen ersten
bis fünften Ausführungen
wurden die analogen Speicherelemente nicht näher beschrieben; es ist jedoch
selbstverständlich
so, dass jede Technologie für
diese verwendet werden kann. Beispielsweise können analoge Daten als eine
Ladung in Kapazitäten
gespeichert werden, und diese können
durch einen Kathodenfolger-Schaltkreis ausgelesen werden. Alternativ
können
Daten in der Basiskapazität
von bipolaren Transistoren gespeichert werden und durch einen Emitterfolger-Schaltkreis
ausgelesen werden. Wenn es notwendig ist, können Speicher als digitale
Daten ausgeführt
werden, oder ein mehrwertiger Speicher (many-valued memory) (zum
Beispiel derjenige von R. Au, et al., ISSCC' 94 Digest of Technical Papers, pp.
270–271)
kann verwendet werden. Ferner ist es im Hinblick auf den Bildsensor
selbstverständlich
so, dass jede Technologie verwendet werden kann, wie zum Beispiel
ein CCD (charge conduction device), ein MOS-Bildsensor, ein bipolarer
Bildsensor oder Ähnliches.
-
Ferner kann der Schaltkreis der vorliegenden
Erfindung realisiert werden, durch Verwendung von Schaltungen mit
extrem kleinem Umfang/Maßstab,
so dass er zusammen mit einem eindimensionalen Bildsensor oder einem
zweidimensionalen Bildsensor auf demselben Chip integriert werden kann
und somit optimal für
die Datenbearbeitung ist, in welcher Bilddaten aufgenommen werden
und Operationen sofort im Hinblick auf diese Daten ausgeführt werden.
Wenn jedoch der Bildsensor auf einem separaten Chip ausgebildet
ist, weicht dies nicht von den wesentlichen Merkmalen der vorliegenden
Erfindung ab. Nachdem zweidimensionale Bilddaten Stück für Stück einer
A/D-Umwandlung unterzogen wurden und in einem Rahmenspeicher, umfassend DRAM-Sätze oder Ähnliches
eingebunden wurden, kann eine Verarbeitung ausgeführt werden,
bei Verwendung des Schaltkreises der vorliegenden Erfindung. Gleichzeitig
verwendet die D/A-Umwandlung ein
Verhältnis,
in welchem die Größen der
Kapazitätswerte
Vielfache von zwei sind, wie zum Beispiel 1, 2, 4, 8, ..., und die
Umwandlung hat den Vorteil des kapazitiven Koppelns mit dem schwebenden
Gate. Das bedeutet, eine D/A-Umwandlung
kann leicht an diesem schwebenden Gate als die Ausgabe eines gesteuerten
Kathodenfolger-Schaltkreises ausgeführt werden. Alternativ kann
dieses schwebende Gate das schwebende Gate (603a, 604a)
von beispielsweise einem Absolutwert-Operationsschaltkreis (6(a)) sein. Wenn dies getan
wurde, gibt dies keinen Verstärkungsabfall
als Ergebnis des Kathodenfolgers, und es ist möglich, Operationen auszuführen, welche
einen höheren
an Genauigkeit aufweisen.
-
Ferner können alle Schaltkreise der
vorliegenden Erfindung direkt auf einem DRAM-Chip, umfassend einen
Rahmenspeicher, integriert werden, oder sie können in einem Bereich eines
Mikroprozessor-Chips platziert werden. Das bedeutet, die Schaltungen
der vorliegenden. Erfindung können
als ein Block innerhalb einer rein digitalen Schaltung kombiniert
werden, und können
in den ausschließlich
digitalen Operationen als ein Beschleunigungsmotor im Hinblick auf
spezielle Jobs verwendet werden, welche solche Operationen unterstützen, die
ein enormes Zeitausmaß benötigen.
-
Industrielle
Anwendbarkeit
-
Mittels der vorliegenden Erfindung
wird es möglich,
Operationen im Hinblick auf ein enormes Ausmaß von analogen Daten, wie zum
Beispiel Bilddaten, auszuführen
und die Logik derselben zu bestimmen, und als ein Ergebnis ist es
möglich,
eine Datenverarbeitung mit extrem großer Geschwindigkeit auszuführen, bei
Verwendung von einfachen Operationsschaltungen.