-
STAND DER TECHNIK
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft allgemein die Bilddarstellung. Im
Besonderen betrifft die vorliegende Erfindung das Detektieren fehlerhafter
Pixel in einem Bildsensor.
-
2. Beschreibung des Stands
der Technik
-
Bilddarstellende
Vorrichtungen wie etwa Digitalkameras und Scanner können als
eine Komponente einen. Bildsensor aufweisen, der als ein ladungsgekoppeltes
Element (CCD als englische Abkürzung
von Charge Coupled Device), als Ladungsinjektionselement (CID als
englische Abkürzung
von Charge Injection Device) oder Komplementär-Metalloxid-Halbleiterelement
(CMOS als englische Abkürzung
von Complementary Metal-Oxide-Semiconductor). Der Bildsensor setzt
sich aus einer Anordnung von "Erfassungs"- oder Pixelpositionen
zusammen, der Energie von einem Illuminant erfasst, wobei diese Energie
häufig
in ein konkretes Maß wie
etwa einen Intensitätswert
umgewandelt wird. In den meisten Fällen weisen Bildsensoren eine
bestimmte Anzahl von fertigungs- oder fabrikationsbedingt "fehlerhaften" Pixelpositionen
auf. Es ist außerordentlich schwierig,
wenn nicht sogar unmöglich,
während
einer Fertigung/Fabrikation zu garantieren, dass keines der Pixel
in dem Sensor fehlerhaft ist. Ein "fehlerhaftes" Pixel eines Sensors ist ein Pixel,
das, wenn es einem Illuminant ausgesetzt ist, einen anderen Intensitätswert oder
eine andere Reaktion erzeugt als ein "vollständig funktionsfähiges" Pixel, das dem gleichen
Illuminant ausgesetzt wird. Mit anderen Worten ist ein fehlerhaftes
Pixel anomal empfindlich/unempfindlich in Bezug auf Licht als ein
vollständig
funktionsfähiges
Pixel. Wenn derartige Fehler bzw. Defekte nicht erkannt und danach
kompensiert werden, kann die visuelle Wahrnehmung des erfassten
Bilds minderwertiger sein, und wenn dieses Phänomen entsprechend auffallend
ist, so kann es die Aufmerksamkeit des Betrachters verringern, indem
sich dieser auf das bzw. die fehlerhaften Pixel konzentriert.
-
Fehler
in Pixelpositionen können
in drei Kategorien aufgeteilt werden: Stuck High (Fehler hoch), Stuck
Low (Fehler niedrig) Abnormal Response (fehlerhafte Reaktion). Ein
fehlerhaftes Pixel mit Stuck High ist ein Pixel, das immer auf den
Beleuchtungszustand mit der Erzeugung eines hohen Intensitätswerts
anspricht. Wenn die Intensität
der Pixel zum Beispiel von 0 bis 255 reicht, würde ein Pixel mit Stuck High
auf Beleuchtung immer mit einem Wert von zum Beispiel 255 ansprechen,
selbst wenn die tatsächlich
gemessene Intensität
für die
Position der Szene bzw. des Bilds zum Beispiel 25 ist, bei einer Erfassung
durch ein funktionales Pixel. Ein fehlerhaftes Pixel mit Stuck Low
ist ein Pixel, das auf den Beleuchtungszustand immer mit der Erzeugung
eines niedrigen Intensitätswerts
anspricht. Ein Stuck Low-Pixel kann mit einem Wert von 5 ansprechen, selbst
wenn ein funktionales Pixel einen Intensitätswert von 200, 100, etc. anzeigen
würde.
Ein Pixel mit dem Fehler Abnormal Response weist keine absolute
sondern vielmehr eine relative Varianz zu einem funktionalen Pixel
auf. Ein derartiges Pixel würde zum
Beispiel um einen bestimmten prozentualen Anteil fehlerhaft ansprechen.
Wenn ein funktionales Pixel zum Beispiel einen Wert X lesen würde, würde das
fehlerhafte Pixel mit Abnormal Response mit einem Wert von 1,25
* X ansprechen. Der Fehler Abnormal Response ist somit proportional
oder steht im Verhältnis
zu der erfassten Intensität,
und ist nicht absolut hoch oder niedrig. Pixel, die eine dieser
Fehlerarten aufweisen, sollten somit vorzugsweise korrigiert bzw.
kompensiert werden.
-
Der
erste Schritt einer derartigen Kompensation ist das Detektieren
der Pixel, die tatsächlich "fehlerhaft" sind. Traditionell
wird diese Detektierung durch die Identifikation fehlerhafter Pixelpositionen
in einer geregelten Umgebung durchgeführt, wie etwa während der
Qualitätskontrolle
des Sensors insgesamt nach der Fertigung des Sensors. Die identifizierten
Positionen werden aufgezeichnet und danach an einen bestimmten nicht-flüchtigen
Speicher der Vorrichtung aufgezeichnet, in der der Sensor eingesetzt
wird, wie zum Beispiel in einer Digitalkamera. In modernen Bildsensoren
im "Megapixelbereich", bei denen die Gesamtgröße der Sensoren
im Bereich von 1000 × 1000
Pixeln liegt, können
viele Pixel fehlerhaft sein. Der zum Speichern fehlerhafter Pixelpositionen
erforderliche zusätzliche
Speicher erhöht
die Gesamtkosten sowie die Gesamtzeit zur Fertigung der Vorrichtung
und setzt ferner eine tatsächliche
Datenübertragung
während
dem Prozess des Assemblierens/Integrierens des Sensors in die Vorrichtung voraus.
Die fehlerhaften Pixelpositionen müssen vor der Montage der Vorrichtung
separat in einem festen Speicher wie etwa auf einer Festplatte gespeichert werden.
Sobald die fehlerhaften Positionen gespeichert sind, können Signalverarbeitungstechniken nach
der Bilderfassung eingesetzt werden, um die fehlerhaften Pixel zu
korrigieren. Eine willkürlichere Methode
zur Korrektur von Bildfehlern, der ebenfalls eingesetzt wird, liegt
nicht im Detektieren fehlerhafter Pixel sondern in der Behandlung
der unbekannten Fehler als Störungen
bzw. Rauschen, und wobei Bild für
Bild eine Rauschentfernungstechnik auf die gesamte Sensorausgabe angewandt
wird (Bild). Dabei werden zwar die Speicherkosten und die Datenübertragung
während
der Montage vermieden, wobei diese Techniken jedoch den Nachteil
aufweisen, dass sie in der Implementierung sehr rechenintensiv sind und
potenziell die Schärfe
des Bilds verringern können,
die für
das visuelle Erscheinungsbild jedoch von wesentlicher Bedeutung
ist.
-
Aus
diesen Gründen
wird ein Verfahren zum Detektieren und Kompensieren fehlerhafter
Pixelpositionen benötigt,
ohne dabei die Zeit/Kosten der Fertigung der Vorrichtung zu erhöhen und
ohne Einbußen
in Bezug auf die Bildqualität
und ohne höheren Rechenaufwand
bei der Bildbearbeitung in der Vorrichtung, in welcher der Sensor
eingesetzt wird.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung ist in den anhängigen Hauptansprüchen definiert
und umfasst ein Verfahren, welches das Herunterladen einer Sequenz von
Bildern von einem Bildsensor und das folgende Markieren einer Pixelposition
des Sensors auf einer Abbildung als fehlerhaft aufweist, wenn ein
Score bzw. ein Ergebnis Defective Vote einen ersten Schwellenwert übersteigt,
wobei der Score über
alle erfassten Bilder gezählt
wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden
aus der folgenden Beschreibung deutlich. In den Zeichnungen zeigen:
-
1 ein
Flussdiagramm eines Ausführungsbeispiels
der vorliegenden Erfindung;.
-
2 ein
Flussdiagramm eines Ausführungsbeispiels
der vorliegenden Erfindung;
-
4 die
Bestimmung eines Umgebungsmindestabstands (MND) gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung
-
5 ein
Blockdiagramm einer Bildverarbeitungsvorrichtung gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung und
-
6 ein Systemdiagramm eines Ausführungsbeispiels
der vorliegenden Erfindung.
-
GENAUE BESCHREIBUNG
DER ERFINDUNG
-
In
Bezug auf die Abbildungen werden nachstehend Ausführungsbeispiele
der vorliegenden Erfindung beschrieben.
-
Die
Ausführungsbeispiele
veranschaulichen Aspekte der Erfindung und schränken den Umfang der vorliegenden
Erfindung nicht ein. Die Ausführungsbeispiele
werden hauptsächlich
in Bezug auf Block- oder Flussdiagramme beschrieben. In Bezug auf
die Flussdiagramme stellt jeder Block in einem Flussdiagramm einen
Verfahrensschritt und ein Vorrichtungselement zur Ausführung des
Verfahrensschritts dar. Abhängig
von der Implementierung kann das entsprechende Vorrichtungselement
in Hardware, Software, Firmware oder Kombinationen dieser konfiguriert
werden.
-
Die
Abbildung aus 1 zeigt ein Flussdiagramm eines
Ausführungsbeispiels
der vorliegenden Erfindung.
-
In
den verschiedenen Ausführungsbeispielen
der Erfindung wird ein deterministischer Softwareansatz in Bezug
auf das Detektieren fehlerhafter Pixel offenbart. Wenn eine Bilderfassungsvorrichtung,
wie etwa eine Digitalkamera, mit einer Host-Vorrichtung, wie etwa
einem Personalcomputer (PC) verbunden ist, kann dieser Ansatz so
ausgeführt werden,
dass keine vorrichtungseigene Abbildung in Hardware der fehlerhaften
Pixelpositionen gepflegt werden muss. Zuerst wird eine vordefinierte
Anzahl von Eingangsbildern durch die Bilddarstellungs- oder Bildbearbeitungsvorrichtung
abgetastet. Für
jedes Pixel wird ein Score "Defective
Vote" gezählt, indem ein
Zustand geprüft
wird, der eine Umgebung des betrachteten Pixels berücksichtigt.
Der Score wird für jedes
gescannte bzw. abgetastete Bild erhöht, für das dieser Zustand erfüllt ist.
Wenn der Score für
alle abgetasteten Bilder gezählt
wird, ist die Entscheidung fehlerhaft erreicht. Wenn das Pixel als
fehlerhaft bestimmt wird, wird es in einer in dem Host gespeicherte
Abbildung (Map) gespeichert. Der Prozess wird wiederholt, bis alle
Pixelpositionen in der Bilddarstellungsvorrichtung klassifiziert
sind. Die Abbildung der fehlerhaften Pixelpositionen wird in dem
Host gespeichert, und auf sie kann später zugegriffen werden, wenn
ein von der Bilddarstellungsvorrichtung erfasstes Bild verbessert,
gefiltert oder anderweitig verarbeitet werden muss.
-
In
Anbetracht dieses Schemas veranschaulicht die Abbildung aus 1 einen
Logikablauf, der eine Detektierung eines fehlerhaften Pixels auf
deterministische Art und Weise erreichen kann. Zuerst wird die Kamera
oder Bilddarstellungsvorrichtung, die den zu untersuchenden Sensor
aufweist, mit einem Host verbunden, wie etwa mit einem PC. Danach
wird eine Reihe von N Bildern von der Bilderfassungsvorrichtung
erfasst. Je mehr Bilder erfasst werden, desto wahrscheinlicher ist
es, dass der deterministische Ansatz präzise ist. Wie dies ferner im
Text näher
beschrieben wird, können
die Expositions- bzw. Belichtungszeit der Kamera oder Bilddarstellungsvorrichtung
und die Art der Beleuchtung so geregelt werden, dass die Detektierungsrate
erhöht wird.
Für einen
Zustand Stuck Low (oder Abnormal Response) kann angenommen werden,
dass je länger
die Belichtungszeit des Sensors für die Erfassung des Lichts
in dem gleichen Bild bzw. der gleichen Szene ist, desto wahrscheinlicher
ist es, dass die resultierenden Pixelwerte in Bezug auf die Fehlerhaftigkeit
deterministisch evaluiert werden können. In ähnlicher Weise kann der Fehler
Stuck High leichter erfasst werden, wenn die Belichtungszeit in
einem bestimmten Ausmaß reduziert
wird. Je heller die Szene ist, desto leichter ist es zum Beispiel,
einen Stuck Low oder Abnormal Response Fehler zu detektieren. Je
dunkler die Szene ist, desto leichter können ebenso Stuck High-Fehler
detektiert werden.
-
Wenn
der Ansatz zu Beginn zum ersten Mal ausgeführt wird, wird angenommen,
dass alle Pixelpositionen unbekannt oder unbestimmt sind (d.h. entweder
als fehlerhaft oder funktional klassifiziert). Der in der Abbildung
aus 2 näher
veranschaulichte deterministische Ansatz wird für jedes Pixel wiederholt. Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung wird in jedem erfassten Bild eine Messung
vorgenommen, indem der Umgebungsmindestabstand (MND) umgebender
Pixel berücksichtigt wird,
ob sich die Umgebung aus allen monochromen Pixeln oder nur denen
in einer bestimmten Farbebene (wie etwa Rot, Grün oder Blau) einer Bayer-Muster-Farbfilterebene (CFA
als englische Abkürzung von
Farbilterebene) zusammensetzt. Als nächstes wird der MND mit einem
Schwellenwert verglichen. Für
das bestimmte Pixel wird der MND bei jedem abgetasteten Bild mit
einem Schwellenwert verglichen. Auf der Basis dieses Vergleichs
wird danach ein "Score" bzw. ein Ergebnis
gezählt.
Wenn das Ergebnis einen weiteren Schwellenwert überschreitet, wird das Pixel
als fehlerhaft markiert. Während
somit jedes Pixel klassifiziert wird, wird eine Abbildung fehlerhafter
Pixelpositionen in dem Host gespeichert. Der Prozess dauert an,
bis alle Pixel in dem Bild klassifiziert worden sind. In vorteilhafter
Weise kann danach auf die vollständige
Abbildung fehlerhafter Pixelpositionen zugegriffen werden, so dass
korrigierende Maßnahmen
vorgenommen werden können,
wie etwa eine Rauschunterdrückung,
ein Austauschen fehlerhafter Pixel und andere Bildverarbeitungsmechanismen.
Dies weist den beabsichtigten Vorteil auf, dass es auch nicht mehr
erforderlich ist, Daten zur fehlerhaften Pixelposition in der Sensorvorrichtung bzw.
der Kamera zu speichern, und wobei auch auf deren Bestimmung während der
Fertigung verzichtet werden kann. Anstatt alle Bilder vor Verarbeitungsbeginn
zu erfassen, kann es möglich
sein, jedes Bild bei der Erfassung zu verarbeiten, so dass diese
Bilder nicht gespeichert und heruntergeladen werden müssen.
-
Die
Abbildung aus 2 zeigt ein Flussdiagramm eines
Ausführungsbeispiels
der vorliegenden Erfindung.
-
Die
Abbildung aus 2 veranschaulicht die grundlegende
Prozedur, der jedes Pixel ausgesetzt wird, um zu bestimmen, ob es
fehlerhaft ist oder nicht. Zuerst wird ein Initialisierungsschritt
ausgeführt,
um die in der Prozedur verwendeten Variablen festzulegen (Block 210).
Wenn (i,j) die Position des untersuchten Pixels als die Zeile (i)
und die Spalte (j) anzeigt, so wird D(i,j), welche die Fehlerhaftigkeit
des Pixels P(i,j) darstellt, anfänglich
dem Wert von 0 zugewiesen, da eine Funktionstüchtigkeit angenommen wird (Block 210).
In ähnlicher
Weise wird das Ergebnis Defective Vote H(i,j) für dieses Pixel P(i,j) zu Beginn
auf Null gesetzt (Block 210). Eine Zählervariable "k", die dazu verwendet wird, die aktuelle
Nummer des zu zählenden
erfassten Bilds zu verfolgen, wird ebenfalls auf Null gesetzt (Block 210).
-
In
dem Block 220 wird der Zählwert k mit N verglichen,
der Gesamtanzahl der zum Zweck der Detektierung fehlerhafter Pixel
verwendeten Bilder. Bei k<N
fährt der
Ergebniszählprozess
fort (mit Block 230); ansonsten, wenn das letzte Bild für das Zählen des
Ergebnisses verwendet worden ist, wird die fehlerhafte Pixelbildabbildung
mit dem Wert D(i,j) ausgeschrieben (Block 250). Während dem
Zählen
des Ergebnisses wird zuerst die Variable k, die anfänglich auf
Null gesetzt wurde, um 1 erhöht,
um anzuzeigen, welches erfasste Bild aktuell für die Zählung berücksichtigt wird (Block 230).
Der Zähler
wird bestimmt, indem zuerst der MND um das Pixel P(i,j) berechnet wird
(Block 240). Der MND wird danach mit einem vordefinierten
Schwellenwert T verglichen (Block 242). Der Wert von T
kann abhängig
von einer Anzahl von geräteabhängigen Faktoren
ausgewählt
werden, wie zum Beispiel dem Sensorrauschen und/oder der gewünschten "falschen positiven" Rate (die Rate der fehlerhaften
Klassifizierung funktionaler Pixel als fehlerhaft) oder der "falschen negativen" Rate (die Rate der
fehlerhaften Klassifizierung fehlerhafter Pixel als funktional).
Während
im Idealfall beides vermieden werden sollte, ist es in den meisten
Fällen
zulässiger, falsche
positive Raten gegenüber
falschen negativen Raten zu erfahren. Der Schwellenwert T kann auch zum
Zeitpunkt des Testens der Qualitätskontrolle
des Sensors/der Vorrichtung bestimmt und in der Vorrichtung gespeichert
oder mit dieser vorgesehen werden.
-
Wenn
der MND den Schwellenwert T nicht überschreitet, so wird das Ergebnis
H(i,j) um 1 erhöht (Block 244).
Wenn dies nicht der Fall ist, verbleibt H(i,j) auf dem vorherigen
Wert. Das Zählen
der Votes gemäß dem MND,
was in den Blöcken 230 bis 244 veranschaulicht
ist, dauert an bis k>N
gilt, d.h. bis das letzte der erfassten Bilder in dem Zähler verwendet wird.
Wenn das letzte erfasste Bild für
den Zähler analysiert
worden ist, wird das Ergebnis H(i,j) mit [N/2] verglichen, wobei
[x] die auf die nächste
ganze Zahl gerundete Ziffer darstellt, und wobei N für die Anzahl
der insgesamt erfassten Bilder steht. Wenn zum Beispiel 5 Bilder
erfasst werden und das Ergebnis [N/2] oder 3 erfüllt bzw. überschreitet, so gilt das Pixel
P(i,j) als fehlerhaft, und der Wert D(i,j) wird auf Eins gesetzt
(Block 252). Wenn dies nicht der Fall ist, bleibt der Wert
D(i,j) auf Null der Initialisierung. Der Schwellenwert [N/2] ist
nur ein Beispiel und kann gemäß dem gewünschten
Merkmal der Detektierung modifiziert werden (wie etwa durch eine
Modifikation falscher positiver und falscher negativer Raten und Sensormerkmale).
-
Die
Abbildung aus 3 zeigt das Bestimmen eines
MND (Umgebungsmindestabstand) gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung.
-
Ein
Umgebungsmindestabstand (MND) für ein
bestimmtes Pixel P(i,j) kann bestimmt werden, indem der "Abstand" oder die Differentiale
zwischen benachbarten Pixelwerten und der gegebene Wert berücksichtigt
werden. Dies kann wie folgt ausgedrückt werden:
MND (P(i,j))
= Minimumr {|P(i,j)–P(m,n)|}, wobei (m,n) eine
Gruppe von Positionen benachbarter Pixel N um die Position (i,j)
darstellt, und wobei r die Rangordnung eines aus der Gruppe resultierender
Differenzen ausgewählten
Minimums ist.
-
Die
Abbildung aus 3 zeigt eine typische Bayer-Muster-Sensoranordnung von
Pixeln um eine Position (i,j). In derartigen Sensoren ist es häufig wünschenswert,
nur die benachbarten Pixel in der gleichen Farbebene (R(ot), G(rün) oder
B(lau)) zu berücksichtigen.
In der Anordnung des Bayer-Musters weist
eine erste Zeile der Anordnung Pixelpositionen auf, die durch alternierende
R- und G-Ebenen zugeordnet sind, und die folgende Zeile ist mit
Pixelpositionen versehen, die durch alternierende G- und B-Farbebenen
zugeordnet sind. Die Umgebung N für jede Pixelposition ist von
der Farbebenenzuordnung des Pixels P(i,j) abhängig. Die Anordnung aus 3 entspricht
sieben Zeilen auf 7 Spalten und präsentiert ein RGB-Bayer-Muster.
Eine Umgebung N für
das Pixel B P(4,4), die zur Berechnung des MND von P(4,4) berücksichtigt
werden kann, würde
acht der naheliegendsten benachbarten B zugeordneten Pixel aufweisen,
das heißt
die Pixel (2,2), (2,4), (2,6), (4,2), (4,6), (6,2), (6,4) und (6,6).
-
Der
MND gibt ungefähr
an, wie nah die Reaktion eines bestimmten Pixels zu benachbarten
Pixeln ist. Angenommen wird r=1, so dass der niedrigste Rangordnungsunterschied
als das ausgesuchte Minimum dient. Der MND von P(4,4) unter Berücksichtigung
der vorstehenden Umgebung findet sich, indem die Absolutwertdifferenz
des Intensitätswerts P(4,4)
und jedes der der Umgebung angehörigen
Pixel verwendet wird. Danach wird das Minimum der acht (im Fall
von P(4,4)) "Abstände" zum MND. Zum Beispiel
werden folgenden Intensitätswerte
für die Umgebung
N um P(4,4) berücksichtigt:
P(2,2) = 100, P(2,4) = 90, P(2,6) = 95, P(4,2) = 105, P(4,6) = 110, P(6,2)
= 85, P(6,4) = 80 und P(6,6) = 75. Wenn P(4,4), das berücksichtigte
Pixel, einen Intensitätswert
von 102 aufweist, so entspricht der Umgebungsmindestabstand (102–100)=2.
Wenn r gleich 2 ist, so wird die zweit niedrigste Differenz (102–105) =
3 ausgewählt.
Die Rangordnung kann abhängig
davon geändert
werden, ob ähnliche
Fehlerarten in einer Umgebung ermittelt werden.
-
Ebenso
würde eine
Umgebung N für
das Pixel (3,3), das zur Berechnung des MND von P(3,3) dienen kann,
acht der nächsten
benachbarten B zugeordneten Pixel aufweisen, das heißt bei (1,1), (1,3),
(1,5), (3,1), (3,5), (5,1), (5,3) und (5,5). Eine Umgebung N für das G
Pixel P(3,4), die zur Berechnung des MND von P(3,4) dienen kann,
würde acht der
nächsten
benachbarten G zugeordneten Pixel aufweisen, das heißt die Pixel
bei (2,3), (2,5), (1,4), (4,3), (4,5), (5,4), (3,6) und (3,2). Allgemein
für B oder R
Pixel P(i,j) setzen sich die Umgebungen aus den Pixeln bei (i–1,j–2), (i,j–2), (i+2,j–2), (i–2,j), (i+2,j), (i–2,j+2),
(i,j+2) und (i+2,j+2) zusammen. In ähnlicher Weise weisen G Pixel
P(i,j) allgemein eine Umgebung N mit (i–1,j–1), (i+1,j–1), (i–2,j), (i+2,j), (i-1,j+1), (i+1,j+1),
(i–j–2) und
(i,j+2) auf. Wenn Bildbegrenzungen überschritten werden, werden
diese Werte einfach in der Umgebung ausgeschlossen. Bei der beispielhaften
Sensoranordnung aus der Abbildung aus 3 handelt
es sich zwar um einen RGB-Sensor, wobei jedoch Art von Farbfilteranordnungsmuster verwendet
werden kann (wobei sogar eine monochrome Mustersensoranordnung durch
die oben genannte Prozedur verarbeitet werden kann). Die vorstehend
genannten Umgebungen sind lediglich Beispiele und können je
nach Bedarf modifiziert werden.
-
Die
Abbildung aus 4 zeigt ein Blockdiagramm einer
Bildverarbeitungsvorrichtung gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
Die
Abbildung aus 4 zeigt interne Bildverarbeitungskomponenten
einer Bilddarstellungsvorrichtung, die mindestens ein Ausführungsbeispiel der
vorliegenden Erfindung aufweist. IN der beispielhaften Schaltung
aus 4 erzeugt ein Sensor 400 Pixelkomponenten,
bei denen es sich um Farb/Intensitätswerte einer Szene/Umgebung
handelt. Die durch den Sensor 400 erzeugten N-Bit-Pixelwerte werden
an eine Erfassungsschnittstelle 410 übermittelt. In dem Kontext
in Bezug auf die vorliegende Erfindung erfasst der Sensor 400 für gewöhnlich eine der
R-, G- oder B-Komponenten einer "Erfassung" eines Bereichs oder
einer Position. Somit ist der Intensitätswert jedes Pixels nur einer
von drei (oder vier, wenn G1 und G2 einzeln betrachtet werden) Farbebenen
zugeordnet und diese können
gemeinsam ein Rohbild mit Bayer-Muster
bilden. Die R-, G- und B- Farbkanäle können einzeln oder kombiniert
komprimiert und codiert werden, je nachdem, was von der Anwendung
verlangt wird. Die Erfassungsschnittstelle 410 löst das durch
den Sensor erzeugte Bild auf und weist den einzelnen Pixeln Intensitätswerte
zu. Die Anordnung aller derartigen Pixel für das gesamte Bild befindet
sich in einem Bayer-Muster gemäß der kennzeichnenden
Branchenimplementierung für
Digitalkamerasensoren.
-
In
jeder Sensorvorrichtung ist es normal, dass bestimmte Pixelzellen
in der Sensorebene nicht ordnungsgemäß auf den Beleuchtungszustand
in der Szene/Umgebung ansprechen. Folglich können die durch diese Zellen
erzeugten Pixelwerte fehlerhaft sein. Diese Pixelpositionen werden
als "fehlerhafte Pixel" bezeichnet. In einem
Ausführungsbeispiel
der vorliegenden Erfindung ersetzt eine "Pixelsubstitutionseinheit" 415 den
in jedem toten Pixel ausgelesenen Wert durch den Intensitätswert des
unmittelbar vorhergehenden gültigen
Pixels in der Zeile. Ein RAM 416 besteht aus Zeilen- und
Spaltenindizes der toten Pixel, die durch die Verfahren zur Substitution
fehlerhafter Pixel in verschiedenen anderen Ausführungsbeispielen präsentiert
werden. Das Verfahren zum Detektieren der fehlerhaften Pixel in
dem Sensor kann durch ein Computersystem oder eine andere entsprechende
Vorrichtung ausgeführt
werden, wie dies in der Abbildung aus 5 dargestellt
ist. Der resultierende Zähler
der Zeilen- und Spaltenindizes der fehlerhaften Pixelpositionen
kann über
den Bus 460 in das RAM 416 geladen werden, was
die Datenübertragung
mit bidirektionaler Fähigkeit
zwischen der Bilddarstellungsvorrichtung und externen Vorrichtungen
erleichtert. In einem alternativen Ausführungsbeispiel kann die Substitutionseinheit 415 aus der
Bilddarstellungsvorrichtung zugunsten einer gewissen Art der Nachverarbeitung
weggelassen werden, wie zum Beispiel dem Filtern oder der Mittelwertbildung,
nachdem das Bild heruntergeladen worden oder für die Anzeige bereit ist.
-
In
der Bilddarstellungsvorrichtung ist das Kompandierungsmodul 425 so
gestaltet, dass es jedes ursprüngliche
Pixel mit einer Intensität
von N-Bit (für
gewöhnlich
n=10), das von dem Sensor erfasst wird, in einen m-Bit-Intensitätswert umwandelt,
mit m<n (für gewöhnlich mit
m=8). Das Kompandierungsmodul 425 wird nicht benötigt, wenn
der Sensor 400 und die Erfassungsschnittstelle 410 einen
normalen Wert von 8 Bit je Pixel vorsehen. Die Detektierung fehlerhafter
Pixel sollte gemäß dem relevanten Intensitätsbereich
des Sensors vorgenommen werden, wobei, wenn dieser ursprüngliche
eine höhere zweifache
Auflösung
aufweist wie etwa 10 Bit, das obere Ende des Intensitätsbereichs
als 1023 und nicht 255 (für
8-Bit-Intensitätswerte)
berücksichtigt werden
sollte, wie dies vorstehend im Text beschrieben worden ist.
-
Ein
primärer
Kompressor 428 empfängt kompendierte
Sensorbilddaten und führt
eine Bildkomprimierung wie etwa JPEG durch. Ein RAM 429 kann
zum Speichern von Koeffizienten und/oder Quantisierungsschwellenwerten
verwendet werden, die bei der Ausführung einer derartigen Komprimierung
eingesetzt werden. Der primäre
Kompressor 428 kann so gestaltet werden, dass er Ausgaben
vorsieht, die auf fehlerhafte Pixelpositionen und deren Werte ansprechen
oder diese korrigieren, wobei entsprechende komprimierte Werte an
einen Codierer/Datenpacker 430 übermittelt werden. Wenn die fehlerhafte
Pixelpositionsabbildung in einer Informationsvorrichtung erzeugt
wird, mit der die Bilddarstellungsvorrichtung aus 5 verbunden
ist, so wird der vorstehend beschriebene deterministische Ansatz
am besten an Pixeln ausgeführt,
bevor diese komprimiert werden.
-
Jede
der RAM-Tabellen 416, 426, 429 und 431 kann
direkt mit einem Bus 460 kommunizieren, so dass deren Daten
geladen und bei Bedarf später modifiziert
werden können.
Ferner können
diese RAM-Tabellen und andere RAM-Tabellen zum Speichern von Zwischenergebnisdaten
nach Bedarf verwendet werden. Wenn die Daten in den Speicheranordnungen
bzw. Speicherfeldern 440 für die Übertragung außerhalb
der Bilddarstellungsvorrichtung aus 4 bereit
sind, können
sie zur Übertragung
auf dem Bus 460 platziert werden. Der Bus 460 erleichtert
ferner die Aktualisierung der RAM-Tabellen 416, 426, 429 und 431 nach
Bedarf. Abhängig
von dem Design der Vorrichtung kann ein Diagnoseerfassungsmodus
vorgesehen werden, der eine eingeschränkte oder gar keine Komprimierung
und keine Datenkorrektur vornimmt, während die Identifikation fehlerhafter
Pixel durchgeführt
wird.
-
Die
Abbildung aus 5 zeigt ein Systemdiagramm eines
Ausführungsbeispiels
der vorliegenden Erfindung.
-
Die
Abbildung aus 5 veranschaulicht ein Computersystem 510,
bei dem es sich um eine allgemeine oder eine spezielle Rechen- oder
Datenverarbeitungsvorrichtung handeln kann, wie etwa um einen PC
(Personalcomputer), der mit einer Kamera 530 gekoppelt
ist. Bei der Kamera 530 kann es sich um eine Digitalkamera,
eine digitale Videokamera oder jede andere Bilderfassungsvorrichtung
oder jedes Bilddarstellungssystem oder eine Kombination dieser handeln,
wobei sie zur Erfassung eines Bilds einer Szene 540 verwendet
wird. Im Wesentlichen werden erfasste Bilder von einer Bildverarbeitungsschaltung 532 verarbeitet,
so dass sie effizient in einer Bildspeichereinheit 534 gespeichert
werden können,
bei der es sich um einen RAM oder um eine andere Speichervorrichtung
wie etwa eine Festplatte handeln kann. Das Bild bzw. die Bilder
in der Bildspeichereinheit 534, die für das Computersystem 510 vorgesehen
ist, können
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dem Zweck der Bestimmung fehlerhafter
Pixelpositionen der Kamera 530 zu bestimmen. In den meisten
Digitalkameras, die Standbilder aufnehmen können, werden die Bilder zuerst
gespeichert und später
heruntergeladen. Dies ermöglicht
es, dass die Kamera 530 das nächste Objekt bzw. die nächste Szene
schneller ohne zusätzliche
Verzögerung
erfasst. Der Einsatz eines Computersystems 510 reduziert
im Besonderen beim Detektieren fehlerhafter Pixelpositionen der Kamera
die Rechen-/Speicheranforderungen der Kamera 530, was eine
weniger komplexe und somit kostengünstigere Fertigung ermöglicht.
-
Die
Bildverarbeitungsvorrichtung 532 führt die Pixelsubstitution aus
(falls erforderlich), das Kompandieren und die Komprimierung der
durch die Kamera 530 erfassten Bilder. Wenn ein erfasstes
Bild, ob komprimiert oder ohne Komprimierung, in das Computersystem 510 heruntergeladen
wird, kann es decodiert und danach an eine bestimmte Ausgabevorrichtung
wie etwa einen Drucker (nicht abgebildet) oder eine Monitorvorrichtung 520 gerendert
werden. Die Ausführung
der Methode zum Detektieren fehlerhafter Pixel gemäß der vorstehenden
Beschreibung und der Bildkomprimierung, sofern erforderlich, können unter
Verwendung eines Prozessors 512 erreicht werden, wie etwa
eines Pentium Prozessors mit MMX Technologie (ein Produkt der Intel
Corporation), und eines Speichers 511 wie etwa einem RAM,
der zum Speichern/Laden von Anweisungsadressen und resultierender
Daten verwendet wird.
-
Die
zur Ausführung
des Detektierens fehlerhafter Pixel auf der Basis einer Reihe von
von der Kamera 530 heruntergeladener Bilder verwendete(n) Anwendung
(en) können
von einem ausführbaren Datei
stammen, das aus in einer Sprache wie etwa C++ geschriebenem Quellcode
kompiliert wird. Die Anweisungen der ausführbaren Datei, die den für die Skalierung
des Bilds erforderlichen Anweisungen entsprechen, können auf
einer Disk 518 oder in dem Speicher 511 gespeichert
werden. Ferner kann eine derartige Anwendungssoftware in einem Netzwerk oder
auf einem Computer lesbaren Medium zur Verwendung in Verbindung
mit anderen Systemen verteilt werden.
-
Wenn
ein Bild, wie etwa ein Bild einer Szene 540, von einer
Kamera 530 erfasst wird, wird es an die Bildverarbeitungsschaltung 532 übermittelt.
Die Bildverarbeitungsschaltung 532 umfasst integrierte Schaltungen
und andere unter Umständen
ausführbare
Komponenten, die unter anderem die Komprimierung der Anordnung der
Pixeldaten des Bilds kompensiert durch die Korrektur fehlerhafter
Pixel ausführen
können.
Die Bildspeichereinheit 534 speichert die komprimierten/codierten
Bilddaten. Sobald alle Pixel verarbeitet sind und gespeichert oder
zu dem Computersystem 510 zum Rendering übertragen
werden, ist die Kamera 530 bereit, das nächste Bild
zu erfassen. Wenn der Benutzer oder die Anwendung Bilder herunterladen
möchte
oder dies anfordert, werden die codierten Bilddaten in der Bildspeichereinheit
aus der Bildspeichereinheit 534 zu dem E/A-Port 517 übertragen.
Der E/A-Port 517 verwendet die abgebildete Busbrückenhierarchie (E/A-Bus 515 zu
der Brücke 514 des
Systembusses 513), um die Daten vorübergehend in dem Speicher 511 oder
optional auf der Disk 518 zu speichern. Das Computersystem 510 weist
einen Systembus 513 auf, der die Informationsübertragung
zu/von dem Prozessor 512 und dem Speicher 511 und
einer Brücke 514 erleichtert,
die mit einem E/A-Bus 515 gekoppelt ist. Der E/A-Bus 515 verbindet
verschiedenen E/A-Vorrichtungen, wie etwa einen Anzeigeadapter 516,
eine Disk 518 und einen E/A-Port 517, wie etwa
einen seriellen Anschluss. Viele dieser Kombinationen von E/A-Vorrichtungen, Bussen
und Brücken
können
gemäß der vorliegenden
Erfindung verwendet werden, wobei die dargestellte Kombination lediglich
eine mögliche
Kombination veranschaulicht.
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung kann das Detektieren fehlerhafter Pixel
in dem Computersystem 510 erreicht werden, indem eine Reihe
von Bildern aus der Kamera 530 herunterladen und analysiert
wird. Die Daten zur fehlerhaften Pixelposition können in einer Disk, dem Speicher 511 oder
jedem anderen Speichermechanismus gespeichert und zur Durchführung einer
Korrektur oder Verbesserung jedes heruntergeladenen Bilds verwendet
werden. Eine Korrektur fehlerhafter Bildpositionen nach dem Herunterladen
macht es überflüssig, derartige
Merkmale in der Kamera 530 vorzusehen. Das Computersystem
führt während dem
Detektieren fehlerhafter Pixel derartige Berechnungen wie die Berechnung
von MNDs durch, vergleicht diese mit einem Schwellenwert, zählt das
Ergebnis Defective Vorte und speichert eine Abbildung der fehlerhaften
Pixel.
-
Die
hierin beschriebenen Ausführungsbeispiele
dienen ausschließlich
zur Veranschaulichung der Grundsätze
der vorliegenden Erfindung und schränken den Umfang dieser nicht
ein. Vielmehr lassen sich die Grundsätze der vorliegenden Erfindung auf
einen umfassenden Bereich von Systemen anwenden, um die hierin beschriebenen
Vorteile sowie weitere Vorteile zu erzielen oder um andere Aufgaben
zu erfüllen.