-
Die
Erfindung bezieht sich allgemein auf Bildaufnahmesysteme. Insbesondere
bezieht sich die Erfindung auf einen verbesserten Lichtsensor und
ein Verfahren des Benutzens des verbesserten Lichtsensors zum Aufnehmen
und Verarbeiten von Bilddaten, um den Dynamikbereich zu verbessern.
-
Typische
digitale Bildaufnahmesysteme, wie beispielsweise Digitalkameras,
benutzen einen Sensor, einen Speicher und einen Prozessor. Sensoren
werden unter Verwendung eines Halbleiterprozesses für ladungsgekoppelte
Bauelemente(CCD) oder eines Komplementär-Metall-Oxid-Halbleiter(CMOS)-Prozesses hergestellt.
Ein typischer CMOS-Sensor enthält
ein Pixel-Array mit einer Vielzahl von in Zeilen und Spalten angeordneten
Pixelzellen. Ein korrelierter Doppelabtaster (CDS; correlated double
sampler), ein Verstärker
und ein Analog-Zu-Digital-Umsetzer
sind außerdem
für jede
Spalte des Pixel-Arrays
enthalten. Bei einem typischen System werden die in jeder Pixelzelle
des CMOS-Sensors aufgenommenen Lichtintensitäten direkt zu einem zugehörigen CDS übertragen.
Anschließend
werden die Bilddaten einem Verstärker
zur Verstärkung
zur Verfügung
gestellt. Das verstärkte
Signal wird dem Analog-Digital-Umsetzer zur Verfügung gestellt, welcher das
analoge Signal in ein digitales Signal konvertiert. Sobald die Bilddaten
in die digitale Form konvertiert worden sind, werden sie oftmals
in einem Speicher gespeichert und/oder zur weiteren Verarbeitung
entweder lokal innerhalb des Bildaufnahmesystems oder zu einem fernen
Ort zu einem anderen Bildverarbeitungssystem, wie beispielsweise
einem Computer, übertragen.
-
Eine
wichtige Komponente bei der Verarbeitung der Bilddaten besteht darin,
die Daten für
eine einfachere Übertragung
und/oder Speicherung zu komprimieren. Bei der bekannten Lösung erzeugt
jede Pixelzelle einen Pixelwert, die zunächst im Speicher gespeichert
wird. Die gespeicherten Pixelwerte werden dann von einem auf einem
Prozessor ausgeführten
digitalen Signalverarbeitungs(DSP)-Programm bearbeitet und komprimiert.
-
In
dem Maße,
wie die Größe der Pixel-Arrays
wächst,
erhöht
sich auch die Menge des zum Speichern der Pixelwerte erforderlichen
lokalen Speichers in entsprechender Weise. Wenn beispielsweise das
Pixel-Array von 512 × 512
auf 1024 × 1024
wächst
und unter der Annahme eines Bytes pro Pixel, erhöhen sich die minimalen Speicheranforderungen
von 262.144 Bytes auf 1.048.576 Bytes für jedes aufgenommene Bild. Demzufolge
ist ein vierfach größerer Speicher
zum Speichern eines Bildes erforderlich.
-
Eine
weitere Problematik bei Videobilddaten ist das Erfordernis, die
Bandbreitenanforderungen zu erfüllen.
Wenn ein Array wächst,
ist eine zusätzliche
Bandbreite erforderlich, um die zusätzlichen Bilddaten bei einer
gegebenen Einzelbildrate zu anderen Bildverarbeitungssystemen, wie
beispielsweise Computern, zu übertragen.
-
Wenn
das Pixel-Array von 512 × 512
auf 1024 × 1024
wächst,
erhöht
sich die erforderliche Bandbreite um etwa das Vierfache. Wenn beispielsweise
30 Einzelbilder pro Sekunde angenommen werden, ist die nicht komprimierte
Datenrate aus einem 512 × 512-Sensor-Array
bei (1 Byte) pro Pixel etwa 7,8 Megabyte pro Sekunde für das 512 × 512-Array.
Die Datenrate erhöht
sich auf 31,5 Megabyte pro Sekunde für das 1024 × 1024-Array.
-
Um
die Bildqualität
zu verbessern und mehr Farbe einem Bild hinzuzufügen, erhöhen typische Bildverarbeitungssysteme
die Anzahl der Bytes, die benutzt werden, um jedes Pixel darzustellen.
Bei Farbanwendungen wird jedes Pixel typischerweise durch mehr als
ein Byte dargestellt. Einige Farbverarbeitungssysteme benutzen beispielsweise
zwei Bytes oder 16 Bits, um einen einzelnen Pixelwert darzustellen.
Wenn jedes Pixel durch eine größere Anzahl
von Bytes dargestellt wird, erhöhen
sich die Speicheranforderungen und Bandbreitenanforderungen entsprechend.
-
Aus
der
EP 0707416 A2 ist
ein Verfahren zum Aufnehmen von Bilddaten mit einem Sensor bekannt, bei
dem ein Differenzsignal von aufgenommenen Bildern erzeugt wird.
-
Die
US 5572256 A beschreibt
ein Aufnahmesystem mit einer Pixelmatrix, wobei die Pixel aufeinanderfolgend
für unterschiedliche
lange Zeitdauern aktiviert und ausgelesen werden.
-
Für einen
erhöhten
Dynamikbereich bei dem Bildsensor schlagen zusätzlich einige aktuelle Systeme vor,
daß zusätzliche
Speicherelemente verwendet werden, um mehrfache Auslesungen eines
einzelnen Pixels zu halten, so daß zwei Integrationszeiten aufgenommen
und analysiert werden.
-
Aufgabe
der Erfindung ist es, einen verbesserten Sensor zur Verfügung zu
stellen, der die Speicher- und Bandbreitenanforderungen für die Bildaufnahme
und Übertragung
reduziert.
-
Die
Aufgabe wird erfindungsgemäß durch
ein Verfahren nach Patentanspruch 1 sowie ein Bildaufnahmesystem
nach Patentanspruch 5 gelöst.
-
Bei
einem Bildaufnahmesystem, das einen Sensor mit einem ersten Knoten
und einem zweiten Knoten aufweist, wird ein Verfahren des Aufnehmens
von Bilddaten offenbart. Der erste Knoten wird zurückgesetzt.
Der zweite Knoten wird zurückgesetzt.
Ein Bild wird auf dem ersten Knoten aufgefangen. Dann wird ein erster
Pixelwert von dem ersten Knoten zu dem zweiten Knoten nach einer
ersten vorgegebenen Zeitdauer übertragen.
Der erste Pixelwert und der zweite Pixelwert werden dann nach einer
zweiten vorgegebenen Zeitdauer zur Verfügung gestellt. Eine arithmetische
Operation wird an dem ersten Pixelwert und dem zweiten Pixelwert
ausgeführt.
Außerdem
wird ein System zum Durchführen
des Verfahrens offenbart.
-
Die
Aufgaben, Merkmale und Vorteile des Verfahrens und der Einrichtung
gemäß der vorliegenden
Erfindung werden aus der folgenden Beschreibung klar, in welcher:
-
1 ein
Bildaufnahmesystem veranschaulicht, das gemäß den Lehren der vorliegenden
Erfindung konfiguriert ist.
-
2 veranschaulicht
die verbesserte Pixelzelle, die gemäß den Lehren der vorliegenden
Erfindung ausgebildet ist.
-
3 ist
eine vereinfachte Blockdarstellung, die das Pixel-Array und die
Brennebenenprozessoren (focal plane processors) des verbesserten
Sensors gemäß der vorliegenden
Erfindung veranschaulicht.
-
4 ist
ein Ablaufdiagramm, das veranschaulicht, wie ein Signalverarbeitungsprogramm
den verbesserten Sensor benutzen könnte, um Bilddaten gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung aufzunehmen und zu verarbeiten.
-
5 ist
eine Blockdarstellung einer Bildaufnahmeeinrichtung (z. B. einer
Digitalkamera), bei welcher der verbesserte Sensor gemäß der vorliegenden
Erfindung implementiert sein könnte.
-
6 ist
eine Blockdarstellung, die detaillierter den digitalen Signalverarbeitungsfunktionsblock
gemäß 5 veranschaulicht.
-
7 veranschaulicht
ein Computersystem, das ein "Siliziumauge" aufweist, bei welchem
der verbesserte Sensor gemäß der vorliegenden
Erfindung implementiert sein könnte.
-
8 ist
eine Blockdarstellung, die detaillierter das in 7 gezeigte
Computersystem veranschaulicht.
-
Im
folgenden werden unter Bezugnahme auf die Figuren Ausführungsbeispiele
beschrieben. Die Ausführungsbeispiele
sind angegeben, um Aspekte der Erfindung zu veranschaulichen und
sollten nicht in einem den Umfang der Erfindung einschränkenden
Sinne verstanden werden. Die Ausführungsbeispiele werden primär unter
Bezugnahme auf Blockdarstellungen beschrieben. In Abhängigkeit
von der Implementierung können die
zugehörigen
Einrichtungselemente in Hardware, Software, Firmware oder Kombinationen
davon ausgebildet sein.
-
1 veranschaulicht
ein Bildaufnahmesystem 100, in welchem ein verbesserter
Sensor 102 gemäß der vorliegenden
Erfindung implementiert sein kann. Der verbesserte Sensor 102 arbeitet
mit einem Prozessor 140 und einem Speicher 150 über einen
Bus 144 zusammen. Bei einem Ausführungsbeispiel der vorliegenden Erfindung
enthält
der verbesserte Sensor 102 ein Pixel-Array 104,
das eine Vielzahl von in Zeilen und Spalten angeordneten Pixeln
aufweist. Beispielsweise kann das Pixel-Array 104 512 × 512-Pixelzellen
oder 1024 × 1024-Pixelzellen
enthalten. Jede Pixelzelle weist eine verbesserte Architektur auf,
die ein temporäres
Speicherelement, eine erste Ausleseschaltung und eine zweite Ausleseschaltung
aufweist, welche detaillierter im folgenden unter Bezugnahme auf 2 beschrieben
werden.
-
Ein
Zeilenselektor 105 ist vorgesehen, um eine bestimmte Zeile
in dem Pixel-Array 104 auf der Grundlage von durch die
Steuereinrichtung 110 zur Verfügung gestellten Steuersignalen
zu spezifizieren. Ein Spaltenselektor 107 ist vorgesehen,
um in dem Pixel-Array 104 auf der Grundlage von durch die
Steuereinrichtung 110 zur Verfügung gestellten Steuersignalen
eine Spalte zu spezifizieren. Der Zeilenselektor 105 und
der Spaltenselektor 107 spezifizieren zusammen eine bestimmte
Pixelzelle innerhalb des Pixel-Arrays 104.
-
Die
Steuereinrichtung 110 enthält eines oder mehrere Steuerregister 111 und
einen Zeitgabegenerator 112. Auf die Steuerregister 111 kann
von dem Prozessor 140 zugegriffen werden. Beispielsweise
könnte
der Prozessor 140 selektiv Werte aus den Registern 111 lesen
und Werte in die Steuerregister 111 einschreiben. Die Steuerregister 111 wiederum
stellen den in ihnen gespeicherten Wert dem Zeitgabegenerator 112 zur
Verfügung.
Der Zeitgabegenerator 112 erzeugt selektiv auf der Grundlage
der von den Steuerregistern 111 zur Verfügung gestellten
Werte Signale 107 an den Zeilenselektor 105, den
Spaltenselektor 107, Signale 108 an jede Zelle
innerhalb des Pixel-Arrays 104 und Signale 114 an
eine Vorverarbeitungseinheit 116.
-
Die
Vorverarbeitungseinheit 116 enthält einen Brennebenenprozessor 120 (focal
plane processor) und einen Analog-Digital-Umsetzer 134. Der Brennebenenprozessor 120 enthält zwei
Eingänge
zum Empfangen von zwei von dem Pixel-Array 104 zur Verfügung gestellten
Pixelwerte 113. Der Brennebenenprozessor 120 führt eine
arithmetische oder logische Operation an den empfangenen Werten
durch und erzeugt ein Ergebnis. Dieses Ergebnis wird dem A/D-Umsetzer 134 zur
Verfügung
gestellt, welcher das analoge Ergebnis in einen digitalen Wert konvertiert.
Der digitalisierte Pixelwert wird dann dem Bus 144 zur
Speicherung oder weiteren Verarbeitung zur Verfügung gestellt. Die von der
Steuereinrichtung 110 an die Vorverarbeitungseinheit 116 zur Verfügung gestellten
Signale 114 spezifizieren die bestimmte arithmetische oder
logische Operation und steuern darüber hinaus die Zeitgabe der
Verarbeitung und der Analog-Digital-Umsetzung.
-
Die
Pixelzelle 106 enthält
einen Eingang zum Empfangen eines Satzes von Signalen 108 aus
der Steuereinrichtung 110 und einen Ausgang zum Bereitstellen
von Pixelwertsignalen 113 an die Vorverarbeitungseinheit 116.
Steuersignale 108 können
RS1, RS2, Source, TX, IG, V1 und V2 einschließen, sind aber nicht darauf
beschränkt.
Diese Signale werden detaillierter im folgenden beschrieben.
-
Der
Zeitgabegenerator 112 kann Takterzeugungsschaltungen und
(nicht gezeigte) Zähler
enthalten, welche im Stand der Technik bekannt sind. Die Steuerregister 111 können durch
einen In-System-Prozessor 140 oder indirekt durch einen
(nicht gezeigten) Host-Prozessor geladen werden. Sobald sie geladen
sind, können
die Register 111 1.) Startwerte, 2.) Zählinkremente, 3.) Stopwerte
und 4.) weitere bei der Operation und der Steuerung der Sequenzierung
der Steuersignale erforderliche Informationen zur Verfügung stellen.
-
Der
Speicher 150 kann ein Programm 152 zum Bereitstellen
einer Schnittstelle zwischen einem Benutzer und dem verbesserten
Sensor 102 enthalten. Wenn es auf dem Prozessor 140 ausgeführt wird,
kann das Programm 152 einen Benutzer nach bestimmten Eingaben
abfragen, wie beispielsweise der Bildaufnahmezeit, elektronischen
Schließersteuerungen,
Verstärkungssteuerungen,
Lichtpegeln und speziellen Speichertypen.
-
Bei
dem Ausführungsbeispiel,
bei dem der verbesserte Sensor 102 in einer Digitalkamera
enthalten ist, kann das Programm 152 eine einfache Nachschlagetabelle
sein, die fest verdrahtete Eingangssignale an die Steuereinrichtung 110 zur
Verfügung
stellt.
-
Bei
dem Ausführungsbeispiel,
bei dem das Bildaufnahmesystem 100 fest mit einem (nicht
gezeigten) Host-Prozessor verbunden ist, kann das Programm 152 graphische
Benutzerschnittstellen (GUIs) enthalten, die es einem Benutzer ermöglichen,
auf den verbesserten Sensor 102 einzuwirken.
-
Betriebsweise einer Zelle 106
-
Die
Zelle 106 wird zunächst
durch den Zeilenselektor 105 und den Spaltenselektor 107 ausgewählt. Die
Zelle 106 enthält
einen Eingang zum Empfangen der Steuersignale 108 aus dem
Zeitgabegenerator 112. In Erwiderung dieser Steuersignale 108 erzeugt
die Zelle 106 zwei Pixelwerte 113, welche einer
Vorverarbeitungseinheit 116 zur Verfügung gestellt werden. Die Architektur
der verbesserten Zelle 106 wird unter Bezugnahme auf 2 detaillierter
beschrieben. Die zwei Pixelwerte 113, die der Vorverarbeitungseinheit 116 zur Verfügung gestellt
werden, entspringen aufeinanderfolgenden Einzelbildern oder -rahmen.
Die Zelle 106 enthält
ein Speicherelement zum Speichern eines ersten Pixelwerts, während ein
einem Pixelwert in dem nächsten
Einzelrahmen entsprechender zweiter Pixelwert aufgenommen wird.
Die von dem verbesserten Sensor 102 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung durchgeführten Schritte werden detailliert unter
Bezugnahme auf 4 beschrieben.
-
Es
sei angemerkt, daß auf
eine beliebige Zelle in dem Pixel-Array auf eine ähnliche
Weise zugegriffen werden kann. Bei diesem Ausführungsbeispiel gibt es jeweils
eine jeder Spalte des Pixel-Arrays 104 zugeordnete Vorverarbeitungseinheit 116.
Die Vorverarbeitungseinheiten, die den anderen Spalten des Pixel-Arrays 104 zugeordnet
sind, sind in dieser Figur nicht gezeigt, um das Diagramm nicht
zu verwirren.
-
Obwohl
bei dem bevorzugten Ausführungsbeispiel
es jeweils eine jeder Spalte des Pixel-Arrays 104 zugeordnete
Vorverarbeitungseinheit gibt, sei jedoch angemerkt, daß es vorgesehen
ist, daß zwei
oder mehr Spalten des Pixel-Arrays 104 sich eine einzige
Vorverarbeitungseinheit teilen könnten.
-
Bei
einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung könnte
die Vorverarbeitungseinheit 116 in jede Pixelzelle integriert
sein. Bei dem bevorzugten Ausführungsbeispiel
könnte
der Brennebenenprozessor 120 mit einer arithmetisch-logischen
Einheit (ALU) implementiert sein.
-
Bei
alternativen Ausführungsbeispielen
könnte
der Brennebenenprozessor als Teil jeder Pixelzelle integriert sein.
Obwohl der verbesserte Sensor 102 so beschrieben ist, daß er eine
Vorverarbeitungseinheit 120 für jede Spalte des Pixel-Arrays 104 aufweist,
ist es klar, daß andere
Architekturen für
abweichende Anwendungen geeigneter sein können. Beispielsweise könnte eine
einzige Vorverarbeitungseinheit Daten aus zwei benachbarten Spalten
empfangen. Bei dieser Architektur könnte die einzelne Vorverarbeitungseinheit
die Werte benachbarter Spalten vergleichen. Da jede Pixelzelle zwei
Ausgänge
enthält,
könnte
jede Vorverarbeitungseinheit ein Ausgangssignal aus einer ersten
Spalte und ein zweites Ausgangssignal aus einer benachbarten Spalte
empfangen.
-
Bei
alternativen Ausführungsbeispielen
könnte
der Brennebenenprozessor durch Differenzschaltungen, Schaltungen
zur zeitlichen Mittelung oder Schaltungen zur räumlichen Mittelung implementiert
werden. Der Brennebenenprozessor könnte auch eine Kompensationsschaltung
mit einer Rückkopplung
zum Ändern der
Verstärkung
der Pixeltreiber oder zum Modifizieren der Aufnahmecharakteristika
des Pixels sein. Der Brennebenenprozessor könnte die Pixeldaten ändern, indem
er die Umgebungspixel oder die Charakteristika eines Einzelpixels
benutzt. Beispielsweise könnte
der Wert eines Pixels in Abhängigkeit
von den Werten der umgebenden Pixel geändert werden, sofern festgestellt
wird, daß eine
Kompensation für
die Pixel benötigt
wird.
-
Wie
zuvor angemerkt, ist ein Speicher 150 bereitgestellt, um
Daten und eines oder mehrere Programme zur Schnittstellenbildung
zu dem verbesserten Sensor gemäß der vorliegenden
Erfindung zur Verfügung zu
stellen. Darüber
hinaus könnte
der Speicher 150 Programme zum Durchführen einer weitergehenden digitalen
Signalverarbeitung (DSP) an Pixeldaten oder Bilddaten enthalten.
Der Prozessor 140 könnte
ein Mikrocontroller sein, wie beispielsweise ein vom Zedenten der
vorliegenden Erfindung hergestellter MC251. Der Prozessor 140 könnte unter
der Lenkung eines DSP-Programms lokale DSP-Funktionen durchführen.
-
Sofern
die digitale Verarbeitung des Bildes zurückgestellt wird, bis die Daten
zu einem Personalcomputer (PC) übertragen
sind, könnte
das Bildverarbeitungsprogramm auf dem (nicht gezeigten) Host-Prozessor des
PC ausgeführt
werden. Der Host-Prozessor könnte
ein Pentium®-Prozessor
mit MMXTM-Technologie sein, die vom Zedenten
der vorliegenden Erfindung angeboten wird.
-
2 veranschaulicht
die verbesserte Pixelzelle 106, die gemäß den Lehren eines Ausführungsbeispiels
der vorliegenden Erfindung konfiguriert ist. Jede Pixelzelle 102 enthält einen
ersten Eingang zum Empfangen eines ersten Rücksetzsignals (im folgenden
als "PG-Signal" bezeichnet), einen
zweiten Eingang zum Empfangen eines zweiten Rücksetzsignals (im folgenden
als "IG-Signal" bezeichnet), einen
dritten Eingang zum Empfangen eines Übertragungssignals (im folgenden
als "TX-Signal" bezeichnet), einen
vierten Eingang zum Empfangen eines ersten Auslesesignals (im folgenden
als "RS1-Signal" bezeichne) und einen
fünften Eingang
zum Empfangen eines zweiten Auslesesignals (im folgenden als "RS2-Signal" bezeichnet).
-
Jede
Pixelzelle 102 enthält
einen ersten Knoten 254 zum Auffangen von Licht und einen
zweiten Knoten 267, der als temporäres Speicherelement dient.
Jede Pixelzelle 102 ent hält außerdem einen dritten Knoten 220 zum
Bereitstellen eines ersten Pixelwerts (im folgenden als "V_OUT1-Signal" bezeichnet) und
einen vierten Knoten 224 zum Bereitstellen eines zweiten
Pixelwerts (im folgenden als "V_OUT2-Signal" bezeichnet).
-
Wie
detaillierter unter Bezugnahme auf
4 beschrieben
wird, benutzt eine den Sensor steuernde Steuereinrichtung das erste
Rücksetzsignal
und das zweite Rücksetzsignal,
um den ersten Knoten bzw. den zweiten Knoten zurückzusetzen. Darüber hinaus
benutzt die Steuereinrichtung das Übertragungssignal, um Daten
zwischen dem ersten und dem zweiten Knoten zu übertragen. Es werden zwei Aufnahmen
gleichzeitig an demselben Pixel ausgeführt, wobei eine Aufnahme eine
längere
Integrationszeit aufweist als die andere. Die Steuereinrichtung
benutzt das erste Auslesesignal, um einen ersten Pixelwert aus dem
ersten Knoten auszulesen, und das zweite Auslesesignal, um den zweiten
Pixelwert aus dem zweiten Knoten auszulesen. Zur besseren Klarheit
wird Tabelle I angegeben, die die Signalnamen und zugehörigen Signalbeschreibungen
für ein
Ausführungsbeispiel
der vorliegenden Erfindung angibt. Tabelle
I
-
Die
Pixelzelle 102 wird darüber
hinaus mit den folgenden Spannungsversorgungen versorgt (VDD, V1 und V2). Bei dem bevorzugten Ausführungsbeispiel
ist VDD etwa gleich 3,3V und V1 und V2 sind
etwa gleich 0V.
-
Die
Pixelzelle 102 enthält
darüber
hinaus eine erste Ausleseschaltung 270 und eine zweite
Ausleseschaltung 280. In Abhängigkeit von den Steuersignalen
RS1 und RS2 stellen die erste Ausleseschaltung 270 bzw.
die zweite Ausleseschaltung 280 selektiv das Signal V_OUT1
und das Signal V_OUT2 an dem dritten Knoten 220 bzw. dem
vierten Knoten 224 zur Verfügung.
-
3 ist
eine vereinfachte Blockdarstellung, die ein die Pixelzellen 106 und
die Brennebenenprozessoren 120 gemäß der vorliegenden Erfindung
benutzendes Pixel-Array 104 veranschaulicht. Das Pixel-Array 104 enthält eine
Vielzahl von Pixelzellen, die in Zeilen und Spalten angeordnet sind.
Für jede
Spalte gibt es einen ersten Leiter 114 zum Bereitstellen
des V_OUT1-Signals und einen zweiten Leiter 116 zum Bereitstellen des
V_OUT2-Signals. Es gibt einen Brennebenenprozessor 120 für jede Spalte.
In ähnlicher
Weise gibt es eine (nicht gezeigte) Schnittstellenschaltung für jede Spalte.
-
4 ist
ein Ablaufdiagramm, das veranschaulicht, wie ein Signalverarbeitungsprogramm
den verbesserten Sensor benutzen könnte, um Bilddaten gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung aufzunehmen und zu verarbeiten. Im Schritt 402 legt
die Steuereinrichtung das erste Rücksetzsignal (PG) an, um den
Knoten 254 über
das Bauelement 250 und das Diffusionsgebiet 256 auf
eine vorgegebene Spannung (beispielsweise etwa 0V) zurückzusetzen.
Im Schritt 404 legt die Steuereinrichtung das zweite Rücksetzsignal
(IG) an, um den Knoten 267 über das Bauelement 284 und
den Knoten 286 auf die vorgegebene Spannung zurückzusetzen.
Im Schritt 406 wird ein Bild auf dem Knoten 254 aufgefangen.
-
Im
Schritt 408 legt die Steuereinrichtung das Übertragungssignal
(TX) an, um den Pixelwert auf Knoten 254 zum Knoten 267 zu übertragen,
indem sie das Bauelement 268 zu einem Zeitpunkt T1 benutzt.
Nach dieser Übertragung
enthält
der Knoten 267 den Wert, der einer Pixelaufnahme mit einer
Integrationszeit der Dauer T1 entspricht (einen ersten Pixelwert).
Im Schritt 410 ist nach einer zusätzlichen Zeitdauer der Zeit
T2 der Knoten 254 infolge der weiteren Integration über eine
zusätzliche
Zeitdauer T2 auf einem anderen Wert (einem zweiten Pixelwert). Die
Steuereinrichtung legt das erste Auslesesignal (RS1) an, um den
Knoten 254 über
eine erste Ausleseschaltung 270 zu lesen. Der zweite Pixelwert
(V_OUT1) auf dem Knoten 254 wird dem dritten Knoten 220 zur
Verfügung
gestellt. Zusätzlich
legt die Steuereinrichtung das zweite Auslesesignal (RS2) an, um
den Knoten 267 (der den ersten Pixelwert enthält) über die
zweite Ausleseschaltung 280 zu lesen. Der erste Pixelwert
(V_OUT2) auf Knoten 267 wird dem vierten Knoten 224 zur
Verfügung
gestellt. Somit werden V_OUT1 und V_OUT2 zu einer Zeit T1 + T2 ausgegeben.
-
Im
Schritt 412 werden der erste Integrationswert (V_OUT2)
und der zweite Integrationswert (V_OUT1) verarbeitet, um zu einem
endgültigen
Ausgabewert zu gelangen, der eine Pixelaufnahme mit einem größeren Dynamikbereich
darstellt. Beispielsweise können
V_OUT1 und V_OUT2 ins Verhältnis
gesetzt werden oder es können
unterschiedliche Verstärkungskurven
an sie angelegt werden. Bei diesem Ausführungsbeispiel bestimmt der
Verarbeitungsschritt 412 einen gewichteten Mittelwert zwischen
V_OUT1 und V_OUT2 unter Verwendung der Vorverarbeitungseinheit 116.
In Abhängigkeit
von der Anwendung könnten
andere Operationen, wie beispielsweise eine Statistikwerterzeugung,
vorgezogen oder benötigt
werden.
-
Die
Betriebsweise der Pixelzelle, des Brennebenenprozessors und der
Schnittstellenschaltung könnten
durch Benutzer eingaben beeinflußt
werden. Diese Benutzereingaben können
beispielsweise die Bildgröße (z. B.
ein Weitwinkelbild oder eine Nahaufnahme), Lichtpegel, Belichtungszeit,
einen ausgewählten
Kompressionsalgorithmus (beispielsweise einen Betrag des bei der
Kompression gestatteten Verlustes) und die Verwendung eines Blitzlichts
beim Aufnehmen eines Bildes einschließen, sind aber nicht darauf
beschränkt.
-
Die
Benutzereingaben, die bei der vorliegenden Erfindung den größten Einfluß haben,
sind 1.) der Grad der Kompression und 2.) die Art der Kompression.
In dem Maße,
wie der Grad der Kompression erhöht wird,
verliert das komprimierte Signal Bildinformationen. Darüber hinaus
wird eine längere
Zeit benötigt,
um die Kompression auszuführen.
Die Verarbeitungszeit, die bei der Durchführung der Kompression benötigt wird, kann
die Entscheidung eines Systementwicklers beeinflussen, ob er eine
Signalverarbeitungsschaltung bei der Pixelzelle integriert oder
er eine Schaltung benutzt, die sich außerhalb der Pixelzelle befindet,
um die Kompression außerhalb
jeder Pixelzelle durchzuführen.
-
Diese
Benutzereingaben können
darüber
hinaus beeinflussen, wieviel Dynamikbereichkompensation bei dem
System verwendet wird. Sobald ein Benutzer diese Faktoren spezifiziert,
erzeugt ein Firmware oder Software ausführender Host-Prozessor oder Mikrocontroller
geeignete Steuersignale und Zeitgabesignale auf der Grundlage dieser
Faktoren.
-
5 ist
eine Blockdarstellung einer Bildaufnahmeeinrichtung 500 (beispielsweise
einer Digitalkamera), in welcher der verbesserte Sensor 504 (im
folgenden als Sensorfunktionsblock (SFB) bezeichnet) gemäß der vorliegenden
Erfindung implementiert sein könnte.
Der Sensorfunktionsblock (SFB) 504 kann die verbesserte
Pixelzelle 102, den Brennebenenprozessor 120 und
die Schnittstellenschaltung 124, die in 1 beschrieben
wurden, enthalten. Der SFB 504 ist mit einem digitalen
Signalverarbeitungsfunktionsblock (SPFB) 508 über einen
ersten Bus 512 gekoppelt. Daten und Steuersignale werden
zwischen dem SFB 504 und dem SPFB 508 über den
ersten Bus 512 übermittelt.
Der SPFB 508 enthält
darüber
hinaus einen Eingang für
Benutzereingaben. Die Benutzereingaben können eine Blendeneinstellung,
eine Schließergeschwindigkeitseinstellung
und die Einstellung einer gewünschten
Auflösung
umfassen.
-
Die
Informationen können
zwischen dem SPFB 508 und dem SFB 504 über einen
seriellen oder einen parallelen Bus übertragen werden. Die Steuersignale
für diesen
Bus sind die typischen Lese/Schreib-Signale, Datensignale und das
Taktsignal. Der Sensor 504 enthält eine Mehrzahl von Registern,
die Steuersignale, Zeitgabesignale und Start/Stop-Signale für den Sensor 504 speichern
und bereitstellen. Diese Funktionen können eine Integrationszeit
enthalten und Informationen zum Spezifizieren, welche Zeilen und
Spalten gelesen werden sollen. Weitere Signale umfassen ein Start/Stop-Signal
zum Steuern der Übertragung
von Daten aus dem Sensor zu dem Host-Prozessor oder Speicher. Dieses
Start/Stop-Signal kann als Interrupt-Signal dienen, um den Betrieb
des Sensors für
kurze Zeitdauern auszusetzen. Weitere Signale können von dem Sensor zur Verfügung gestellte
Ausgangssignale einschließen,
um das Ende des Einzelbilds, das Ende der Zeile und den Beginn des
Einzelbilds anzuzeigen.
-
Der
SPFB 508 enthält
darüber
hinaus einen Eingang zum Empfangen von Benutzereingaben, wie sie zuvor
beschrieben wurden. In Abhängigkeit
von dem Kameramodell und der Komplexität der Kamera werden die Belichtungszeit,
Fenstergröße und Blende
eingestellt. Im allgemeinen sind dies Eingaben, die durch einen Schalter
oder Mehrfachdruckknopf ausgewählt
werden, die der Mikrocontroller "lesen" kann. Der SPFB setzt dann
diese Benutzereingaben in einen Code um, den er über den Bus 512 in
spezielle Register in dem Sensor einschreibt.
-
Obwohl
bei dem bevorzugten Ausführungsbeispiel
der Sensorfunktionsblock 504 implementiert ist, indem eine
Komplementär-Metall-Oxid-Halbleiter(CMOS)-Technologie
benutzt wird, ist es für
Fachleute klar, daß der
SFB unter Verwendung eines Standard-CCD-Prozesses implementiert
werden könn te.
Der Hauptunterschied zwischen einem unter Verwendung eines CCD-Prozesses
implementierten Sensorfunktionsblocks 504 im Unterschied
zu einem unter Verwendung eines CMOS-Prozesses implementierten besteht
darin, daß der
mit einem CCD-Prozeß implementierte
Sensorfunktionsblock 504 eine analoge Eingabe erzeugt,
wohingegen der in einem CMOS-Prozeß implementierte Sensorfunktionsblock 504 Analog-Digital-Umsetzer
enthält. Demzufolge
erzeugt ein mit einem CMOS-Prozeß implementierter Sensorfunktionsblock 504 eine
digitale Bildausgabe.
-
Eine
Speichereinheit 516 ist mit dem SPFB 508 über einen
zweiten Bus 520 gekoppelt. Die Speichereinheit 516 kann
eine eingebettete Speichereinheit (z. B. ein Flash-Speicher) oder
eine beliebige entnehmbare Speichereinheit (z. B. eine Miniaturkarte)
sein. Die entnehmbare Speichereinheit kann benutzt werden, um Daten
aus der Bildaufnahmeeinrichtung zu dem PC zur weiteren Verarbeitung
zu übertragen,
vorausgesetzt, der PC ist mit geeigneten Aufnahmen für die entnehmbare
Speichereinheit ausgerüstet.
Beispielsweise könnten
mit einem PC-Card-Adapter Bilddateien auf einer Miniaturkarte zu
einem beliebigen Laptop oder Desktop-PC, der einen PC-Card-Steckplatz aufweist, übertragen
werden, und die Bilddaten könnten
dann betrachtet, editiert, angereichert oder auf andere Weise auf
dem PC bearbeitet oder von dem PC über ein Computernetzwerk zu
anderen mit dem Netzwerk verbundenen Einrichtungen zum Drucken,
gemeinsamen Benutzen oder weiteren geeigneten Bearbeitungen übermittelt
werden.
-
Ein
Schnittstellenfunktionsblock 518 ist außerdem mit dem SPFB 508 über den
zweiten Bus 520 gekoppelt. Der Schnittstellenfunktionsblock 518 übersetzt
die in einem zweiten Busformat vorhandenen Daten in ein für eine Anzeigeeinrichtung
akzeptables Format (z. B. NTSC-Format oder Monitorformat oder Standbildformat)
oder zu einem Personalcomputer (PC) über einen seriellen Bus (z.
B. USB-Protokoll und/oder RS-232-Protokoll).
-
6 ist
eine Blockdarstellung, die detaillierter ein Ausführungsbeispiel
des SPFB 508 gemäß 5 veranschaulicht.
Der SPFB 508 enthält
einen Sensorzeitgabe- und -Steuerfunktionsblock 636, der
mit dem SFB 504 über
einen ersten Bus 512 gekoppelt ist. Der Sensorzeitgabe-
und -Steuerfunktionsblock 636 erzeugt Zeitgabe- und -Steuersignale.
Der Sensorzeitgabe- und -Steuerfunktionsblock 636 kann
mit einem angepaßten
Gate-Array oder einem programmierbaren logischen Array (PLA) oder
einer beliebigen anderen geeigneten integrierten Schaltung implementiert
werden.
-
Eine
Direktspeicherzugriffseinheit (DMA) 650 ist mit dem ersten
Bus 512 und dem zweiten Bus 520 gekoppelt und
puffert und überträgt Daten
zwischen dem SFB 504 zu der Speichereinheit 516 und
dem Schnittstellenfunktionsblock 518. Die DMA-Einheit 650 ist
im Stand der Technik gut bekannt und wird hier nicht beschrieben.
-
Der
SPFB 508 enthält
darüber
hinaus einen digitalen Signalverarbeitungs(DSP)-Funktionsblock 640. Bei
dem bevorzugten Ausführungsbeispiel
ist der DSP-Funktionsblock 640 mit dem ersten Bus 504 gekoppelt. Bei
alternativen Ausführungsbeispielen
ist der DSP-Funktionsblock 640 mit dem zweiten Bus 520 oder
mit dem Sensorzeitgabe- und -Steuerfunktionsblock 636 und
dem Nur-Lese-Speicher 660 gekoppelt. Es ist klar, daß die allgemeine
in den 5 und 6 beschriebene Architektur so
modifiziert werden kann, daß sie
zu einer bestimmten Anwendung paßt oder eine spezielle Kamerasystemimplementierung
optimiert.
-
Der
DSP-Funktionsblock 640 ist so konfiguriert, daß er spezielle
Signalverarbeitungsoperationen, wie beispielsweise Rauschbeseitigungen,
Kompression oder andere Signalverarbeitungsoperationen, durchführt.
-
Ein
Speicher oder eine Speichereinheit 660, wie beispielsweise
ein Nur-Lese-Speicher (ROM), ist mit dem DSP-Funktionsblock 640 gekoppelt.
Die Einheit 660 kann spezielle Befehle, wie beispielsweise
ein Signalverarbeitungsprogramm 664 und ein Lichtmeßprogramm 668,
speichern.
-
Der
DSP-Funktionsblock 640 kann durch eine Kundenwunschschaltung
(ASIC), ein Kundenwunsch-Gate-Array oder einen Mikrocontroller,
der eine für
den Mikrocontroller konfigurierte spezielle DSP-Hardware aufweist,
oder irgendeine andere geeignete integrierte Schaltung implementiert
sein. Bei einer mikrocontroller-basierten Lösung könnte ein Intel-80296- oder ein 80 × 296-Mikrocontroller
benutzt werden.
-
Obwohl 6 den
Speicher oder die Speichereinheit 660 als von dem DSP-Funktionsblock 640 getrennte
Komponente veranschaulicht, wissen Fachleute, daß die Einheit 660 und
die zugeordneten Programme (z. B. Bildkompressionsschemata) in dem
DSP-Funktionsblock 640 eingebettet sein können. Beispielsweise
könnten
der ROM und zugehörige
Programme in einem Mikrocontroller eingebettet sein, der verwendet wird,
um den DSP-Funktionsblock 640 zu implementieren.
-
7 veranschaulicht
ein Computersystem mit einem "Siliziumauge", in welchem der
verbesserte Sensor gemäß der vorliegenden
Erfindung implementiert sein könnte.
Das Computersystem 700 enthält eine Anzeigeeinrichtung 702 mit
einem "Siliziumauge" 704. Das
Computersystem 700 kann darüber hinaus optional eine Tastatur 708,
ein (nicht gezeigtes) Mikrophon, eine (nicht gezeigte) Maus oder
irgendeine andere geeignete Eingabeeinrichtung zum Aufnehmen von
Benutzereingaben enthalten. Das Siliziumauge 704 ist mit
dem Personalcomputer (PC) 720 über geeignete Verbindungseinrichtungen,
wie beispielsweise ein serielles Kabel 730 oder einen (nicht
gezeigten) Infrarotverbinder, verbunden. Das serielle Kabel 730 kann
mit dem PC 720 über
einen seriellen Port gekoppelt sein, der einem seriellen Portstandard
(wie beispielsweise RS232 oder USB) entspricht. Die Infrarotverbindung
kann gemäß einem
Verfahren, das im Stand der Technik gut bekannt ist, implementiert
sein. Wie detaillierter in 8 beschrieben
ist, wird das Bildsignal dann gespeichert und von dem Mikroprozessor 780,
der auf einer Mutterplatine 750 angeordnet ist, verarbeitet.
-
8 ist
eine Blockdarstellung, die detaillierter das in 7 gezeigte
Computersystem veranschaulicht. Bei einem Computersystem, das das "Siliziumauge" aufweist, sind der
SPFB 816 und der Schnittstellenfunktionsblock 822 mit
dem Sensorfunktionsblock 812 derart integriert, daß sie Elemente
des Siliziumauges 804 sind. Das Siliziumauge 804 enthält darüber hinaus
eine (nicht gezeigte) Optik zum Empfangen des Lichts, einen Eingang
zum Empfangen einer Benutzereingabe und enthält einen Ausgang zum Erzeugen
des digitalen Bildes in einem seriellen Format über eine geeignete Verbindungseinrichtung,
wie beispielsweise ein serielles Kabel 830 oder einen Infrarotverbinder.
-
Auf
der Mutterplatine könnte
ein optionaler Schnittstellenfunktionsblock 840 vorgesehen
sein, um die Bildinformationen aus einem Format in ein anderes zu übersetzen
und/oder um das Bild an ein von einem Bus 844 unterstütztes Protokoll
weiter anzupassen.
-
Die
Speichereinheit 816, die in der digitalen Bildaufnahmeeinrichtung
veranschaulicht ist, wird bei diesem Ausführungsbeispiel nicht benötigt, da
der Speicher 850 des Computersystems benutzt werden könnte, um
das Bild zu speichern. Der Speicher 850 kann ein dynamischer
Speicher mit wahlfreiem Zugriff (DRAM), eine Festplatte oder eine
beliebige andere geeignete Speichereinrichtung in einem Computersystem
sein.
-
Ein
Mikrocontroller 808, der in Verbindung mit der Bildaufnahmeeinrichtung
beschrieben wurde, ist ebenfalls bei diesem Ausführungsbeispiel nicht mehr erforderlich,
da ein Prozessor 880 des Computersystems benutzt werden
kann, um die Signalverarbeitung und/oder irgendeine benötigte Lichtmeßverarbeitung
auszuführen.
Der Prozessor 880 kann ein Pentium®-Prozessor
mit MMXTM-Technologie sein, der vom Zedenten
der vorliegenden Erfindung angeboten wird.
-
Darüber hinaus
könnte
der Speicher 850 das Signalverarbeitungsprogramm 864 und
das Lichtmeßverarbeitungsprogramm 868 speichern,
die in dem ROM einer Bildverarbeitungsein richtung gespeichert waren.
Der Speicher 850, der Prozessor 880 und der Schnittstellenfunktionsblock 840 kommunizieren
miteinander über
einen Bus 844.