DE60304785T2 - Verfahren zum Detektieren von defekten Bildpunkten in einem digitalen Bildsensor - Google Patents

Verfahren zum Detektieren von defekten Bildpunkten in einem digitalen Bildsensor Download PDF

Info

Publication number
DE60304785T2
DE60304785T2 DE60304785T DE60304785T DE60304785T2 DE 60304785 T2 DE60304785 T2 DE 60304785T2 DE 60304785 T DE60304785 T DE 60304785T DE 60304785 T DE60304785 T DE 60304785T DE 60304785 T2 DE60304785 T2 DE 60304785T2
Authority
DE
Germany
Prior art keywords
value
sensor
pixel
current
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60304785T
Other languages
English (en)
Other versions
DE60304785D1 (de
Inventor
Ramakrishna Sunnyvale Kakarala
Xuemei Mountain View Zhang
Bond Yu-Pong Corvallis Ying
John H. Fort Collins Stanback
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aptina Imaging Corp
Original Assignee
Avago Technologies Sensor IP Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avago Technologies Sensor IP Singapore Pte Ltd filed Critical Avago Technologies Sensor IP Singapore Pte Ltd
Application granted granted Critical
Publication of DE60304785D1 publication Critical patent/DE60304785D1/de
Publication of DE60304785T2 publication Critical patent/DE60304785T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/68Noise processing, e.g. detecting, correcting, reducing or removing noise applied to defects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2209/00Details of colour television systems
    • H04N2209/04Picture signal generators
    • H04N2209/041Picture signal generators using solid-state devices
    • H04N2209/042Picture signal generators using solid-state devices having a single pick-up sensor
    • H04N2209/045Picture signal generators using solid-state devices having a single pick-up sensor using mosaic colour filter

Description

  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im allgemeinen digitale Farbbildsensoren und insbesondere die Bildverarbeitung von Sensorwerten.
  • Beschreibung verwandten Standes der Technik
  • Es bestehen hauptsächlich zwei Arten elektronischer Bildsensoren: CCDs (Charge Coupled Devices, ladungsgekoppelte Bauelemente) und CMOS-APS (Complimentary Metal Oxide Semiconductor – Active Pixel Sensors, auf komplementären Metalloxidhalbleitern basierende aktive Pixelsensoren). Beide Sensortypen enthalten typischerweise ein Feld bzw. Array von Fotodetektoren (beispielsweise Pixel), die in einem Muster angeordnet sind, welche Farbe innerhalb eines Bildes abtasten. Jedes Pixel mißt die Intensität des Lichts innerhalb eines oder mehrerer Wellenlängenbereiche, die einem oder mehreren empfundenen Farben entsprechen.
  • Trotz der Fortschritte im Herstellungsprozeß enthalten digitale Bildsensoren oft einige wenige defekte Pixel aufgrund von Rauschen oder Herstellungsfehlern, beispielsweise durch Kontamination mit Fremdstoffen. Die Reaktion defekter Pixel auf einfallendes Licht ist fehlerhaft, wodurch diese falsche Sensorwerte erzeugen. Es gibt hauptsächlich drei verschiedene Typen defekter Pixel: oben festhängend (stuck high), unten festhängend (stuck low) oder mit abnormaler Empfindlichkeit. Ein oben festhängendes Pixel weist eine sehr hohe oder nahezu maximale Ausgabe auf, während ein unten festhängendes Pixel eine sehr geringe Ausgabe oder eine Ausgabe von nahezu null aufweist. Ein Pixel mit abnormaler Empfindlichkeit erzeugt einen Sensorwert, der sich um mehr als einen bestimmten Betrag von den benachbarten Pixeln unterscheidet, wenn diese den gleichen Lichtbedingungen ausgesetzt sind.
  • Daher kann ein defekter Pixel identifiziert werden, indem die Unterschiede zwischen den Sensorreaktionen eines defekten Pixels und seinem direkten Pixelnachbarn bei der gleichen Beleuchtung untersucht werden. Sobald dieser festgestellt ist, kann der Sensorwert eines defek ten Pixels durch eine von Pixeln in der Nachbarschaft des defekten Pixels stammenden geschätzten Sensorwert ausgetauscht werden. Der Prozeß des Detektierens und Korrigierens defekter Pixel wird als Fehlerpixelkorrektur (bad pixel correction, BPC) bezeichnet. Es gibt eine Anzahl Algorithmen zur Fehlerpixelkorrektur bzw. BPC, die heutzutage auf dem Markt erhältlich sind. Es bestehen Fehlerpixelkorrektur-Algorithmen bzw. BPC-Algorithmen für sowohl Farbbildsensoren als auch für Monochrombildsensoren. Für Farbbildsensoren identifizieren die BPC-Algorithmen defekte Pixel durch Vergleichen der Reaktion eines Pixels mit Nachbarn der gleichen Farbe, obwohl es möglich ist, daß die Nachbarn nicht räumlich benachbart zu dem Pixel angeordnet sind.
  • Die Druckschrift US 6,296,387 offenbart ein Verfahren zur Korrektur von Bilddefekten eines matrixbasierten Röntgenstrahlen- oder Gamma-Strahlendetektors, das darin besteht, eine Verläßlichkeitsliste auf der Basis kontinuierlicher Verläßlichkeitsbewertungen zwischen 0 und 1 zu erzeugen, und den Grad an Verläßlichkeit wiederzugeben, der jedem Detektorpixel zugeordnet ist. Diese Verläßlichkeitsliste wird verwendet, um Defekte des Matrixdetektors zu korrigieren. Das in dieser Druckschrift beschriebene Verfahren betrifft Graustufenbilder, die nur eine „Farb"-Ebene besitzen. Hierzu werden für ein aktuelles Pixel Gradienten von benachbarten Pixeln in der gleichen Ebene verwendet, um zu ermitteln, ob das aktuelle Pixel defekt ist.
  • Die Druckschrift EP 0 341 700 beschreibt eine Bildeingabevorrichtung zum Abtasten eines Bildsignals, das von einem linearen Bildsensor gelesen wird, um Bilddaten auszugeben. Zur Detektion defekter Elemente des Bildsensors wird der Gradient benachbarter Pixel verwendet.
  • In der Veröffentlichung „A circuit for the correction of pixel defects in image sensor", von Maynants & Diercickx, Proceedings of the 24th European Solid-State Circuits Conference, Den Haag, Niederlande, 22.–24. September 1998, Seiten 312–315, ist ein BPC-Verfahren für Farbbildsensoren beschrieben, wobei das Verfahren fehlerhafte Pixel entdeckt, indem der Sensorwert eines aktuellen Pixels mit Sensorwertschätzungen benachbarter Pixeln der gleichen Farbe in der gleichen Zeile verglichen werden. Jedoch vergleicht das BPC-Verfahren von Maynants & Diercickx keine Pixel in anderen Farbebenen, die räumlich benachbart zu dem aktuellen Pixel angeordnet sind, und weist daher den Nachteil auf, daß lokale Rinnen bzw. Grate in dem Bild gelöscht werden, an denen die Sensorwerte eine Spitze oder einen Tiefpunkt aufweisen. Das BPC-Verfahren von Maynants & Diercickx vergleicht ferner die Pixel nicht vertikal und hat daher den weiteren Nachteil, daß es feine vertikale Linien löscht.
  • Ein weiteres BPC-Verfahren für Farbbildsensoren, das in „A robust sequential approach for the detection of defective pixels in an image sensor", von Tan & Acharya, Proceedings of the 1999 International Conference on Acoustics, Speech and Signal Processing, Phoenix, Arizona, 15.–19. März 1999, auf den Seiten 2239–2242 beschrieben ist, sieht vor, eine Fehlerpixeldarstellung durch Akkumulieren der Ergebnisse von Fehlerpixeldetektionen über eine Sequenz von Bildern vorzusehen, basierend auf einem minimalen Unterschied zwischen einem vorgegebenen Pixel und dessen direktem Nachbarn der gleichen Farbe. Jedoch erfordert das Verfahren von Tan & Acharya die Speicherung der Fehlerpixelliste in einem nicht flüchtigen Speicher. Das Einbauen von einem nicht flüchtigen Speicher in einen Bildsensor oder einen Bildprozessorchip bedeutet einen wesentlichen Aufwand. Ferner vergleicht das Verfahren von Tan & Acharya die Pixel nicht in anderen Farbebenen, wenn die Fehlerpixelliste erzeugt wird.
  • Es besteht daher die Aufgabe, einen Fehlerpixelkorrekturalgorithmus vorzusehen, der effektiv und genau defekte Pixel detektiert und korrigiert, indem Sensorwerte von anderen Farbebenen verwendet werden, um lokale Rinnen in einem Bild zu berücksichtigen. Ferner besteht Bedarf an einem effizienten und genauen Fehlerpixelkorrekturalgorithmus, der nur einen minimalen Bedarf an Speicher und Rechenleistung aufweist, wodurch der Algorithmus in dem Bildsensorchip implementiert werden kann.
  • ABRISS DER ERFINDUNG
  • Die vorliegende Erfindung sieht einen digitalen Bildsensor nach Anspruch 1 und ein Verfahren zum Detektieren defekter Pixel nach Anspruch 6 vor.
  • Ausführungen der vorliegenden Erfindung sehen einen Algorithmus zur Fehlerpixelkorrektur (bad pixel correction, BPC) vor, um defekte Pixel in einem digitalen Farbbildsensor zu erfassen und zu korrigieren. Für ein aktuelles Pixel werden Gradienten von benachbarten Pixeln in mindestens einer anderen Farbebene als die Farbebene des aktuellen Pixels verwendet, um zu ermitteln, ob das aktuelle Pixel defekt ist. Beispielsweise können sowohl die Gradienten als auch der Wertebereich der Sensorwerte von benachbarten Pixeln in der gleichen Farbebene wie das aktuelle Pixel ermittelt werden. Wenn der Sensorwert des aktuellen Pixels um einen Schwellwertbetrag, der unter Verwendung eines oder mehrerer Gradienten berechnet wird, außerhalb des Wertebereichs liegt, wird das aktuelle Pixel als defektes Pixel erfaßt. Die Gra dienten in anderen Farbebenen sehen eine genauere Vorherbestimmung des Sensorwerts des aktuellen Pixels vor, indem die örtliche Rauhigkeit in dem Bild (beispielsweise ein texturierter Bereich gegenüber einem gleichmäßigen Bereich) berücksichtigt wird.
  • Im einem Beispiel umfaßt der Wertebereich der Sensorwerte für ein aktuelles Pixel einen maximalen Sensorwert und einen minimalen Sensorwert benachbarter Pixel, die in der gleichen Farbebene vorgesehen sind und die von zumindest der aktuellen Zeile stammen. Wenn der Sensorwert des aktuellen Pixels größer als der maximale Sensorwert ist oder kleiner als der minimale Sensorwert ist, und wenn der Unterschied zwischen den Sensorwerten des aktuellen Pixels und entweder dem maximalen Sensorwert oder den minimalen Sensorwert einen Schwellwertbetrag übersteigt, der unter Verwendung eines Durchschnittsgradienten der benachbarten Pixel berechnet wird, dann wird das aktuelle Pixel als defektes Pixel erfaßt. Für jedes detektierte defekte Pixel wird der Sensorwert des defekten Pixels unter Verwendung von Sensorwerten der benachbarten Pixel ersetzt.
  • In einer weiteren Ausführung umfaßt der Wertebereich der Sensorwerte zumindest eine Maximum-Schätzung, eine Minimum-Schätzung und eine Mittelwert-Schätzung, die unter Verwendung von Gradienten benachbarter Pixel in anderen Farbebenen ausgehend von Zeilen berechnet werden, die sich von der Zeile des aktuellen Pixels unterscheiden. Wenn der Sensorwert des aktuellen Pixels um mehr als ein Schwellwertbetrag, der unter Verwendung der Mittelwert-Schätzung berechnet wird, größer als die Maximum-Schätzung oder kleiner als die Minimum-Schätzung ist, wird das aktuelle Pixel als ein defektes Pixel ermittelt. Für jedes detektierte defekte Pixel wird der Sensorwert des defekten Pixels unter Verwendung der Sensorwerte der benachbarten Pixel ersetzt.
  • Vorteilhafterweise wird unter Verwendung von Gradienten, die in mehr als einer Farbebene vorgesehen sind, eine falsche Fehlerpixel-Detektion verringert, indem lokale Rinnen in dem Bild berücksichtigt werden. Ferner kann eine falsche Fehlerpixeldetektion weitergehend verringert werden, indem sowohl vertikale als auch diagonale Gradienten verwendet werden, um zu verhindern, daß feine vertikale Linien gelöscht werden. Als weiterer Vorteil erfordert der BPC-Algorithmus in einigen Ausführungen nur Additionen, Subtraktionen, Verschiebungen (Shifts) und Vergleiche, wobei diese Operationen alle leicht in Hardware umzusetzen sind. Daher kann der BPC-Algorithmus auf dem gleichen Chip wie der Sensor implementiert werden, und gleichzeitig defekte Pixel effektiv und genau detektieren und korrigieren. Ferner sieht die Erfindung Ausführungen mit anderen Merkmalen und Vorteilen vor, die zu den oben beschriebenen hinzu oder an deren Stelle treten. Viele dieser Merkmale und Vorteile ergeben sich aus der folgenden Beschreibung, die sich auf die folgenden Zeichnungen bezieht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die offenbarte Erfindung wird bezugnehmend auf die beigefügten Zeichnungen beschrieben, die wichtige beispielhafte Ausführungen der Erfindung zeigen, und die bezugnehmend in die Beschreibung eingeführt sind.
  • 1 ist ein Blockdiagramm, welches ein digitales Bildsystem darstellt, das einen Fehlerpixelkorrektur (BPC)-Algorithmus gemäß beispielhafter Ausführungen der vorliegenden Erfindung verwendet;
  • 2 ist ein Blockdiagramm, welches eine beispielhafte Logik zum Implementieren des BPC-Algorithmus gemäß beispielhafter Ausführungen der vorliegenden Erfindung darstellt;
  • 3 ist ein Flußdiagramm, welches beispielhafte Schritte zum Ausführen des in 2 dargestellten BPC-Algorithmus darstellt;
  • 4 zeigt Roh-Abtastsensorwerte, die sich aus einem 3 × 9 Pixelblock ergeben, welche in Ausführungen des erfindungsgemäßen BPC-Algorithmus verwendet werden können;
  • 5A5C sind Flußdiagramme, welche beispielhafte Schritte zum Ausführen des BPC-Algorithmus hinsichtlich des in 4 dargestellten 3 × 9 Pixelblocks gemäß einer Ausführung der vorliegenden Erfindung darstellt;
  • 6 zeigt ein Beispiel von Roh-Sensorwerten, die sich aus einer einzelnen Pixelzeile ergeben, welche in Ausführungen des erfindungsgemäßen BPC-Algorithmus verwendet werden können;
  • 7 ist ein Flußdiagramm, welches beispielhafte Schritte zum Durchführen des BPC-Algorithmus bezüglich der in 6 dargestellten Pixelzeile gemäß einer weiteren Ausführung der vorliegenden Erfindung darstellt;
  • 8 zeigt beispielhafte Roh-Sensorwerte, die sich aus einem 5 × 5 Pixelblock ergeben, der in Ausführungen des erfindungsgemäßen BPC-Algorithmus verwendet werden können;
  • 9 zeigt beispielhafte Roh-Sensorwerte, die sich aus einem 3 × 5 Pixelblock ergeben, die in Ausführungen des erfindungsgemäßen BPC-Algorithmus verwendet werden können; und
  • 10 ist ein Flußdiagramm, welches beispielhafte Schritte zum Ausführen des BPC-Algorithmus bezüglich des in 8 oder 9 dargestellten Pixelblocks gemäß weiterer Ausführungen der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGEN
  • Die zahlreichen innovativen Lehren der vorliegenden Erfindung werden unter der einzelnen Bezugnahme auf beispielhafte Ausführungen beschrieben. Es ist jedoch ersichtlich, daß diese Ausführungen nur wenige Beispiele von vielen vorteilhaften Verwendungsmöglichkeiten der hier dargelegten erfinderischen Lehre vorsehen. Im allgemeinen beschränken in der Beschreibung dargelegte Aussagen keine der zahlreichen beanspruchten Erfindungen. Ferner betreffen einige Aussagen nur einige erfindungsgemäße Merkmale, jedoch nicht andere.
  • Die 1 zeigt ein digitales Bildsystem 10, welches einen Fehlerpixelkorrektur (bad pixel correction, BPC)-Algorithmus 40 gemäß der vorliegenden Erfindung implementiert. Das digitale Bildsystem 10 kann eine beliebige digitale Bildvorrichtung sein, beispielsweise eine digitale Kamera, Videokamera, medizinische Bildeinrichtung, usw. Das digitale Bildsystem 10 kann ferner ein Computersystem sein, beispielsweise ein Personalcomputer oder ein Server, in dem ein Speicher zum Speichern von Bilddaten vorgesehen ist. Daher kann der BPC-Algorithmus 40 innerhalb einer digitalen Bildvorrichtung vorgesehen oder Teil einer Bildverarbeitungssoftware sein, die auf einem Personalcomputer oder Server abläuft.
  • Das digitale Bildsystem 10 umfaßt einen digitalen Bildsensor 20, beispielsweise einen CMOS-Sensorchip oder einen CCD-Sensorchip, der ein zweidimensionales Pixelfeld 25 umfaßt, welches in Zeilen und Spalten angeordnet ist. Der digitale Bildsensor 20 kann mit einem Farbfilterfeld (color filter array, CFA) bedeckt sein, beispielsweise derart, daß jedes Pixel 25 nur eine Farbe abfühlt. Beispielsweise kann das CFA das verbreitete Bayer-CFA sein, in dem Chrominanzfarben (Rot und Blau) zwischen einem Schachbrettmuster von Luminanzfarben (Grün) verteilt eingefügt sind. Das Folgende ist ein Beispiel eines Bayer-CFA:
    Figure 00070001
  • Es ist ersichtlich, daß andere Farbfilterfelder bzw. Farbfilderarrays, CFAs, statt des hier beschriebenen Bayer-CFA verwendet werden können. Es ist ferner ersichtlich, daß andere Farbräume, beispielsweise Gelb, Zyan und Magenta statt dem hier beschriebenen Farbraum Rot, Blau und Grün verwendet werden können.
  • Der digitale Bildsensor 20 versorgt einen digitalen BPC-Digitalprozessor 40, der den BPC-Algorithmus der vorliegenden Erfindung auf die Sensorwerte 30 anwendet mit Roh-Sensorwerten 30, die die ursprünglichen Rot-, Blau- und Grün-Pixelwerte enthalten, um defekte Pixel zu detektieren und zu korrigieren. Die Sensorwerte 30 werden gleichzeitig in Blöcken an den digitalen Signalprozessor 40 vorgesehen. Daher werden die Sensorwerte 30 in einem Puffer 50 gespeichert, bis die erforderliche Anzahl an Sensorwerten 30 vorliegt, um die Verarbeitung zu beginnen. Der Puffer 50 kann als Speichervorrichtung außerhalb des BPC-Algorithmus vorgesehen werden (beispielsweise RAM) oder innerhalb des BPC-Prozessors 40 (beispielsweise internes Register, Kellerspeicher oder Cache). In beispielhaften Ausführungen ist der BPC-Algorithmus 40 auf dem Sensor 20 selbst implementiert. Daher können der Puffer 50 und der Prozessor 40 in dem Sensorchip ausgeformt werden, um die Detektion und Korrektur von Fehlerpixel auf dem Sensor 20 zu ermöglichen.
  • Die Anzahl an Sensorwerten 30, die erforderlich sind, um mit der Verarbeitung zu beginnen, hängt von dem Typ der Verarbeitung ab. Beispielsweise werden die Sensorwerte 30 typischerweise von dem Sensor 20 zeilenweise ausgelesen. Damit der der Prozeß des Detektierens und Korrigierens defekter Pixel beginnen kann, muß zumindest ein Teil der Sensorwerte 30 für eine Pixelzeile 25 innerhalb des Puffers 50 gespeichert sein. Da ferner die meisten digitalen Kameras mehrere Bilder aufnehmen, um zu gewährleisten, daß die Belichtung korrekt ist, bevor das permanent zu speichernde Bild ausgewählt wird, können eines oder mehrere Bilder gleichzeitig in dem Puffer 50 gespeichert werden.
  • Die korrigierten Sensorwerte 30 werden in der darauffolgenden Verarbeitung (nicht dargestellt) verwendet, beispielsweise zum Entfernen der Mosaikstruktur (Demosaicing) der Sensorwerte 30, um für jede Pixelstelle 25 Rot-, Grün- und Blau-Farbwerte zu interpolieren. Die interpolierten Farbebenen können ferner mittels eines Kompressionsverfahrens (nicht dargestellt) komprimiert werden, beispielsweise mit dem JPEG-Standard, bevor diese an eine Ausgabevorrichtung (nicht dargestellt), beispielsweise einen Videoschirm, Computerschirm oder Drucker, ausgegeben werden.
  • Der digitale BPC-Signalprozessor 40 detektiert und korrigiert defekte Pixel 25 in jedem Bild, das in dem Puffer gespeichert ist, gemäß dem in 2 dargestellten BPC-Algorithmus. Der BPC-Algorithmus basiert auf dem Konzept einer „Gradienten-Anomalie". Im Unterschied zu normalen Pixeln sind Sensorwerte defekter Pixel nicht proportional mit der Lichtintensität verknüpft, welche durch die optischen Einrichtungen einer Linse läuft. Da mit anderen Worten die optischen Einrichtungen einer Linse einen gewissen Grad an Glättung für die Sensorwerte vorsehen, ist jeder Sensorwert, der von einem defekten Pixel erzeugt wird, außerhalb eines zu erwartenden Wertebereichs, der durch die Glätte (Smoothness) (beispielsweise lokale Rauhigkeit) eines bestimmten Bildbereichs vorgegeben sind. Daher sind defekte Pixelgradienten steiler als aus den benachbarten Pixelwerten zu schließen wäre. Somit können defekte Pixel durch die Identifizierung anormaler Gradienten detektiert werden.
  • Es folgt eine Erläuterung eines Gradienten in einer Farbebene. Da eine Farbebene eine Abbildung von einer 2-dimensionalen (2-D)-Domäne auf einen 3-dimensionalen (3-D) Raum, d.h. die Farbebene, ist, kann jede Komponente der Farbebene als eine Funktion betrachtet werden, die in der (x, y)-Domäne definiert ist, d.h. R(x, y), G(x, y), B(x, y). Der Gradient in einer Farbebene bezieht sich auf den Änderungsgrad an einer Pixelstelle für eine bestimmte Farbebene. Beispielsweise kann der Gradient ∇ ausgedrückt werden als:
    Figure 00080001
  • Daher kann der Gradient als horizontaler, vertikaler und/oder diagonaler Gradient einer Farbebene definiert werden.
  • Für Sensoren mit einem Farbfilter-Mosaikmuster ähneln sich die lokalen Intensitätsgradienten für in verschiedenen Farbebenen vorliegenden Pixel. In einem Farbfilterfeld (color filter array, CFA) sind Pixel üblicherweise von Pixel anderer Farbe umgeben. Daher kann das Analysieren der Gradienten in anderen Farbebenen, zusätzlich oder anstatt der Analyse der Gradienten der gleichen Farbebene, eine genauere Erfassung hinsichtlich des Vorliegens jeglicher Gradientenanomalien vorgesehen werden, welche angeben, daß das aktuelle Pixel defekt ist.
  • Der Fehlerpixelkorrektur-Algorithmus der vorliegenden Erfindung verwendet die Gradienten in Farbebenen, die sich von der Farbebene des aktuellen Pixels unterscheiden, um Fehlerpixel bzw. fehlerhafte Pixel zu detektieren, wodurch die Genauigkeit der Fehlerpixeldetektion verbessert wird, indem die lokale Rauhigkeit des Bereichs um das aktuelle Pixel herum berücksichtigt wird. Ferner vermeidet der Fehlerpixelkorrektur-Algorithmus der vorliegenden Erfindung die Verwendung von Multiplikations- und Divisionsoperationen, die keine Operationen mit dem Exponenten zwei sind, (wobei diese einfach mit Shift-Operationen implementiert werden können) und verwendet einen Speicher (Puffer 50) lediglich dazu, um eine minimale Anzahl von Roh-Sensorwerten 30 zu speichern, die zur Durchführung des Algorithmus notwendig sind, wodurch der Fehlerpixelkorrektur-Algorithmus auf dem Sensorchip selbst implementiert werden kann.
  • In der Umsetzung, wie in 2 dargestellt, nimmt der Fehlerpixelkorrektur-Algorithmus 40 die von dem Puffer 50 vorgesehenen Roh-Sensorwerte 30 als Eingabe. Eine Gradientenlogik 100 innerhalb des Fehlerpixelkorrektur-Prozessors 40 ermittelt Gradienten 105 ausgehend von den Roh-Sensorwerten 30 benachbarter Pixel in mindestens einer weiteren Farbebene. Es ist ersichtlich, daß der hier verwendete Ausdruck „Logik" sich auf Hardware, Software und/oder Firmware bezieht, welche notwendig ist, um die Funktion der Logik auszuführen. Beispielsweise soll angenommen werden, daß die Gradientenlogik 100 mit den folgenden Rohsensorwerten 30 versorgt wird:
    Figure 00090001
  • Um die Blau-Gradienten 105 in dem Bereich zu ermitteln, können die horizontalen Blau-Ableitungen, vertikalen Blau-Ableitungen und diagonalen Blau-Ableitungen wie folgt berechnet werden: B2 – B1 und B4 – B3 (horizontal); B4 – B2 und B3 – B1 (vertikal); und B4 – B1 (Hauptdiagonale bzw. linke Diagonale) und B3 – B2 (Nebendiagonale bzw. rechte Diagonale).
  • Die Rot-Gradienten 105 und die Grün-Gradienten 105 können in einer gleichen Weise berechnet werden. Jedoch werden zum Zweck dieser Erfindung die Grün-Werte in zwei verschiedene Farbebenen (eine für grüne Pixel mit horizontalen roten Nachbarn und eine weitere für grüne Pixel mit horizontalen blauen Nachbarn), aufgrund der möglichen Unterschiede hinsichtlich der Grünwerte in jeder der Grün-Farbeebenen unterteilt, die durch ungeeignete Filterausrichtung verursacht werden.
  • Wenn die oben genannten Sensorwerte verwendet werden und R1 das aktuelle zu betrachtende Pixel ist, kann die Gradientenlogik 100 eine oder mehrere Blau-Gradienten 105 (horizontal, vertikal und/oder diagonal) und/oder Grün-Gradienten 105 (horizontal, vertikal und/oder diagonal) ausgehend von benachbarten Blau- und Grün-Pixel berechnen, die R1 umgeben. Ferner kann die Gradientenlogik 100 einen oder mehrere Rot-Gradienten 105 (horizontal, vertikal und/oder diagonal) aus R1 und aus benachbarten Rot-Pixeln, die R1 umgeben, berechnen.
  • Entweder die Gradienten 105 oder die hohen Sensorwerte 30 werden abhängig von der Implementierung (die im weiteren in Verbindung mit den 5 und 10 betrachtet wird) an eine Wertebereichslogik 110 geliefert, um einen Wertebereich der Sensorwerte 105 aus benachbarten Pixeln zu ermitteln. Beispielsweise kann in einer Ausführung der Wertebereich der Sensorwerte 115 für das aktuelle Pixel einen Maximal-Sensorwert 30 und einen Minimal-Sensorwert 30 benachbarter Pixel in der gleiche Farbeebene aus zumindest der aktuellen Zeile umfassen. In einer weiteren Ausführung kann der Wertebereich der Sensorwerte 105 eine Maximalschätzung und eine Minimalschätzung umfassen, die unter Verwendung der Gradienten 105 benachbarter Pixel in anderen Farbeebenen von anderen Zeilen als diejenige des aktuellen Pixel und aufgrund von Sensorwerten 30 benachbarter Pixel in der gleichen Farbeebene berechnet werden.
  • Die Gradienten 105 werden ferner an eine Schwellwertlogik 120 geliefert, um einen Schwellwertbetrag 125 basierend auf den Gradienten 105 und einem oder mehrerer Schwellwertpa rameter 80 zu berechnen. Beispielsweise wird in einer Ausführung der Schwellwertbetrag 125 mittels eines Durchschnittsgradienten 105 aus den benachbarten Pixeln berechnet. In einer weiteren Ausführung wird der Schwellwertbetrag 125 unter Verwendung einer Mittelwert-Schätzung berechnet, die unter Verwendung der Gradienten 105 benachbarter Pixel in anderen Farbebenen und aus anderen Zeilen als diejenige des aktuellen Pixel berechnet, sowie aus Sensorwerten 30 benachbarter Pixel in der gleichen Farbebene. Die Schwellwertparameter 80 können beispielsweise einen oder mehrere variable Parameter und/oder eine oder mehrere feste Parameter umfassen, die gewählt werden, um das Verhältnis der fälschlichen Detektionen defekter Pixel zu den Detektionen tatsächlich defekter Pixel zu optimieren.
  • Der Schwellwertbetrag 125, der Wertebereich 115 und der Sensorwert 35a des aktuellen Pixels (beispielsweise Wer1, Pixelx) werden an die Vergleicherlogik 130 geliefert, um zu ermitteln, ob das aktuelle Pixel ein defektes Pixel ist. Wenn beispielsweise in einer Ausführung der Sensorwert 35a des aktuellen Pixels größer als der Maximal-Sensorwert oder kleiner als der Minimal-Sensorwert (außerhalb des Wertebereichs 115) liegt, und die Differenz zwischen dem Sensorwert 35a des aktuellen Pixels und entweder der Maximal-Sensorwert oder der Minimal-Sensorwert den Schwellwertbetrag 125 überschreitet, der unter Verwendung eines Durchschnittsgradienten 105 über die benachbarten Pixel berechnet wird, dann wird das aktuelle Pixel als defektes Pixel ermittelt. In einer weiteren Ausführung wird das aktuelle Pixel als defektes Pixel ermittelt, wenn der Sensorwert 35a des aktuellen Pixels um mehr als den Schwellwertbetrag 125, der unter Verwendung der Mittel-Schätzung berechnet wurde, größer als die Maximal-Schätzung oder kleiner als die Minimal-Schätzung (außerhalb des Wertebereichs 115) ist.
  • Für jedes defekte detektierte Pixel ersetzt eine Ersetzungslogik 140 den Sensorwert 35a des defekten Pixels durch einem Ersetzungswert 35b (beispielsweise Wert2, Pixelx), der unter Verwendung der Sensorwerte 30 der benachbarten Pixel berechnet wurde. Beispielsweise kann in einer Ausführung der Ersetzungswert 35b der Median-Sensorwert 30 der benachbarten Pixel der gleichen Farbe sein. In einer weiteren Ausführung kann der Ersetzungswert 35b die Mittelwert-Schätzung sein, die unter Verwendung der Gradienten 105 benachbarter Pixel anderer Farbebenen und anderer Zeilen als diejenigen des aktuellen Pixel und unter Verwendung von Sensorwerten 30 benachbarter Pixel in der gleichen Farbebene berechnet wird.
  • In der 3 sind beispielhafte Schritte innerhalb des Fehlerpixelkorrektur-Algorithmus dargestellt. Anfänglich wird der Sensorwert an der aktuellen Pixelstelle und an benachbarten Pixelstellen am Sensor gemessen (Schritt 300), und an den digitalen Signalprozessor geliefert, um zu ermitteln, ob das aktuelle Pixel ein defektes Pixel ist. Die Gradienten benachbarter Pixel in zumindest einer weiteren Farbebene werden berechnet (Schritt 310), zusammen mit einem Wertebereich, der aus den benachbarten Pixelwerten (Schritt 320) berechnet wird. Die Gradienten werden verwendet, um einen Schwellwertbetrag zu berechnen (Schritt 330), der, falls er überschritten wird, zur Annahme führt, daß das aktuelle Pixel defekt ist. Wenn beispielsweise der Sensorwert des aktuellen Pixels nicht nur außerhalb des Wertebereichs liegt (Schritt 340), sondern um mehr als der Schwellwertbetrag außerhalb des Wertebereichs liegt (Schritt 350), ist das aktuelle Pixel defekt (Schritt 360) und der Sensorwert des aktuellen Pixels wird durch einen Wert ersetzt, der auf Werten benachbarter Pixel in der gleiche Farbebene basiert (Schritt 370). Wenn jedoch der Sensorwert entweder nicht außerhalb des Wertebereichs liegt (Schritt 340) oder nicht um mehr als der Schwellwertbetrag außerhalb des Wertebereichs liegt (Schritt 350), dann ist das aktuelle Pixel nicht defekt (Schritt 380) und der Sensorwert des aktuellen Pixels wird nicht verändert.
  • Ein Beispiel von in dem Puffers gespeicherten Rohsensordaten 30, die von einem 3 × 9 Pixelblock 25 stammen, der in den Ausführungen des Fehlerpixelkorrektur-Algorithmus der vorliegenden Erfindung verwendet werden kann, sind in 4 dargestellt. Der betrachtete Sensorwert 35 des aktuellen Pixels wird als „Z" bezeichnet, die Sensorwerte 30, die sich aus Pixeln der gleichen Farbe wie das aktuelle Pixel ergeben, werden als „Xn" bezeichnet und die sich aus Pixeln verschiedener Farben ergebenden Sensorwerte 30 werden als Yn bezeichnet. In dem in 4 dargestellten Beispiel werden sowohl die aktuelle Zeile 28a als auch auch die zwei vorhergehenden Zeilen 28b der Sensorwerte in dem Puffer gespeichert und verarbeitet, um zu ermitteln, ob das aktuelle Pixel „Z" ein defektes Pixel ist. Als Minimum sind die Sensorwerte 30 der zwei vorhergehenden Zeilen 28b notwendig, um vertikale und diagonale Gradienten für ein Bayer-Farbfilter-Mosaikmuster zu berechnen (da die Farben nur jede zweite Zeilen wiederholt werden).
  • Der 3 × 9 Pixelblock 25 der 4 kann verwendet werden, um eine beispielhafte Umsetzung des Fehlerpixelkorrektur-Algorithmus bzw. BPC-Algorithmus zu illustrieren, der in den beispielhaften Schritten der 5A5C dargestellt ist. Durch Abrufen der zur Analyse des Sensorwerts 35 des aktuellen Pixels „Z" notwendigen Anzahl benachbarter Sensorwerte aus dem Puffer (Schritt 500) können ein oder mehrere Schwellwertparameter eingestellt werden (Schritt 502), um die Anzahl an falschen Fehlerpixel-Detektionen zu verringern. Beispielsweise können die Schwellwertparameter einen oder mehrere feste Parameter, die vor dem Ausführen der Analyse des aktuellen Pixels voreingestellt wurden, und/oder einen oder mehrere variable Parameter umfassen, die für die notwendige Analyse modifiziert werden können, falls dies notwendig ist.
  • Aus den abgerufenen benachbarten Sensorwerten 30 können ein oder mehrere Gradienten ausgehend von den Pixelnachbarn der gleichen Farbe in der aktuellen Zeile 28a (Schritt 504) berechnet werden, und es können einmal mehrere Gradienten aus benachbarten Pixel anderer Farben, die in der aktuellen Zeile 28a vorliegen, berechnet werden (Schritt 506). Beispielsweise unter Verwendung des 3 × 9 Pixelblocks 25 der 4 können die Gradienten umfassen:
  • Gradienten bleicher Farbe
    • dFarbe(1) = X33 – X31;
    • dFarbe(2) = Z – X33;
    • dFarbe(3) = X37 – Z;
    • dFarbe(4) = X39 – X37;
  • Gradienten anderer Farben
    • dAndereFarbe(1) = Y34 – Y32;
    • dAndereFarbe(2) = Y38 – Y36.
  • Ferner können auch ein oder mehrere vertikale Gradienten, die in der gleichen Farbebene wie das aktuelle Pixel liegen, aus verschiedenen Zeilen 28b berechnet werden (Schritt 508), wie im folgenden dargestellt ist:
  • Vertikale Gradienten
    • dVert = Z – X15;
    • dVertHauptdiag = Z – X13;
    • dVertNebendiag = Z – X17.
  • Die Verwendung vertikaler Gradienten ermöglicht die Detektion feiner vertikaler Linien, die den Unterschied der Sensorwerte 30 zwischen dem aktuellen Pixel („Z") und benachbarten Pixeln (Xn, Yn) der aktuellen Zeile 28a berücksichtigen. Es ist ersichtlich, daß in anderen Ausführungen fünf Linien in dem Puffer gespeichert werden können (zwei oberhalb der aktuellen Zeile und zwei unterhalb der aktuellen Zeile), um weitere vertikale Gradienten, die direkt unterhalb des aktuellen Pixels, in der Hauptdiagonale und unterhalb des aktuellen Pixels, und in der Nebendiagonal und unterhalb des aktuellen Pixels liegen, vorzusehen. Diese zusätzlichen unterhalb liegenden vertikalen Gradienten können in der gleichen Weise wie die oben beschriebenen vertikalen Gradienten verwendet werden, wie im weiteren beschrieben ist.
  • Gleichzeitig kann der Sensor-Wertebereich für das aktuelle Pixel („Z") vorgesehen werden, indem die benachbarten Sensorwerte 30 in der gleichen Farbebene wie das aktuelle Pixel in aufsteigender Reihenfolge (510) sortiert werden, und ein Maximal-Sensorwert, Minimal-Sensorwert und Median-Sensorwert aus den Sensorwerten 30 der benachbarten Pixel in der aktuellen Zeile 28a und in zumindest zwei vorhergehen Zeilen 28b ermittelt werden (Schritt 512). Beispielsweise können unter Verwendung des 3 × 9-Pixelblocks 25 der 4 die Maximal-Minimal- und Median-Sensorwerte wie folgt wiedergegeben werden: Minimum = Minimum(X33, X15, X37); Median = Median(X33, X15, X37); Maximum = Maximum(X33, X15, X37).
  • Nachdem der Wertebereich der Sensorwerte (Minimum und Maximum) für das aktuelle Pixel ermittelt wurden, überprüft der Fehlerpixelkorrektur-Algorithmus, ob der aktuelle Sensorwert 35 ein lokales Maximum (Schritt 514) oder lokales Minimum (Schritt 516) ist. Wenn das aktuelle Pixel weder ein lokales Maximum (heller als die benachbarten Pixel der gleichen Farbe) oder ein lokales Minimum ist (dunkler als die benachbarten Pixel der gleichen Farbe) ist, dann ist das aktuelle Pixel („Z") kein defektes Pixel (Schritt 518). Beispielsweise kann der aktuelle Sensorwert 35 als lokales Maximum bezeichnet werden, wenn gilt: (dFarbe(2) > 0) UND (dFarbe(3) < 0) UND (dVert > 0).
  • Wenn daher die Gradienten der gleichen Farbe und nächstliegend zu dem aktuellen Pixel („Z") angeben, daß der aktuelle Sensorwert 35 größer als der nächste Pixelnachbar der gleichen Farbe in der aktuellen Zeile 28a ist, und der vertikale Gradient angibt, daß der aktuelle Sensorwert 35 größer als der benachbarte Pixel der gleichen Farbe direkt oberhalb des aktuellen Pixels ist, dann ist der aktuelle Sensorwert 35 ein lokales Maximum. In gleicher Weise kam der aktuelle Sensorwert 35 als lokales Minimum bezeichnet werden, wenn gilt: (dFarbe(2) < 0) UND (dFarbe(3) > 0) UND (dVert < 0).
  • Wenn daher die Gradienten der gleichen Farbe und nächstliegend zu dem aktuellen Pixel („Z") angeben, daß der aktuelle Sensorwert 35 kleiner als der nächste Pixelnachbar der gleichen Farbe in der aktuellen Zeile 28a ist, und der vertikale Gradient angibt, daß der aktuelle Sensorwert 35 kleiner als der benachbarte Pixel der gleichen Farbe direkt oberhalb des aktuellen Pixels ist, dann ist der aktuelle Pixelwert 35 ein lokales Minimum.
  • Lokale Maxima und lokale Minima werden leicht unterschiedlich verarbeitet und werden daher unter Bezugnahme auf die 5B bzw. 5C getrennt betrachtet. Wenn das aktuelle Pixel ein lokales Maximum ist (Schritt 515), wird in der 5B überprüft, ob der Sensorwert 35 des aktuellen Pixels („Z") konsistent mit den Gradienten der gleichen Farbebene ist (Schritt 520). Beispielsweise wird unter Verwendung von 4 von dem aktuellen Sensorwert 35 angenommen, daß er konsistent mit den Gradienten der gleichen Farbebene ist, wenn gilt: (dFarbe(1) > = 0) UND (dFarbe(4) < = 0) UND (dVertHauptdiag > = 0) UND (dVertNebendiag > = 0).
  • Wenn daher die Gradienten benachbarter Pixel außerhalb der direkten Nachbarn angeben, daß das aktuelle Pixel auf einer lokalen Rinne liegt, so daß mit einer zunehmenden Position entlang der Zeile die Sensorwerte 30 zur linken des aktuellen Pixels („Z") zunehmen, und die Sensorwerte 30 rechts des aktuellen Pixels („Z") abnehmen, wird angenommen, daß der aktuelle Sensorwert 35 konsistent mit den Gradienten in der gleichen Farbebene ist. In diesem Fall kann der Maximalwert in dem Wertebereich um das Maximum der Gradienten auf beiden Seiten des aktuellen Pixels erhöht werden (Schritt 522). Beispielsweise kann der Maximalwert wie folgt erhöht werden: Maximum = Maximum + max(dFarbe(1), – dFarbe(4)).
  • Das Erhöhen des maximalen Werts des Sensorwertebereichs berücksichtigt die Eigenschaften des Gebiets (beispielsweise, wenn sich das aktuelle Pixel auf einer lokalen Rinne befindet) und verringert daher die Wahrscheinlichkeit der fälschlichen Detektion eines defekten Pixels.
  • Als eine weitere Überprüfung; ob sich der aktuelle Pixel auf einer lokalen Rinne befindet, wenn der aktuelle Sensorwert 35 nicht konsistent mit Gradienten der gleichen Farbebene ist, kann überprüft werden, ob der Sensorwert 35 des aktuellen Pixels („Z") konsistent mit den Gradienten anderer Farbebenen ist (Schritt 524). Beispielsweise unter Verwendung von 4 kann von dem aktuellen Sensorwert 35 angenommen werden, daß dieser konsistent mit den Gradienten in anderen Farbebenen ist, wenn gilt: (dAndereFarbe(1) > = 0) UND (dAndereFarbe(2) < = 0).
  • Wenn daher die Gradienten für die benachbarten Pixel in anderen Farbebenen angeben, daß sich das aktuelle Pixel auf einer lokalen Rinne befindet, so daß sich mit zunehmender Position entlang der Zeile die Sensorwerte 30 in einer anderen Farbebene links des aktuellen Pixels („Z") erhöht, und die Sensorwerte 30 in der anderen Farbebene rechts des aktuelle Pixels („Z") verringert, wird von dem aktuellen Sensorwert 35 angenommen, daß dieser konsistent mit den Gradienten in anderen Farbebenen ist.
  • In diesem Fall kann der Maximalwert in dem Wertebereich um das Maximum der Gradienten auf beiden Seiten des aktuellen Pixels („Z") erhöht werden (Schritt 526). Beispielsweise kann der Maximalwert wie folgt erhöht werden: Maximum = Maximum + max(dandereFarbe(1), –dandereFarbe(2)).
  • Der Betrag der Erhöhung des Maximalwerts hängt davon ab, wie steil die lokale Rinne tatsächlich ist. Wenn beispielsweise die Gradienten in der aktuellen Zeile 28a der gleichen Farbebene oder einer anderen Farbebene hoch sind, wodurch angegeben wird, daß das Gebiet ein texturiertes Gebiet ist (das heißt, es besteht eine deutliche Änderung der Lichtintensität innerhalb des Gebiets), erhöht sich der Maximalwert deutlich. Wenn jedoch die Gradienten in der aktuellen Zeile 28a der gleichen Farbebene oder einer anderen Farbebene gering sind, wodurch angegeben wird, daß das Gebiet ein gleichmäßiges Gebiet ist (das heißt, die Lichtintensität in dem Gebiet ändert sich nur geringfügig), wird der Maximalwert nur wenig erhöht. Wenn der aktuelle Sensorwert 35 nicht konsistent mit dem Gradienten in der aktuellen Zeile 28a der gleichen Farbebene oder einer anderen Farbebene ist, wird der Maximalwert nicht erhöht.
  • Sobald der Maximalwert eingestellt ist (abhängig davon, ob sich das aktuelle Pixel auf einer lokalen Rinne befindet), wird der Maximalwert von dem Sensorwert 35 des aktuellen Pixels „Z" abgezogen (Schritt 528), um zu ermitteln, wie stark der maximale Wert über dem aktuellen Sensorwert 35 liegt. Beispielsweise kann ein Differenzwert (d) wie folgt berechnet werden: d = Z – Maximum.
  • Dieser Differenzwert sieht eine Angabe dafür vor, wie stark fehlgestellt bzw. verschoben (skewed) der aktuelle Sensorwert 35 im Vergleich mit benachbarten Sensorwerten ist. Jedoch kann auch im Fall von großen Differenzwerten der aktuelle Sensorwert 35 trotzdem das Ergebnis eines normalen Pixels sein, abhängig von der lokalen Rauhigkeit und dem Vorliegen möglicher vertikaler Linien.
  • Daher wird überprüft, ob der Differenzwert durch die lokale Rauhigkeit vorhergesehen werden kann, bevor das Pixel („Z") als defektes Pixel bezeichnet bzw. markiert wird. Um zu ermitteln, ob der Differenzwert durch die lokale Rauhigkeit vorgesehen werden kann, werden die durchschnittlichen Absolutwerte der Gradienten auf beiden Seiten des aktuellen Pixels („Z") in der gleichen Zeile 28a berechnet, und der kleinere absolute Durchschnittswert wird zum Vergleich mit dem Differenzwert (d) verwendet (Schritt 530). Daher kann der kleinste Durchschnittsgradient (v) wie folgt berechnet werden: v = min((abs(dFarbe(1)) + abs(dandereFarbe(1)))/2, (abs(dFarbe(4)) + abs(dandereFarbe(2)))/2).
  • Um zu verhindern, daß feine vertikale oder diagonale Linien herausgefiltert werden, wird ebenfalls der kleinste Absolutwert der vertikalen Gradienten (dVertmin) wie folgt berechnet (Schritt 532): dVertmin = min (abs(dVert), abs(dVertHauptdiag), abs(dVertNebendiag)).
  • Es ist zu bemerken, daß die Gradienten gemäß der Orientierung gewichtet werden können, wenn der kleinste Durchschnittsgradient und der kleinste vertikale Gradient ermittelt werden, um Variationen in den Sensorwerten zu berücksichtigen.
  • Wenn der Differenzwert (d) ausreichend größer als das ist, was von den benachbarten Stellen vorgegeben wird, wird der aktuelle Pixel („Z") als ein defektes Pixel ermittelt. Die benachbarten Stellen werden durch den kleinsten Durchschnittsgradienten (v) definiert. Der über dem kleinsten Durchschnittsgradienten (v) liegende zulässige Betrag, bevor das Pixel („Z") als defekt betrachtet wird, wird unter Verwendung von einem oder mehreren Schwellwertparametern definiert (Schritt 534). Wenn daher der Differenzwert (d) des aktuellen Pixels Z einen Schwellwert übersteigt, der unter Verwendung des kleinsten Durchschnittsgradienten v und einem oder mehrerer Schwellwertparameter berechnet wurde (Schritt 536), und, wenn der kleinste vertikale Gradient ebenfalls diesen Schwellwertbetrag übersteigt (Schritt 538), wird das aktuelle Pixel („Z") als ein defektes Pixel ermittelt (Schritt 540).
  • Ferner wird der kleinste vertikale Gradient ebenfalls mit dem Schwellwertbetrag verglichen, um zu gewährleisten, daß der Sensorwert 35 des aktuellen Pixels Z keine vertikale oder diagonale Linie darstellt. Wenn der Sensorwert 35 des aktuellen Pixels Z eine vertikale oder diagonale Linie dargestellt hat, wären eine oder mehrere der vertikalen Gradienten relativ klein, da die Sensorwerte des aktuellen Pixels und ein vertikales oder diagonales Pixel sehr nahe liegen würden. Wenn jedoch der Sensorwert 35 des aktuellen Pixels Z keine vertikale oder diagonale Linie dargestellt hat, wäre auch der kleinste der vertikalen Gradienten groß, wenn das aktuelle Pixel („Z") defekt wäre.
  • Die Schwellwertparameter können einen oder mehrere variable Parameter und/oder einen oder mehrere feste Parameter umfassen, die ausgewählt werden, um das Verhältnis der fälschlicherweise als defekt detektierte Pixel zu den korrekt als defekt detektierten Pixel zu optimieren. Die Schwellwertparameter können beispielsweise einen Skalierungsfaktor umfassen, der mit dem kleinsten Durchschnittsgradienten (v) modifiziert wird, der abhängig von Lichtbedingungen, lokalen Sensorwerten, Sensortyp usw. variiert. Die Schwellparameter können ferner einen Sockelbetrag umfassen, der zu dem kleinsten Durchschnittgradienten (v) addiert wird, um den Betrag zu erhöhen, über dem von dem Differenzwert (d) angenommen wird, daß dieser ein defektes Pixel wiedergibt. Der Sockelwert kann vorkonfiguriert oder abhängig von Lichtbedingungen, lokalen Sensorwerten, Sensortyp, usw. variiert werden. Die Schwellwertparameter können während des Herstellungsprozesses, von einem Bediener des digitalen Abbildungssystems, oder unter Verwendung einer Tabelle von Werten für Parameter basierend auf Lichtbedingungen usw. eingestellt werden. Beispielsweise können die Schwellwertparameter basierend auf einem automatischen Belichtungssystem der Kamera eingestellt werden. Bei Bedingungen mit geringem Licht öffnet das automatische Belichtungssystem die Blende für eine längere Zeitdauer, als bei normalen oder hellen Lichtbedingungen, um die geringen Sensorwerte zu erhöhen. Daher kann die Zeitdauer, für die das automatische Belichtungssystem die Blende öffnet, die während des Fehlerpixelkorrektur-Prozesses verwendeten Schwellwertparameter bestimmen.
  • Daher kann das aktuelle Pixel („Z") nicht von den benachbarten Stellen geschätzt werden und wird als defekt betrachtet, wenn gilt: (d > (v·Skalierungsfaktor + Sockelbetrag)) UND (dVertmin > (v·Skalierungsfaktor + Sockelbetrag)).
  • Beispielhafte Zahlen für den Skalierungsfaktor und den Sockelbetrag in dieser Ausführung sind: Skalierungsfaktor = 2 und Sockelbetrag = 8. Wenn der Sensorwert 35 des aktuellen Pixels („Z") unter dem Schwellwertbetrag liegt und/oder der kleinste vertikale Gradient unter dem Schwellwertbetrag liegt, wird eine letzte Überprüfung des Sensorwerts 35 selbst durchgeführt, um zu gewährleisten, daß Sensorwerte, die deutlich größer sind als zu erwarten ist, als defekt bezeichnet werden, auch wenn der Sensorwert von den benachbarten Stellen geschätzt werden kann (unter Verwendung einer oder beider obengenannten Gleichungen). Daher wird eine obere Grenze unter Verwendung des Maximalwerts und eines Schwellwertparameters (Schritt 542) verwendet. Wenn der Sensorwert 35 des aktuellen Pixels („Z") über der oberen Grenzen liegt (Schritt 544), wird das aktuelle Pixel („Z") als defekt betrachtet (Schritt 540). Die Gleichung zur Ermittlung, ob das aktuelle Pixel defekt ist, basierend auf einem Schwellwertparameter (der auch als Fehlerbetrag-Entfernung bzw. Außerhalb-Entfernung bezeichnet wird), ist wie folgt gegeben: Z > Maximumn + Fehlerbetrag Entfernung.
  • Eine beispielhafte Zahl für eine Fehlbetrag-Entfernung ist 64. Wenn der Sensorwert 35 von den benachbarten Stellen vorhergesagt werden kann, und nicht oberhalb einer Fehlbetrag-Entfernung liegt, ist das aktuelle Pixel („Z") nicht defekt (Schritt 546). Wenn jedoch das aktuelle Pixel („Z") als defekt ermittelt wird (Schritt 540), wird der Sensorwert 35 des aktuellen Pixels („Z") durch einen Wert ersetzt, der auf benachbarten Sensorwerten 30 basiert (Schritt 548). Zum Beispiel kann der aktuelle Sensorwert 35 durch einen Medianwert der benachbarten Sensorwerte 30 ersetzt werden. Es ist jedoch ersichtlich, daß andere Ersetzungswerte verwendet werden können, beispielsweise ein bilinear interpolierter Wert oder ein replizierter Pixelwert (des nächsten Nachbarn).
  • Wenn der Sensorwert 35 des aktuellen Pixels („Z") ein lokales Minimum ist (Schritt 517), vgl. 5C, wird überprüft, ob der Sensorwert 35 des aktuellen Pixels („Z") konsistent mit dem Gradienten der gleichen Farbebene ist (Schritt 550). Beispielsweise unter Verwendung der 4 wird von dem aktuellen Sensorwert 35 angenommen, daß dieser konsistent mit den Gradienten in der gleichen Farbebene ist, wenn gilt: (dFarbe(1) < = 0 UND (dFarbe(4) > = 0) UND (dHauptdiag < = 0) UND (dNebendiag < = 0).
  • Wenn daher die Gradienten für benachbarte Pixel außerhalb des direkten Nachbars angeben, daß sich der aktuelle Pixel auf einer lokalen Rinne befindet, so daß mit zunehmender Position entlang der Zeile die Sensorwerte 30 rechts des aktuellen Pixels („Z") zunehmen, und die Sensorwerte 30 zur rechten des aktuellen Pixels („Z") zunehmen, kann von dem aktuellen Pixelsensorwert 30 angenommen werden, daß dieser konsistent mit den Gradienten der gleichen Farbebene ist. In diesem Fall kann der Minimalwert in dem Wertebereich um das Minimum der Gradienten auf beiden Seiten des aktuellen Pixels („Z") verringert werden (Schritt 552). Beispielsweise kann der Minimalwert wie folgt verringert werden: Minimum = Minimum + min(dFarbe(1), –dFarbe(4)).
  • Es ist zu bemerken, daß der Gradient dFarbe(1) negativ ist und der Gradient dFarbe(4) positiv ist, wodurch das Addieren der Gradienten wie oben dargestellt zu dem Minimalwert den Minimalwert verringert. Das Verringern des Minimalwerts in dem Wertebereich der Sensorwerte berücksichtigt die Gegebenheiten der lokalen Rauhigkeit und verringert daher die Wahrscheinlichkeit einer falschen Detektion eines defekten Pixels.
  • Als eine weitere Überprüfung, ob der aktuelle Pixel auf einer lokalen Rinne liegt, wenn der aktuelle Sensorwert 35 nicht konsistent mit Gradienten der gleichen Farbebene ist, kann überprüft werden, ob der Sensorwert 35 des aktuellen Pixels („Z") konsistent mit Gradienten in anderen Farbebenen ist (Schritt 554). Beispielsweise unter Verwendung der 4 wird von dem aktuellen Sensorwert 35 angenommen, daß dieser konsistent mit den Gradienten in anderen Farbebenen ist, wenn gilt: (dAndereFarbe(1) < = 0) UND (dAndereFarbe(2) > = 0).
  • Wenn daher die Gradienten für benachbarte Pixel in anderen Farbebenen angeben, daß das aktuelle Pixel auf einer lokalen Rinne liegt, so daß mit zunehmender Position entlang der Zeile die Sensorwerte 30 in einer anderen Farbebene rechts des aktuellen Pixels („Z") abnehmen, und die Sensorwerte 30 in der anderen Farbebene rechts des aktuellen Pixels („Z") zunehmen, wird von dem aktuellen Sensorwert 35 angenommen, daß dieser konsistent mit den anderen Gradienten in anderen Farbebene ist. In diesem Fall kann der Minimalwert in dem Wertebereich um das Minimum der Gradienten auf beiden Seiten des aktuellen Pixels („Z") verringert werden (Schritt 556). Beispielsweise kann der Minimalwert wie folgt verringert werden: Minimum = Minimum + min(dAndereFarbe(1), –dAndereFarbe(2)).
  • Wiederum ist der Gradient dAndereFarbe(1) negativ und der Gradient dAndereFarbe(2) positiv, so daß das Addieren beider Gradienten zu dem Minimalwert, wie oben dargestellt ist, den Minimalwert verringert. Der Betrag der Verringerung des Minimalwerts hängt davon ab, wie steil die lokale Rinne tatsächlich ist. Wenn beispielsweise die Gradienten in der aktuellen Zeile 28a der gleichen Farbebene oder einer anderen Farbebene groß sind, wodurch angegeben wird, daß das Gebiet ein texturiertes Gebiet ist (d.h. es gibt eine deutliche Änderung hinsichtlich der Lichtintensität innerhalb des Gebiets), wird der Minimalwert deutlich verringert.
  • Wenn jedoch die Gradienten in der aktuellen Zeile 28a der gleichen Farbebene oder einer anderen Farbebene klein sind, wodurch angegeben wird, daß der Bereich ein gleichförmiger Bereich ist (d.h. die Lichtintensität in dem Gebiet ändert sich nur geringfügig), wird der Minimalwert nur wenig verringert. Wenn der Sensorwert 35 nicht konsistent mit den Gradienten in der aktuellen Zeile 28a der gleichen Farbebene oder einer anderen Farbebene ist, wird der Minimalwert nicht verringert.
  • Sobald der Minimalwert eingestellt ist (abhängig davon, ob der aktuelle Pixel auf einer lokalen Rinne liegt), wird der Sensorwert 35 des aktuellen Pixels („Z") von dem Minimalwert abgezogen (Schritt 558), um zu ermitteln, wie stark der aktuelle Sensorwert 35 unter dem Minimalwert liegt. Beispielsweise kann ein Differenzwert (d) wie folgt berechnet werden: d = Minimum – Z.
  • Der Differenzwert sieht eine Angabe dafür vor, wie stark fehlgestellt der aktuelle Sensorwert 35 im Vergleich zu den benachbarten Sensorwerten ist. Jedoch auch für den Fall von großen Differenzwerten kann der aktuelle Sensorwert 35 trotzdem das Ergebnis eines normalen Pixels sein, abhängig von der lokalen Rauhigkeit und dem Vorliegen möglicher vertikaler Linien.
  • Daher wird überprüft, wie auch in dem Fall, in dem der aktuelle Sensorwert 35 ein lokales Maximum ist, ob der Differenzwert (d) durch die lokale Rauhigkeit vorhergesagt werden kann, bevor das Pixel („Z") als defektes Pixel bezeichnet wird, indem der kleinste Durchschnittsgradient (v) auf beiden Seiten des aktuellen Pixels („Z") als Vergleich mit dem Differenzwert (d) verwendet wird (Schritt 560). Um zu verhindern, daß feine vertikale oder diagonale Linien herausgefiltert werden, wird ferner der kleinste Absolutwert der vertikalen Gradienten (dVertmin) berechnet (Schritt 562), wie bereits oben für den Fall des lokalen Maximums betrachtet wurde.
  • Wenn der Differenzwert (d) ausreichend größer als das ist, was von den benachbarten Stellen vorgegeben ist, dann das aktuelle Pixel („Z") als ein defektes Pixel ermittelt. Es wird ein Vergleich für den Fall des lokalen Minimums durchgeführt, der im wesentlichen demjenigen des Falls des lokalen Maximums entspricht, um zu ermitteln, ob der Differenzwert (d) des aktuellen Pixels („Z") einen Schwellwert überschreitet, der unter Verwendung des kleinsten Durch schnittgradienten (v) und eines oder mehrerer Schwellwertparameter berechnet wurde (Schritt 564 und 566). In diesem Fall, und wenn der kleinste vertikale Gradient ebenfalls den Schwellwertbetrag überschreitet (Schritt 568), wird das aktuelle Pixel („Z") als defektes Pixel ermittelt (Schritt 570).
  • Daher kann, wie im Fall des lokalen Maximums, das aktuelle Pixel („Z") nicht durch die benachbarten Stellen vorherbestimmt werden, und wird als defekt betrachtet, wenn gilt: (d > (v·Skalierungsfaktor + Sockelbetrag)) UND (dVerimin > (v·Skalierungsfaktor + Sockelbetrag)).
  • Wenn der Sensorwert 35 des aktuellen Pixels („Z") unter dem Schwellwertbetrag liegt und/oder der kleinste vertikale Gradient unter dem Schwellwertbetrag liegt, wird eine letzte Überprüfung des Sensorwerts 35 selbst durchgeführt, um zu gewährleisten, daß Sensorwerte, die deutlich kleiner sind, als zu erwarten ist, als defekt bezeichnet werden, auch wenn der Sensorwert von den benachbarten Stellen geschätzt werden kann (unter Verwendung einer oder beider obengenannten Gleichungen). Daher wird eine untere Grenze unter Verwendung des Minimalwerts eines Schwellwertparameters (Schritt 572) verwendet. Wenn der Sensorwert 35 des aktuellen Pixels („Z") unter der unteren Grenzen liegt (Schritt 574), wird das aktuelle Pixel („Z") als defekt betrachtet (Schritt 570). Die Gleichung zur Ermittlung, ob das aktuelle Pixel defekt ist, basierend auf einem Schwellwertparameter (der auch als Fehlbetrag-Entfernung), ist wie folgt gegeben: Z < Minimum – Fehlbetrag_Entfernung.
  • Wenn der Sensorwert 35 von den benachbarten Stellen vorhergesagt werden kann, und nicht unter einer Fehlbetrag-Entfernung liegt (Schritt 574), ist das aktuelle Pixel („Z") nicht defekt (Schritt 576). Wenn jedoch das aktuelle Pixel („Z") als defekt ermittelt wird (Schritt 570), wird der Sensorwert 35 des aktuellen Pixels („Z") durch einen Wert ersetzt, der auf benachbarten Sensorwerten 30 basiert (Schritt 578). Zum Beispiel kann der aktuelle Sensorwert 35 durch einen Medianwert der benachbarten Sensorwerte 30 ersetzt werden. Es ist jedoch ersichtlich, daß andere Ersetzungswerte verwendet werden können, beispielsweise ein bilinear interpolierter Wert oder Wert des nächsten Nachbarn.
  • In anderen Ausführungen werden die vertikalen und diagonalen Gradienten bei der Ermittlung, ob das aktuelle Pixel defekt ist, nicht verwendet, um die Anzahl an in dem Puffer 50 zur Verarbeitung gespeicherten Zeilen zu verringern. Daher wird nur die aktuelle Zeile 28a in dem Puffer gespeichert, anstatt drei oder mehr Zeilen in dem Puffer, wie in 6 dargestellt ist, zu speichern, um diese zur Verwendung in den Ausführungen des Fehlerpixelkorrektur-Algorithmus der vorliegenden Erfindung vorzusehen. Wie auch in der 4 dargestellt ist, wird der Sensorwert 35 in der 6 des aktuellen Pixels, welches betrachtet, wird als „Z" bezeichnet, wobei die Sensorwerte 30, die sich aus Pixel der gleichen Farbe wie das aktuelle Pixel ergeben, als „Xn" bezeichnet werden, und die Sensorwerte 30, die sich aus Pixeln anderer Farben ergeben, als „Yn" bezeichnet werden.
  • Die Zeile 28a mit Werten 30 in der 6 wird verwendet, um eine beispielhafte Implementierung des Fehlerpixelkorrektur-Algorithmus darzustellen, der in den beispielhaften Schritten der 7 dargestellt ist. Da nur eine Zeile vorgesehen ist, können die vertikalen und diagonalen Gradienten nicht berechnet werden. Daher werden alle vertikalen und diagonalen Gradienten auf Null gesetzt (Schritt 700). Ebenfalls werden die benachbarten Sensorwerte 30 der gleichen Farbebene (auf der gleichen Zeile 28a) in einer aufsteigenden Reihenfolge sortiert, um das Maximum und das Minimum zu ermitteln, wie oben bezüglich 5A beschrieben wurde. Beispielsweise können die Pixel X33 und X37 in aufsteigender Reihenfolge sortiert werden, so daß entweder X33 oder X37 der Maximalwert ist, und entweder X33 oder X37 der Minimalwert ist.
  • Wenn der Sensorwert 35 des aktuellen Pixels („Z") über dem Maximum liegt, ist der aktuelle Sensorwert 35 ein lokales Maximum (Schritt 705), und es können der Differenzwert (d) und der minimale Durchschnittgradient (v) berechnet werden, wie in 5b dargestellt ist (Schritt 710). Wenn jedoch der Sensorwert 35 des aktuellen Pixels („Z") unter dem Minimum liegt, ist der aktuelle Sensorwert 35 ein lokales Minimum (Schritt 715) und der Differenzwert (d) sowie der minimale Durchschnittgradient (v) können berechnet werden, wie es in 5c dargestellt ist (Schritt 720). Wenn andernfalls der Sensorwert 35 des aktuellen Pixels („Z") weder über dem Maximum noch unter dem Minimum liegt, ist das aktuelle Pixel („Z") nicht defekt (Schritt 725).
  • In beiden Fällen, d.h. im Fall des lokalen Maximums und des lokalen Minimums, werden der Differenzwert (d) und der minimale Durchschnittsgradient (v) so berechnet, wie es oben be zugnehmend auf die 5B bzw. 5C beschrieben wurde, bis auf die Tatsache, daß vertikale Gradienten bei der Berechnung oder zum Vergleich nicht verwendet werden. Um beispielsweise zu ermitteln, ob der aktuelle Sensorwert 35 als konsistent mit den Gradienten in der gleichen Farbebene anzusehen ist, und somit der Maximalwert erhöht werden kann, werden nur Gradienten in der gleichen Zeile 28a verwendet. Daher wird unter Verwendung von 6 der Maximalwert um das Maximum der Gradienten auf beiden Seiten des aktuellen Pixels („Z") erhöht, wenn gilt: (dFarbe(1) > = 0) UND (dFarbe(4) < = 0).
  • Wenn der aktuelle Sensorwert 35 nicht konsistent mit den Gradienten der gleichen Farbebene ist, kann der minimale Farbwert auch basierend auf Gradienten in anderen Farbebenen erhöht werden, wie in 5B dargestellt ist. Sobald der Maximalwert eingestellt ist (abhängig davon, ob der aktuelle Pixel auf einer lokalen Rinne liegt), kann der Differenzwert (d) und der kleinste absolute Durchschnittswert der Gradienten (v) auf beiden Seiten des aktuellen Pixels („Z") auf der gleichen Zeile 28a berechnet werden, wie in 5B dargestellt ist. Jedoch wird der kleinste vertikale Gradient nicht berechnet (da nur eine Zeile bei der Ermittlung, ob das aktuelle Pixel defekt ist, verwendet wird). Ähnliche Änderungen in 5C werden für den Fall des lokalen Minimums verwendet.
  • Für den Fall sowohl des lokalen Maximums als auch für den Fall des lokalen Minimums wird der Differenzwert (d) des aktuellen Pixels („Z") mit einem Schwellwertbetrag verglichen, der unter Verwendung des kleinsten Durchschnittsgradienten (v) und eines oder mehrerer Schwellwertparameter berechnet wurde, um zu ermitteln, ob das aktuelle Pixel („Z") defekt ist (Schritt 730). Daher kann, wie in 5B oder 5C dargestellt ist, der Schwellwert durch die folgende Gleichung ausgedrückt werden: Schwellwertbetrag = (v·Skalierungsfaktor) + Sockelbetrag.
  • In der einzeiligen Ausführung kann der Schwellwertbetrag um die Hälfte verringert werden (Schritt 735), wenn der aktuelle Sensorwert 35 ein lokales Maximum oder ein lokales Minimum ist, und den entgegengesetzten Gradienten wie die Nachbarn aufweist (d.h. daß der aktuelle Sensorwert ein „Krater" ist), so daß mit einem höheren Maß an Sicherheit bestimmt werden kann, daß das aktuelle Pixel („Z") defekt ist. Daher wird das aktuelle Pixel („Z") so wohl in dem Fall des lokalen Maximums als auch des lokalen Minimums als defekt angenommen, wenn der Differenzwert (d) kleiner als der verringerte Schwellwertbetrag ist (Schritt 740), wie die folgende Gleichung darstellt: d > Schwellwertbetrag/2.
  • Ferner kann in dem einzeiligen Fall eine Fehlbetrag-Entfernung verwendet werden (obwohl dies nicht dargestellt ist). Wenn das aktuelle Pixel („Z") als defekt ermittelt wird (Schritt 745), wird der Sensorwert 35 des aktuellen Pixels („Z") durch einen Wert ersetzt, der auf benachbarte Sensorwerte 30 basiert. Wenn beispielsweise der linke Gradient einen höheren Wert wie der rechte Gradient hat (Schritt 750), kann der aktuelle Sensorwert 35 durch eine linearen Vorhersage basierend auf dem linken Nachbarn ersetzt werden (Schritt 755). Andernfalls kann der aktuelle Sensorwert 35 durch eine lineare Vorhersage basierend auf dem rechten Nachbarn ersetzt werden (Schritt 760). Unter Verwendung von 6 gilt:
    Wenn abs(dFarbe(1)) < abs(dFarbe(4)), dann Zneu = 2·X33 – X31, oder Zneu = 2·X37 – X39.
  • In einer weiteren Ausführung kann statt des Verwendens der aktuellen Sensorwerte, um den Wertebereich der Sensorwerte zu bilden, und um die Maximal- und/oder Minimalwerte unter Verwendung von Gradienten in der gleichen Farbebene oder in verschiedenen Farbebenen zu modifizieren, der Wertebereich der Sensorwerte direkt aus den Gradienten benachbarter Pixel in anderen Farbebenen und aus Sensorwerten aus anderen Zeilen als die des aktuellen Pixels berechnet werden. Beispielsweise zeigt die 8 beispielhafte Roh-Sensorwerte 30, die sich aus einem 5 × 5 Pixelblock 25 ergeben, der in den Ausführungen des Fehlerpixelkorrektur-Algorithmus der vorliegenden Erfindung verwendet werden kann.
  • Wie in den 4 und 6 wird der Sensorwert 35 in der 8 des zu betrachtenden aktuellen Pixels als „Z" bezeichnet, der Sensorwert 30, der sich aus Pixeln ergibt, die die gleiche Farbe wie das aktuelle Pixel haben, werden als „Xn" bezeichnet, und die Sensorwerte 30, die sich aus Pixeln anderer Farben ergeben, werden als „Yn" bezeichnet. Es sind Sensorwerte für die Werte nicht dargestellt, die bei der Ermittlung, ob das aktuelle Pixel defekt ist, nicht verwendet werden. Der in 8 dargestellte 5 × 5 Pixelblock 25 ermöglicht, daß vertikale Gra dienten von benachbarten Pixeln in anderen Zeilen 28b sowohl oberhalb als auch unterhalb der aktuellen Zeile 28a des aktuellen Pixels („Z") bei der Berechnung des Wertebereichs der Sensorwerte verwendet werden können. Es ist jedoch ersichtlich, daß in anderen Ausführungen nur vertikale Gradienten entweder oberhalb oder unterhalb des aktuellen Pixels („Z") verwendet werden können, wobei das erstere in 9 dargestellt ist.
  • Die 10 ist ein Flußdiagramm, welches beispielhafte Schritte zum Ausführen des Fehlerpixelkorrektur-Algorithmus basierend entweder auf einem 5 × 5 Pixelblock 25, der in 8 dargestellt ist, oder basierend auf einem in 9 dargestellten 3 × 5 Pixelblock 25 gemäß weiteren Ausführungen der vorliegenden Erfindung zeigt. Nach dem Abrufen der benötigten Anzahl an benachbarten Sensorwerten 30 aus dem Puffer, um den Sensorwert 35 des aktuellen Pixels („Z") zu analysieren (Schritt 900), können ein oder mehrere Schwellwertparameter eingestellt werden (Schritt 905), um die Anzahl falscher Detektionen defekter Pixel zu verringern. Beispielsweise können die Schwellwertparameter sowohl den Skalierungsfaktor als auch den Sockelbetrag umfassen, der oben in Verbindung mit den 5 und 7 betrachtet wurde.
  • Ausgehend von den abgerufenen Nachbarsensorwerten werden horizontale, vertikale und diagonale Gradienten aus Pixelnachbarn anderer Farben der gleichen Zeile und in benachbarten Zeilen berechnet (Schritt 910). Die horizontalen, vertikalen und diagonale Gradienten werden verwendet, um geschätzte Werte des aktuellen Pixels („Z") aus jedem Pixelnachbar der gleichen Farbe zu berechnen (Schritt 915), wobei eine Taylor-Folgefunktion verwendet wird (d.h. der aktuelle Sensorwert 35 kann aus benachbarten Sensorwerten 30 basierend auf dem Anstieg der Funktion geschätzt werden, die die benachbarten Sensorwerte 30 definiert). Die geschätzten Werte bilden den Wertebereich der Sensorwerte, die für das aktuelle Pixel zu erwarten sind. Beispielsweise können unter Verwendung des 5 × 5-Pixelblocks 25 der 8 die geschätzten Werte folgendes umfassen: E1 = Schätzung(X2) = (((Y6 – Y1) + (Y7 – Y2))/2) + X2 E2 = Schätzung(X7) = (((Y6 – Y11) + (Y7 – Y12))/2) + X7 E3 = Schätzung(X4) = (((Y4 – Y3) + (Y9 – Y8))/2) + X4 E4 = Schätzung(X5) = (((Y4 – Y5) + (Y9 – Y10))/2) + X5 E5 = schätzung(X1) = (((Y7 – Y1) + (Y9 – Y3))/2) + X1 E6 = Schätzung(X3) = (((Y6 – Y2) + (Y9 – Y5))/2) + X3 E7 = Schätzung(X6) = (((Y4 – Y8) + (Y7 – Y11))/2) + X6 E8 = Schätzung(X8) = (((Y6 – Y12) + (Y4 – Y10))/2) + X8.
  • In einem weiteren Beispiel können unter Verwendung des 3 × 5-Pixelblocks von 9 die Schätzwerte umfassen: E1 = Schätzung(X2) = (Y6 – Y1) + X2 E2 = Schätzung(X2) = (Y7 – Y2) + X2 E3 = Schätzung(X4) = (Y4 – Y3) + X4 E4 = Schätzung(X4) = (Y7 – Y6) + X4 E5 = Schätzung(X5) = (Y4 – Y5) + X5 E6 = Schätzung(X5) = (Y6 – Y7) + X5 E7 = Schätzung(X1) = (Y7 – Y1) + X1 E8 = Schätzung(X3) = (Y6 – Y2) + X3.
  • Es ist ersichtlich, daß die Gradienten unter Verwendung von Pixel berechnet werden, die innerhalb eines Zwei-Pixel-Radius zu dem aktuellen Pixel („Z") angeordnet sind. Im Vergleich zu den in 47 dargestellten Ausführungen werden die Gradienten innerhalb der Ausführungen, die in den 810 dargestellt sind, aus einer näheren Umgebung (näher zu dem aktuell betrachteten Pixel) berechnet, wodurch sich eine verbesserte Schätzung des zu erwartenden Sensorwertebereichs für das aktuelle Pixel („Z") ergibt. Daher erhöht die Verwendung von näheren Gradienten die Auffindbarkeit defekter Pixel und sieht einen genaueren Ersetzungswert für defekte Pixel vor.
  • Die maximalen und minimalen Sensorwerte des Wertebereichs der Sensorwerte für das aktuelle Pixel können gebildet werden, indem die oben berechneten geschätzten Werte in einer aufsteigenden Reihenfolge sortiert werden und der maximale Schätzwert und der minimale Schätzwert berechnet wird. Ferner kann auch eine Mittelschätzung aus dem geschätzten Werten berechnet werden, um bei der Ermittlung verwendet zu werden, ob das aktuelle Pixel defekt ist (Schritt 920). Beispielsweise können die Maximal-, Minimal- und Mittel-Sensorwerte wie folgt dargestellt werden: Minimum = Minimum(E1..E8); Mittel = Mittel(E1..E8); Maximum = Maximum(E1..E8).
  • Wenn der Sensorwert des aktuellen Pixels um mehr als einen Schwellwert, der unter Verwendung der Mittelschätzung berechnet wurde, kleiner als die minimale Schätzung oder größer als die maximale Schätzung ist, wird das aktuelle Pixel als defektes Pixel ermittelt. Um den Schwellwertbetrag zu berechnen, wird die Mittelschätzung unter Verwendung des oben dargestellten Schwellwertparameters modifiziert (Schritt 925). Beispielsweise kann der Schwellwertbetrag unter Verwendung der folgenden Gleichung berechnet werden: Schwellwertbetrag = Emittel·Skalierungsfaktor + Sockelbetrag.
  • Wie auch in anderen Ausführungen werden die Schwellwertparameter (Skalierungsfaktor und Sockelbetrag) ausgewählt, um das Verhältnis der fehlerhaften Pixeldetektionen zur korrekten Pixeldetektionen zu optimieren. Die Schwellwertparameter können fest und/oder variabel sein, abhängig von den Sensorwerten, von dem verwendeten Farbfilterfeld, von dem Sensortyp, usw. Beispielhafte Zahlen für den Skalierungsfaktor und den Sockelbetrag in dieser Ausführung sind: Skalierungsfaktor gleich 0,1 und Sockelbetrag gleich 6. Der Schwellwertbetrag wird von der Minimum-Schätzung abgezogen, um einen niedrigen Wert zu ermitteln (Schritt 930), und wird zu der Maximum-Schätzung addiert, um einen hohen Wert zu ermitteln (Schritt 935). Der aktuelle Pixel wird als defekt ermittelt, wenn gilt: X < (Emin-Schwellwert) ODER X > (Emax + Schwellwert).
  • Wenn daher der aktuelle Sensorwert kleiner als der niedrige Wert ist (Schritt 940) oder der aktuelle Sensorwert größer als der hohe Wert ist (Schritt 945), wird von dem aktuelle Pixel („Z") angenommen, daß dieser defekt ist (Schritt 950). Andernfalls ist der aktuelle Pixel („Z") nicht defekt (Schritt 960).
  • Für jeden detektierten defekten Pixel wird der Sensorwert 35 des defekten Pixel („Z") unter Verwendung der Sensorwerte 30 benachbarter Pixel ausgetauscht (Schritt 955). Da beispielsweise die Mittelschätzung für den Pixel („Z") bereits berechnet wurde, kann die Mittelschätzung als Ersetzungswert für den aktuellen Pixel („Z") verwendet werden. Es ist jedoch ersichtlich, daß andere Ersetzungswerte für („Z") verwendet werden können, beispielsweise der Medianwert der umgebenen Sensorwerte 30, ein Bilinear-Wert, oder ein Wert des nächsten Nachbarn.
  • Es ist dem Fachmann ersichtlich, daß die innovativen Ansätze, die in der vorliegenden Anmeldung beschrieben wurden, über einen breiten Bereich von Applikationen modifiziert und variiert werden können. Dementsprechend ist der Umfang des geschützten Gegenstands nicht durch die hier betrachteten speziellen beispielhaften Lehren beschränkt, sondern wird von den folgenden Ansprüchen definiert.

Claims (8)

  1. Digitaler Bildsensor (20) zum Detektieren von Sensorwerten (30) defekter Pixel (25), die in einem Bild vorliegen, wobei der digitale Bildsensor (20) ein Pixelfeld aufweist, das in Spalten und Zeilen angeordnet ist, und jedes Pixel (25) in dem Pixelfeld einen jeweiligen Sensorwert (30) für ein Bild erzeugt, wobei der digitale Bildsensor (20) gekennzeichnet ist durch: einen Puffer (50) zum Speichern zumindest eines Teils der Sensorwerte (30), die von zumindest einer der Zeilen (28a) der Pixel (25) für das Bild erzeugt wird, wobei einer der Sensorwerte ein aktueller Sensorwert (35) in einer ersten Farbebene ist, der von einem aktuellen Pixel (25) erzeugt wird; und einen Prozessor (40), der verbunden ist, um in dem Puffer (50) gespeicherte Sensorwerte (30) zu empfangen, einen oder mehrere Gradienten (105) ausgehend von den Sensorwerten (30) in zumindest einer zweiten Farbebene zu berechnen und zu ermitteln, ob das aktuelle Pixel (35) defekt ist, indem ein oder mehrere Gradienten (105) verwendet werden; wobei der Prozessor (40) ferner ein Schwellenwertbetrag (125) unter Verwendung eines oder mehrerer Gradienten (105) sowie einen Wertebereich (115) für das aktuelle Pixel (35) basierend auf den Sensorwerten (30) berechnet, welche von benachbarten Pixeln (25) in der ersten Farbebene erzeugt werden, die in dem Pufferspeicher (50) gespeichert sind, wobei das aktuelle Pixel (25) defekt ist, wenn der aktuelle Sensorwert (35) um mehr als den Schwellenwertbetrag (125) außerhalb des Wertebereichs (115) liegt.
  2. Sensor nach Anspruch 1, wobei der Prozessor (40) ferner den aktuellen Sensorwert (35a) mit einem Ersatzwert (35b) ersetzt, der mittels der Sensorwerte (30) berechnet wird, welche von den benachbarten Pixeln (25) erzeugt werden, wobei der Ersatzwert (35b) ein Mittelwert des Sensorwerts (30) ist, der von den benachbarten Pixeln (25) erzeugt wird.
  3. Sensor nach Anspruch 2, wobei der Wertebereich (115) einen Maximalwert und einen Minimalwert für die Sensorwerte (30) umfaßt, welche von den benachbarten Pixeln (25) erzeugt werden, wobei das aktuelle Pixel (25) defekt ist, wenn ein Differenzwert zwischen dem aktuellen Sensorwert (35) und entweder dem Maximalwert oder dem Minimalwert über dem Schwellenwertbetrag (125) liegt.
  4. Sensor nach Anspruch 3, wobei der Maximalwert um das Maximum einer oder mehrerer gleicher Farbgradienten (105) erhöht werden kann, die aus den benachbarten Pixeln (25) berechnet werden, und der Minimalwert um das Minimum zumindest eines oder mehrerer gleicher Farbgradienten (105) verringert werden kam, wenn der aktuelle Sensorwert (35) konsistent mit einem oder mehreren gleichen Farbgradienten (105) ist.
  5. Sensor nach Anspruch 3, wobei der Maximalwert um das Maximum einer oder mehrerer der Gradienten (105) erhöht werden kann, die aus weiteren benachbarten Pixeln (25) in der zweiten Farbebene innerhalb einer aktuellen Zeile (28a) einschließlich des aktuellen Pixels (25) berechnet werden, und der Minimalwert um das Minimum eines oder mehrerer Gradienten (105) verringert werden kann, die aus den weiteren benachbarten Pixeln (25) berechnet werden, wenn der aktuelle Sensorwert (35) konsistent mit einem oder mehreren der Gradienten (105) ist.
  6. Verfahren zum Erfassen defekter Pixel (25), gekennzeichnet durch: Speichern von Sensorwerten (30), die von zumindest einem Teil einer Zeile (28a) von Pixeln (25) in einem für Bilder vorgesehenen Sensor (20) erzeugt werden, wobei einer der Sensorwerte (30) ein aktueller Sensorwert (35) in einer ersten Farbebene ist, der von einem aktuellen Pixel (25) erzeugt wird; Berechnen (310) einer oder mehrerer Gradienten (105) aus Sensorwerten (30), die in zumindest einer zweiten Farbebene liegen; und Ermitteln (340), ob das aktuelle Pixel (25) defekt ist, indem einer oder mehrere Gradienten (105) verwendet werden, wobei der Schritt des Ermittelns ferner umfaßt: Berechnen (330) eines Schwellenwertbetrags (125) unter Verwendung eines oder mehrerer Gradienten (105); Berechnen (320) eines Wertebereichs (115) für das aktuelle Pixel (25) basierend auf den Sensorwerten (30), die von benachbarten Pixeln (25) in der ersten Farbebene erzeugt werden; und Ermitteln (340), daß das aktuelle Pixel (25) defekt ist, wenn der aktuelle Sensorwert (35) um mehr als den Schwellenwertbetrag (125) außerhalb des Wertebereichs (125) liegt.
  7. Verfahren nach Anspruch 6, das ferner umfaßt: Ersetzen (370) des aktuellen Sensorwerts (35a) mit einem Ersatzwert (35b), der unter Verwendung des Sensorwerts (30) berechnet wird, welcher von den benachbarten Pixeln (25) erzeugt wird, wobei der Ersatzwert (35b) ein Mittelwert der Sensorwerte (30) ist, die von den benachbarten Pixeln (35) erzeugt werden.
  8. Verfahren nach Anspruch 7, wobei der Wertebereich (115) einen Maximalwert und einen Minimalwert umfaßt, die von den Sensorwerten (30) stammen, welche von den benachbarten Pixeln (25) erzeugt werden, wobei der Schritt des Ermittelns ferner umfaßt: Ermitteln (350), daß das aktuelle Pixel (25) defekt ist, wenn ein Differenzwert zwischen einem aktuellen Sensorwert (35) und entweder einem Maximalwert oder einem Minimalwert über dem Schwellenwertbetrag (125) liegt.
DE60304785T 2002-09-18 2003-05-15 Verfahren zum Detektieren von defekten Bildpunkten in einem digitalen Bildsensor Expired - Lifetime DE60304785T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/246,124 US7283164B2 (en) 2002-09-18 2002-09-18 Method for detecting and correcting defective pixels in a digital image sensor
US246124 2002-09-18

Publications (2)

Publication Number Publication Date
DE60304785D1 DE60304785D1 (de) 2006-06-01
DE60304785T2 true DE60304785T2 (de) 2007-04-26

Family

ID=31946416

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60304785T Expired - Lifetime DE60304785T2 (de) 2002-09-18 2003-05-15 Verfahren zum Detektieren von defekten Bildpunkten in einem digitalen Bildsensor

Country Status (4)

Country Link
US (1) US7283164B2 (de)
EP (1) EP1401196B1 (de)
JP (1) JP4378746B2 (de)
DE (1) DE60304785T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009053280A1 (de) * 2009-11-13 2011-05-19 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Digitale Kamera und Verfahren zum Überwachen einer Signalverarbeitungseinrichtung

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4485087B2 (ja) 2001-03-01 2010-06-16 株式会社半導体エネルギー研究所 半導体装置の動作方法
JP3747909B2 (ja) * 2002-12-24 2006-02-22 ソニー株式会社 画素欠陥検出補正装置及び画素欠陥検出補正方法
US6924812B2 (en) * 2002-12-24 2005-08-02 Intel Corporation Method and apparatus for reading texture data from a cache
US7301571B2 (en) * 2003-01-17 2007-11-27 Fujifilm Corporation Method and imaging apparatus for correcting defective pixel of solid-state image sensor, and method for creating pixel information
JP2004320128A (ja) * 2003-04-11 2004-11-11 Mega Chips Corp 欠陥画素補正装置
US7388609B2 (en) * 2003-07-07 2008-06-17 Zoran Corporation Dynamic identification and correction of defective pixels
US8208049B1 (en) * 2004-03-04 2012-06-26 Osborne Thomas W Digital imaging device having a multicolor pixel array sensor and method
US7613329B2 (en) * 2004-03-08 2009-11-03 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Apparatus for controlling the position of a screen pointer that detects defective pixels
US7446756B2 (en) * 2004-03-22 2008-11-04 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Apparatus for controlling the position of a screen pointer with low sensitivity to particle contamination
US7474297B2 (en) 2004-03-22 2009-01-06 Avago Technologies Ecbu Ip (Singapore) Pte. Contaminant-resistant optical mouse and cradle
EP1594308A1 (de) * 2004-05-07 2005-11-09 Dialog Semiconductor GmbH Korrektur von defekten RGB Bildpunkten einer einzelnen Zeile eines Bayerfilters
JP2005354278A (ja) * 2004-06-09 2005-12-22 Seiko Epson Corp 撮像手段の撮像した画像の画像データを処理する画像データ処理
US7315013B2 (en) * 2004-06-17 2008-01-01 Avago Technologies Ecbu Ip (Singapore) Pte Ltd. Optical navigation using one-dimensional correlation
CN1323545C (zh) * 2004-06-22 2007-06-27 东软飞利浦医疗设备系统有限责任公司 医学影像坏点自动检测门限确定方法
JP2006026234A (ja) * 2004-07-20 2006-02-02 Olympus Corp 生体内撮像装置および生体内撮像システム
TWI256847B (en) * 2004-08-30 2006-06-11 Via Tech Inc Method and apparatus for dynamically detecting pixel values
US7166831B2 (en) * 2004-09-01 2007-01-23 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Optical mouse with replaceable contaminant barrier
US7423633B2 (en) * 2004-09-01 2008-09-09 Avago Technologies Ec Buip Pte Ltd Apparatus for controlling the position of a screen pointer with low sensitivity to fixed pattern noise
JP4165488B2 (ja) * 2004-09-30 2008-10-15 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4265517B2 (ja) * 2004-09-30 2009-05-20 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4305352B2 (ja) * 2004-09-30 2009-07-29 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP3918844B2 (ja) * 2004-09-30 2007-05-23 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4111181B2 (ja) * 2004-09-30 2008-07-02 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4244898B2 (ja) * 2004-09-30 2009-03-25 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4075881B2 (ja) * 2004-09-30 2008-04-16 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4305351B2 (ja) * 2004-09-30 2009-07-29 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4244899B2 (ja) * 2004-09-30 2009-03-25 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
JP4305369B2 (ja) * 2004-11-10 2009-07-29 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置
US7620241B2 (en) * 2004-11-30 2009-11-17 Hewlett-Packard Development Company, L.P. Artifact reduction in a digital video
US7460688B2 (en) * 2004-12-09 2008-12-02 Aptina Imaging Corporation System and method for detecting and correcting defective pixels in a digital image sensor
US7379049B2 (en) 2004-12-13 2008-05-27 Avago Technologies Ecbu Ip Pte Ltd Apparatus for controlling the position of a screen pointer based on projection data
US7619612B2 (en) * 2004-12-20 2009-11-17 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Pointing device with light source for providing visible light through a moveable puck
JP4533124B2 (ja) * 2004-12-21 2010-09-01 イーストマン コダック カンパニー 画素欠陥補正装置
US7580070B2 (en) * 2005-03-31 2009-08-25 Freescale Semiconductor, Inc. System and method for roll-off correction in image processing
US7683948B2 (en) * 2005-03-31 2010-03-23 Freescale Semiconductor, Inc. System and method for bad pixel replacement in image processing
KR100652408B1 (ko) * 2005-04-27 2006-12-01 삼성전자주식회사 베이어 패턴의 디지털 컬러 영상 신호를 처리하는 방법 및장치
DE102006050864B4 (de) * 2005-10-31 2015-08-20 Hitachi Kokusai Electric Inc. Verfahren und Vorrichtung zur Korrektur fehlerhafter Pixel für eine bildgebende Festkörpervorrichtung
JP5008122B2 (ja) * 2005-10-31 2012-08-22 株式会社日立国際電気 固体撮像素子の欠陥画素補正方法および欠陥画素補正装置
JP4745816B2 (ja) 2005-12-20 2011-08-10 富士通セミコンダクター株式会社 画像処理回路及び画像処理方法
CN100546335C (zh) * 2005-12-21 2009-09-30 比亚迪股份有限公司 一种实现异常点数值校正的色彩插值方法
SG170805A1 (en) * 2006-02-09 2011-05-30 Kla Tencor Tech Corp Methods and systems for determining a characteristic of a wafer
KR100809687B1 (ko) * 2006-02-28 2008-03-06 삼성전자주식회사 영상신호에 포함된 잡음을 제거할 수 있는 영상신호처리장치 및 방법
US7593833B2 (en) * 2006-03-03 2009-09-22 At&T Intellectual Property I, L.P. System and method for determining performance of network lines
US7667747B2 (en) * 2006-03-15 2010-02-23 Qualcomm Incorporated Processing of sensor values in imaging systems
US7649555B2 (en) * 2006-10-02 2010-01-19 Mtekvision Co., Ltd. Apparatus for processing dead pixel
JP4916275B2 (ja) 2006-10-30 2012-04-11 富士通セミコンダクター株式会社 欠陥画素補正回路、それを用いた画像処理システムおよび欠陥画素補正方法
US20080117439A1 (en) * 2006-11-20 2008-05-22 Yat Kheng Leong Optical structure, optical navigation system and method of estimating motion
US7868281B2 (en) * 2006-11-20 2011-01-11 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Optical navigation system and method of estimating motion with optical lift detection
US7800661B2 (en) * 2006-12-22 2010-09-21 Qualcomm Incorporated Programmable pattern matching device
US8885076B2 (en) * 2007-03-30 2014-11-11 Hewlett-Packard Development Company, L.P. Camera sensor defect correction and noise reduction
CN100573315C (zh) * 2007-04-04 2009-12-23 鸿富锦精密工业(深圳)有限公司 相机模块污点测试系统及方法
US20080273102A1 (en) * 2007-05-01 2008-11-06 Hoya Corporation Detection device for defective pixel in photographic device
JP2008301142A (ja) * 2007-05-31 2008-12-11 Fujitsu Microelectronics Ltd 固体撮像素子および画素補正方法
US7991239B2 (en) * 2007-08-29 2011-08-02 Aptina Imaging Corporation Methods, systems and apparatuses for imager row-wise noise correction
US7825965B2 (en) * 2007-09-07 2010-11-02 Seiko Epson Corporation Method and apparatus for interpolating missing colors in a color filter array
US20090092338A1 (en) * 2007-10-05 2009-04-09 Jeffrey Matthew Achong Method And Apparatus For Determining The Direction of Color Dependency Interpolating In Order To Generate Missing Colors In A Color Filter Array
US8035704B2 (en) * 2008-01-03 2011-10-11 Aptina Imaging Corporation Method and apparatus for processing a digital image having defective pixels
TWI505702B (zh) * 2008-10-03 2015-10-21 Silicon Motion Inc 攝影裝置與影像感測器壞點補償方法
US7974805B2 (en) * 2008-10-14 2011-07-05 ON Semiconductor Trading, Ltd Image sensor and method
JP5109962B2 (ja) * 2008-12-22 2012-12-26 ソニー株式会社 固体撮像装置および電子機器
US20100231763A1 (en) * 2009-03-16 2010-09-16 Harris Corporation, Corporation Of The State Of Delaware Defective pixel detector for a digital video camera and associated methods
WO2011043045A1 (ja) * 2009-10-07 2011-04-14 パナソニック株式会社 撮像装置、固体撮像素子、画像生成方法、およびプログラム
JP5379664B2 (ja) * 2009-12-11 2013-12-25 キヤノン株式会社 画像表示装置およびその制御方法
WO2011109632A2 (en) * 2010-03-03 2011-09-09 Battelle Memorial Institute Filters for spectral analysis data
US8866945B2 (en) 2010-09-26 2014-10-21 Hiok Nam Tay Color image sampling and reconstruction
KR20120079646A (ko) * 2011-01-05 2012-07-13 삼성전자주식회사 깊이 센서, 상기 깊이 센서의 결점 수정 방법, 및 상기 깊이 센서를 포함하는 신호 처리 시스템
JP2012209709A (ja) * 2011-03-29 2012-10-25 Sony Corp 画像処理装置および方法、記録媒体並びにプログラム
JP2012251785A (ja) * 2011-05-31 2012-12-20 Nuflare Technology Inc 検査装置および検査方法
EA016450B1 (ru) * 2011-09-30 2012-05-30 Закрытое Акционерное Общество "Импульс" Способ коррекции яркости дефектных пикселей цифрового монохромного изображения
US9531990B1 (en) 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
TWI492621B (zh) * 2012-02-10 2015-07-11 Novatek Microelectronics Corp 適應性影像處理方法及其相關裝置
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
US9185414B1 (en) 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
JP2014022801A (ja) * 2012-07-13 2014-02-03 Sony Corp 情報処理装置、情報処理方法、および情報処理プログラム
TWI563850B (en) * 2012-09-07 2016-12-21 Hon Hai Prec Ind Co Ltd Spot detection system and method
US9854138B2 (en) 2012-09-20 2017-12-26 Gyrus Acmi, Inc. Fixed pattern noise reduction
JP6006618B2 (ja) * 2012-11-12 2016-10-12 株式会社東芝 赤外線固体撮像素子の検査装置および検査方法
US9628790B1 (en) * 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9374578B1 (en) 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
GB2521408B (en) * 2013-12-18 2015-12-16 Imagination Tech Ltd Defective pixel fixing
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
FR3024312B1 (fr) * 2014-07-28 2016-07-15 E2V Semiconductors Procede de capture d'image, a defilement et integration de signal, corrigeant des defauts d'image dus a des particules cosmiques
WO2016022374A1 (en) * 2014-08-05 2016-02-11 Seek Thermal, Inc. Local contrast adjustment for digital images
CN105451015B (zh) * 2014-08-12 2017-05-10 炬力集成电路设计有限公司 一种图像坏点的检测方法及装置
TWI538515B (zh) * 2014-10-31 2016-06-11 晶相光電股份有限公司 影像感測裝置與缺陷像素檢測與補償方法
FR3033116B1 (fr) 2015-02-20 2017-03-24 Stmicroelectronics (Grenoble 2) Sas Procede de selection d’une solution de placement des pixels d’une image en fonction du rendu visuel
US10133702B2 (en) 2015-03-16 2018-11-20 Rockwell Automation Technologies, Inc. System and method for determining sensor margins and/or diagnostic information for a sensor
FR3038194B1 (fr) 2015-06-26 2017-08-11 Ulis Correction de pixels parasites dans un capteur d'image infrarouge
FR3038195B1 (fr) * 2015-06-26 2018-08-31 Ulis Detection de pixels parasites dans un capteur d'image infrarouge
KR20170107252A (ko) 2016-03-15 2017-09-25 삼성전자주식회사 이미지 데이터의 노이즈 제거 방법
US10867371B2 (en) 2016-06-28 2020-12-15 Seek Thermal, Inc. Fixed pattern noise mitigation for a thermal imaging system
US10554914B1 (en) 2018-08-10 2020-02-04 Apple Inc. Adjusting confidence values for correcting pixel defects
US11276152B2 (en) 2019-05-28 2022-03-15 Seek Thermal, Inc. Adaptive gain adjustment for histogram equalization in an imaging system
WO2023134846A1 (en) * 2022-01-12 2023-07-20 Dream Chip Technologies Gmbh Method and image processor unit for detecting defective pixels
CN116309671B (zh) * 2023-05-23 2023-08-11 浩珂科技有限公司 一种土工合成织物质量检测系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0828811B2 (ja) 1988-05-10 1996-03-21 富士写真フイルム株式会社 画像入力装置
JP3316820B2 (ja) * 1995-12-28 2002-08-19 シィグナス インコーポレィティド 被験者の生理的分析物の継続モニタリング装置及び方法
US5652621A (en) * 1996-02-23 1997-07-29 Eastman Kodak Company Adaptive color plane interpolation in single sensor color electronic camera
US6091851A (en) * 1997-11-03 2000-07-18 Intel Corporation Efficient algorithm for color recovery from 8-bit to 24-bit color pixels
FR2786648B1 (fr) * 1998-11-30 2001-01-05 Commissariat Energie Atomique Procede de correction des defauts d'images issues d'un detecteur de rayons x ou y de type matriciel
US6806902B1 (en) * 1999-06-08 2004-10-19 Chrontel, Inc. System and method for correcting bad pixel data in a digital camera
US6724945B1 (en) * 2000-05-24 2004-04-20 Hewlett-Packard Development Company, L.P. Correcting defect pixels in a digital image
US6985180B2 (en) * 2001-06-19 2006-01-10 Ess Technology, Inc. Intelligent blemish control algorithm and apparatus
US7015961B2 (en) * 2002-08-16 2006-03-21 Ramakrishna Kakarala Digital image system and method for combining demosaicing and bad pixel correction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009053280A1 (de) * 2009-11-13 2011-05-19 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Digitale Kamera und Verfahren zum Überwachen einer Signalverarbeitungseinrichtung
US8625003B2 (en) 2009-11-13 2014-01-07 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Digital camera and method for monitoring a signal processing device

Also Published As

Publication number Publication date
US20040051798A1 (en) 2004-03-18
EP1401196B1 (de) 2006-04-26
JP2004112802A (ja) 2004-04-08
JP4378746B2 (ja) 2009-12-09
EP1401196A1 (de) 2004-03-24
DE60304785D1 (de) 2006-06-01
US7283164B2 (en) 2007-10-16

Similar Documents

Publication Publication Date Title
DE60304785T2 (de) Verfahren zum Detektieren von defekten Bildpunkten in einem digitalen Bildsensor
DE60314692T2 (de) Digitalbildverfahren und -vorrichtung zum Zusammenfügen von Entfernung des Mosaikeffekts und Korrektur von schlechten Pixeln
DE60013102T2 (de) Schneller deterministischer ansatz zum detektieren von defekten pixels in einem bildsensor
DE69923048T2 (de) Wirksames Testverfahren zum Klassifizieren der Bildqualität eines optischen Sensors unter Verwendung von drei Pixelkategorien
DE69733978T2 (de) Bilddateninterpolationsgerät
DE69628866T2 (de) Adaptive Interpolation von Farbflächen in einer elektronischen Farbkamera mit nur einem Sensor
US6181376B1 (en) Method of determining missing color values for pixels in a color filter array
DE602004002618T2 (de) Verfahren und System zur Kantenhervorhebung
DE69729648T2 (de) Aktivpixelsensormatrix mit mehrfachauflösungsausgabe
DE112011101066B4 (de) Bildverarbeitungsgerät und steuerungsverfahren für ein bildverarbeitungsgerät
DE10344397B4 (de) Vorrichtung und Verfahren zur Kantenhervorhebung bei der Bildverarbeitung
EP2929503B1 (de) Verfahren und vorrichtung zur erzeugung eines verbesserten farbbildes mit einem sensor mit farbfilter
DE20019915U1 (de) Dynamische Erkennung und Korrektur von anomalen Pixeln
DE112008002819T5 (de) Autofokus-Bildsystem
DE102014013446A1 (de) Bildaufnahmevorrichtung und -system und Steuerverfahren für die Bildaufnahmevorrichtung
CN105339951A (zh) 用于检测文档边界的方法
DE60114651T2 (de) Verfahren zur Kompression von im Farbfilteranordnungsformat (CFA) aufgenommenen digitalen Bildern
DE69927239T2 (de) System und verfahren zur verarbeitung von bildern
DE112013003464T5 (de) Farbbildungselement und Bildgebungsvorrichtung
DE60004595T2 (de) Filterung defekter Bildelemente bei digitalen Bildgebern
DE19536691B4 (de) Verfahren und Anordnung zur Korrektur von Bildstandsfehlern bei der fernsehmäßigen Filmabtastung
US7239758B2 (en) Signal processing device for reducing noise of image signal, signal processing program, and signal processing method
US7006669B1 (en) Machine vision method and apparatus for thresholding images of non-uniform materials
DE60102411T2 (de) Gerät zur Bestimmung des besten Bildes von einem Photosensor mit zwei Auflösungen
DE102019128781A1 (de) Verfahren zur Erzeugung eines Ausgabesignals eines PDAF-Bildpunkts

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: AVAGO TECHNOLOGIES GENERAL IP ( SINGAPORE) PTE. LT

8327 Change in the person/name/address of the patent owner

Owner name: AVAGO TECHNOLOGIES SENSOR IP (SINGAPORE) PTE. LTD.

8327 Change in the person/name/address of the patent owner

Owner name: MICRON TECHNOLOGY, INC., BOISE, ID., US

8327 Change in the person/name/address of the patent owner

Owner name: APTINA IMAGING CORP., GRAND CAYMAN, CAYMAN ISL, KY