-
Die vorliegende Erfindung betrifft die Korrektur fehlerhafter Pixel in digitalen Bildern. Genauer betrifft die vorliegende Erfindung Verfahren zum Durchführen einer schnellen Pixelkorrektur in digitalen Farbbildern.
-
Aus dem Stand der Technik sind zahlreiche Verfahren zum Ersetzen fehlerhafter Pixel in digitalen Bildern bekannt. Beispielsweise werden in Kameras, die den von Foveon, Inc. hergestellten F13-Sensor oder seine Vorläufer anwenden, fehlerhafte Pixel unter Verwendung einer Karte oder Liste fehlerhafter Pixel korrigiert, die während der Sensorkalibrierung erzeugt wird. Bei diesem Schritt werden fehlerhafte Pixel durch Mittelwerte der nicht fehlerhaften Nachbarpixel ersetzt.
-
Gemäß diesem Verfahren aus dem Stand der Technik sind fehlerhafte Pixel identifiziert und in eine Karte oder Liste fehlerhafter Pixel eingegeben worden. Alle drei Farbkanäle jedes identifizierten fehlerhaften Pixels werden durch den Mittelwert eines festgelegten Satzes Nachbarn ersetzt. Ein Beispiel dieses Algorithmus ist aus einer Untersuchung von 1 zu sehen. In dieser Figur ist eine 3×3 Pixelnachbarschaft eines einzigen Farbkanals (z. B. rot) gezeigt, wobei neun Pixel in dieser Nachbarschaft mit R1 bis R9 beschriftet sind. Zu Zwecken dieses Beispiels sei angenommen, dass die Pixel R1 und R5 fehlerhaft sind, wie es durch ”X”-Bezeichnungen in der unteren rechten Ecke dieser Pixel angegeben ist. Zur Korrektur jedes Pixels wird eine 3×3 Nachbarschaft von Pixeln ausgewählt, wobei das mittlere Pixel das interessierende Pixel ist. In dem Beispiel von 1 ist Pixel R5 von Interesse.
-
In der Pixelnachbarschaft, bei der Pixel R5 die Mitte ist, sind Pixel R2, R3, R4, R6, R7, R8 und R9 gut und können in dem veranschaulichenden Korrekturalgorithmus aus dem Stand der Technik verwendet werden. Pixel R1 ist fehlerhaft und wird nicht verwendet, um den Wert des fehlerhaften Pixels R5 zu schätzen. Gemäß diesem Algorithmus aus dem Stand der Technik wird der Mittelwert der guten Nachbarpixel berechnet und für den Wert des fehlerhaften Pixels R5 substituiert. Somit kann in dem in 1 gezeigten Beispiel der Substitutionswert für Pixel R5 folgendermaßen berechnet werden: R5 = (R2 + R3 + R4 + R6 + R7 + R8 + R9)/7 (1)
-
In einem allgemeineren Sinn werden Bilddaten und die Liste fehlerhafter Pixel als Eingabe in den Algorithmus verwendet. Jedes fehlerhafte Pixel auf der Liste kann durch seine Mehrbitadresse identifiziert und durch eine 8-Bit-Maske (0 oder 1) verfolgt werden. Diese Maske dient dazu, jedes der acht umgebenden Pixel als ein gutes (1) oder fehlerhaftes (0) Pixel zu identifizieren. Nur die guten Pixel werden verwendet, um den Ersatzwert zu bestimmen. Dieser Vorgang kann mathematisch wie folgt geschrieben werden:
wobei k den Farbkanal angibt, d. h. k = 1 für rot, k = 2 für grün und k = 3 für blau. Das Triplet y
(r,s)k = [y
(r,s)1, y
(r,s)2, y
(r,s)3]
T bezeichnet das korrigierte Farbpixel, wohingegen x
(i,j) = [x
(i,j)1, x
(i,j)2, x
(i,j)2]
T für (i,j)∊ζ die Pixel von dem Eingangsfarbbild mit fehlerhaften Pixeln bezeichnet. Jede Komponente dieser Pixel stellt den Intensitätswert in dem k-ten Farbkanal dar. Der Term ζ = {(i,j); r – 1 ≤ i ≤ r + 1, s – 1 ≤ s + 1} bezeichnet eine 3×3 Pixelnachbarschaft, die an dem Ort (r,s) des zu korrigierenden Pixels zentriert ist. Die Notwendigkeit für den Korrekturprozess wird durch ein Fehlerpixel-Flag b
(r,s) = 0 angegeben. Wenn der Ort (r,s) das Fehlerpixel-Flag b
(r,s) = 1 zugeordnet ist, dann wird das betrachtete Pixel unverändert gehalten.
-
Dieser Algorithmus aus dem Stand der Technik arbeitet direkt mit Pixelwerten und verarbeitet jeden Farbkanal separat, wobei die Tatsache ignoriert wird, dass natürliche Farbbilder gewöhnlich eine signifikante spektrale Korrelation zeigen. Leider führt eine derartige komponentenweise Verarbeitung häufig zu unterschiedlichen Farbverschiebungen oder sichtbaren Kantenartefakten aufgrund des Fehlens von Farbinformationen in dem Datenschätzprozess. Um diesen Nachteil zu vermeiden, wird eine andere Lösung benötigt.
-
Ein Korrekturalgorithmus für fehlerhafte Pixel gemäß der vorliegenden Erfindung erfordert, zumindest eine nicht fehlerhafte Farbkomponente an dem betrachteten Ort zu besitzen, um eine oder zwei weitere Farbkomponenten an dem gleichen Pixelort zu korrigieren.
-
Gemäß einem Aspekt der vorliegenden Erfindung wird die gewichtete Summe von Farbdifferenzen von guten Nachbarpixeln in dem Farbkanal, der das fehlerhafte Pixel enthält, und den guten Pixeln in zumindest einem anderen Farbkanal berechnet und verwendet, um den Substitutionswert für das fehlerhafte Pixel bereitzustellen.
-
Gemäß einem anderen Aspekt der vorliegenden Erfindung wird die gewichtete Summe von Farbdifferenzen von guten Nachbarpixeln in dem Farbkanal, der das fehlerhafte Pixel enthält, und den guten Pixeln in beiden der anderen Farbkanäle berechnet und verwendet, um den Substitutionswert für das fehlerhafte Pixel bereitzustellen.
-
Gemäß einem anderen Aspekt der vorliegenden Erfindung wird eine gewichtete Summe von Farbverhältnissen von guten Nachbarpixeln in dem Farbkanal, der das fehlerhafte Pixel enthält, und den guten Pixeln in zumindest einem anderen Farbkanal berechnet und verwendet, um den Substitutionswert für das fehlerhafte Pixel bereitzustellen.
-
Die Erfindung wird im Folgenden beispielhaft anhand der Zeichnungen beschrieben, in diesen zeigt:
-
1 ein Diagramm, das eine 3×3 Pixelnachbarschaft in einem digitalen Bild darstellt, das Pixeldaten in einem einzigen Farbkanal (zum Beispiel rot) zeigt und fehlerhafte Pixel umfasst, um ein Verfahren aus dem Stand der Technik zur Korrektur fehlerhafter Pixel zu veranschaulichen,
-
2 ein Diagramm, das eine 3×3 Pixelnachbarschaft in einem digitalen Bild darstellt, das Pixeldaten in drei Farben (z. B. rot, grün und blau) zeigt und fehlerhafte Pixel in jedem Farbkanal umfasst, um Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung zu veranschaulichen,
-
3 ein Flussdiagramm, das ein beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung veranschaulicht,
-
4 ein Flussdiagramm, das ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung veranschaulicht,
-
5 ein Flussdiagramm, das ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung veranschaulicht,
-
6 ein Flussdiagramm, das ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung veranschaulicht,
-
7 ein Flussdiagramm, das ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung veranschaulicht,
-
8 ein Flussdiagramm, das ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung veranschaulicht.
-
Nun unter Bezugnahme auf 2 kann ein Diagramm, das eine 3×3 Pixelnachbarschaft in einem digitalen Bild darstellt, das rote, grüne und blaue Pixeldaten zeigt und fehlerhafte Pixel in jedem Farbkanal enthält, benutzt werden, um Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung zu veranschaulichen.
-
In 2 wird angenommen, dass Pixel R1 und R5 im roten Kanal fehlerhaft sind; es wird angenommen, dass das Pixel G3 im grünen Kanal fehlerhaft ist; und es wird angenommen, dass Pixel B3 und B8 im blauen Kanal fehlerhaft sind, wie es durch die Kennzeichnungen ”X” in den unteren rechten Ecken dieser Pixel angegeben ist. Gemäß einem ersten Aspekt der vorliegenden Erfindung kann ein Substitutionswert für Pixel R5 unter Verwendung verfügbarer Pixel in dem roten und grünen Kanal folgendermaßen berechnet werden: R5 = G5 + ((R2 – G2) + (R4 – G4) + (R6 – G6) + (R7 – G7) + (R8 – G8) + (R9 – G9))/6 (3)
-
Alternativ kann der Substitutionswert für Pixel R5 unter Verwendung verfügbarer Pixel in dem roten und blauen Kanal folgendermaßen berechnet werden: R5 = B5 +((R2 – B2) + (R4 – B4) + (R6 – B6) + (R7 – B7) + (R9 – B9))/5 (4)
-
Aus einer Untersuchung der zwei obigen Beispiele unter Verwendung der grünen und blauen Kanäle zur Farbkorrektur ist zu sehen, dass, wenn der grüne Kanal verwendet wird, es sechs verfügbare Terme gibt, da die roten und grünen Kanäle beide gute Pixel an den Positionen 2, 4, 6, 7, 8 und 9 der Nachbarschaft aufweisen. Wenn der blaue Kanal verwendet wird, gibt es nur fünf verfügbare Terme, weil die roten und blauen Kanäle gute Pixel an den Positionen 2, 4, 6, 7 und 9 der Nachbarschaft aufweisen.
-
Indem alle verfügbaren Informationen in allen drei Farbkanälen kombiniert werden, kann der Substitutionswert für R5 folgendermaßen berechnet werden: R5 = [(G5 + Σ(Ri – Gi)/6) + (B5 + Σ(Rj – Bj)/5]/2, für i = 2, 4, 6, 7, 8, 9 und j = 2, 4, 6, 7, 9 (5) wobei Σ den Summationsoperator bezeichnet.
-
In einer geringfügig weniger komplizierten Version dieses Algorithmus können gute Pixeldaten von dem grünen sowie dem blauen Kanal bei der Berechnung des Substitutionswerts für R5 wie folgt verwendet werden: R5 = [(G5 + Σ(Ri – Gi)/5) + (B5 + Σ(Ri – Bi)/5)]/2, für i = 2, 4, 6, 7, 9 (6)
-
In seiner einfachsten Form kann der durch Farbkorrelation gesteuerte Korrekturvorgang fehlerhafter Pixel der vorliegenden Erfindung mathematisch allgemein wie folgt geschrieben werden:
wobei k den zu korrigierenden Farbkanal (z. B. k = 1 für rot) bezeichnet und c den nicht fehlerhaften Referenzkanal bezeichnet (z. B. k = 2 für grün in diesem Beispiel). Der Term b
(i,j) bezeichnet das Fehlerpixel-Flag, das als b
(i,j) = min(b
(i,j)k, b
(i,j)c) oder b
(i,j) = min(b
(i,j)1, b
(i,j)2, b
(i,j)3) während der Sensorkalibrierung festgelegt wird. Der Datenmittelungsvorgang wird an Farbdifferenzen anstatt direkt an Farbkomponenten durchgeführt. Da Farbdifferenzsignale eine Tiefpass-Natur haben, erzeugt das Mitteln von Farbdifferenzen gewöhnlich einen geringeren Verarbeitungsfehler als der äquivalente Vorgang, der an Pixelintensitäten durchgeführt wird, was besonders in Bildbereichen mit Kanten und Details gilt. Der hohe Frequenzgehalt des k-ten Farbkanals wird wiederhergestellt, indem die nicht fehlerhafte Komponente x
(r,s)c aus dem Referenzfarbkanal zu dem Farbdifferenz-Mittelwert addiert wird.
-
Es ist anzumerken, dass, wenn zwei nicht fehlerhafte Farbkomponenten verfügbar sind, dann der Endwert von korrigierten Farbkomponenten als Kombination von zwei unter Verwendung von Gleichung 7 beschafften y(r,s)k-Werten für zwei Differenzwerte von c (z. B. c = 1 und c = 2 für gute rote und grüne Kanäle, die verwendet werden, um den blauen Kanal zu korrigieren, d. h. k = 3) erhalten werden kann.
-
Das Grundgerüst für die Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung lässt zu, gleichzeitig die räumlichen, spektralen und strukturellen Bildcharakteristiken zu kombinieren. Ähnlich wie Gleichungen (2) und (7) werden die räumlichen Charakteristiken betrachtet, indem Abtastwerte innerhalb der Nachbarschaft ζ verarbeitet werden, wohingegen ähnlich wie Gleichung (7) spektrale Charakteristiken betrachtet werden, indem von Farbdifferenzsignalen Gebrauch gemacht wird. Strukturelle Charakteristiken spiegeln die Anwesenheit von Kanten und Details in dem Bild wieder, und diese Charakteristiken können in den Berechnungen durch die Verwendung von kantenempfindlichen Gewichten wie folgt angesprochen werden: R5 = [(G5 + Σwi(Ri – Gi)/Σwi) + (B5 + Σwi(Ri – Bi)/Σwi)]/2, für i = 2, 4, 6, 7, 9 (8)
-
Im Allgemeinen kann der Algorithmus von Gleichung (8) wie folgt allgemein ausgedrückt werden:
-
Die Gewichte w(i,j) können auf eine einfache Weise unter Verwendung jedes üblichen Kantendetektionsalgorithmus geschätzt werden, der entweder auf eines oder auf zwei nicht fehlerhafte Farbkanäle angewandt wird. Zum Beispiel werden in einer möglichen Implementierung die kantenempfindlichen Gewichte ziemlich klein sein, wenn die Pixel, die diesen Gewichten zugeordnet sind, zu unterschiedlich gegenüber weiteren Pixeln innerhalb einer 3×3 Pixelnachbarschaft sind. Es ist anzumerken, dass alle Lösungen, die innerhalb des vorgestellten Grundgerüsts konstruiert sind, in einem rekursiven Modus verwendet werden können, d. h. das tatsächliche Pixel kann unter Verwendung sowohl nicht fehlerhafter als auch zuvor korrigierter Pixel, die innerhalb ζ gelegen sind, korrigiert werden.
-
Eine einfache Alternative zu der Lösung in Gleichung (9) ist es, die Additions- und Subtraktionsvorgänge jeweils durch Multiplikation bzw. Division zu ersetzen. Eine derartige Alternative kann wie folgt allgemein ausgedrückt werden:
-
Genauer kann bei dem gegebenen, in Gleichung (4) dargestellten Beispiel der Substitutionswert des fehlerhaften Pixels unter Verwendung von Farbverhältnissen wie folgt erhalten werden: R5 = B5 × ((R2/B2) + (R4/B4) + (R6/B6) + (R7/B7) + (R9/B9))/5 (11)
-
Die Anwendung dieses Konzepts auf jede oben dargestellte Farbdifferenzformel ist einfach. Jedoch ist anzumerken, dass eine farbverhältnisbasierte Lösung schwieriger zu implementieren sein kann, als ihre farbdifferenzbasierte Variante.
-
Die 3 bis 8 sind Flussdiagramme, die beispielhafte Prozesse zum Ersetzen fehlerhafter Pixeldaten gemäß der vorliegenden Erfindung veranschaulichen. Fachleute werden feststellen, dass die folgenden Ausführungsformen lediglich beispielhaft sind und nicht alle möglichen Verfahren zum Ersetzen fehlerhafter Pixeldaten gemäß der vorliegenden Erfindung darstellen.
-
Nun unter Bezugnahme auf 3 veranschaulicht ein Flussdiagramm das oben beschriebene beispielhafte Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung. Zunächst werden bei Bezugszeichen 10 ein Pixel und die Daten von einem der Farbkanäle in dem Pixel ausgewählt. Als Nächstes wird bei Bezugszeichen 12 ermittelt, ob die ausgewählten Pixeldaten in dem ausgewählten Farbkanal fehlerhaft sind. Dies kann durch Untersuchung der Karte oder Liste fehlerhafter Pixel oder durch irgendein anderes in der Technik bekanntes Mittel vorgenommen werden.
-
Bei Bezugszeichen 14 wird eine Gruppe von Nachbarpixeln, die das ausgewählte Pixel umgeben, definiert. In einer vorliegend bevorzugten Ausführungsform kann diese Nachbarschaft als eine 3×3 Gruppe von Nachbarpixeln mit dem ausgewählten Pixel in der Mitte definiert werden. Fachleute werden feststellen, dass die Pixelnachbarschaft auf andere Arten unter Verwendung einer kleineren oder größeren Zahl von Pixeln, die das ausgewählte Pixel umgeben, definiert werden könnte. Fachleute werden auch feststellen, dass für Pixel, die an den Kanten eines Bildes gelegen sind, es keine verfügbaren angrenzenden Pixel an einer Seite (entweder oben, unten, links oder rechts) oder in der Ecke des Bildes an sogar zwei Seiten (entweder oben links, oben rechts, unten links oder unten rechts) des ausgewählten Pixels geben wird, die zur Korrektur verwendet werden können. In solchen Fällen können die Verfahren der vorliegenden Erfindung unter Verwendung der Daten implementiert werden, die von den existierenden angrenzenden Pixeln verfügbar sind, oder die Kantenpixel können ignoriert werden.
-
Bei Bezugszeichen 16 wird ermittelt, ob es einen Referenzfarbkanal für das Pixel, das gute Pixeldaten enthält, gibt. Wenn zum Beispiel der rote Farbkanal des ausgewählten Pixels verarbeitet wird, wird ermittelt, ob die Daten in entweder dem blauen oder dem grünen Farbkanal gute Daten sind. Wenn ermittelt wird, dass es kein gutes Referenzkanalpixel gibt, schreitet der Prozess zu Bezugszeichen 18 fort, bei dem ein Prozess, wie etwa das Berechnen des Mittelwerts der guten Pixel in der ausgewählten durch den Farbkanal definierten Nachbarschaft, durchgeführt wird, um Substitutionsdaten für das fehlerhafte Pixel zu erzeugen. Der Prozess schreitet zu Bezugszeichen 20 fort, bei dem die erzeugten Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 16 ermittelt wird, dass es einen Referenzfarbkanal in dem ausgewählten Pixel mit guten Daten gibt, schreitet der Prozess zu Bezugszeichen 22 fort, bei dem Daten in dem ausgewählten Farbkanal und dem Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die Summe der Differenzen zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in den Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl m gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem Referenzfarbkanal aufweisen. Bei Bezugszeichen 24 wird die Summe der Differenzen dividiert durch m zu dem guten Datenwert von dem Referenzfarbkanal des ausgewählten Pixels addiert, um einen Datensubstitutionswert zu erhalten.
-
Als Nächstes wird bei Bezugszeichen 20 der fehlerhafte Pixeldatenwert durch den Substitutionsdatenwert ersetzt. Bei Bezugszeichen 26 wird ermittelt, ob alle Pixel verarbeitet worden sind. Wenn alle Pixel verarbeitet worden sind, endet der Prozess bei Bezugszeichen 28. Wenn noch nicht alle Daten verarbeitet worden sind, kehrt der Prozess zu Bezugszeichen 10 zurück, bei dem ein anderes Pixel zur Nachprüfung ausgewählt wird.
-
Nun unter Bezugnahme auf 4 veranschaulicht ein Flussdiagram ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung. Zunächst werden bei Bezugszeichen 30 ein Pixel und die Daten von einem der Farbkanäle in dem Pixel ausgewählt. Als Nächstes wird bei Bezugszeichen 32 ermittelt, ob die ausgewählten Pixeldaten in dem ausgewählten Farbkanal fehlerhaft sind. Dies kann durch Untersuchung der Karte oder Liste fehlerhafter Pixel oder durch irgendein anderes in der Technik bekanntes Mittel vorgenommen werden.
-
Bei Bezugszeichen 34 wird eine Gruppe von Nachbarpixeln, die das ausgewählte Pixel umgeben, definiert. In einer vorliegend bevorzugten Ausführungsform kann diese Nachbarschaft als eine 3×3 Gruppe von Nachbarpixeln mit dem ausgewählten Pixel in der Mitte definiert werden. Fachleute werden feststellen, dass die Pixelnachbarschaft auf andere Arten unter Verwendung einer kleineren oder größeren Zahl von Pixeln, die das ausgewählte Pixel umgeben, definiert werden könnte.
-
Bei Bezugszeichen 36 wird ermittelt, ob es einen Referenzfarbkanal für das Pixel gibt, das gute Pixeldaten enthält. Wenn zum Beispiel der rote Farbkanal des ausgewählten Pixels verarbeitet wird, wird ermittelt, ob die Daten in entweder dem blauen oder dem grünen Farbkanal gute Daten sind. Wenn ermittelt wird, dass es kein gutes Referenzkanalpixel gibt, schreitet die Verarbeitung zu Bezugszeichen 38 fort, bei dem ein Prozess, wie etwa das Berechnen des Mittelwerts der guten Pixel in der ausgewählten, durch den Farbkanal definierten Nachbarschaft, durchgeführt wird, um Substitutionsdaten für das fehlerhafte Pixel zu erzeugen. Das Verfahren schreitet zu Bezugszeichen 40 fort, bei dem die erzeugten Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 36 ermittelt wird, dass es einen Referenzfarbkanal in dem ausgewählten Pixel gibt, der guten Daten aufweist, schreitet der Prozess zu Bezugszeichen 42 fort, bei dem Daten in dem ausgewählten Farbkanal und dem Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die gewichtete Summe der Differenzen zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in dem Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl m gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem Referenzfarbkanal aufweisen. Bei Bezugszeichen 44 wird die gewichtete Summe der Differenzen dividiert durch die Summe von Gewichten zu dem Datenwert von dem Referenzfarbkanal des ausgewählten Pixels addiert, um einen Datensubstitutionswert zu erhalten.
-
Wie es Fachleute feststellen werden, können verschiedene Gewichtungsfaktoren gemäß der vorliegenden Erfindung angewandt werden. Als nicht einschränkende Beispiele kann der Gewichtungsfaktor wi folgendermaßen berechnet werden: wi = 1/(|PS – Pi| + K) (12)
-
Als ein anderes nicht einschränkendes Beispiel kann der Gewichtungsfaktor wi berechnet werden als: wi = exp[–|P5 – Pi|2/K] (13)
-
In diesen Beispielen bezeichnet K eine vorbestimmte Konstante oder einen vorbestimmten Skalierungsfaktor. Die Terme P5 und Pi können zum Beispiel die verfügbaren Daten in dem Referenzfarbkanal bezeichnen.
-
Als Nächstes wird bei Bezugszeichen 40 der fehlerhafte Pixeldatenwert durch den Substitutionsdatenwert ersetzt. Bei Bezugszeichen 46 wird ermittelt, ob alle Pixel verarbeitet worden sind. Wenn alle Pixel verarbeitet worden sind, endet der Prozess bei Bezugszeichen 48. Wenn noch nicht alle Pixel verarbeitet worden sind, kehrt der Prozess zu Bezugszeichen 30 zurück, bei dem ein anderes Pixel zur Nachprüfung ausgewählt wird.
-
Nun unter Bezugnahme auf 5 veranschaulicht ein Flussdiagramm ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung. In dem Beispiel von 5 werden Daten von zwei Referenzfarbkanälen verwendet, wenn die Daten verfügbar sind.
-
Zunächst werden bei Bezugszeichen 50 ein Pixel und die Daten von einem der Farbkanäle in dem Pixel ausgewählt. Als Nächstes wird bei Bezugszeichen 52 ermittelt, ob die ausgewählten Pixeldaten in dem ausgewählten Farbkanal fehlerhaft sind. Dies kann durch Untersuchung der Karte oder Liste fehlerhafter Pixel oder durch irgendein anderes in der Technik bekanntes Mittel vorgenommen werden.
-
Bei Bezugszeichen 54 wird eine Gruppe von Nachbarpixeln, die die ausgewählten Pixel umgeben, definiert. In einer vorliegend bevorzugten Ausführungsform kann diese Nachbarschaft als eine 3×3 Gruppe von Nachbarpixeln mit dem ausgewählten Pixel in der Mitte definiert werden. Fachleute werden feststellen, dass die Pixelnachbarschaft auf andere Arten unter Verwendung einer kleineren oder größeren Zahl von Pixeln, die das ausgewählte Pixel umgeben, definiert werden könnte.
-
Bei Bezugszeichen 56 wird ermittelt, ob es einen ersten Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält. Wenn zum Beispiel der rote Farbkanal des ausgewählten Pixels verarbeitet wird, wird ermittelt, ob die Daten in entweder dem blauen oder dem grünen Farbkanal gute Daten sind. Wenn ermittelt wird, dass es kein gutes Referenzkanalpixel gibt, schreitet der Prozess zu Bezugszeichen 58 fort, bei dem ein Prozess, wie etwa das Berechnen des Mittelwerts der guten Pixel in einer ausgewählten, durch den Farbkanal definierten Nachbarschaft, durchgeführt wird, um Substitutionsdaten für das fehlerhafte Pixel zu erzeugen. Das Verfahren schreitet zu Bezugszeichen 60 fort, bei dem die erzeugten Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 56 ermittelt wird, dass es einen ersten Referenzfarbkanal in dem ausgewählten Pixel gibt, der gute Daten aufweist, schreitet das Verfahren zu Bezugszeichen 62 fort, bei dem Daten in dem ausgewählten Farbkanal und dem ersten Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die Summe der Differenzen zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in dem ersten Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl m gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem ersten Referenzfarbkanal aufweisen. Bei Bezugszeichen 64 wird die Summe der Differenzen dividiert durch m zu dem guten Datenwert von dem Referenzfarbkanal des ausgewählten Pixels addiert, um ein erstes Ergebnis zu erhalten.
-
Als Nächstes wird bei Bezugszeichen 66 ermittelt, ob es einen zweiten Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält. Wenn ermittelt wird, dass es keinen guten zweiten Referenzfarbkanal gibt, der gute Daten für das ausgewählte Pixel enthält, schreitet der Prozess zu Bezugszeichen 68 fort, bei dem das erste Ergebnis von Bezugszeichen 64 als die Substitutionsdaten für das fehlerhafte Pixel verwendet werden. Der Prozess schreitet zu Bezugszeichen 60 fort, bei dem die Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 66 ermittelt wird, dass es einen zweiten Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält, schreitet der Prozess zu Bezugszeichen 70 fort, bei dem Daten in dem ausgewählten Farbkanal und dem zweiten Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die Summe der Differenzen zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in dem zweiten Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl n gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem ersten Referenzfarbkanal aufweisen. Bei Bezugszeichen 72 wird die Summe der Differenzen dividiert durch n zu dem guten Datenwert von dem Referenzfarbkanal des ausgewählten Pixels addiert, um ein zweites Ergebnis zu erhalten.
-
Bei Bezugszeichen 74 wird die Summe des ersten und zweiten Ergebnisses berechnet. Die Summe wird anschließend durch zwei dividiert, um einen Substitutionsdatenwert zu erhalten. Als Nächstes wird bei Bezugszeichen 60 der fehlerhafte Pixeldatenwert durch den bei Bezugszeichen 74 erzeugten Substitutionsdatenwert ersetzt.
-
Schließlich wird bei Bezugszeichen 76 ermittelt, ob alle Pixel verarbeitet worden sind. Wenn alle Pixel verarbeitet worden sind, endet der Prozess bei Bezugszeichen 78. Wenn noch nicht alle Pixel verarbeitet worden sind, kehrt der Prozess zu Bezugszeichen 50 zurück, bei dem ein anderes Pixel zur Nachprüfung ausgewählt wird.
-
Gemäß einem anderen Aspekt der vorliegenden Erfindung, der anhand der 6, 7 und 8 veranschaulicht wird, wird entweder eine Summe oder eine gewichtete Summe von Farbverhältnissen von guten Nachbarpixeln in dem Farbkanal, der das fehlerhafte Pixel enthält, und den guten Pixeln in zumindest einem anderen Farbkanal berechnet und verwendet, um den Substitutionswert für das fehlerhafte Pixel bereitzustellen.
-
Nun unter Bezugnahme auf 6 veranschaulicht ein Flussdiagramm das oben beschriebene beispielhafte Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung. Zunächst werden bei Bezugszeichen 80 ein Pixel und die Daten von einem der Farbkanäle in dem Pixel ausgewählt. Als Nächstes wird bei Bezugszeichen 82 ermittelt, ob die ausgewählten Pixeldaten in dem ausgewählten Farbkanal fehlerhaft sind. Dies kann durch Untersuchung der Karte oder Liste fehlerhafter Pixel oder durch irgendein anderes in der Technik bekanntes Mittel vorgenommen werden.
-
Bei Bezugszeichen 84 wird eine Gruppe von Nachbarpixeln, die das ausgewählte umgeben, definiert. In der vorliegend bevorzugten Ausführungsform kann diese Nachbarschaft als eine 3×3 Gruppe von Nachbarpixeln mit dem ausgewählten Pixel in der Mitte definiert werden. Fachleute werden feststellen, dass die Pixelnachbarschaft auf andere Arten unter Verwendung einer kleineren oder größeren Zahl von Pixeln, die das ausgewählte Pixel umgeben, definiert werden könnte. Solche Fachleute werden auch feststellen, dass es für Pixel, die an den Kanten eines Bildes gelegen sind, keine verfügbaren angrenzenden Pixel an einer Seite (entweder oben, unten, links oder rechts) oder in der Ecke des Bildes auch an zwei Seiten (entweder oben links, oben rechts, unten links oder unten rechts) des ausgewählten Pixels gibt, die zur Korrektur verwendet werden können. In solchen Fällen können die Verfahren der vorliegenden Erfindung unter Verwendung der Daten, die von den existierenden angrenzenden Pixeln verfügbar sind, implementiert werden, oder die Kantenpixel können ignoriert werden.
-
Bei Bezugszeichen 86 wird ermittelt, ob es einen Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält. Wenn zum Beispiel der rote Farbkanal des ausgewählten Pixels verarbeitet wird, wird ermittelt, ob die Daten in entweder dem blauen oder dem grünen Farbkanal gute Daten sind. Wenn ermittelt wird, dass es kein gutes Referenzkanalpixel gibt, schreitet der Prozess zu Bezugszeichen 88 fort, bei dem ein Prozess, wie etwa das Berechnen des Mittelwertes der guten Pixel in der ausgewählten, durch den Farbkanal definierten Nachbarschaft, durchgeführt wird, um Substitutionsdaten für das fehlerhafte Pixel zu erzeugen. Der Prozess schreitet zu Bezugszeichen 90 fort, bei dem die erzeugten Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 86 ermittelt wird, dass es einen Referenzfarbkanal in dem ausgewählten Pixel gibt, der gute Daten aufweist, schreitet der Prozess zu Bezugszeichen 92 fort, bei dem Daten in dem ausgewählten Farbkanal und dem Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die Summe der Verhältnisse zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in dem Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl m gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem Referenzfarbkanal aufweisen. Bei Bezugszeichen 94 wird die Summe der Verhältnisse dividiert durch m mit dem guten Datenwert von dem Referenzfarbkanal des ausgewählten Pixels multipliziert, um einen Datensubstitutionswert zu erhalten.
-
Als Nächstes wird bei Bezugszeichen 90 der fehlerhafte Pixeldatenwert durch den Substitutionsdatenwert ersetzt. Bei Bezugszeichen 96 wird ermittelt, ob alle Pixel verarbeitet worden sind. Wenn alle Pixel verarbeitet worden sind, endet der Prozess bei Bezugszeichen 98. Wenn noch nicht alle Daten verarbeitet worden sind, kehrt der Prozess zu Bezugszeichen 80 zurück, bei dem ein anderes Pixel zur Nachprüfung ausgewählt wird.
-
Nun unter Bezugnahme auf 7 veranschaulicht ein Flussdiagramm ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung. Zunächst werden bei Bezugszeichen 100 ein Pixel und die Daten von einem der Farbkanäle in dem Pixel ausgewählt. Als Nächstes wird bei Bezugszeichen 102 ermittelt, ob die ausgewählten Pixeldaten in dem ausgewählten Farbkanal fehlerhaft sind. Dies kann durch Untersuchung der Karte oder Liste fehlerhafter Pixel oder durch irgendein anderes in der Technik bekanntes Mittel vorgenommen werden.
-
Bei Bezugszeichen 104 wird eine Gruppe von Nachbarpixeln, die die ausgewählten Pixel umgeben, definiert. In der vorliegend bevorzugten Ausführungsform kann diese Nachbarschaft als eine 3×3 Gruppe von Nachbarpixeln mit dem ausgewählten Pixel in der Mitte definiert werden. Fachleute werden feststellen, dass die Pixelnachbarschaft auf andere Arten unter Verwendung einer kleineren oder größeren Zahl von Pixeln, die das ausgewählte Pixel umgeben, definiert werden könnte.
-
Bei Bezugszeichen 106 wird ermittelt, ob es einen Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält. Wenn zum Beispiel der rote Farbkanal des ausgewählten Pixels verarbeitet wird, wird ermittelt, ob die Daten in entweder dem blauen oder dem grünen Farbkanal gute Daten sind. Wenn ermittelt wird, dass es kein gutes Referenzkanalpixel gibt, schreitet der Prozess zu Bezugszeichen 108 fort, bei dem ein Prozess, wie etwa das Berechnen des Mittelwerts der guten Pixel in der ausgewählten, durch den Farbkanal definierten Nachbarschaft, durchgeführt wird, um Substitutionsdaten für das fehlerhafte Pixel zu erzeugen. Der Prozess schreitet zu Bezugszeichen 110 fort, bei dem die erzeugten Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 106 ermittelt wird, dass es einen Referenzfarbkanal in dem ausgewählten Pixel gibt, der gute Daten aufweist, schreitet das Verfahren zu Bezugszeichen 112 fort, bei dem Daten in dem ausgewählten Farbkanal und dem Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die gewichtete Summe der Verhältnisse zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in dem Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl m gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem Referenzfarbkanal aufweisen. Bei Bezugszeichen 114 wird die gewichtete Summe der Verhältnisse dividiert durch die Summe der Gewichte mit dem guten Datenwert von dem Referenzfarbkanal des ausgewählten Pixels multipliziert, um einen Datensubstitutionswert zu erhalten.
-
Fachleute werden feststellen, dass verschiedene Gewichtungsfaktoren gemäß diesem Aspekt der vorliegenden Erfindung ebenfalls angewandt werden können. Als nicht einschränkende Beispiele kann der Gewichtungsfaktor w1 wie in Gleichung (12) oder Gleichung (13) berechnet werden.
-
Als Nächstes wird bei Bezugszeichen 110 der fehlerhafte Pixeldatenwert durch den Substitutionsdatenwert ersetzt. Bei Bezugszeichen 116 wird ermittelt, ob alle Pixel verarbeitet worden sind. Wenn alle Pixel verarbeitet worden sind, endet der Prozess bei Bezugszeichen 118. Wenn noch nicht alle Daten verarbeitet worden sind, kehrt der Prozess zu Bezugszeichen 110 zurück, bei dem ein anderes Pixel zur Nachprüfung ausgewählt wird.
-
Nun unter Bezugnahme auf 8 veranschaulicht ein Flussdiagramm ein anderes beispielhaftes Verfahren zur Korrektur fehlerhafter Pixel gemäß der vorliegenden Erfindung. Wie in dem Beispiel von 5 werden in dem Beispiel von 8 Daten von zwei Referenzfarbkanälen verwendet, wenn die Daten verfügbar sind.
-
Zunächst werden bei Bezugszeichen 120 ein Pixel und die Daten von einem der Farbkanäle in dem Pixel ausgewählt. Als Nächstes wird bei Bezugszeichen 122 ermittelt, ob die ausgewählten Pixeldaten in dem ausgewählten Farbkanal fehlerhaft sind. Dies kann durch Untersuchung der Karte oder Liste fehlerhafter Pixel oder durch irgendein anderes in der Technik bekanntes Mittel vorgenommen werden.
-
Bei Bezugszeichen 124 wird eine Gruppe von Nachbarpixeln, die das ausgewählte Pixel umgeben, definiert. In einer vorliegend bevorzugten Ausführungsform kann diese Nachbarschaft als eine 3×3 Gruppe von Nachbarpixeln mit dem ausgewählten Pixel in der Mitte definiert werden. Fachleute werden feststellen, dass die Pixelnachbarschaft auf andere Arten unter Verwendung einer kleineren oder größeren Zahl von Pixeln, die das ausgewählte Pixel umgeben, definiert werden könnte.
-
Bei Bezugszeichen 126 wird ermittelt, ob es einen ersten Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält. Wenn zum Beispiel der rote Farbkanal des ausgewählten Pixels verarbeitet wird, wird ermittelt, ob die Daten in entweder dem blauen oder dem grünen Farbkanal gute Daten sind. Wenn ermittelt wird, dass es kein gutes Referenzkanalpixel gibt, schreitet der Prozess zu Bezugszeichen 128 fort, bei dem ein Prozess, wie etwa das Berechnen des Mittelwerts der guten Pixel in der ausgewählten, durch den Farbkanal definierten Nachbarschaft, durchgeführt wird, um Substitutionsdaten für das fehlerhafte Pixel zu erzeugen. Der Prozess schreitet zu Bezugszeichen 130 fort, bei dem die erzeugten Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 126 ermittelt wird, dass es einen ersten Referenzfarbkanal in dem ausgewählten Pixel gibt, der gute Daten aufweist, schreitet der Prozess zu Bezugszeichen 132 fort, bei dem Daten in dem ausgewählten Farbkanal und dem ersten Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die Summe der Verhältnisse zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in dem ersten Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl m gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem ersten Referenzfarbkanal aufweisen. Bei Bezugszeichen 134 wird die Summe der Verhältnisse dividiert durch m mit dem guten Datenwert von dem Referenzfarbkanal des ausgewählten Pixels multipliziert, um ein erstes Ergebnis zu erhalten.
-
Als Nächstes wird bei Bezugszeichen 136 ermittelt, ob es einen zweiten Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält. Wenn ermittelt wird, dass es keinen zweiten guten Referenzfarbkanal gibt, der gute Daten für das ausgewählte Pixel enthält, schreitet der Prozess zu Bezugszeichen 138 fort, bei dem das erste Ergebnis von Bezugszeichen 134 als die Substitutionsdaten für das fehlerhafte Pixel verwendet wird. Der Prozess schreitet zu Bezugszeichen 130 fort, bei die Substitutionsdaten verwendet werden, um die fehlerhaften Pixeldaten zu ersetzen.
-
Wenn bei Bezugszeichen 136 ermittelt wird, dass es einen zweiten Referenzfarbkanal für das Pixel gibt, der gute Pixeldaten enthält, schreitet der Prozess zu Bezugszeichen 140 fort, bei dem Daten in dem ausgewählten Farbkanal und dem zweiten Referenzfarbkanal von allen verfügbaren Nachbarpixeln (d. h. nur Pixel mit guten Daten) verarbeitet werden, um die Summe der Verhältnisse zwischen den guten Daten in dem ausgewählten Farbkanal und den Daten in dem zweiten Referenzfarbkanal zu berechnen. Im Allgemeinen wird es eine ganze Zahl n gleich der Zahl von Nachbarpixeln geben, die gute Daten in sowohl dem ausgewählten Farbkanal als auch dem ersten Referenzfarbkanal aufweisen. Bei Bezugszeichen 142 wird die Summe der Verhältnisse dividiert durch n mit dem guten Datenwert von dem Referenzfarbkanal des ausgewählten Pixels multipliziert, um ein zweites Ergebnis zu erhalten.
-
Bei Bezugszeichen 144 wird die Summe des ersten und zweiten Ergebnisses berechnet. Die Summe wird anschlieließend durch zwei dividiert, um einen Substitutionsdatenwert zu erhalten. Als Nächstes wird bei Bezugszeichen 130 der fehlerhafte Pixeldatenwert durch den bei Bezugszeichen 144 erzeugten Substitutionsdatenwert ersetzt.
-
Schließlich wird bei Bezugszeichen 146 ermittelt, ob alle Pixel verarbeitet worden sind. Wenn alle Pixel verarbeitet worden sind, endet der Prozess bei Bezugszeichen 148. Wenn noch nicht alle Daten verarbeitet worden sind, kehrt der Prozess zu Bezugszeichen 120 zurück, bei dem ein anderes Pixel zur Nachprüfung ausgewählt wird.
-
Zusammengefasst umfasst ein Verfahren zum Ersetzen fehlerhafter Pixel in einem digitalen Farbbild, dass ermittelt wird, ob jedes Pixel fehlerhafte Daten in einem ausgewählten Farbkanal aufweist; für das Pixel ermittelt wird, ob ein erster Referenzfarbkanal existiert, und wenn dies der Fall ist, die fehlerhaften Daten korrigiert werden, indem eine Gruppe von Nachbarpixeln definiert wird; für jedes von m Nachbarpixeln, das nicht fehlerhafte Daten in dem ausgewählten Farbkanal und dem Referenzfarbkanal aufweist, eine Summe der Differenzen zwischen den nicht fehlerhaften Daten in dem ausgewählten Farbkanal und den nicht fehlerhaften Daten in dem ersten Referenzfarbkanal berechnet wird; die Summe der Differenzen dividiert durch m zu dem nicht fehlerhaften Datenwert von dem ersten Referenzfarbkanal addiert wird, um ein Ergebnis zu erhalten; das Ergebnis durch zwei dividiert wird, um einen Substitutionsdatenwert zu erhalten; und der Substitutionsdatenwert für die fehlerhaften Daten substituiert wird.