DE69628723T2 - Gradientengestütztes Verfahren zur Erzeugung von Werten für unbekannte Pixel in einem Digitalbild - Google Patents

Gradientengestütztes Verfahren zur Erzeugung von Werten für unbekannte Pixel in einem Digitalbild Download PDF

Info

Publication number
DE69628723T2
DE69628723T2 DE69628723T DE69628723T DE69628723T2 DE 69628723 T2 DE69628723 T2 DE 69628723T2 DE 69628723 T DE69628723 T DE 69628723T DE 69628723 T DE69628723 T DE 69628723T DE 69628723 T2 DE69628723 T2 DE 69628723T2
Authority
DE
Germany
Prior art keywords
edge
defective
pixel
area
pixels
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
DE69628723T
Other languages
English (en)
Other versions
DE69628723D1 (de
Inventor
Tomasz Andrzej Rochester Matraszek
David Roy Rochester Cok
Robert Terry Rochester Gray
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.)
Eastman Kodak Co
Original Assignee
Eastman Kodak Co
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 Eastman Kodak Co filed Critical Eastman Kodak Co
Application granted granted Critical
Publication of DE69628723D1 publication Critical patent/DE69628723D1/de
Publication of DE69628723T2 publication Critical patent/DE69628723T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/253Picture signal generating by scanning motion picture films or slide opaques, e.g. for telecine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Korrektur eines oder mehrerer fehlerhafter Pixel in einem Fehlerbereich eines digitalen Bildsignals, das ein Ausgangsbild darstellt.
  • Die Umwandlung analoger Bilder in digitale Daten ist für eine Vielzahl von Anwendungen weit verbreitet, einschließlich der Speicherung, Manipulation, Übertragung und Darstellung oder des Druckens von Kopien der Bilder. Beispielsweise werden häufig Bildfolgen aus einem Laufbildfilm digitalisiert, worauf die digitalisierten Bilder Bildverbesserungs- oder Spezialeffekten unterzogen werden, um das Ergebnis anschließend wieder auf leeren Film zu belichten. Bilder, die auf fotografischen Medien erfasst werden, werden zudem in digitale Daten umgewandelt und auf Compact Discs gespeichert, um als Videobild ausgelesen und angezeigt oder mit verschiedenen Arten von Farbdruckern ausgedruckt zu werden. Um das fotografische Bild digital zu erfassen, wird das Bild auf dem Film mit einem Lichtstrahl abgetastet, worauf das Licht durch den Film erfasst, typischerweise in Form von drei Primärfarben-Lichtstärkesignalen, und digitalisiert wird. Die digitalisierten Werte können in einen Standard für die Videoanzeige formatiert und auf Compact Disc oder magnetischen Medien gespeichert werden. Derartige Filmdigitalisierer können in unterschiedlicher Form ausgebildet sein; verschiedene allgemeine Aspekte der Filmdigitalisierung, insbesondere der Beleuchtung und Aspekte linearer, CCD-basierender Digitalisierer, werden detaillierter in der Parallelanmeldung US-A-5,012,346 beschrieben. Fotografische Prints lassen sich zudem mit Auflichtabtastern digitalisieren.
  • Die Bereitstellung neuer Pixelwerte für beschädigte oder fehlerhafte Pixel ist in der digitalen Bildverarbeitung ein üblicher Vorgang. Ein Teil des Bildes kann durch Kratzer beschädigt oder durch Staub beeinträchtigt sein. Fehlerhafte Pixelwerte stellen keine Informationen des Originalbildes dar, so dass diese Werte nicht für Wiederherstellungszwecke verwendbar sind. Neue Pixelwerte müssen mit dem Bildinhalt übereinstimmen, der den zu ersetzenden Bereich umgibt. Dieser Prozess wird hier als Pixelfüllung bezeichnet. Ein weiteres Beispiel einer Bildverarbeitungsoperation, die eine Pixelfüllung erfordert, ist die Entfernung eines Objekts aus dem Bild, beispielsweise die Entfernung von Streifen in Laufbildfilmen.
  • Zum Auffüllen kleiner, kompakter Fehlerbereiche in einem Filmbild werden normalerweise einfache, nicht richtungsgebundene Mittelungs- oder Erosionstechniken verwendet. Diese Verfahren erzeugen eine unerwünschte Glätte in den ersetzten Bereichen und führen zu einer erheblichen Beeinträchtigung von Kanten, die von den zu füllenden Bereichen geschnitten werden. Das Problem der Rekonstruktion von Kanten ist insbesondere für lange, schmale aufzufüllende Bereiche gravierend, weil diese mit hoher Wahrscheinlichkeit mehrere Objekte in dem Bild schneiden. Dieses Problem wird von Massmann et al. in dem in US-A-5,097,521 beschriebenen Verfahren aufgegriffen. Das genannte Verfahren weist jedoch einige Nachteile auf. Erstens setzt es voraus, dass im Wesentlichen vertikale Bereiche aufzufüllen sind. Zudem werden Situationen ggf. nicht zufrieden stellend gelöst, in denen sich mehrere Kanten in dem fehlerhaften Bereich schneiden.
  • Kwok et al. beschreibt in US-A-5,097,521 ein Fehlerverbergungssystem, das auf dem Gradientenfeld beruht. In diesem System wird ein zweidimensionaler Block von Fehlerdaten aufgefüllt. Dieses System arbeitet in den Fällen nicht zufrieden stellend, in denen Objekte, die den Fehlerblock kreuzen, schmaler sind als die Größe des Fehlerblocks.
  • Verfahren nach dem Stand der Technik erzeugen möglicherweise Artefakte, wenn der fehlerhafte Bereich auf gekrümmte Kanten, Objektecken oder „T-Kanten" fällt.
  • Es wäre ein Verfahren wünschenswert, das korrigierte Pixelwerte für Pixel in einem fehlerhaften Bereich erzeugt, die einen rekonstruierten Bildinhalt in dem fehlerhaften Bereich erzeugen können, der weitgehend mit dem Bildinhalt des Umgebungsbereichs konsistent ist, sogar in dem Fall, in dem der fehlerhafte Bereich Objekte schneidet, die schmaler oder vergleichbar der Breite des fehlerhaften Bereichs sind, oder wenn mehrere Kanten den fehlerhaften Bereich schneiden.
  • Die vorliegende Erfindung stellt ein Verfahren zur Korrektur eines oder mehrerer fehlerhafter Pixel in einem fehlerhaften Bereich eines Ausgangsbildes bereit. Das Ausgangsbild hat sowohl fehlerhafte Pixel als auch nicht fehlerhafte Pixel, von denen jedes durch mindestens ein fehlerhaftes Pixelsignal und ein nicht fehlerhaftes Pixelsignal darstellbar ist. Die Erfindung setzt das Vorhandensein eines digitalen Eingabebildes zusammen mit einer Anzeige der fehlerhaften Bereiche voraus, beispielsweise einem Maskenbild. Pixel eines gegebenen Werts (z. B. gleich 0) in dem Maskenbild definieren fehlerhafte Pixel in dem Eingabebild. Nach einem Aspekt umfasst das Verfahren folgende Schritte:
    • (a) Suchen nach Folgen von Pixeln, die eine Kante darstellen in einem nicht fehlerhaften Bereich des Bildes, der zum fehlerhaften Bereich benachbart angeordnet ist, durch:
    • (i) Vergleichen relativer Pixelparameter in dem nicht fehlerhaften Bereich mit einer vorbestimmten Toleranz zum Auffinden einer Folge von Pixeln, die das Kantensegment darstellen, deren Elemente relative Parameter innerhalb der Toleranz aufweisen und deren Folge in einem vorbestimmten Abstand zu dem fehlerhaften Bereich liegt; und
    • (ii) Vergleichen der Länge eines Kantensegments mit einer Mindestlänge, um dieses als ein Kantensegment mit mindestens der Mindestlänge zu erkennen;
    • (b) Erzeugen mindestens eines Pixelsignals für den fehlerhaften Bereich aufgrund des Signals von mindestens einem nicht fehlerhaften Pixel, das in einer Richtung von dem fehlerhaften Pixel angeordnet ist, welche durch die Richtung einer Kante bestimmbar ist.
  • Das erfindungsgemäße Verfahren ist auf einem Computer implementierbar, vorzugsweise auf einem programmierbaren, digitalen Computer. Die nachfolgend beschriebenen notwendigen Berechnungen (z. B. Erzeugen von Gradienten, Vergleichen von Längen, Erzeugen von Pixelsignalen) lassen sich von dem Prozessor des Computers durchführen, während die Daten in einer Speichervorrichtung (z. B. RAM oder Festplatte) des Computers gespeichert werden können.
  • Die zur Erfassung von Kanten verwendeten relativen Pixelparameter umfassen im Allgemeinen einen Parameter, der direkt eine Kantenform definiert. Beispielsweise ist ein Kantenrichtungswinkel als Parameter verwendbar, wobei davon ausgegangen wird, dass der Kantenrichtungswinkel eines Pixels rechtwinklig zur Gradientenrichtung dieses Pixels verläuft. Eine Möglichkeit zur Lokalisierung von Kanten besteht darin, den nicht fehlerhaften Bereich als ein „Gleitfenster" von begrenzten Ausmaßen auszuwählen, das dem fehlerhaften Bereich benachbart ist, wobei das Fenster einen lokalen fehlerfreien Bereich definiert. Eine Kante in diesem Fenster kann dann mithilfe eines Gradientenfeldes lokalisiert werden, wie nachfolgend detaillierter beschrieben. Es sei darauf hingewiesen, dass mit „benachbart" nicht unbedingt unmittelbar benachbart gemeint ist, und zwar in dem Sinne, dass ggf. ein vorgewählter Abstand den Mittelpunkt des Fensters oder das Ende einer Kante von dem fehlerhaften Bereich trennt. Insbesondere, wie nachfolgend beschrieben, trennt ein Fehlerausbreitungsabstand, aufgrund von Unschärfe- oder Gradientenoperationen, den Mittelpunkt des Gleitfensters von dem fehlerhaften Bereich.
  • Es wird ggf. nur das Richtungsattribut der Pixelgradienten berechnet (obwohl vorzugsweise sowohl Richtungswinkel und Größe berechnet werden). Das Verfahren lokalisiert eine Pixelfolge, die sich in mindestens einer Richtung von einem Startpixel erstreckt (und das Startpixel selbst umfasst), wobei die Elemente in der lokalisierten Folge relative Gradientenattribute aufweisen, von denen mindestens ein Attribut in eine vorbestimmte Toleranz fällt, und wobei deren Folge in einem vorbestimmten Abstand des fehlerhaften Bereichs liegt. Die Länge des Kantensegments wird mit einer Mindestlänge verglichen und, falls die Mindestlänge erfüllt wird, wird das Segment als eine Kante klassifiziert. Das Fenster kann dann verschoben werden, wie nachfolgend detaillierter beschrieben wird, und das Verfahren kann wiederholt werden, so dass ein ganzer Bereich, der zu dem nicht fehlerhaften Bereich benachbart und um diesen herum angeordnet ist, auf Kanten durchsucht worden ist, indem derartige lokale, nicht fehlerhafte Bereiche in Folge durchsucht worden sind.
  • Mithilfe des beschriebenen Gleitfensterverfahrens kann ein zu dem fehlerhaften Bereich benachbarter und um diesen herum angeordneter Bereich als eine Vielzahl lokaler nicht fehler hafter Bereiche behandelt werden. Allerdings könnten auch nicht fehlerhafte Bereiche, die zu dem fehlerhaften Bereich benachbart und um diesen herum angeordnet sind, in ähnlicher Weise auf Kanten untersucht werden, ohne dass notwendigerweise das bevorzugte Gleitfensterverfahren zur Anwendung kommt. Pixelsignale für den fehlerhaften Bereich können auf der Kante basierend erzeugt werden, die sich in den fehlerhaften Bereich erstreckt. In diesem Fall würde ein Modell einer Kantenform ermittelt, das dann verwendbar wäre, um die Form der Kante vorherzubestimmen, die sich in den fehlerhaften Bereich erstreckt. Beispielsweise könnte eine gekrümmte Kante als Modell der Krümmung entwickelt werden (beispielsweise eine Gleichung, die die Krümmung darstellt), die dann verwendet wird, um die Lage der Kurve in dem fehlerhaften Bereich vorherzubestimmen. Die Pixelwerte im fehlerhaften Bereich der Kante könnten dann für den vorbestimmten Fehlerabschnitt der Kante basierend auf den Signalen mindestens einiger der Pixel der Kante erzeugt werden (etwa durch den nächsten Nachbarn oder andere Extrapolations- oder Interpolationstechniken). Die Werte für andere Pixel in dem fehlerhaften Bereich, die nicht auf einer Kante liegen (der typischerweise in eine vorbestimmte Entfernung einer Kante fällt) können auch basierend auf dem Signal mindestens eines nicht fehlerhaften Pixels erzeugt werden, das in einer Richtung zum fehlerhaften Pixel liegt, das durch die Richtung einer Kante bestimmt wird.
  • In einem Ausführungsbeispiel der vorliegenden Erfindung sind jedoch Pixelsignale erzeugbar, wenn zwei Kanten in der örtlichen Nachbarschaft des fehlerhaften Bereichs aufgefunden werden. In diesem Fall werden Pixelparameter der Enden dieser Kanten, die zum fehlerhaften Bereich benachbart sind, mit mindestens einer vorbestimmten Toleranz verglichen (es ist eine vorbestimmte Toleranz für die Gradientengröße und den Gradientenrichtungswinkel verwendbar). Beispielsweise kann die Gradientengröße und der lokale Gradientenrichtungswinkel der Pixel an den Enden mit einer vorbestimmten akzeptablen Größenabweichung und einem relativen Winkelbereich verglichen werden. In diesem Fall würde ein Modell einer Kantenform ermittelt, das dann verwendbar wäre, um die Form des Kantensegments vorherzubestimmen, die die beiden Kanten in dem fehlerhaften Bereich verbindet. Beispielsweise ist ein Kantensegment, das zwei Kanten in dem fehlerhaften Bereich verbindet, durch eine nicht lineare Funktion zur Darstellung einer Krümmung modellierbar. Dann können Pixelsignale für die Pixel in dem fehlerhaften Bereich an der Stelle eines Kantensegments erzeugt werden, das die beiden Enden in dem fehlerhaften Bereich verbindet. Die erzeugten Signale beruhen auf mindestens einem Pixelsignal der beiden erfassten Kanten. In dieser Hinsicht sind Pixelsignale für einige oder alle Pixel in dem Kantensegment erzeugbar, das zwei Kanten durch den fehlerhaften Bereich verbindet. Die Werte für andere Pixel in dem fehlerhaften Bereich, die nicht auf dem Kantensegment liegen, das zwei Kanten verbindet (der typischerweise in eine vorbestimmte Entfernung einer Kante fällt) können auch basierend auf dem Signal mindestens eines nicht fehlerhaften Pixels erzeugt werden, das in einer Richtung zum fehlerhaften Pixel liegt, das durch die Richtung mindestens einer Kante und oder des Kantensegments, das die beiden Kanten verbindet, bestimmt wird.
  • Es sei darauf hingewiesen, dass es in dem vorausgehenden Ausführungsbeispiel nicht nötig ist, dass beide Kanten zuerst identifiziert werden. Beispielsweise könnte zuerst eine Kante durch Verwendung eines Gradientenfeldes, wie bereits beschrieben, identifiziert werden. Dann wird die Lage einer Linie, die sich von der Kante durch den fehlerhaften Bereich erstreckt, bestimmt. Diese Lage kann auf der Richtung mindestens eines Teils der Kante basieren (wie dem Ende der Kante, die zum fehlerhaften Bereich benachbart ist). Dann wird ein nicht fehlerhafter Bereich, der zum fehlerhaften Bereich benachbart und gegenüber der Kante angeordnet ist, nach einer Folge von Pixeln durchsucht, die ein Kantensegment darstellen, das sich von einem ersten nicht fehlerhaften Pixel erstreckt, das von der Linienverlängerung der Kante durch den fehlerhaften Bereich geschnitten wird. Dies kann in einer bereits beschriebenen Weise erfolgen, indem die Differenz der Pixelparameter (wie der Kantenrichtungswinkel der Pixel) mit der vorbestimmten Toleranz verglichen wird.
  • Es sei darauf hingewiesen, dass in dem erfindungsgemäßen Verfahren zusätzliche Tests durchführbar sind, um zu entscheiden, wann eine Kante (typischerweise eine verbundene Kante, wie nachfolgend beschrieben) gefunden wird. Beispielsweise kann ein Parameter, der Pixelsignale in einem Bereich darstellt, der mindestens zu einer ersten Seite einer der Kanten benachbart ist, mit demselben Parameter verglichen werden, der Pixelsignale in einem Bereich darstellt, der zu einer entsprechenden ersten Seite der anderen Kante benachbart ist. Vorzugsweise werden die Parameter für Pixelsignale in einem Bereich, der zu einer entsprechenden zweiten Seite beider Kanten benachbart ist, gegen die vorbestimmte Toleranz geprüft und müssen in diese Toleranz fallen, bevor Pixelsignale zwischen den beiden Enden erzeugt werden. Ein derartiger Parameter kann beispielsweise mittlere Pixelwerte für jeden Farbkanal (wie RGB, CMY, monochrom usw.) in den verglichenen Bereichen darstellen. In diesem Fall kann dieser zusätzliche Test als Farbübereinstimmungsbestimmung betrachtet werden, die von den Kanten erfüllt werden muss. Die Schwankung der Pixelwerte für jeden Bereich kann ebenfalls in den Parameter einbezogen werden. Welche Seiten „entsprechende" Seiten sind, hängt von der Komplexität der Formen ab, die von einer Mehrzahl von Kanten gebildet werden, die das Verfahren bearbeitet. Wenn das Verfahren beispielsweise einzelne Kanten bearbeitet, die den fehlerhaften Bereich durchqueren (d. h. ein Einlinienfall) wären „entsprechende" Kanten die Seiten, die zur selben Richtung weisen, die lotrecht zur Kante verläuft. Wenn das Verfahren andere oder von den Kanten gebildete komplexere Formen verarbeiten soll, würden die entsprechenden Seiten von der Art der zu verarbeitenden Form abhängen (Beispiele hierzu sind nachfolgend angegeben.)
  • In der bevorzugten Implementierung der vorliegenden Erfindung umfasst das Verfahren das Durchsuchen eines nicht fehlerhaften Bereichs, der zum fehlerhaften Bereich benachbart ist, nach Kantensegmenten mithilfe der (vorzugsweise gradientengestützten) Verfahren, die bereits für ein anderes geeignetes Verfahren beschrieben worden sind, und Vergleichen der Länge der Kantensegmente mit einer vorbestimmten Mindestlänge, die als Kanten zu erkennen sind, wobei diese Segmente mindestens die Mindestlänge aufweisen. Die Lage der erfassten Kanten und die relevanten Informationen werden gespeichert, beispielsweise in einem Schreib-/Lesespeicher eines Computers (RAM), und definieren einen Kantenplan. Dieser Kantenplan wird dann nach geometrischen Grundelementen durchsucht. Ein „geometrisches Grundelement" ist ein Modell einer vorgewählten Anordnung von einer oder mehreren Kanten. Beispiele geometrischer Grundelemente umfassen Ecken, T-Verbindungen und X-Verbindungen. Dieser Suchschritt kann durch Vergleichen mindestens eines relativen geometrischen Parameters einer Menge von mindestens zwei Kanten mit einer geometrischen Bestimmung erfolgen, die einem geometrischen Grundelement entspricht. Beispielsweise kann ein Schnittwinkel der beiden Kanten mit einer Bestimmung verglichen werden, die einem Bereich der Schnittwinkel entspricht. Wenn die Menge der Kanten die geometrische Bestimmung sowie eine andere geltende Bestimmung erfüllt (wie die nachfolgend beschriebene Farbübereinstimmungsbestimmung), wird davon ausgegangen, dass ein geometrisches Grundelement gefunden worden ist, und dass die Kanten der Menge, die die Bestimmungen erfüllt, Teil eines „erfassten" geometrischen Grundelements sind.
  • Ein erfasstes geometrisches Grundelement lässt sich in dem Plan durch Vergrößern oder Verkleinern (d. h. durch Entfernen von Teilen einer Kante) einer oder mehrerer Kanten des erfassten Grundelements extrahieren, so dass sie dasselbe, von dem Grundelement definierte Muster schneiden. Alternativ hierzu kann das Grundelement extrahiert werden, indem in dem Plan die als Grundelement erfassten Kanten durch eine oder mehrere neue Kanten ersetzt werden, die das Grundelement darstellen. Im ersten Fall werden Kanten eines erfassten Grundelements, die den fehlerhaften Bereich schneiden, in den fehlerhaften Bereich verlängert, und zwar typischerweise basierend auf deren Richtung, mit der sie in den fehlerhaften Bereich eintreten. Hierzu gibt es unterschiedliche Möglichkeiten. Eine bevorzugte Möglichkeit besteht beispielsweise darin, in dem Plan alle erfassten Kanten, die den fehlerhaften Bereich schneiden, durch den fehlerhaften zu verlängern. Danach werden die Teile der Kanten entfernt, die Teil eines erfassten Grundelements sind, dessen Teile sich über die Schnittpunkte der Kante hinaus erstrecken, die mit der geometrischen Konfiguration des erfassten Grundelements übereinstimmen. Eine zweite Möglichkeit besteht darin, nur die Kanten zu verlängern, die Teil eines erfassten Grundelements sind, so dass eine Übereinstimmung mit der geometrischen Konfiguration des erfassten Grundelements erfolgt. Für Kanten eines Grundelements, die sich außerhalb des fehlerhaften Bereichs schneiden, kann es notwendig sein, eine oder mehrere dieser Kanten zu verkleinern, indem Teile entfernt werden, die sich über einen Schnittpunkt zwischen ihnen hinaus erstrecken.
  • Um lange Verarbeitungszeiten in einem Computer, in dem das vorliegende Verfahren implementiert ist, zu vermeiden, sei darauf hingewiesen, dass es sich bei den Modellen unterstützter geometrischer Grundelemente um diejenigen Anordnungen von Kanten handelt (entweder gerade, gekrümmt oder in sonstiger Weise geformt), die mit hoher Wahrscheinlichkeit in Bildern zu finden sind, die zur Verarbeitung durch das vorliegende Verfahren vorgesehen sind.
  • Ein bestimmter geometrischer Parameter, der verwendet werden kann, ist der Schnittwinkel von zwei Kanten in dem Kantenplan. Die entsprechende geometrische Bestimmung würde ein zulässiger Schnittwinkelbereich von zwei Kanten sein. Der „Schnittwinkel" ist der Winkel zwischen den Richtungen von zwei Kanten an den Pixeln, an denen sich diese tatsächlich schneiden (wenn sie sich außerhalb des fehlerhaften Bereichs schneiden) oder zwischen ihren Richtungen an den Pixeln, an denen sie in den fehlerhaften Bereich eintreten (wenn sich die Kanten nicht außerhalb des fehlerhaften Bereichs schneiden, sondern wenn sich ihre Richtungen innerhalb des fehlerhaften Bereichs schneiden). Die Kantenrichtung an einem gegebenen Punkt ist durch einen mittleren Kantenrichtungswinkel einer ausgewählten Menge von benachbarten Kantenpunkten definiert.
  • Zwar ist die Erfüllung einer oder mehrerer geometrischer Bestimmungen eine Voraussetzung dafür, dass Kanten Teil eines erfassten geometrischen Grundelements sind, aber dies muss nicht die einzige Voraussetzung sein. Vorzugsweise muss auch eine weitere Bestimmung eines Parameters, der Pixelsignale in Bereichen darstellt, die zu einer Seite benachbart sind und vorzugsweise zu zwei Seiten von mindestens zwei Kanten, erfüllt werden. Dies würde im Falle von Farbbildern insbesondere eine Farbübereinstimmungsbestimmung sein.
  • Vorzugsweise werden nur zwei Kanten in dem Kantenplan, die in einer vorbestimmten maximalen Entfernung zu dem fehlerhaften Bereich liegen, nach geometrischen Grundelementen durchsucht.
  • In der beschriebenen, bevorzugten Implementierung werden Signale für Pixel in fehlerhaften Bereichen erzeugt, von denen jedes auf dem Signal mindestens eines nicht fehlerhaften Pixels beruht, das auf einer Prädiktorlinie liegt, deren Richtung auf einem Teil eines örtlich erfassten geometrischen Grundelements basiert. Die Prädiktorlinie verläuft allgemein zu einer Linie, die einen Teil eines erfassten geometrischen Grundelements darstellt. Wenn ein Liniengrundelement erfasst wird, kann es parallel zu einer Linie verlaufen, die in dem Kantenplan in einer Weise angeordnet ist, die als beste mittlere Position zwischen zwei als Liniengrundelemente erfassten Kanten betrachtet wird.
  • Wenn mehr als ein Teil mindestens eines geometrischen Grundelements innerhalb einer vorbestimmten Maximaldistanz eines fehlerhaften Pixels liegt, dann werden vorzugsweise die geschätzten Pixelsignale für das fehlerhafte Pixel basierend auf mindestens einem nicht fehlerhaften Pixel berechnet, das auf jeder der Prädiktorlinien liegt, die durch das fehlerhafte Pixel laufen, und das fehlerhafte Pixelsignal ist eine gewichtete Summe der geschätzten Pixelsignale. Jedes geschätzte Pixelsignal wird in einer inversen Beziehung zur Distanz zwischen Prädiktorlinie und entsprechenden geometrischen Grundelementteilen gewichtet, wie weiter unten beschrieben.
  • In einem alternativen Verfahren der vorliegenden Erfindung zur Korrektur fehlerhafter Pixel (als „modifiziertes Nadelscheibenverfahren" bezeichnet), die innerhalb einer vorbestimmten Distanz von mindestens einer Hauptrichtung des Gradientenfeldes liegen, wird eine durch ein ausgewähltes fehlerhaftes Pixel laufende Vielzahl von Liniensegmenten zugewiesen. Jedes der Liniensegmente setzt sich aus dem fehlerhaften Pixel und das ausgewählte fehlerhafte Pixel umgebenden nicht fehlerhaften Pixeln zusammen. Es wird mindestens ein repräsentatives Modell der nicht fehlerhaften Pixelsignale entlang jedes Liniensegments bestimmt. Die Abweichung der nicht fehlerhaften Pixelsignale entlang jedes Liniensegments vom Modell wird bestimmt, ebenso wie mindestens eine Hauptrichtung des lokalen Gradientenfeldes (unter „lokal" ist eine vorbestimmte Distanz zu verstehen). Für eine Hauptrichtung muss eine vorgewählte Mindestzahl von Pixeln vorhanden sein, deren Gradientenwert über einem bestimmten Schwellenwert liegt und deren Gradientenrichtungswinkel innerhalb einer bestimmten Toleranz dieser Richtung liegt. Es wird mindestens ein Liniensegment nach einem Gütemerkmal ausgewählt. Das Gütemerkmal ist ein Wert, der mit abnehmender Abweichung der nicht fehlerhaften Pixel entlang des ausgewählten Liniensegments steigt und mit der Ausrichtung des Liniensegments mit den Hauptrichtungen des lokalen Gradientenfeldes (das beispielsweise eine Kante darstellen kann). Gütemerkmale und deren Berechnung werden weiter unten besprochen. Ein geschätztes Pixelsignal für das fehlerhafte Pixel wird basierend auf mindestens einem nicht fehlerhaften Pixel für jedes ausgewählte Liniensegment berechnet, und das endgültige Pixelsignal ist eine gewichtete Summe geschätzter Pixelsignale mit Gewichten, die proportional zu den Gütemerkmalen der ausgewählten Liniensegmente sind.
  • Das modifizierte Nadelscheibenverfahren wird in einer bevorzugten Implementierung als zusätzlicher Schritt zur Erzielung korrigierter Signale für fehlerhafte Pixel verwendet, die eine Schwellendistanz eines beliebigen Teils eines erfassten geometrischen Grundelements überschreiten, oder wenn es gibt keine erfassten geometrischen Grundelemente gibt. In dieser Implementierung schneiden die ausgewählten Liniensegmente keine erfassten geometrischen Grundelemente, und die Richtung mindestens einer lokalen, nicht als Teil eines geometrischen Grundelements erfassten Kante wird als Hauptrichtung des lokalen Gradientenfeldes verwendet.
  • Die vorliegende Erfindung stellt ein Verfahren zur Bereitstellung korrigierter Pixelwerte für Pixel in einem fehlerhaften Bereich eines Bildsignals bereit. Die vorliegende Erfindung kann einen restrukturierten Bildinhalt in dem fehlerhaften Bereich erzeugen, der mit dem Bildinhalt des Umgebungsbereichs relativ konsistent ist. Dies ist sogar der Fall, wenn der fehlerhafte Bereich Objekte schneidet, die schmaler oder vergleichbar mit der Breite des fehlerhaften Bereichs sind, oder wenn sich mehrere Kanten in dem fehlerhaften Bereich schneiden.
  • Die Erfindung wird im folgenden anhand in der Zeichnung dargestellter Ausführungsbeispiele näher erläutert.
  • Es zeigen
  • 1 ein Blockdiagramm einer Vorrichtung der vorliegenden Erfindung;
  • 2(a) eine bildliche Darstellung eines digitalen Bildes mit einem fehlerhaften Pixelbereich;
  • 2(b) eine bildliche Darstellung eines Fehlerplans für das digitale Bild in 2(a);
  • 2(c) eine bildliche Darstellung eines korrigierten digitalen Bildes nach Korrektur der fehlerhaften Pixel in dem digitalen Bild in 2(a);
  • 3A ein Blockdiagramm zur Darstellung des erfindungsgemäßen Verfahrens in Form von Prozessen für Kantenerfassung, Kantenmanipulation und Korrektur.
  • 3B eine bildliche Darstellung erfasster Kanten.
  • 4 ein Ablaufdiagramm des Kantenerfassungsprozesses.
  • 5A ein Ablaufdiagramm des Kantenausdünnungsprozesses.
  • 5B ein Ablaufdiagramm des Prozesses zur Extraktion geometrischer Grundelemente.
  • 6A6F eine bildliche Darstellung geometrischer Grundelemente.
  • 7 ein Ablaufdiagramm des Korrekturprozesses.
  • 8A8F eine bildliche Darstellung der Liniensegmentprädiktoren, die in dem Prozess zum Schätzen korrigierter Werte der Pixel in dem fehlerhaften Bereich verwendet werden.
  • 9 ein Ablaufdiagramm zur Darstellung eines „Standard-Nadelscheibenverfahrens" zur Korrektur fehlerhafter Pixel in einem digitalen Bild gemäß der vorliegenden Erfindung;
  • 10 ein Ablaufdiagramm zur Darstellung eines Verfahrens zum Schätzen korrigierter Werte für ein fehlerhaftes Pixel gemäß dem Standard-Nadelscheibenverfahren;
  • 11 ein Ablaufdiagramm eines weiteren Ausführungsbeispiels des Standard-Nadelscheibenverfahrens zur Darstellung eines Prozesses zur Schätzung korrigierter Werte für ein fehlerhaftes Pixel;
  • 12 ein Ablaufdiagramm zur Darstellung eines alternativen Ausführungsbeispiels in dem Standard-Nadelscheibenverfahren zur Definition der Liniensegmente in dem Prozess zur Schätzung korrigierter Werte für ein fehlerhaftes Pixel in 10 und 11;
  • 13 eine bildliche Ansicht des digitalen Bildes aus 2(a) zur Darstellung eines Liniensegments, das wie in 12 definiert ist; und
  • 14 eine bildliche Ansicht eines Beispiels zur Darstellung von Liniensegmenten, die um ein fehlerhaftes Pixel definiert sind.
  • Eine erfindungsgemäße Vorrichtung 8 umfasst ein programmiertes digitales Computersystem 10, das mit einem Bildleser 20, einer Bildausgabevorrichtung 24 und einer Benutzeroberfläche 22 gekoppelt ist. Das Computersystem 10 arbeitet nach einem Satz von Anweisungen zur Korrektur digitaler Bilder durch Bereitstellen neuer Werte für fehlerhafte Pixel innerhalb eines fehlerhaften Bereichs in den digitalen Bildern. Mit der Vorrichtung und dem Verfahren lassen sich fehlerhafte Bereiche in digitalen Bilder derart korrigieren, dass Bereiche für einen Betrachter gar nicht oder wesentlich weniger deutlich unterscheidbar sind, weil Werte für fehlerhafte Pixel geschätzt worden sind, die mit dem Gesamtbild konsistent sind.
  • 1 zeigt ein Computersystem 10, das einen Prozessor 12, einen Speicher 14 und eine Festplatte 18 umfasst, die mit einem internen Bus 16 zur Kommunikation von Daten und Adressen zwischen diesen Komponenten gekoppelt sind. Vorzugsweise werden digitale Bilder auf der Festplatte 18 im Computersystem 10 gespeichert.
  • Der Bildleser 20 ist mit dem Computersystem 10 gekoppelt und stellt dem Computersystem 10 ein digitales Bild über den internen Bus 16 bereit. Dieses digitale Bild wird im Speicher 14 gespeichert. In dieser speziellen Ausführungsform ist der Bildleser 20 ein digitaler Scanner, wie ein Kodak Professional Photo-CD 4045 Film Scanner oder eine Digitalkamera, obwohl auch jede andere Art von Vorrichtung zur Bereitstellung eines digitalen Bildes verwendbar ist. Das vom Bildleser 20 erfasste digitale Bild ist die digitale Darstellung eines beliebigen Hardcopy-Bildes, wie Vollbilder eines Laufbildfilmes. Das Computersystem 10 kann zudem digitale Bilder von anderen Quellen empfangen, wie digitale Bilder, die auf der Festplatte 18 gespeichert sind. Jedes digitale Bild setzt sich aus einem Array von Pixelwerten mit ein oder mehreren Farbkanälen zusammen.
  • Die Bildausgabevorrichtung 24 ist mit dem Computersystem 10 gekoppelt. In diesem speziellen Ausführungsbeispiel kann die Bildausgabevorrichtung 24 eine beliebige digitale Bildausgabevorrichtung sein, wie eine Videoanzeige, ein Drucker, eine externe, nicht flüchtige Speichervorrichtung oder eine Übertragungsleitung zu anderen Computern in einem Netz. Die in dem Speicher 14 gespeicherten Bilder können auf der Bildausgabevorrichtung 24 über den internen Bus 16 ausgegeben werden. Bei Ausgangsbildern, die Vollbilder aus einem Laufbildfilm darstellen, können die Bilder nach Korrektur durch die erfindungsgemäße Vorrichtung und das erfindungsgemäße Verfahren beispielsweise auf Film gedruckt werden.
  • Die Benutzeroberfläche 22, etwa eine Tastatur oder eine Maus, ist an das Computersystem 10 angeschlossen und ermöglicht einem Benutzer die Steuerung und Interaktion mit der Vorrichtung 8, beispielsweise zum Erstellen eines Fehlerplans des im Speicher 14 gespeicherten digitalen Bildes. An späterer Stelle werden die Benutzereingaben über die Benutzeroberfläche 22 beschrieben.
  • Mit Bezug auf 2(a-c) und 3 wird der Betrieb der Vorrichtung 8 erläutert. Wenn ein Computersystem 10 gestartet wird, kann das Computersystem 10 ein digitales Bild von dem Bildleser 20 empfangen und im Speicher 14 speichern. Alternativ hierzu kann das digitale Bild von der Festplatte 18 zum Speicher 14 übertragen werden. Das im Speicher 14 gespeicherte Bild wird im weiteren Verlauf als das „Ausgangsbild" bezeichnet. 2(a) zeigt ein Beispiel des Ausgangsbildes 25 mit dem Fehlerbereich 26. Das Ausgangsbild kann einen einzelnen Farbkanal (monochrom) oder mehrere Farbkanäle (z. B. RGB) umfassen.
  • Sobald das Ausgangsbild im Speicher 14 gespeichert ist, werden die Fehlerbereiche in dem Ausgangsbild lokalisiert. Vorzugsweise erfolgt dies durch den Benutzer, der die ungefähren Bildbereiche, die fehlerhafte Bereiche enthalten, über die Benutzeroberfläche 22 identifiziert, worauf der Prozessor 12 automatisch die fehlerhaften Pixel in diesen, vom Benutzer identifizierten Bereichen erfasst. Ein System zur Identifizierung fehlerhafter Pixel in einem System wird in EP 0 624 848 A3 beschrieben. Dieses Identifizierungssystem zur Erfassung fehlerhafter Pixel identifiziert automatisch kleine lokale Bereiche eines Bildes, die Anomalien in Bezug auf Helligkeit/Farbe, lokalen Kontrast und Größe aufweisen und gibt einen Plan der fehlerhaften Pixel in dem Bild aus. Alternativ hierzu sind die fehlerhaften Pixel manuell durch den Benutzer auswählbar, was durch einen Benutzer durchführbar ist, der eine digitale Maske über die Benutzeroberfläche 22 erzeugt (beispielsweise durch eine grafische Softwareanwendung) und die fehlerhaften Pixel identifiziert.
  • Sobald die fehlerhaften Bereiche lokalisiert sind, wird ein Fehlerplan erstellt und im Speicher 14 gespeichert (Schritt 104). In dem Fehlerplan entsprechen Pixel mit einem bestimmten Wert den fehlerhaften Pixeln in dem Ausgangsbild. Ein Beispiel eines Fehlerplans wird in 2(b) für den fehlerhaften Bereich 26 des Ausgangsbildes 25 in 2(a) gezeigt. In diesem Beispiel haben fehlerhafte Pixel die Werte 9 (schwarz), während nicht fehlerhafte Pixel die Werte 255 (weiß) aufweisen.
  • Das mit der vorausgehenden Vorrichtung implementierte erfindungsgemäße Verfahren wird nachfolgend beschrieben. 3 ist ein Blockdiagramm eines erfindungsgemäßen Korrekturverfahrens (auch als „Pixelfüll-Prozess" bezeichnet). Die Pixelfüllung fehlerhafter Bereiche ist in den drei folgenden Schritten darstellbar: einem Kantenerfassungsschritt 102, einem Kantenmanipulationsschritt 104 und einem Korrekturschritt 106. In dem Kantenerfassungsschritt 102 werden deutliche Kanten erfasst, die die fehlerhaften Bereiche schneiden. Die erfassten Kanten werde in dem Kantenplan gespeichert. Die Kanten in dem Kantenplan werden in dem Kantenmanipulationsschritt 104 verarbeitet (z. B. Kantenausdünnung, Extraktion geometrischer Grundelemente). Dann werden im Korrekturschritt 106 fehlerhafte Pixel durch neue Werte ersetzt, die auf den lokalen, nicht fehlerhaften Pixeln basieren. Zur Definition der Menge der nicht fehlerhaften Pixel, die zur Korrektur eines gegebenen fehlerhaften Pixels herangezogen werden, wird ein Kantenplan benutzt. Diese Schritte werden nachfolgend detaillierter beschrieben.
  • 1. Der Kantenerfassungsschritt
  • Der Kantenerfassungsschritt 102 basiert auf dem Gradientenfeld. Das Gradientenfeld besitzt zwei Attribute: Größe und Richtungswinkel.
  • Das lokale Gradientenfeld wird für nicht fehlerhafte Bereiche berechnet, die zu den fehlerhaften Bereichen benachbart sind. Ein Kriterium zur Auswahl der Menge nicht fehlerhafter Pixel für die Gradientenberechnung ist die Tatsache, dass einbezogene nicht fehlerhafte Pixel in einen gegebenen Abstand zum fehlerhaften Bereich fallen müssen. Ein empfohlener Distanzwert ist das Dreifache der maximalen Breite des fehlerhaften Bereichs. Die Breite des fehlerhaften Bereichs an einem beliebigen fehlerhaften Pixel bezieht sich auf die Mindestbreite über dem fehlerhaften Bereich an diesem Pixel. In unterschiedlichen Ausführungsbeispielen sind unterschiedliche Möglichkeiten zur Berechnung des Gradientenfeldes wählbar. Eine bevorzugte Implementierung für Farbbilder ist die Berechnung des Vektorgradienten. In diesem Fall wird das Bild als ein zweidimensionales Vektorfeld betrachtet, dessen Anzahl von Attributen der Anzahl von Kanälen in dem Bild entspricht. Die Größe des Gradienten ist die Quadratwurzel des größten Eigenwerts von DTD. Die Richtung des Gradienten ist der entsprechende Eigenvektor. D ist eine räumliche partielle Ableitungsmatrix. DT ist eine transponierte Matrix D. Die räumlichen partiellen Ableitungen lassen sich mit einem 3 × 3 Prewitt-Operator berechnen.
  • Eine weitere mögliche Implementierung berechnet die Gradientenfelder basierend auf Skalargradienten jedes Kanals. Die Gradientengröße ist dann die Quadratwurzel der Summe der Quadrate der Gradientengrößen jedes Farbkanals. Der Gradientenrichtungswinkel kann als eine gewichtete Summe von Richtungswinkeln jedes Kanals berechnet werden.
  • Für Bilder mit deutlichem Rauschanteil sollte eine Glättungsoperation vor der Berechnung des Gradientenfeldes durchgeführt werden. Zur Prüfung des bevorzugten Ausführungsbeispiels der Erfindung wurde eine gleichmäßige Unschärfe benutzt. Die Größe der gleichmäßigen Unschärfe hängt von dem Rauschpegel des Bildes ab.
  • 3B zeigt die Erfassung von Kanten in dem Kantenerfassungsschritt. Ein fehlerhafter Bereich D stellt die fehlerhaften Pixel für unbekannte Werte dar. Der erweiterte Fehlerbereich, als ED bezeichnet, umfasst den fehlerhaften Bereich D plus benachbarter, nicht fehlerhafter Pixel, wo der Gradient wegen der Nähe der fehlerhaften Pixel, die die Unschärfe- und Gradientenoperationen beeinträchtigen, als ungültig gilt. Der erweiterte fehlerhafte Bereich ED erstreckt sich über den fehlerhaften Bereich D um eine Distanz DD hinaus, wobei DD = g + b, wobei 2g + 1 die Größe des Gradientenoperators ist und 2b + 1 die Größe des Unschärfeoperators ist.
  • Die Kantenerfassung beginnt damit, dass ein lokales Gradientenmaximum aufgefunden wird, wie zuvor in Verbindung mit 4 beschrieben. Als nächstes beginnt ein Kantenexpansionsprozess vom lokalen Gradienten-Maximalpunkt S zur Auffindung einer Pixelfolge, die ein Kantensegment darstellt. In dem Kantenverlängerungsprozess wird der folgende Kantenpunkt als der zum aktuellen Kantenpunkt in Kantenrichtung nächstgelegene Punkt ausgewählt. Die Kantenrichtung wird für jeden Kantenpunkt basierend auf den lokalen Gradientenrichtungswinkeln berechnet. Zuerst wird die Kante zum fehlerhaften Bereich verlängert. Diese Stufe wird als Kantenvorwärtsverlängerung bezeichnet. Der Eintritt in den erweiterten fehlerhaften Bereich ED findet an dem Punkt EN statt. Wenn die Zahl der Kantenpunkte kleiner als eine angegebene Schwellenanzahl LMIN ist, die eine erforderliche Mindestkantenlänge darstellt, dann wird die Verlängerung in einer zweiten Stufe vom Startpunkt S in entgegen gesetzter Richtung fortgesetzt, bis die erforderliche Mindestlänge LMIN an Punkt F erreicht ist. Diese zweite Stufe der Kantenverlängerung wird als umgekehrte Kantenverlängerung bezeichnet. Punkt F wird als der erste Punkt der Kante bezeichnet, und der Kantenteil, der sich zwischen Punkt F und Punkt EN erstreckt, wird als der Fehlereintrittsteil der Kante bezeichnet. LMIN wird von einem Benutzer je nach Art des Ausgangsbildes angegeben. Wenn im Kantenvorwärtsverlängerungsprozess in den verlängerten fehlerhaften Bereich eingetreten wird, und die Kantenpunkte größer oder gleich LMIN sind, wird die umgekehrte Kantenverlängerung nicht durchgeführt und Punkt S ist der erste Punkt der Kante. Als nächstes wird die Kante von dem Fehlereintrittspunkt EN durch den fehlerhaften Bereich bis zum Fehleraustrittspunkt EX in der Richtung verlängert, die durch die Kantenrichtungswinkel der Kantenpunkte bestimmt ist, die dem Fehlereintrittspunkt EN vorausgehen. Das Liniensegment zwischen EN und EX wird als Fehlerteil der Kante bezeichnet, und der Winkel, der die Richtung des Fehlerteils der Kante definiert, wird als Fehlereintrittswinkel bezeichnet. Die Kantenverlängerung wird vom Punkt EX zum Punkt L für eine bestimmte Anzahl von Punkten fortgesetzt, die gleich der Länge des Fehlereintrittsteils ist. Punkt L wird als der letzte Punkt der Kante bezeichnet. Der Kantenteil, der sich zwischen Punkt EX und Punkt L erstreckt, wird als der Fehleraustrittsteil der Kante bezeichnet.
  • Jeder Punkt des Fehlereintritts- und Fehleraustrittsteils der Kante muss bestimmte Größen- und Winkelbedingungen erfüllen. Die Größenbedingung bedeutet, dass die Gradientengröße am Kantenpunkt größer oder gleich einem bestimmten Schwellen-MMIN ist. Die Winkelbedingung bedeutet, dass die Kantenrichtungswinkeldifferenz zwischen zwei aufeinander folgenden Kantenpunkten kleiner ist als ein bestimmter Schwellenwert AMAX. Wenn entweder die Größen- oder die Winkelbedingung nicht erfüllt wird, stoppt der Verlängerungsprozess. AMAX und MMIN werden durch einen Benutzer je nach Ausgangsbild definiert. In der bevorzugten Implementierung liegt AMAX im Bereich von 15 bis 22°, MMIN liegt im Bereich von 15% bis 60% der maximalen Gradientengröße. Alternativ hierzu können diese Parameter automatisch basierend auf dem Rauschen in dem Bild und der maximalen Gradientengröße definiert werden.
  • Es werden zwei Arten von Kanten erfasst: verbundene und nicht verbundene. Die verbundene Kante besteht aus drei Teilen: einem Fehlereintrittsteil (dem Kantenteil zwischen Punkt F und EN), einem Fehlerteil (dem Kantenteil zwischen Punkt EN und EX) und einem Fehleraustrittsteil (dem Kantenteil zwischen Punkten EX und L). Die verbundene Kante muss die Größen- und Winkelbedingungen (beide oben angegeben) für jeden Punkt des Fehlereintritts- und Fehleraustrittsteils, die Mindestlängenanforderungen sowie eine Farbübereinstimmungsbestimmung erfüllen. Die Mindestlängenanforderungen bedeuten, dass der Fehlereintrittsteil der Kante mindestens eine Länge LMIN aufweist, und dass der Fehleraustrittsteil der Kante mindestens ein Maximum von 3 Pixeln und 1/2 von LMIN aufweist. Die Farbübereinstimmungsbedingung erfordert, dass es eine Farbübereinstimmung zwischen den Bereichen A0, A2 geben muss (dies sind Bereiche, die zu einer Seite einer verbundenen Kante benachbart sind) und A1, A3 (dies sind Bereiche, die zu der zweiten Seite einer verbundenen Kante benachbart sind). Diese Bereiche erstrecken sich um eine gegebene Distanz senkrecht zu dem Fehlereintritts- und Fehleraustrittsteil der Kante. In der bevorzugten Implementierung ist die Bereichsverlängerung gleich der Hälfte der Fehlerbreite. Eine Farbübereinstimmung zwischen zwei Bereichen liegt vor, wenn ein T-Test (Student-Test) für einen bestimmten Verbindlichkeitsgrad bestanden wird. Der Verbindlichkeitsgrad wird vom Benutzer je nach Ausgangsbild angegeben. Vorzugsweise liegt der Verbindlichkeitsgrad im Bereich von 0,3 bis 0,7.
  • Die nicht verbundene Kante besteht lediglich aus zwei Teilen: einem Fehlereintrittsteil (der Kantenteil zwischen den Punkten F1 und EN1 und einem Fehlerteil (der Kantenteil zwischen den Punkten EN1 und EX1). Der Fehleraustrittspunkt EX1 ist der letzte Punkt der nicht verbundenen Kante. Die nicht verbundene Kante muss für jeden Punkt auf dem Fehlereintrittsteil Größen- und Winkelbedingungen (beide oben angegeben) sowie Mindestlängenanforderungen erfüllen. Unter der Mindestlängenanforderung ist zu verstehen, dass der Fehlereintrittsteil eine Mindestlänge LMIN aufweist.
  • Sowohl die verbundenen als auch die nicht verbundenen Kanten werden in einem Kantenplan gespeichert. Der Kantenplan ermöglicht das Auffinden erfasster Kanten an jedem Pixel des Ausgangsbildes und das Abrufen von Kantenattributen, wie Kantentyp (verbunden, nicht verbunden), Kantenlänge, Farbübereinstimmungsattribute, alle Kantenpunkte usw.
  • 4 zeigt ein Ablaufdiagramm des Prozesses zur Suche nach Kanten, wie durch die entsprechenden Softwarebefehle im Computersystem aus 1 implementiert. Der nicht fehlerhafte Bereich, der dem fehlerhaften Bereich benachbart ist, wird nach Kantenverlängerungsstartpunkten durchsucht. In der bevorzugten Implementierung werden lokale Gradientenmaxima, die die Größenbedingung erfüllen, als Kantenverlängerungsstartpunkte ausgewählt. Ein rechteckiges Fenster, das mittig auf das nicht fehlerhafte, zum verlängerten Fehlerbereich benachbart angeordnete Pixel ausgerichtet ist, wird nach dem lokalen Gradientenmaximum durchsucht. Nur nicht fehlerhafte Pixel, die keine Punkte von bereits erfassten Kanten sind, werden in dem Fenster nach dem Gradientenmaximum durchsucht. In der bevorzugten Implementierung ist die Größe des Suchfensters gleich der erforderlichen Mindestkantenlänge LMIN. Das Suchfenster wird entlang des Umfangs des verlängerten Fehlerbereichs in der durch die Schritte [401] [460] [462] dargestellten Schleife bewegt. In Schritt [401] ist das Suchfenster an dem ersten nicht fehlerhaften Pixel angeordnet, das dem verlängerten Fehlerbereich benachbart ist, der beim Abtasten des Bildes erkannt wurde. Das Fenster wird nach der maximalen Gradientengröße [402] durchsucht. Wenn das Maximum kleiner als eine angegebene Größenschwelle MMIN [404] ist, dann wird eine neue Fehlerumgebung ausgewählt [462], falls vorhanden [460]. Wenn die Größe größer als der Schwellenwert MMIN ist, wird der Startkantenpunkt S gefunden und der Kantenverlängerungsprozess initiiert.
  • Wenn die Gradientengröße größer als der Schwellenwert MMIN für den aktuellen Kantenpunkt ist, wird die Kanterichtung bestimmt [406]. Als erstes wird ein mittlerer Gradientenrichtungswinkel für das rechteckige Fenster berechnet, das mittig auf den aktuellen Kantenpunkt ausgerichtet ist. Der mittlere Kantenrichtungswinkel verläuft rechtwinklig zum berechneten mittleren Gradientenrichtungswinkel. Die Größe des Mittelungsfensters hängt von dem Rauschpegel des Bildes und der Größe des verwendeten Unschärfeoperators ab. Für einen großen Bereich an Rauschpegeln und zugeordneten Unschärfegrößen liefert das 3 × 3 Mittelungsfenster gute Ergebnisse.
  • Der mittlere Kantenrichtungswinkel für den aktuellen Kantenpunkt wird daraufhin geprüft, ob er in den angegebenen Winkeltoleranzwert AMAX der für den vorherigen Kantenpunkt berechneten mittleren Kantenrichtungswinkel fällt. Dieser Test wird nicht für den Startkantenpunkt durchgeführt, wenn kein vorheriger Kantenpunkt vorhanden ist. Wenn der Winkeltest fehlschlägt, wird das Suchfenster für das Gradientenmaximum auf das nächste nicht fehlerhafte Pixel verschoben [462], das dem verlängerten Fehlerbereich benachbart ist, und der Prozess beginnt erneut [402]. Wenn der Kantenrichtungswinkeltest bestanden wird [408] und die maximal zulässige Kantenlänge LMAX (das 5-fache der maximalen Fehlerbreite) nicht erreicht ist [410] und die Verlängerung in Vorwärtsrichtung erfolgt [411], wird das dem aktuellen Kantenpunkt in Kantenverlängerungsrichtung nächst gelegene Pixel als neuer Kantenpunkt gewählt [412]. Wenn der neue Kantenpunkt nicht im erweiterten Fehlerbereich [414] liegt, wird der Größentest [404] durchgeführt, und der Prozess fährt wie zuvor beschrieben fort. Wenn in den verlängerten Fehlerbereich eingetreten wird [414], wird die aktuelle Kantenlänge überprüft [416]. Wenn die erforderliche Mindestkantenlänge LMIN nicht erreicht wird [416] und die Kantenverlängerungsrichtung den Fehlerbereich schneiden soll [die Kantenvorwärtsverlängerung) [418], wird der aktuelle Kantenpunkt auf den Startpunkt zurückgesetzt, und die Kantenverlängerungsrichtung wird umgekehrt [420].
  • Der Steuerungsablauf für den umgekehrten Kantenverlängerungsprozess ist der gleiche wie für die Kantenvorwärtsverlängerung beschrieben, mit dem Unterschied, dass die umgekehrte Verlängerung stoppt, wenn die Mindestkantenlänge LMIN erricht ist [411]. Wenn der Eintritt in den verlängerten Fehlerbereich erfolgt ist und der Fehlereintrittsteil der Kante mindestens die Mindestzahl der erforderlichen Punkte LMIN hat, dann werden die Statistiken (Mittel und Varianz) für die Bereiche A0, A1 berechnet [422]. Diese Statistiken werden später zum Testen einer Farbübereinstimmung für die verbundene Kante verwendet.
  • Der Fehlereintrittsbereich wird als der mittlere Kantenrichtungswinkel [424] der angegebenen Zahl von Kantenpunkten berechnet, die dem Fehlereintrittskantenpunkt vorausgehen. Die Anzahl der Kantenpunkte, die verwendet werden, um die Fehlereintrittsrichtung zu berechnen, ist in der bevorzugten Implementierung das Minimum der hälftigen Fehlerbreite und der hälftigen Länge des Kantenfehlereintrittsteils. Alternativ hierzu sind die Kanteneigenschaften, z. B. die Kantenkrümmung und die Kantenrichtungswinkelvarianz verwendbar, um die Zahl der Punkte zur Berechnung der Fehlereintrittsrichtung zu bestimmen. Der Kantenverlängerungsprozess wird durch den verlängerten Fehlerbereich in der Fehlereintrittsrichtung fortgesetzt, bis der Fehleraustrittspunkt erreicht ist [426][428][430]. Der Verlängerungsprozess wird abgebrochen, wenn die maximal zulässige Kantengröße LMAX erreicht ist [426]. Die Kantenverlängerung des Fehleraustrittsteils der Kante wird in ähnlicher Weise wie in der Vorwärtsverlängerung des Fehlereintrittsteils der Kante fortgesetzt. Für jeden Kantenpunkt wird geprüft [432], ob die Gradientengröße größer als die angegebene Schwelle MMIN ist, und es wird geprüft [436], ob der Richtungswinkel in einen angegebenen Toleranzwert AMAX des Kantenrichtungswinkels des vorausgehenden Kantenpunktes fällt. Im Falle des ersten Punktes des Fehleraustrittsteils (d. h. des Punktes, der dem verlängerten Fehlerbereich benachbart ist), wird der Kantenrichtungswinkel darauf hin geprüft, ob er in einen angegebenen Toleranzwert AMAX des Fehlereintrittswinkels fällt. Bei Nichtbestehen eines dieser Tests wird die Verlängerung gestoppt. Die Verlängerung wird ebenfalls gestoppt, wenn der Fehlerbereich erreicht ist [442] oder wenn die gesamte Kantenlänge die maximal zulässige Länge LMAX überschreitet, oder wenn die Länge des Fehleraustrittskantenteils gleich der Länge des Fehlereintrittskantenteils ist [438].
  • Wenn die Verlängerung des Fehleraustrittskantenteils gestoppt wird, wird geprüft [444], ob die Austrittskantenlänge größer oder gleich der zuvor angegebenen erforderlichen Mindestkantenlänge für den Austrittsteil ist. Falls nicht, wird die Kante in dem Kantenplan als eine nicht verbundene Kante [450] gespeichert, die aus dem Fehlereintrittsteil und dem Fehlerteil besteht. Andernfalls werden die Statistiken der Bereiche A2 und A3 berechnet [446], und die Farbübereinstimmung wird geprüft [448], wie zuvor beschrieben. Wenn der Farbübereinstimmungstest für beide Bereichspaare A0, A2 und A1, A3 bestanden ist, wird die Kante [452] in dem Kantenplan als eine verbundene Kante gespeichert, die aus dem Fehlereintrittsteil, dem Fehlerteil und dem Fehlerauntrittsteil besteht. Andernfalls wird die Kante in dem Kantenplan als nicht verbundene Kante gespeichert [450]. Der Kantenverlängerungsprozess ist an diesem Punkt abgeschlossen. Wenn der gesamte Kantenerfassungsbereich in dem Bild nach Kanten durchsucht worden ist [460] (d. h. der gesamte nicht fehlerhafte Bereich um und benachbart zum Fehlerbereich), ist der Kantenerfassungsschritt abgeschlossen. Andernfalls wird der Kantenerfassungsprozess fortgesetzt [462].
  • 2. Kantenplanmanipulation
  • Im Kantenerfassungsschritt ist der Kantenplan erstellt worden. Basierend auf dem Kantenplan wird der Kantenmanipulationsprozess durchgeführt. Der Kantenmanipulationsprozess besteht aus zwei getrennten Schritten, die in 5a und 5b gezeigt werden. Im ersten Schritt wird der Kantenplan nach Kanten abgetastet, und eine Ausdünnungsoperation wird auf die Kanten angewandt, wie in 5a gezeigt. Wenn der erste Schritt für alle Kanten in dem Kantenplan abgeschlossen ist, wird der zweite Schritt durchgeführt. Im zweiten Schritt wird der im ersten Schritt verarbeitete Kantenplan nach Kanten abgetastet, und eine geometrische Extraktionsoperation wird auf Kanten angewandt, wie in 5b gezeigt. Der in 5a gezeigte erste Schritt des Kantenmanipulationsprozesses wird nachfolgend beschrieben. Die Kanten aus dem Kantenplan werden in der durch die Schritte dargestellten Schleife [502][517][518] abgetastet. Es wird davon ausgegangen, dass in dem Kantenplan einige Kanten vorhanden sind. Die erste Kante wird aus dem Kantenplan in Schritt [502] gewählt. Für die gewählte Kante Bi wird die Kantenmanipulation in den Schritten [503]–[516] durchgeführt. Wenn die gewählte Kante die letzte Kante in dem Kantenplan ist [517], ist der erste Schritt des Kantenmanipulationsprozesses abgeschlossen. Andernfalls wird die nächste Kante aus dem Kantenplan gewählt [518] und der Prozess fortgesetzt. Für die ausgewählte Kante Bi beginnt die Kantenmanipulation mit Initialisierung der leeren Kantenliste LB mit Kante Bi [503]. Als nächstes werden Kanten aus der lokalen Umgebung des Fehlereintrittsteils der Kante Bi zur Liste LB hinzugefügt [504]. In der bevorzugten Implementierung werden in Schritt [504] alle Kanten, die ein mittig am ausgewählten Punkt des Fehlereintrittsteils der Kante Bi angeordnetes Liniensegment schneiden, der Liste LB hinzugefügt. Die Richtung des Linien segments verläuft am ausgewählten Kantenpunkt rechtwinklig zur Kante Bi. Der ausgewählte Kantenpunkt befindet sich an der angegebenen Zahl NP von Kantenpunkten zum Fehlereintrittspunkt der Kante Bi zwischen dem Fehlereintrittspunkt und dem ersten Punkt der Kante Bi. Die Zahl NP von Kantenpunkten ist gleich der Hälfte der erforderlichen Mindestkantenlänge LMIN. Die Länge des Liniensegments ist gleich 2g + 2b Pixel, wobei 2g + 1 die Größe des Gradientenoperators ist und 2b + 1 ist die Größe des Unschärfeoperators.
  • Wenn die Kante Bi verbunden ist [506], werden die Kanten aus der lokalen Nachbarschaft des Fehleraustrittsteils der Kante Bi zur Liste LB hinzugefügt [508]. In dem bevorzugten Ausführungsbeispiel wird die Kantensuche in der lokalen Nachbarschaft des Fehleraustrittsteils der Kante Bi [508] in analoger Weise wie für den Fehlereintrittsteil [504] implementiert.
  • Wenn die Liste LB vollständig ist, werden alle Kanten in der Liste, die nicht mit der Kante Bi übereinstimmen, aus der Liste LB [510] entfernt. Zwei Kanten in der Liste LB stimmen dann überein, wenn ihre Fehlereintrittswinkel innerhalb einer angegebenen Winkeltoleranz liegen. In der bevorzugten Implementierung beträgt die Winkeltoleranz für die Kantenübereinstimmung 15 Grad. Die beste Kante BBi wird aus den verbleibenden übereinstimmenden Kanten in der Liste LB gewählt [511]. Wenn sich in der Liste verbundene Kanten befinden, wird die stärkste der verbundenen Kanten als beste Kante BBi gewählt. Andernfalls wird die stärkste der nicht verbundenen Kanten in der Liste als beste Kante BBi gewählt. Die Kantenstärke ist gleich der mittleren Gradientengröße ihrer Kantenpunkte. Wenn die beste Kante BBi nicht verbunden ist [512], wird die Verbindungsoperation für die Kante BBi in den Schritten [513]– [515] durchgeführt. In der Verbindungsoperation können zwei nicht verbundene Kanten als geometrisches Liniengrundelement erfasst und in dem Kantenplan durch das Liniengrundelement ersetzt werden. In der bevorzugten Implementierung wird die Liste LC von Kanten aus der lokalen Nachbarschaft des Fehleraustrittspunktes der nicht verbundenen Kante BBi unter Verwendung eines rechteckigen Fensters erzeugt [513], das mittig auf den Fehleraustrittspunkt ausgerichtet ist. Die Größe des Fensters ist gleich 2THC + 1. Der Schwellenwert THC wird nachfolgend in der Spezifikation für ein geometrisches hiniengrundelement definiert. Als nächstens wird die Liste LC abgetastet, und für jede nicht verbundene Kante aus der Liste LC und für die nicht verbundene Kante BBi werden die geometrischen und Farbübereinstimmungsbestimmungen eines geometrischen Liniengrundelements geprüft [515]. Diese Bestimmungen sind nachfolgend in einer Spezifikation für ein geometrischer Liniengrundelement aufgeführt (6a). Eine nicht verbundene Kante aus der Liste LC, die als geometrisches Linien- grundelement mit der besten Farbübereinstimmung erfasst wurde, wird mit der Kante BBi verbunden, und es wird eine Extraktion eines geometrischen Liniengrundelements durchgeführt [515]. Die Kante BBi und die ausgewählte, nicht verbundene Kante werden in dem Kantenplan durch die neu verbundene Kante BBi ersetzt, die ein Liniengrundelement darstellt. Diese Operationen werden nachfolgend in einer Spezifikation für ein geometrisches Liniengrundelement beschrieben (6a).
  • Als nächstes werden alle Kanten auf der Liste LB, mit Aunahme der besten Kante BBi', von dem Kantenplan entfernt [516]. Die Kantenausdünnungsoperation für die Kante Bi ist an diesem Punkt abgeschlossen. Wenn die Kante die letzte Kante ist, ist der erste Schritt des Kantenmanipulationsprozesses abgeschlossen. Andernfalls wird die nächste Kante ausgewählt [518], und der Prozess setzt sich fort [503].
  • Wenn der erste Schritt abgeschlossen ist, wird der zweite Schritt des Kantenmanipulationsprozesses durchgeführt ( 5b). Der in dem ersten Schritt verarbeitete Kantenplan wird im zweiten Schritt auf Kanten in der Schleife abgetastet, die durch die Schritte [524][590][592] dargestellt ist. Es sei angenommen, dass sich in dem Kantenplan einige Kanten befinden. Die erste Kante wird in Schritt [524] aus dem Kantenplan ausgewählt. Für die gewählte Kante BBi wird die Extraktion der geometrischen Grundelemente in den Schritten [526]–[582] durchgeführt. Wenn die gewählte Kante die letzte Kante in dem Kantenplan ist [590], ist der zweite Schritt in dem Kantenmanipulationsprozess abgeschlossen. Andernfalls wird die nächste Kante aus dem Kantenplan gewählt [592], worauf sich der Prozess fortsetzt.
  • Die ausgewählte Kante BBi wird in dem Kantenplan von ihrem ersten Punkt bis zu ihren letzten Punkt verfolgt, und ein geometrisches Grundelement wird basierend auf den geschnittenen Kanten extrahiert. Die in der bevorzugten Implementierung unterstützten geometrischen Grundelemente, die entsprechenden Bestimmungen und die Extraktionsoperationen werden im nächsten Abschnitt beschrieben (6a6f). Ein geometrisches Grundelement wird erfasst, wenn alle geometrischen und Farbübereinstimmungsbestimmungen erfüllt sind. Die gewählte Kante muss Teil des erfassten geometrischen Grundelements sein. Verschiedene geometrische Extraktionsverfahren werden für die verbundene und nicht verbundene Kante BBi benutzt [526].
  • Wenn die ausgewählte Kante BBi verbunden ist [526], werden die Punkte der Kante in der Schleife ausgewählt, die durch die Schritte [528][546][548] dargestellt ist. Die Schleife zum Auswählen der Kantenpunkte beginnt mit dem ersten Punkt der Kante BBi [528]. Die Operation zur Auswahl der geometrischen Grundelemente wird in den Schritten [530]–[542] durchgeführt. Wenn der ausgewählte Kantenpunkt Pj nicht der letzte Punkt der Kante BBi [546] ist, wird der nächste Kantenpunkt ausgewählt [548], und der Prozess setzt sich fort, bis das Ende der Kante erreicht ist [546]. An dem ausgewählten Kantenpunkt Pj wird der Kantenplan auf die geschnittenen Kanten geprüft [530]. Wenn keine geschnittenen Kanten vorhanden sind [530], wird der nächste Punkt der Kante BBi ausgewählt [546][548]. Andernfalls wird geprüft, ob die geschnittene Kante verbunden ist [532]. Je nachdem, ob die geschnittene Kante verbunden oder nicht verbunden ist [532] werden verschiedene geometrische und Farbübereinstimmungsbestimmungen unterstützter geometrischer Grundelemente überprüft [540][534]. Die Erfassung der geometrischen Grundelemente in den Schritten [540][534] hängt zudem von den geschnittenen Kanten ab, die an den vorausgehenden Punkten der Kante BBi gefunden wurden. Als nächstes wird die Extraktion des geometrischen Grundelements basierend auf der Art des erfassten geometrischen Grundelements durchgeführt [536][542]. Für die verbundene geschnittene Kante wird das Grundelement X-Verbindung, falls erfasst, in Schritt [536] extrahiert. Für die nicht verbundene, geschnittene Kante wird das Grundelement T-Verbindung, soweit erfasst, oder das Hintergrund-Grundelement, soweit erfasst, in Schritt [542] extrahiert. Wenn die nicht geschnittene verbundene Kante nicht Teil eines geometrischen Grundelements ist, wird dieses aus dem Kantenplan entfernt [542]. Wenn das Ende der Kante BBi erreicht ist [546], wird die letzte Kantensäuberungsoperation durchgeführt [548]. Wenn die verbundene Kante BBi von anderen verbundenen Kanten geschnitten wird und kein geometrisches Grundelement erfasst wird, wird die Kante BBi sowie alle geschnittenen Kanten aus dem Kantenplan entfernt [548]. An diesem Punkt wird die Operation zur Extraktion geometrischer Grundelemente für die verbundene Kante BBi abgeschlossen.
  • Wenn die gewählte Kante BBi nicht verbunden ist [560] wird ein anderes Verfahren zur Extraktion geometrischer Grundelemente verwendet. Die Kante BBi wird beginnend mit ihrem ersten Punkt [560] in der Schleife verfolgt, die durch die Schritte [564][566] dargestellt ist. An dem ausgewählten Kantenpunkt Pj wird der Kantenplan auf geschnittene Kanten [562] geprüft. Wenn keine geschnittenen Kanten [562] vorhanden sind, wird der nächste Punkt der Kante BBi gewählt [564] [566]. Andernfalls wird geprüft, ob die geschnittene Kante verbunden ist [568]. Wenn die geschnittene Kante nicht verbunden ist [568] werden die geometrischen und Farbübereinstimmungsbestimmungen des Eckengrundelements geprüft [580]. Wenn die Ecke erfasst ist, wird die Operation zur Extraktion der Ecke durchgeführt [582], und die Kantenmanipulation für die gewählte Kante Bi wird abgeschlossen [590]. Wenn das Eckengrundelement [580] nicht erfasst ist, werden die geschnittene Kante und die Kante BBi aus dem Kantenplan entfernt [584], und die Kantenmanipulation für die ausgewählte Kante BBi ist abgeschlossen [590]. Wenn die geschnittene Kante verbunden ist [568], wird ein Teil der Kante BBi, der sich von dem Punkt zPj um letzten Punkt von BBi erstreckt, aus dem Kantenplan entfernt [570], und die Kantenmanipulation für die gewählte Kante BBi ist abgeschlossen [590]. Wenn die nicht verbundene Kante BBi keine Kanten schneidet [564], wird sie in dem Kantenplan belassen, und die Kantenmanipulation für die gewählte Kante BBi ist abgeschlossen [590].
  • Als Ergebnis des Kantenmanipulationsschritts werden nur extrahierte geometrische Grundelemente und einzelne, nicht verbundene Kanten, in dem Kantenplan gespeichert.
  • 6a6f zeigen alle in der bevorzugten Implementierung unterstützten geometrischen Grundelemente: ein Liniengrundelement (6a), ein Eckengrundelement (6b), ein Grundelement eines Hintergrundmerkmals (6c), ein Grundelement für eine offene T-Verbindung (6d), ein Grundelement für eine geschlossene T-Verbindung (6e) und ein Grundelement für eine X-Verbindung (6f).
  • Jedes geometrische Grundelement ist durch geometrische und Farbübereinstimmungsbestimmungen definiert. Die geometrischen Bestimmungen definieren eine eindeutige geometrische Kantenkonfiguration. Die Farbübereinstimmungsbestimmungen definieren Paare benachbarter Kantenbereiche, deren Farbe mit einem bestimmten Verbindlichkeitsgrad übereinstimmen muss. Die Farbübereinstimmung ist in gleicher Weise wie für die Erfassung der verbundenen Kanten implementiert, wie im vorausgehenden Abschnitt beschrieben. Die benachbarten Kantenbereiche für den Farbübereinstimmungstest erstrecken sich in einem gegebenen Abstand senkrecht zur Kante in dem nicht fehlerhaften Bereich. In der bevorzugten Implementierung ist die Bereichsverlängerung gleich der Hälfte der Fehlerbreite. Die mittleren und Varianzwerte für jeden Farbkanal eines Bildes werden aus diesen Bereichen berechnet. Eine Farbübereinstimmung zwischen zwei Bereichen liegt vor, wenn ein t-Test (Student-Test) für einen bestimmten Verbindlichkeitsgrad bestanden wird. In der bevorzugten Implementierung hat ein Verbindlichkeitsgrad von 0,3 bis 0,6 gute Ergebnisse für einen großen Bereich von Bildern ergeben.
  • Geometrische Liniengrundelemente
  • Nachfolgend wird ein geometrisches Liniengrundelement beschrieben. 6a zeigt ein geometrisches Liniengrundelement. Jede verbundene Linie ist ein geometrisches Liniengrundelement. Eine verbundene Linie bedarf keiner Extraktionsoperation. Zwei nicht verbundene Linien E0, E1 werden als ein geometrisches Liniengrundelement erfasst, wenn die folgenden geometrischen und Farbübereinstimmungsbestimmungen erfüllt sind.
  • Geometrische Bestimmungen:
  • Zwei nicht verbundene Kanten E0, E1 müssen aus gegenüberliegenden Seiten in den fehlerhaften Bereich eintreten. Die Fehlereintrittswinkel der beiden nicht verbundenen Kanten E0, E1 müssen in einer bestimmten Winkeltoleranz liegen. In der bevorzugten Implementierung werden 15 Grad als Winkeltoleranz für die auf 0–90 normierte Winkeldifferenz benutzt. Die Mindestabstände zwischen Fehleraustrittspunkten und Fehlereintrittspunkten von zwei nicht verbundenen Kanten E0, E1 dürfen nicht größer als ein angegebener Schwellenwert THC sein. In der bevorzugten Implementierung ist THC gleich g + b + 0,26Ldef, wobei 2g + 1 die Größe des Gradientenoperators ist, 2b + 1 ist die Größe des Unschärfenoperators, Ldef ist die Maximallänge des Fehlerteils der Kanten E0, E1.
  • Farbübereinstimmungsbestimmungen:
  • Es muss eine Farbübereinstimmung für die folgenden Bereichspaare geben (A1, A2), (A0, A3).
  • Extraktionsoperation:
  • Zwei nicht verbundene Kanten E0, E1, die als ein geometrisches Liniengrundelement erfasst worden sind, werden in dem Kantenplan durch die Kante E3 ersetzt. Die Kante E3 ist ein Liniensegment durch den Punkt P, der der mittlere Punkt des Liniensegments ist, das die Fehlereintrittspunkte der Kanten E0, E1 verbindet. Die Richtung der Kante E3 ist durch das Mittel der beiden Fehlereintrittswinkel der Kanten E0, E1 definiert. Die Kante E3 erstreckt sich auf beiden Seiten des Fehlerbereichs um die Anzahl nicht fehlerhafter Punkte, entsprechend der Längen der Fehlereintrittsteile der Kanten E0, E1.
  • Geometrische Eckengrundelemente
  • Nachfolgend wird ein geometrisches Eckengrundelement beschrieben. 6b zeigt ein geometrisches Eckengrundelement.
  • Geometrische Bestimmungen:
  • Ein geometrisches Eckengrundelement besteht aus zwei sich schneidenden Teilen der nicht verbundenen Kanten E0, E1. Die Teile des geometrischen Eckengrundelements erstrecken sich von den ersten Kantenpunkten zum Schnittpunkt E0 und E1. Der Schnittwinkel der Kanten E0, E1 muss innerhalb eines angegebenen Winkelbereichs liegen. In der bevorzugten Implementierung wird der Bereich von 65 bis 115 Grad verwendet.
  • Farbübereinstimmungsbestimmungen:
  • Es muss eine Farbübereinstimmung für die folgenden Bereichspaare geben (A1, A2), (A0, A3).
  • Extraktionsoperation:
  • Die Kantenteile, die sich von dem Schnittpunkt zu den letzten Kantenpunkten erstrecken, werden aus dem Kantenplan entfernt.
  • Hintergrundmerkmal des geometrischen Grundelements
  • Nachfolgend wird ein Hintergrundmerkmal eines geometrischen Grundelements beschrieben. 6c zeigt ein Hintergrundmerkmal eines Grundelements.
  • Geometrische Bestimmungen:
  • Ein Hintergrundmerkmal eines geometrischen Grundelements besteht aus der verbundenen Kante E0 und einem Teil der nicht verbundenen Kante E1, die sich von ihrem ersten Punkt zum Schnittpunkt mit der Kante E0 erstreckt. Der Schnittwinkel der Kanten E0, E1 muss innerhalb eines angegebenen Winkelbereichs liegen. In der bevorzugten Implementierung wird der Bereich von 65 bis 115 Grad verwendet.
  • Farbübereinstimmungsbestimmungen:
  • Es muss eine Farbübereinstimmung für die folgenden Bereichspaare geben (A1, A2), (A3, A4), (A0, A5).
  • Extraktionsoperation:
  • Der Teil der Kante E1, der sich von dem Schnittpunkt zu dem letzten Kantenpunkt erstreckt, wird aus dem Kantenplan entfernt.
  • Geometrisches Grundelement der T-Verbindung
  • Nachfolgend wird ein geometrisches Grundelement der T-Verbindung beschrieben. 6d zeigt ein Grundelement einer offenen T-Verbindung. 6e zeigt ein Grundelement einer geschlossenen T-Verbindung.
  • Geometrische Bestimmungen:
  • Ein geometrisches Grundelement einer T-Verbindung besteht aus der verbundenen Kante E0 und Teilen der nicht verbundenen Kante E1, E2, die sich von ihren ersten Punkten zu den Schnittpunkten mit der Kante E0 erstrecken. Die Schnittwinkel von E0, E1 und E0, E2 müssen innerhalb eines angegebenen Winkelbereichs liegen. In der bevorzugten Implementierung wurde der Bereich von 65 bis 115 Grad verwendet. Zusätzliche geometrische Bestimmungen können einen Mindestabstand zwischen den Kanten E1, E2 umfassen und/oder eine Übereinstimmung der Fehlereintrittswinkel der Kanten E1, E2 in einer gegebenen Winkeltoleranz.
  • Farbübereinstimmungsbestimmungen:
  • Es muss eine Farbübereinstimmung für die folgenden Bereichspaare geben: (A1, A2), (A3, A4), (A5, A6), (A0, A7). Für ein Grundelement einer offenen T-Verbindung ist zusätzlich eine Farbübereinstimmung für (A4, A7) und (A0, A3) erforderlich.
  • Extraktionsoperation:
  • Die Kantenteile von E1, E2, die sich über den Schnittpunkt mit E0 zu den letzten Kantenpunkten erstrecken, werden aus dem Kantenplan entfernt. Zudem wird für ein Grundelement einer offenen T-Verbindung der Teil der verbundenen Kante E0 zwischen den Schnittpunkten mit den Kanten E1, E2 aus dem Kantenplan entfernt.
  • Geometrisches Grundelement der X-Verbindung
  • Nachfolgend wird ein geometrisches Grundelement der X-Verbindung beschrieben. 6d zeigt ein geometrisches Grundelement einer X-Verbindung.
  • Geometrische Bestimmungen:
  • Ein geometrisches Grundelement einer X-Verbindung besteht aus vier verbundenen Kanten E0, E1, E2, E3. Die Kanten E0, E1 schneiden die Kanten E2, E3. Die Schnittwinkel müssen innerhalb eines bestimmten Winkelbereichs liegen. In der bevorzugten Implementierung wurde der Bereich von 65 bis 115 Grad verwendet. Zusätzliche geometrische Bestimmungen für ein geometrisches Grundelement einer X-Verbindung können einen Mindestabstand zwischen den Kanten E0, E1 und E2, E3 und/oder eine Über einstimmung der Fehlereintrittswinkel der Kanten E0, E1 und E2, E3 innerhalb einer gegebenen Winkeltoleranz umfassen.
  • Farbübereinstimmungsbestimmungen:
  • Es muss eine Farbübereinstimmung für die folgenden Bereichspaare geben:
    (A1, A2), (A3, A4), (A5, A6), (A7, A8) (A9, A10), (A11, A12), (A13, A14), (A 0, A15). Weil alle Kanten des Grundelements der X-Verbindung verbunden sind, gibt es eine Farbübereinstimmung für die folgenden Bereichspaare: (A5, A14), (A6, A13), (A1, A10), (A2, A9).
  • Extraktionsoperation:
  • Die Kantenteile zwischen den Schnittpunkten werden aus dem Kantenplan entfernt.
  • 3. Korrektur
  • Im Korrekturschritt werden Werte für jedes fehlerhafte Pixel für jeden Farbkanal eines Bildes basierend auf den lokalen, nicht fehlerhaften Pixeln bereitgestellt. Ein lokaler Kantenplan wird zur Bestimmung eines Korrekturverfahrens verwendet. In dem bevorzugten Ausführungsbeispiel sind zwei Korrekturverfahren implementiert. Wenn lokale geometrische Grundelemente vorhanden sind, wird ein gegebenes fehlerhaftes Pixel mithilfe einer gewichteten Mittelung vorbestimmter Werte aus den lokalen geometrischen Grundelementen korrigiert. Andernfalls wird ein modifiziertes Nadelscheibenkorrekturverfahren verwendet.
  • Das auf den lokalen geometrischen Grundelementen basierende Korrekturverfahren kombiniert geschätzte Werte aus 1-D Prädiktoren auf gewichtete Weise. Zwei Arten von 1-D Prädiktoren werden in der bevorzugten Implementierung verwendet: ein Extrapolations-Prädiktor und ein Interpolations-Prädiktor. Ein 1-D Extrapolationsprädiktor verwendet nicht fehlerhafte Pixel auf einer Seite eines fehlerhaften Pixels entlang eines Liniensegments in einer gegebenen Richtung durch das fehlerhafte Pixel. Es ist jeder standardmäßige 1-D Extrapolationsprädiktor verwendbar, z. B. nächster Nachbar, Fehlerquadratverfahren usw. In der bevorzugten Implementierung wird das Fehlerquadratverfahren verwendet. Ein 1-D Interpolationsprädiktor verwendet nicht fehlerhafte Pixel auf beiden Seiten eines fehlerhaften Pixels entlang eines Liniensegments in einer gegebenen Richtung durch das fehlerhafte Pixel. Es ist jeder standardmäßige 1-D Interpolationsprädiktor verwendbar, z. B. nächster Nachbar, Fehlerquadratverfahren usw. In der bevorzugten Implementierung wird das Fehlerquadratverfahren verwendet. Die Richtungen der Liniensegmente für die Extrapolations- und Interpolationsprädiktoren werden durch die lokalen geometrischen Grundelemente bestimmt.
  • 8a8f zeigen die Richtungen der Liniensegmente für Extrapolations- und Interpolationsprädiktoren für jedes geometrische Grundelement. In 8a8f werden Kanten oder Teile von Kanten, die Teil eines erfassten geometrischen Grundelements sind, zur Vereinfachung als Liniensegmente gezeigt, obwohl sie, wie in dem Kantenerfassungsschritt beschrieben, in den Fehlereintritts- und Fehleraustrittsteilen möglicherweise eine nicht lineare Form haben. Die mit Pfeilen an beiden Enden versehenen geraden Strichlinien stellen Liniensegmentrichtungen für die Interpolationsprädiktoren dar. Die mit einem Pfeil nur an einem Ende versehenen geraden Strichlinien stellen Liniensegmentrichtungen für die Exteapolationsprädiktoren dar. Die durch Extrapolations- und Interpolationsprädiktoren an einem gegebenen fehlerhaften Pixel verwendeten Liniensegmente weisen in Richtungen, die den benachbarten Teilen der lokalen geometrischen Grundelemente entsprechen und dürfen andere geometrische Grundelemente nicht schneiden. Die Richtung eines Teils eines geometrischen Grundelements ist durch den Fehlereintrittswinkel der entsprechenden Kante bestimmt. Ein „benachbarter" Teil des geometrischen Grundelements für ein gegebenes fehlerhaftes Pixel darf nicht von dem fehlerhaften Pixel durch einen anderen Teil eines geometrischen Grundelements in dem Sinne getrennt sein, dass das kürzeste Liniensegment, das das fehlerhafte Pixel mit dem benachbarten Teil verbindet, kein geometrisches Grundelement schneidet. Für das fehlerhafte Pixel P0 in 8d sind beispielsweise nur E0 und E1 benachbarte Teile. Wenn ein fehlerhaftes Pixel auf einem Teil eines geometrischen Grundelements liegt, erstreckt sich das Liniensegment entlang des Teils des geometrischen Grundelements und darf andere Teile eines geometrischen Grundelements nicht schneiden.
  • Ein Liniensegment für den Extrapolationsprädiktor erstreckt sich nur auf einer Seite des fehlerhaften Pixels und muss eine bestimmte Zahl nicht fehlerhafter Pixel umfassen. Die Anzahl nicht fehlerhafter Pixel hängt von dem verwendeten Extrapolationsprädiktor ab. Ein Liniensegment für den Interpolationsprädiktor erstreckt sich auf beiden Seiten des fehlerhaften Pixels und muss eine bestimmte Zahl nicht fehlerhafter Pixel auf jeder Seite umfassen. Die Anzahl nicht fehlerhafter Pixel hängt von dem verwendeten Interpolationsprädiktor ab. Für den Interpolations-/Extrapolationsprädiktor auf Basis des nächsten Nachbarn ist nur ein nicht fehlerhaftes Pixel auf einer Seite des entsprechenden Liniensegments erforderlich. In der bevorzugten Implementierung werden die Interpolations- /Extrapolationsprädiktoren auf Basis des Fehlerquadratverfahrens verwendet, wobei die Anzahl nicht fehlerhafter Pixel auf dem Liniensegment auf einer Seite des fehlerhaften Pixels gleich der Hälfte der Fehlerbreite sein muss. Wenn sich für ein gegebenes fehlerhaftes Pixel ein Liniensegment, das die vorausgehenden Anforderungen erfüllt, auf beiden Seiten des fehlerhaften Pixels erstreckt, wird ein Interpolationsprädiktor verwendet, andernfalls und wenn sich das Liniensegment nur auf einer Seite des fehlerhaften Pixels erstreckt, wird ein Extrapolationsprädiktor verwendet.
  • Zwischen jedem Prädiktor und dem benachbarten Teil der lokalen geometrischen Grundelemente besteht eine 1 : 1 Beziehung. Die Gesamtzahl der Prädiktoren ist gleich der Gesamtzahl der benachbarten Teile lokaler geometrischer Grundelemente für ein gegebenes fehlerhaftes Pixel. 8c zeigt Beispiele von Liniensegmenten für Interpolations- und Extrapolationsprädiktoren. Zwei Extrapolationsprädiktoren (Liniensegmente Le0, Le1) werden für das fehlerhafte Pixel P0 verwendet. Ein Interpolationsprädiktor (Liniensegment Li0) wird für das fehlerhafte Pixel P1 verwendet.
  • In dem Korrekturschritt sind die endgültigen Werte des fehlerhaften Pixels die gewichtete Summe aller geschätzten Werte aus den Extrapolations- und Interpolationsprädiktoren für jeden Farbkanal, wobei die Gewichte invers proportional zu den Abständen der fehlerhaften Pixel zu den benachbarten Teilen der lokalen geometrischen Grundelemente sind. Der Abstand zwischen einem fehlerhaften Pixel und einem benachbarten Teil ist die Länge des kürzesten Liniensegments, das das fehlerhafte Pixel und das benachbarte Teil verbindet. Der Abstand wird auf die Mindestgrenze größer 0 abgeschnitten. Die endgültigen Werte für das fehlerhafte Pixel sind gegeben durch:
    Figure 00420001
    worin:
    Pik für den Wert des k. Farbkanals des i. fehlerhaften Pixels in dem Ausgangsbild steht
    Wi,j für das Gewicht des j. Prädiktors für das i. fehlerhafte Pixel in dem Ausgangsbild steht
    Figure 00430001
    worin:
    Di,j für den Abstand des i. fehlerhaften Pixels zum benachbarten Teil des geometrischen Grundelements für den j. Prädiktor steht, und C(d) ist die in folgender Weise definierte Abschneidefunktion
    Figure 00430002
    in der bevorzugten Implementierung d2 = 1 und d3 = 0,5;
    Ei,j,k für den geschätzten Wert für den k. Kanal des i. fehlerhaften Pixels von dem j. Prädiktor steht; und
    Ji für die Anzahl der Prädiktoren für das i. fehlerhafte Pixel steht
  • 7 zeigt ein Ablaufdiagramm des Korrekturprozesses. Die fehlerhaften Pixel werden in der durch die Schritte [702][792][794] dargestellte Schleife abgetastet. Es wird angenommen, dass sich in dem Bild einige fehlerhafte Pixel befinden [702]. Für jedes fehlerhafte Pixel werden lokale geometrische Grundelemente erfasst [704714]. Wenn lokale geometrische Grundelemente erfasst worden sind, wird ein Korrekturverfahren auf Basis der lokalen geometrischen Grundelemente [716742] durchgeführt. Andernfalls wird ein modifi zierten Nadelscheibenkorrekturverfahren verwendet, um neue Werte für fehlerhafte Pixel [760784] bereitzustellen.
  • Es sei angenommen, dass Pi ein ausgewähltes i. fehlerhaftes Pixel ist. Zunächst wird eine lokale Nachbarschaft des ausgewählten fehlerhaften Pixels auf die lokalen geometrischen Grundelemente in dem Kantenplan geprüft. Ein Satz von N Liniensegmenten durch das fehlerhafte Pixel wird in dem Kantenplan erzeugt[704]. Die Liniensegmente befinden sich in gleichen Radialwinkelintervallen in Bezug zueinander um das fehlerhafte Pixel. Die Anzahl der Liniensegmente hängt von der Größe des Winkelintervalls ab. In der bevorzugten Implementierung werden 22,5 Grad benutzt, was 8 Liniensegmenten entspricht. Vorzugsweise setzt sich jedes Liniensegment aus Pixeln zusammen, die kleiner als 0,5 Pixel von einer Linie durch das fehlerhafte Pixel in dem Radialwinkel entfernt sind, der jedem jeweiligen Liniensegment zugewiesen ist. Der oben definierte Satz von Liniensegmenten wird als Nadelscheibe bezeichnet. Jedes Liniensegment wird in dem Kantenplan auf jeder Seite des fehlerhaften Pixels verlängert, beginnend am fehlerhaften Pixel, bis eine der folgenden vier Bedingungen erfüllt ist: (i) ein Teil eines erfassten geometrischen Grundelements wird geschnitten; (ii) eine bestimmte Anzahl nicht fehlerhafter Pixel auf jeder Seite des fehlerhaften Pixels ist erreicht; (iii) eine maximale Liniensegmentlänge ist erreicht; (iv) eine Bildgrenze ist erreicht. In der bevorzugten Implementierung ist die maximale Zahl nicht fehlerhafter Pixel auf einer Seite des fehlerhaften Pixels entlang des Liniensegments gleich der Hälfte der Fehlerbreite, und die Maximallänge des Liniensegments ist gleich dem Fünffachen der Fehlerbreite.
  • Jeder Teil eines erfassten geometrischen Grundelements NPi,j, das von den Nadelscheiben-Liniensegmenten geschnitten wird, und der entsprechende Abstand zwischen dem Schnittpunkt und dem fehlerhaften Pixel werden in einer Liste gespeichert. Jedes geschnittene Teil ist ein benachbartes Teil, weil es das erste in einer gegebenen Nadelscheibenrichtung zum fehlerhaften Pixel ist. Wenn alle Liniensegmente verlängert sind, wird die Liste der benachbarten Teile verarbeitet [704], um duplizierte geometrische Grundelemente auf der Liste zu entfernen und den Mindestabstand Di,j für jedes eindeutige Teil NPi,j auf der Liste zu finden. Das Ergebnis ist die Liste aller benachbarten Teile NPi,j der lokalen erfassten geometrischen Grundelemente für das ausgewählte Pixel Pi , wobei j = 1,..., Ji. Wenn kein geometrisches Grundelement erfasst ist [708], d. h. dass die Liste leer (Ji = 0) ist, wird das modifizierte Nadelscheiben-Korrekturverfahren verwendet [760784]. Andernfalls wird der Mindestabstand dmin auf der Liste gefunden [710]. dmin ist der Abstand zwischen dem ausgewählten Pixel Pi und dem nächst benachbarten Teil. Als nächstes wird ein Test durchgeführt, um zu ermitteln, ob es an dem ausgewählten Pixel Pi eine offene Richtung gibt [712]. Eine offene Richtung liegt vor, wenn es mindestens ein Nadelscheiben-Liniensegment mit einer angegebenen Anzahl nicht fehlerhafter Pixel auf jeder Seite des fehlerhaften Pixels gibt und keine Schnittpunkte mit geometrischen Grundelementen. In der bevorzugten Implementierung ist eine erforderliche Zahl nicht fehlerhafter Pixel auf jeder Seite des fehlerhaften Pixels entlang eines Liniensegments in der offenen Richtung gleich der Hälfte der Fehlerbreite. Wenn keine offene Richtung vorliegt, beginnt das Korrekturverfahren basierend auf den lokalen erfassten geometrischen Grundelementen [716]. Wenn eine offene Richtung vorliegt, wird der Mindestabstand dmin gegen einen Abstandsschwellenwert d1 [714] geprüft. In der bevorzugten Implementierung wird ein Abstandsschwellenwert d1 benutzt, der der Hälfte der Fehlerbreite entspricht. Wenn der Mindestabstand dmin größer als der Abstandsschwellenwert d1 ist, beginnt das modifizierte Nadelscheiben-Korrekturverfahren {760]. Dieses Verfahren wird im nächsten Abschnitt beschrieben. Andernfalls beginnt das Korrekturverfahren basierend auf den lokalen erfassten geometrischen Grundelementen [716].
  • Für die Korrektur auf Basis der lokalen erfassten geometrischen Grundelemente wird die Summe der geschätzten Pixelwerte Pi,k für das i. fehlerhafte Pixel für jeden Farbkanal eines Bildes k = 1,...,K auf 0 initialisiert [716], wobei K die Anzahl der Farbkanäle ist. Die Summe der Gewichtungsfaktoren Wi wird ebenfalls auf 0 initialisiert [716]. Die Liste der benachbarten Teile NPi,j der lokalen erfassten geometrischen Grundelemente für das ausgewählte Pixel Pi, wobei j = 1,..., Ji, wird in der Schleife abgetastet, die durch die Schritte [718][734][736] dargestellt ist. Für ein gegebenes benachbartes Teil NPi,j wird ein entsprechender Interpolations- oder Extrapolationsprädiktor ermittelt [720]. Die Prädiktoren sind oben beschrieben und in 8a-8f dargestellt. Wenn es aufgrund der definierten Bestimmungen keinen gültigen Prädiktor gibt [722], wird das nächste benachbarte Teil ausgewählt [734][736], und die Verarbeitungsschleife setzt sich fort [720]. Wenn es einen gültigen Prädiktor gibt [722], werden die Werte des i. fehlerhaften Pixels Ei,j,k für jeden Farbkanal k = 1,...,K geschätzt, und zwar unter Verwendung des j. Prädiktors, der dem j. benachbarten Teil entspricht. Das Abschneiden der Distanz Di,j des benachbarten Teils ist in den Schritten [726][728] implementiert. In der bevorzugten Implementierung ist d2 = 1 und d3 = 0,5. Gestützt auf der abgeschnittenen Distanz Di,j werden die gewichteten, geschätzten Pixelwerte der Summe Pi,k [730] für jeden Farbkanal zugefügt k = 1,., K. Ein Gewichtungsfaktor, der invers proportional zu Di,j ist, wird der Summe Wi zugefügt [730]. Die Verarbeitungsschleife setzt sich fort [736][720], bis der letzte benachbarte Teil verarbeitet ist [734]. Wenn keine Pixelwerte geschätzt werden [740], beginnt das modifizierte Nadelscheibenverfahren [760], andernfalls wird die Summe der gewichteten, geschätzten Werte Pik mit der Summe Wi der Gewichtungsfaktoren [742] für jeden Farbkanal k = 1,...,K normiert. Die endgültigen Werte von Pi,k werden über die Gleichung (EQ. 1) definiert. Die berechneten fehlerhaften Pixelwerte werden in dem korrigierten Bild [790] gespeichert.
  • Wenn das Korrekturverfahren auf Basis der lokalen geometrischen Grundelemente nicht verwendbar ist [708714] oder nicht erfolgreich ist [740], wird statt dessen das modifizierte Nadelscheibenverfahren [760784] verwendet. Das Nadelscheiben-Korrekturverfahren wird nachfolgend detailliert beschrieben. Es wird als Nadelscheiben-Standardverfahren bezeichnet. In der bevorzugten Implementierung beginnt das Nadelscheibenverfahren mit der Erstellung N von Nadelscheiben-Liniensegmenten durch das fehlerhafte Pixel Pi [760] in dem Ausgangsbild. Jedes der in Verbindung mit den Nadelscheiben-Standardverfahren nachfolgend beschriebenen Verfahren zur Erzeugung/Verlängerung von Liniensegmenten ist verwendbar. Alle Nadelscheiben-Liniensegmente werden in der durch die Schritte [762][774][776] dargestellte Schleife abgetastet. Für jedes gültige Liniensegment wird das Gütemerkmal berechnet [770]. Ein Nadelscheiben-Liniensegment ist gültig [764], wenn zwei Bedingungen erfüllt werden. Erstens gibt es eine festgelegte Anzahl nicht fehlerhafter Pixel auf jeder Seite des fehlerhaften Pixels entlang des Liniensegments. Diese Bedingung ist die gleiche wie in dem Nadelscheiben-Standardverfahren. Zweitens darf ein gültiges Liniensegment nicht von einem geometrischen Grundelement geschnitten werden. Diese Bedingung wird im Vergleich mit dem Nadelscheiben-Standardverfahren dem bevorzugten Ausführungsbeispiel zugefügt. Die in dem Bild erzeugte Nadelscheibe [760] wird in dem Kantenplan dupliziert, um die Schnittpunkte mit geometrischen Grundelementen zu prüfen und die Liste LNC an lokalen, nicht verbundenen Kanten [760] in ähnlicher Weise wie in Schritt [704] zu erzeugen. Wenn ein gegebenes Nadelscheiben-Liniensegment gültig ist [764], wird das Gütemerkmal Fi,n berechnet [770]. In dem modifizierten Nadelscheibenverfahren wird das gesamte Gütemerkmal für das n. Nadelscheiben-Liniensegment an dem i. fehlerhaften Pixel in dem Ausgangsbild nach der Gleichung EQ.2 berechnet. Das gesamte Gütemerkmal ist gleich der Summe von zwei Komponenten. Eine Komponente ist ein Gütemerkmal FV basierend auf der Gleichmäßigkeit nicht fehlerhafter Pixelwerte entlang des n. Nadelscheiben-Liniensegments, gemessen mit der gesamten Standardabweichung SMSEi,n für das n. Nadelscheiben-Liniensegment in dem Ausgangsbild. SMSEi,n wird nach der Gleichung EQ.3 berechnet. Je mehr gleichmäßige nicht fehlerhafte Pixelwerte entlang eines gegebenen Nadelscheiben-Liniensegments vorhanden sind, je höher ist das Gütemerkmal FV. Die detaillierte Beschreibung der gesamten Standardabweichung für ein Nadelscheiben-Liniensegment ist der nachfolgenden Beschreibung zum Nadelscheiben-Standardverfahren zu entnehmen. Das Fehlerquadratverfahren wird in der bevorzugten Implementierung benutzt, um ein funktionales Modell der nicht fehlerhaften Pixelwerte entlang eines Nadelscheiben-Liniensegments zu berechnen. Das Gütemerkmal FV wird in der bevorzugten Implementierung nach Gleichung EQ.4 berechnet. Die zweite Komponente des gesamten Gütemerkmals (EQ.2) beruht auf den lokalen, nicht verbunden Kanten. Die Liste LNC der lokalen, nicht verbundenen Kanten wird erstellt, wenn die Nadelscheibe in dem Kantenplan erzeugt wird [760]. In der bevorzugten Implementierung wird ein Ausrichtungs-Gütemerkmal mit lokalen, nicht verbundenen Kanten FA nach der Gleichung EQ.5 berechnet. FA hat höhere Werte für die Nadelscheiben-Liniensegmente, die mit Richtungen der lokalen, nicht verbundenen Kanten ausgerichtet sind. FA wird mit der Funktion D() „Distanzauflösung" skaliert, die mit zunehmender Distanz des fehlerhaften Pixels zur lokalen, nicht verbundenen Kante abnimmt. Die Funktion D() „Distanzauflösung" wird in der bevorzugten Implementierung nach der Gleichung EQ.6 berechnet.
  • Wenn alle Nadelscheiben-Liniensegmente abgetastet sind [774] und keine gültigen Liniensegmente vorhanden sind [778], wird ein gewichtetes Mittel nicht fehlerhafter Pixel der Nadelscheiben-Liniensegmente verwendet, um fehlerhafte Pixelwerte zu berechnen [784]. Dieses Verfahren [784] wird nachfolgend in Verbindung mit dem Nadelscheiben-Standardverfahren beschrieben. Wenn gültige Liniensegmente vorhanden sind [774], werden die M gültigen Liniensegmente mit den höchsten Gütemerkmalen ausgewählt [780]. Für jedes ausgewählte Liniensegment an dem i. fehlerhaften Pixel werden die geschätzten Pixelwerte Ei,n,k für jeden Farbkanal k = 1,....., K mithilfe einer Interpolation in jeder ausgewählten Liniensegmentrichtung berechnet [782]. Ein gewichtetes Mittel der geschätzten Werte wird benutzt, um endgültige Werte der fehlerhaften Pixel [782] nach Gleichung EQ.7 zu berechnen. Die Gewichtung erfolgt proportional zu Gütemerkmalen gemäß Gleichung EQ.8. Die endgültigen fehlerhaften Pixelwerte werden in dem korrigierten Bild [790] gespeichert.
    Figure 00490001
    Fi,n das gesamte Gütemerkmal für das n. Nadelscheiben-Liniensegment an dem i. fehlerhaften Pixel im Ausgangsbild
    FV(SMSEi,n) das Gütemerkmal für das n. Nadelscheiben-Liniensegment an dem i. fehlerhaften Pixel im Ausgangsbild, basierend auf der gesamten Standardabweichung
    SMSEi,n die gesamte Standardabweichung für das n. Nadelscheiben-Liniensegment an dem i. fehlerhaften Pixel im Ausgangsbild
    wobei
    Figure 00500001
    K die Zahl der Farbkanäle im Ausgangsbild
    MSEi,n,k die Standardabweichung zwischen nicht fehlerhaften Pixelwerten und deren Funktionsmodell für den k. Farbkanal des n. Nadelscheiben-Liniensegments am i. fehlerhaften Pixel im Ausgangsbild
    FA(Ai,jAn) das Ausrichtungs-Gütemerkmal des n. Nadelscheiben-Liniensegments am i. fehlerhaften Pixel im Ausgangsbild mit j. lokaler, nicht verbundener Kante
    Ai,j der Fehlereintrittswinkel der j. lokalen, nicht verbundenen Kante für das i. fehlerhafte Pixel im Ausgangsbild
    An der Winkel der n. Nadelscheiben-Liniensegments
    D(Di,j) die Funktion „Distanzauflösung"
    Di,j die Distanz zwischen dem i. fehlerhaften Pixel und deren j. lokaler, nicht verbundener Kante
    Li die Anzahl lokaler, nicht verbundener Kanten für das i. fehlerhafte Pixel in dem Ausgangsbild
    kA der Skalierungsfaktor gleich 1 in der bevorzugten Implementierung
  • In der bevorzugten Implementierung sind Gütemerkmale folgendermaßen definiert:
    Figure 00510001
    MAX() eine Maximalfunktion
    SMSEMAXi die maximale gesamte Standardabweichung für alle gültigen Nadelscheiben-Liniensegmente an dem i. fehlerhaften Pixel im Ausgangsbild
    SMSEMINi die minimale gesamte Standardabweichung für alle gültigen Nadelscheiben-Liniensegmente an dem i. fehlerhaften Pixel im Ausgangsbild
    Figure 00510002
    |Ai,j – An| – An der absolute Wert der Winkeldifferenz Modulo 90 Grad
    AMAX die maximale Winkeldifferenzschelle gleich 90 Grad in der bevorzugten Implementierung
  • In der bevorzugten Implementierung ist die Funktion „Distanzauflösung" folgendermaßen definiert:
    Figure 00520001
    Si Auflösungskonstante, die in der bevorzugten Implementierung gleich der Mindestfehlerbreite an dem i. fehlerhaften Pixel im Ausgangsbild ist
  • Die endgültig korrigierten Pixelwerte werden nach folgender Gleichung berechnet:
    Figure 00520002
    Pi,k der endgültige korrigierte Wert des i. fehlerhaften Pixels im Ausgangsbild für den k. Farbkanal
    Wi,n das Gewicht des n. Nadelscheiben-Liniensegments am i. fehlerhaften Pixel im Ausgangsbild, wobei
    S der Satz der Indices ist, die den ausgewählten Nadelscheiben-Liniensegmenten entsprechen
  • Figure 00520003
  • In der bevorzugten Implementierung ist die Funktion „Distanzauflösung" folgendermaßen definiert:
  • Figure 00530001
  • Die endgültig korrigierten Pixelwerte werden nach folgender Gleichung berechnet:
    Figure 00530002
    S der Satz der Indices ist, die den ausgewählten Nadelscheiben-Liniensegmenten entsprechen
    Figure 00530003
    Ei,n,k der interpolierte Wert des i. fehlerhaften Pixels im Ausgangsbild für den k. Farbkanal entlang des n. Nadelscheiben-Liniensegments
  • Nadelscheiben-Standardverfahren
  • Das nachfolgend beschriebene Nadelscheiben-Standardverfahren ist zwar berechnungstechnisch effizient und erzeugt in vielen Fällen gute Ergebnisse, aber es liefert möglicherweise kein ideales Ergebnis, wenn große Regionen gefüllt werden sollen, die Objekte schneiden, wo die Objektbreite kleiner als oder vergleichbar mit der Breite der Region ist. Dies könnte in dem wiederhergestellten Bild zu einer sichtbaren Objekttrennung und zu Grenzverwerfungen führen. Der Betrieb des Nadel scheiben-Standardverfahrens wird detailliert in Bezug auf 2(a–c) und 9-14 beschrieben.
  • Wenn ein Computersystem 10 an Schritt 1098 gestartet wird, kann das Computersystem 10 ein digitales Bild von dem Bildleser 20 empfangen und im Speicher 14 (Schritt 1000) speichern. Alternativ hierzu kann das Bild bereits im Speicher 14 gespeichert sein. Das im Speicher 14 gespeicherte Bild wird im weiteren Verlauf als das „Ausgangsbild" bezeichnet. 2(a) zeigt ein Beispiel eines Ausgangsbildes 25 mit dem Fehlerbereich 26. Das Ausgangsbild kann einen einzelnen Farbkanal (monochrom) oder mehrere Farbkanäle (z. B. RGB) umfassen.
  • Sobald das Ausgangsbild im Speicher 14 gespeichert ist, werden in Schritt 1102 die Fehlerbereiche in dem Ausgangsbild lokalisiert. Dies kann in derselben Weise wie zuvor in Verbindung mit dem erfindungsgemäßen Verfahren beschrieben erfolgen.
  • Sobald die fehlerhaften Bereiche lokalisiert sind, wird ein Fehlerplan erstellt und im Speicher 14 gespeichert (Schritt 1104). In dem Fehlerplan entsprechen Pixel mit einem bestimmten Wert den fehlerhaften Pixeln in dem Ausgangsbild. 2(b) zeigt ein Beispiel eines Fehlerplans.
  • In dem Nadelscheiben-Standardverfahren wird ein Fensteroperator vorzugsweise mittig auf das erste Pixel in dem Ausgangsbild gesetzt (Schritt 1106). Im Computersystem 10 wird der Fensteroperator zur Korrektur fehlerhafter Pixelwerte in dem Ausgangsbild verwendet. Der Fensteroperator definiert einen Bereich von Interesse in dem Ausgangsbild um ein mittig in der Region angeordnetes Pixel. In einem Ausführungsbeispiel ist die Form und Größe dieses Fensteroperators ein rechteckiger Bereich, wobei jede Seite oder Grenze des rechteckigen Bereichs die Größe X hat. In einem anderen Ausführungsbeispiel kann der Fensteroperator ein kreisförmiger Bereich mit einem Durchmesser X sein. Dieser Fensteroperator wird von dem Prozessor 12 benutzt, um jedes Pixel in den Linien der Ausgangsbildes abzutasten. Das Abtastmuster des Fensteroperators ist nicht von Bedeutung, so lange alle fehlerhaften Pixel während des Abtastvorgangs berücksichtigt werden. Beispielsweise ist ein Rasterabtastmuster verwendbar.
  • In Schritt 1107 wird geprüft, ob diese Pixelmenge in dem Fensteroperator ein fehlerhaftes Pixel ist, indem der im Speicher 14 gespeicherte Fehlerplan referenziert wird. Wenn das Pixel ein nicht fehlerhaftes Pixel ist, werden in Schritt 1109 die Werte dieses nicht fehlerhaften Pixels in einem Bereich des Speichers 14 gespeichert, der der Speicherung des korrigierten Ausgangsbildes („korrigiertes Bild") zugewiesen ist. Wenn das Pixel ein fehlerhaftes Pixel ist, wird das fehlerhafte Pixel für die nachfolgende Korrektur ("PIXELSEL") ausgewählt (Schritt 1108). Als nächstes wird ein korrigierter Wert in jedem Kanal von PIXELSEL geschätzt (Schritt 1110). Der Prozess zur Schätzung korrigierter Werte wird detaillierter in 10 beschrieben.
  • Wie in 10 gezeigt, beginnt der Prozess zum Schätzen korrigierter Werte für PIXELSEL bei Schritt 1198. Die Liniensegmentgröße wird für jede Richtung auf X gesetzt (Schritt 1200). Vorzugsweise ist X mindestens das Doppelte der Maximalbreite des Fehlerbereichs in dem Ausgangsbild. Ein Satz von Liniensegmenten oder Vektoren wird durch PIXELSEL definiert oder zugewiesen, worin sich jedes Liniensegment aus fehlerhaften und nicht fehlerhaften Pixeln in dem Ausgangsbild auf einer oder beiden Seiten von PIXELSEL zusammensetzt (Schritt 1202). In diesem Ausführungsbeispiel wird die Gesamtzahl fehlerhafter und nicht fehlerhafter Pixel in jedem Liniensegment gleich gehalten, was dem Rechteckfenster-Operator entspricht. Alternativ hierzu kann jedes Liniensegment die gleiche Länge X wie der euklidische Abstand aufweisen, was dem kreisförmigen Fensteroperator entspricht. In anderen Ausführungsbeispielen kann die Gesamtzahl von Pixeln in jedem Liniensegment je nach dem fehlerhaften Pixel und dem Liniensegment variieren, wie später beschrieben wird.
  • SET setzt sich aus N Liniensegmenten zusammen, wobei jedes Liniensegment durch folgende Notation dargestellt ist: In SET bezieht sich n auf jedes Liniensegment (n = 1 bis N). Jedes Liniensegment n hat Pixel mit Werten für die Anzahl K der Farbkanäle. Das n. Liniensegment wird als LSn bezeichnet. Der k. Kanal des n. Liniensegments in SET wird als LSn,k bezeichnet. Wenn SET beispielsweise 4 Liniensegmente aufweist (N = 4) und jedes Pixel 3 Kanalwerte (K = 3), wird der 2. Kanal des 3. Liniensegments in SET auf LS3,2 gesetzt.
  • Vorzugsweise liegen die Liniensegmente jeweils an gleichen Radialwinkeln mit Intervallen von 45° oder 22,5° in Bezug zueinander um PIXELSEL obwohl die Winkel nach Bedarf variierbar sind. Die Anzahl von Liniensegmenten in SET hängt von der Größe dieses Winkels ab. Beispielsweise liefern Radialwinkel in Intervallen von 45° in SET 4 Liniensegmente, während Radialwinkel in Intervallen von 22,5° 8 Liniensegmente in SET liefern. Vorzugsweise setzt sich jedes Liniensegment aus Pixeln zusammen, die kleiner als 0,5 Pixel von einer Linie durch PIXELSEL in dem Radialwinkel entfernt sind, der jedem jeweils Liniensegment zugewiesen ist.
  • 14 zeigt ein Beispiel von SET aus 4 Liniensegmenten (H, V, D1 und D2) im Abstand von 45° zueinander, wobei sich jedes Liniensegment aus insgesamt 22 Pixeln zusammensetzt und auf jeder Seite von PIXELSEL 11 Pixel aufweist.
  • Sobald der Satz (SET) von Liniensegmenten definiert ist, gelten, wie in 10 gezeigt, bei Schritt 1204 alle Liniensegmente, die keine Mindestschwellenzahl von nicht fehlerhaf ten Pixeln auf jeder Seite von PIXELSEL enthalten, als nicht gültige Liniensegmente und werden von SET entfernt. Vorzugsweise wird die Mindestschwelle auf die Hälfte der Anzahl von Pixeln auf jeder Seite eines Liniensegments gesetzt. Wenn jedes Liniensegment 8 Pixel aufweist, befinden sich 4 Pixel auf jeder Seite von PIXELSEL und die Mindestschwelle ist 2 Pixel. Demnach wird jedes Liniensegment, das nicht mindestens 2 nicht fehlerhafte Pixel auf jeder Seite von PIXELSEL aufweist, aus SET entfernt.
  • Als nächstes wird eine Prüfung durchgeführt, um zu ermitteln, ob die verbleibende Anzahl von Liniensegmenten N in SET größer als Null ist (Schritt 1206). Wenn N nicht größer als Null ist, dann wird der „nein"-Verzweigung nach Schritt 1207 gefolgt, wo alle zuvor entfernten Liniensegmente in SET ersetzt werden. Sobald die Liniensegmente ersetzt worden sind, erfolgt eine Abfrage, um zu ermitteln, ob eines der Liniensegmente nicht fehlerhafte Pixel aufweist (Schritt 1209). Wenn keine nicht fehlerhaften Pixel in den Liniensegmenten von SET vorhanden sind, wird der Verzweigung „nein" zu Schritt 1211 gefolgt, wo die Größe X des Liniensegments um Y erhöht wird. Dadurch vergrößert sich der Fensteroperatorbereich um Y, wodurch sich die Wahrscheinlichkeit erhöht, dass bei einer Neudefinition von SET einige Liniensegmente nicht fehlerhafte Pixel enthalten. Ein neuer SET von Liniensegmenten wird durch PIXELSEL bei dieser vergrößerten Liniensegmentgröße an Schritt 1202 definiert, und der zuvor beschriebene Prozess wird wiederholt. Wenn die Liniensegmente an Schritt 1209 nicht fehlerhafte Pixel enthalten, wird an Schritt 1213 der Verzweigung „ja" gefolgt, wo ein geschätzter Wert für jeden Kanal k von PIXELSEL berechnet wird, und zwar basierend auf dem gewichteten Mittel der nicht fehlerhaften Pixel in SET. Diese Gewichte bestimmen sich durch ihre jeweiligen Abstände zu PIXELSEL.
  • Die Berechnung zum Schätzen der Werte für jeden Kanal k von PIXELSEL an Schritt 1213 erfolgt vorzugsweise folgendermaßen:
    Figure 00580001
    worin:
    i = Index für jedes nicht fehlerhafte Pixel in SET;
    Q = Gesamtzahl nicht fehlerhafter Pixel in SET;
    Pi,k = der Wert des k. Kanals jedes i. nicht fehlerhaften Pixels in SET; und
    Wi = das Gewicht für das i. nicht fehlerhafte Pixel in SET,
    wobei Wi = ((xi – xSEL)2 + (yi – ySEL)2)–1/2 (EQ. 10)xi und yi = die x- und y-Koordinaten des i. nicht fehlerhaften Pixels in SET in dem Ausgangsbild; und
    xSEL und ySEL = die x- und y-Koordinaten von PIXELSEL in dem Ausgangsbild
  • Sobald die Schätzung der Werte für PIXELSEL abgeschlossen ist (Schritt 1218) fährt die Verarbeitung mit Schritt 1112 in 9 fort.
  • Wenn an Schritt 1206 die Anzahl der Liniensegmente N größer als Null ist, wird an Schritt 1208 der Verzweigung „ja gefolgt, wo ein Funktionsmodell für die nicht fehlerhaften Pixelwerte für jeden Kanal k jedes Liniensegments in SET berechnet wird. Die Berechnung des Funktionsmodells wird durch Anpassen der Werte der nicht fehlerhaften Pixel in einem Liniensegment an ein mathematisches Modell durchgeführt, wie eine Feldanpassung, lineare Anpassung oder quadratische Anpassung. Diese Anpassung basiert auf den Werten für die nicht fehlerhaften Pixel und den dazwischen befindlichen Abständen. Eine Vielzahl von Techniken ist zur Modellierung der nicht fehlerhaften Pixelwerte verwendbar, wobei die jeweilig gewählte Technik die Genauigkeit des Modells bestimmt und eine unterschiedliche Mindestzahl nicht fehlerhafter Pixel benötigt. Ein Beispiel dieser Technik wird gezeigt in W. PRESS, S. TEUKOLSKY, W. VETTERLING, UND B. FLANNERY, NUMERICAL RECIPES IN FORTRAN, Kapitel 15 (2. Auflage 1992) . In dem bevorzugten Ausführungsbeispiel verwendet die Funktionsmodellberechnung an Schritt 1208 ein lineares Fehlerquadratverfahren, das voraussetzt, dass mindestens ein nicht fehlerhaftes Pixel auf jeder Seite von PIXELSEL liegt. Der früher durchgeführte Schritt 1204 ist verwendbar, um sicherzustellen, dass dieses Minimum für alle Liniensegmente in SET erfüllt wird.
  • Dann wird an Schritt 1210 die Standardabweichung (MSE/Mean Square Fitting Error) der nicht fehlerhaften Pixelwerte des Funktionsmodells für jeden Kanal jedes Liniensegments in SET berechnet. Die MSE-Berechnung ist ein statistisches Maß der Abweichung der nicht fehlerhaften Pixelwerte in einem Liniensegment von einer Schätzung der Werte, basierend auf ihrer Funktionsanpassung. Je kleiner der MSE-Wert, je konsistenter mit dem Modell sind die nicht fehlerhaften Pixelwerte. Für einen gegebenen Kanal und ein gegebenes Liniensegment wird der MSE-Wert durch Bestimmen der Differenz zwischen dem Wert jedes nicht fehlerhaften Pixels zu dessen nach dem Funktionsmodell geschätzten Wert berechnet. Die resultierende Differenz für jedes nicht fehlerhafte Pixel wird dann quadriert, und die Summe dieser Quadrate wird Bemittelt, um den MSE-Wert zu erhalten. (Im Falle eines Flat-Field-Fit für die Funktionsmodellberechnung ist der MSE-Wert äquivalent zur Abweichung der nicht fehlerhaften Pixel in dem Liniensegment.) Die Standardabweichung des k. Kanals für das n. Liniensegment (MSEn,k) berechnet sich wie folgt:
    Figure 00600001
    worin:
    Mn = Gesamtzahl nicht fehlerhafter Pixel in LSn;
    i = Index für jedes nicht fehlerhafte Pixel in LSn von 1; bis Mn;
    Pi,n,k = Istwert des i. nicht fehlerhaften Pixels in Kanal k in LSn; und
    Pi,n,k = geschätzter Wert des Funktionsmodells des i. nicht fehlerhaften Pixels in Kanal k in LSn.
  • In Schritt 1212 wird eine Berechnung für jedes Liniensegment durchgeführt, worin jeder Kanal des Liniensegments kombiniert wird, um eine gesamte Standardabweichung (MSETotaln) zu erhalten, wobei:
    Figure 00600002
    K = die Gesamtzahl der Kanäle (für RGB, K = 3); und
    k = Index für jeden Kanal von 1 bis K.
  • Das Liniensegment mit dem kleinsten MSETotal wird dann ausgewählt (Schritt 1214). Das gewählte Liniensegment stellt das bevorzugte Liniensegment zur Bestimmung geschätzter Werte für PIXELSEL dar. Ein geschätzter Wert für jeden Kanal k von PIXELSEL wird dann mithilfe mindestens eines nicht fehlerhaften Pixels des gewählten Liniensegments auf jeder Seite von PIXELSEL interpoliert (Schritt 1216). Durch Wahl des Liniensegments mit der kleinsten Standardabweichung wird das Liniensegment, das nicht fehlerhafte Pixel darstellt, die weitgehend konsistent mit ihrem Funktionsmodell über alle Kanäle sind, benutzt, um die geschätzten Werte für PIXELSEL zu bestimmen. Sobald die Schätzung der Werte für PIXELSEL abgeschlossen ist (Schritt 1218) fährt die Verarbeitung mit Schritt 1112 in 9 fort.
  • 14 zeigt ein Beispiel der Verarbeitung aus 10, die nachfolgend erläutert wird. 14 zeigt eine erweiterte Sicht eines Ausgangsbildes mit einem Fehlerbereich, der sich von Bereich 1 nach Bereich 2 erstreckt, worin sich jeder Bereich aus Pixeln mit ähnlichen Pixelwerten zusammensetzt, die zwischen den Bereichen unterschiedlich sind. In SET sind 4 Liniensegmente vorhanden, die mit H, V, D1 und D2 bezeichnet sind und durch PIXELSEL in der Mitte oder am Schnittpunkt der Liniensegmente definiert sind (Schritt 1202). Nach erfolgter Definition werden Liniensegment H und D2 aus SET entfernt, weil jedes eine Seite ohne nicht fehlerhafte Pixel aufweist und daher unter einer Mindestschwelle von 4 nicht fehlerhaften Pixel liegt (Schritt 1204). Dann wird ein Funktionsmodell eingepasst und eine Standardabweichung für die verbleibenden Liniensegmente V und D1 berechnet (Schritt 12081210). In dem Beispiel mit dem Einfarbenkanal (K = 1) aus 14 ist die Standardabweichung für das Liniensegment D1 kleiner als die Standardabweichung für das Liniensegment V. Das ist auf den übermäßigen Anpassungsfehler für abweichende, nicht fehlerhafte Pixelwerte entlang des Liniensegments V zurückzuführen, das sich durch Bereich 1 und Bereich 2 erstreckt. Im Unterschied dazu liegen die nicht fehlerhaften Pixel des Liniensegments D1 alle in Bereich 1 und weisen gleichmäßige Pixelwerte auf. Das Liniensegment D1 hat einen kleineren Anpassungsfehler als das Liniensegment V. Demnach wird bei Schritt 1214 das Liniensegment D1 gewählt, und bei Schritt 1216 wird PIXELSEL durch einen geschätzten Wert ersetzt, der auf den nicht fehlerhaften Pixeln im Liniensegment D1 basiert.
  • 11 zeigt ein alternatives Ausführungsbeispiel zum Schätzen korrigierter Werte für PIXELSEL Die entsprechenden Schritte in 11 sind mit Nummern versehen, die denen in 10 entsprechen und werden hier nicht erneut beschrieben. Sobald die Standardabweichung in Schritt 1210 erfolgt ist, wird ein Gewicht (wn,k) bei Schritt 1220 für jeden Kanal k für jedes Liniensegment n in SET berechnet, wobei:
  • Figure 00620001
  • Je kleiner die Standardabweichung für ein gegebenes Liniensegment in einem gegebenen Kanal ist, wie in Gleichung (EQ.13) gezeigt, je größer ist das berechnete Gewicht. Ein geschätzter Zwischenwert von PIXELSEL (IGLj,k) wird dann für jeden Kanal k für jedes Liniensegment in SET interpoliert (Schritt 1222). Sobald der Interpolationsvorgang abgeschlossen ist, wird ein endgültiger Schätzwert von PIXELSEL (FGLSELk) für jeden Kanal k berechnet (Schritt 1224), wobei:
  • Figure 00630001
  • Der endgültige Schätzwert von PIXELSEL basiert auf einer Verteilung von jedem der berechneten geschätzten Zwischenwerte für jeden Kanal jedes Liniensegments, relativ zu deren jeweiligen Gewichten. Wenn beispielsweise die Liniensegmente die in 14 gezeigten sind, werden die geschätzten Zwischenwerte für PIXELSEL für die Liniensegmente V und D1 berechnet, weil alle anderen Liniensegmente an Schritt 1204 entfernt wurden. Da das Liniensegment D1 eine kleinere Standardabweichung als das Liniensegment V aufweist, trägt der geschätzte Zwischenwert für das Liniensegment D1 erheblich mehr zu dem endgültigen Schätzwert von PIXELSEL bei als der geschätzte Zwischenwert für das Liniensegment V. Sobald die Schätzung der Werte für PIXELSEL abgeschlossen ist (Schritt 1216) fährt die Verarbeitung mit Schritt 1112 in 9 fort.
  • Wie in 9 gezeigt, werden die Schätzwerte, sobald sie für PIXELSEL berechnet worden sind, an Schritt 1112 in dem Bereich des Speichers 14 für das korrigierte Bild gespeichert. Dann wird in Schritt 1114 eine Prüfung durchgeführt, um zu ermitteln, ob das Ende des Ausgangsbildes erreicht ist. Dies ist der Fall, wenn alle Pixel in dem Ausgangsbild von dem Fensteroperator abgetastet worden sind. Falls nicht, wird der Verzweigung „nein" bis Schritt 1115 gefolgt, wo der Fensteroperator weiter transportiert und vorzugsweise auf das nächste Pixel im Bild zentriert wird, worauf die Schritte 11071114 wiederholt werden, wie zuvor beschrieben.
  • Sobald das Bildende erreicht ist, wird von Schritt 1114 bis Schritt 1116 der Verzweigung „ja" gefolgt, wo das im Speicher 14 gespeicherte korrigierte Bild auf der Bildausgabevorrich tung 24 in Schritt 1116 ausgegeben wird und der Prozess an Schritt 1118 endet. Ein Beispiel des korrigierten Bildes ist in 2(c) zu sehen, worin der Fehler 1026 korrigiert wurde und nicht mehr visuell unterscheidbar ist.
  • In zwei alternativen Ausführungsbeispielen ist die Größe jedes Liniensegments an Schritt 1202 in 10 und 11 entlang der jeweiligen Radiallinie durch PIXELSEL variabel. Schritt 1200 zur Einstellung der Liniensegmentgröße ist daher nicht mehr erforderlich. Die Liniensegmente werden auf beiden Seiten von PIXELSEL verlängert. Die Zusammensetzung jedes Liniensegments bestimmt sich durch die Verlängerung jedes Liniensegments entlang eines Vektors (d. h. dessen jeweiliger Radiallinie) von jeder Seite von PIXELSEL wie nachfolgend beschrieben.
  • In dem ersten alternativen Ausführungsbeispiel werden die Liniensegmente separat auf jeder gegenüberliegenden Seite von PIXELSEL auf einem Vektor entlang dessen jeweiliger Radiallinie verlängert, bis jede Seite aus einer bestimmten Anzahl nicht fehlerhafter Pixel, ND, zusammengesetzt ist (nicht in Bezug auf 10 und 11 gezeigt oder beschrieben.) Vorzugsweise stellt ND zwei oder drei nicht fehlerhafte Pixel dar. Wenn ein Liniensegment nicht auf jeder Seite von PIXELSEL verlängert werden kann, um ND nicht fehlerhafte Pixel zu umfassen, wird das Liniensegment nicht in SET einbezogen. Möglich ist dies, wenn die Liniensegmentverlängerung die äußere Kante des Ausgangsbildes (oder des Fehlerplans) erreicht hat, oder wenn eine maximale Distanz zu PIXELSEL erreicht worden ist, ohne dass ND nicht fehlerhafte Pixel lokalisiert worden sind. Sobald beide Seiten eines Liniensegments ND nicht fehlerhafte Pixel umfassen, ist gewährleistet, dass das Liniensegment eine geeignete Anzahl nicht fehlerhafter Pixel zur nachfolgenden Verarbeitung aufweist.
  • Unter Bezug auf 12 und 13 wird nachfolgend das zweite alternative Ausführungsbeispiel besprochen. 12 ist ein Ablaufplan, der die Verlängerung auf einer Seite des Liniensegments LSn zu PIXELSEL beschreibt. Beginnend mit Schritt 1226 wird der Multiplikator A zunächst auf 1 gesetzt (Schritt 1228). Die Variable Q wird dann auf einen gewünschten Initialwert nicht fehlerhafter Pixel von PIXELSEL gesetzt, und die Variable E auf eine gewünschte Schrittzahl nicht fehlerhafter Pixel (Schritt 1230). Die ersten zu Q benachbarten, nicht fehlerhaften Pixel für die Verlängerung des Liniensegments LSn zu PIXELSEL wird als Gruppe 1 entlang eines Vektors gesetzt, der der Radiallinie des Liniensegments LSn entspricht (Schritt 1232). Eine Reihe von Haltbedingungen zur Verlängerung des Liniensegments LSn wird dann geprüft. Wenn Gruppe 1 nicht gebildet werden kann, weil keine zu Q benachbarten, nicht fehlerhaften Pixel vorhanden sind, oder wenn die Kante des Ausgangsbildes (oder des Fehlerplans) erreicht ist, wird der Weg 1262 von Schritt 1232 nach Schritt 1260 beschritten, wo das Liniensegment LSn nicht in SET enthalten ist. Es wird eine Prüfung 1234 durchgeführt, um zu prüfen, ob sich die Gruppe 1 über das Ausgangsbild hinweg erstreckt, und, falls dies der Fall ist, wird die Verlängerung gestoppt (Schritt 1255). Als nächstes wird eine Prüfung durchgeführt, um zu ermitteln, ob die Zahl der Pixel in Gruppe 1 einen maximalen Schwellenwert des Liniensegments nicht fehlerhafter Pixel THMAX überschreitet (Schritt 1236). Wenn das der Fall ist, wird der Verzweigung „ja" bis Schritt 1257 gefolgt, wo die Verlängerung des Liniensegments LSn an dem Pixel in Gruppe 1 stoppt, bevor THMAX überschritten wurde. THMAX stellt die maximale Zahl nicht fehlerhafter Pixel dar, aus der jede Seite von PIXELSEL zusammengesetzt sein kann.
  • Wenn die Zahl der Pixel in Gruppe 1 THMAX nicht überschreitet, wird in Schritt 1238 der Verzweigung „nein" gefolgt, wo die ersten zu Q + (A*E) benachbarten, nicht fehlerhaften Pixel aus PIXELSEL zusammen mit demselben Vektor wie Gruppe 1 als Gruppe 2 gesetzt werden. Wenn Gruppe 2 nicht gebildet werden kann, entweder aufgrund mangelnder nicht fehlerhafter, zu Q + (A*E) benachbarter Pixel, oder weil die Kante des Ausgangsbildes (oder des Fehlerplans) erreicht ist, wird dem Weg 1263 bis Schritt 1261 gefolgt, wo die Erweiterung des Liniensegments LSn an dem letzten Pixel in Gruppe 1 stoppt. Q stellt eine Grundzahl nicht fehlerhafter Pixel im Liniensegment LSn dar, und E stellt die Zahl aufeinander folgender, nicht fehlerhafter Pixel dar, die mit jedem Schritt des Verlängerungsprozesses zur Grundzahl addiert werden, wie nachfolgend gezeigt wird.
  • 13 zeigt ein Beispiel für die Verlängerung des Liniensegments LSn entlang eines Vektors 1028 von PIXELSEL im Fehlerbereich 1026 des Ausgangsbildes 1025. Die schwarzen Punkte entlang Vektor 1028 in 13 stellen benachbarte, nicht fehlerhafte Pixel aus PIXELSEL dar (nicht maßstäblich dargestellt). In diesem Beispiel ist Q gleich 3 und E gleich 2. Die Gruppe 1 umfasst somit die ersten drei benachbarten, nicht fehlerhaften Pixel, die PIXELSEL am nächsten liegen, und Gruppe 2 umfasst fünf nicht fehlerhafte Pixel, d. h. die drei nicht fehlerhaften Pixel in Gruppe 1 und die nächsten beiden benachbarten, nicht fehlerhaften Pixel von PIXELSEL nach den nicht fehlerhaften Pixeln von Gruppe 1.
  • Als nächstes wird ein Funktionsmodell für jeden Kanal k der Pixel in jeder Gruppe berechnet (1238). Dann wird bei Schritt 1240 eine Standardabweichung (MSEg,k) für jeden Kanal k der nicht fehlerhaften Pixel aus dem Modell berechnet, wobei g = 1 und 2, was Gruppe 1 bzw. Gruppe 2 darstellt. Das Funktionsmodell und die MSE-Berechnungen wurden bereits in Bezug auf 10 beschrieben. Dann werden die Standardabweichungen für jeden Kanal jeder Gruppe summiert, um eine summierte Standardabweichung (SMSEg) für jede Gruppe g zu erhalten (Schritt 1242), wobei:
  • Figure 00670001
  • In dem bevorzugten Ausführungsbeispiel wird SMSEg nur berechnet, wenn notwendig, d. h. SMSE2 wird als SMSE1 für den nächsten Verlängerungsschritt gespeichert.
  • Als nächstes wird ein Verhältnis (RATIO) für die summierten Standardabweichungen von Gruppe 2 zu Gruppe 1 berechnet, RATIO = SMSE2/Max [SMSE1, TH2], wobei TH2 größer als 0 ist und die Max-Funktion den größeren der beiden Therme SMSE1 und TH2 auswählt (Schritt 1244).
  • Die nächsten drei Prüfungen basieren auf SMSE1, SMSE2 und RATIO. Die erste Prüfung wird nur einmal zu Beginn des Verlängerungsprozesses durchgeführt, wenn A = 1. Die erste Prüfung prüft, ob die für Gruppe 1 summierte Standardabweichung SMSE1 größer als der erste Schwellenwert TH1 ist (Schritt 1246). Wenn das der Fall ist, wird der Verzweigung „ja" bis Schritt 1254 gefolgt, wo das Liniensegment LSn nicht in SET enthalten ist. Die zweite Prüfung prüft, ob die für Gruppe 2 summierte Standardabweichung SMSE2 größer als der erste Schwellenwert TH1 ist (Schritt 1247). Die dritte Prüfung prüft, ob RATIO größer als ein dritter Schwellenwert TH3 ist (Schritt 1248). Diese drei Schwellenwerte TH1, TH2 und TH3 werden empirisch derart ermittelt, dass je stärker die Werte der nicht fehlerhaften Pixel in jeder Gruppe statistisch mit dem Modell übereinstimmen, je mehr Liniensegmente LSn sich von PIXELSEL erstrecken. Vorzugsweise werden diese Schwellenwerte derart gewählt, dass TH1 größer ist als TH2 und TH3 größer ist als 1. Wenn alle drei Prüfungen an den Schritten 1246, 1247 und 1248 falsch sind, wird der Verzweigung „nein" bis Schritt 1250 gefolgt, wo die Pixel der Gruppe 1 durch die Pixel der Gruppe 2 ersetzt werden. Dann wird A um eins weiter gezählt (Schritt 1251), und die Schritte 12361248 werden, wie zuvor beschrieben, wiederholt, wobei Gruppe 2 jetzt die nächsten zu E benachbarten, nicht fehlerhaften Pixel aus PIXELSEL zusätzlich zu den Pixeln der Gruppe 1 enthält. Unter Verwendung von 13 als Beispiel besitzt Gruppe 1 jetzt fünf nicht fehlerhafte Pixel aus PIXELSEL und Gruppe 2 hat sieben nicht fehlerhafte Pixel aus PIXELSEL entlang Vektor 1028. Wenn die zweite Prüfung (Schritt 1247) oder die dritte Prüfung (Schritt 1248) wahr ist, wird deren Verzweigung „ja" bis Schritt 1253 gefolgt, wo die Erweiterung des Liniensegments LSn an dem letzten, nicht fehlerhaften Pixel stoppt, das am weitesten von PIXELSEL in Gruppe 1 entfernt ist. Gruppe 1 und Gruppe 2 werden weiter in der zuvor genannten Weise verlängert, bis mindestens eine Haltbedingung erfüllt ist, was zum Ende von 1259 führt.
  • Sobald die Erweiterung einer Seite des Liniensegments LSn von PIXELSEL abgeschlossen ist, ohne dass ein Hinweis auf Nichteinbeziehung vorliegt, wird der zuvor genannte Prozess für die andere Seite des Liniensegments LSn wiederholt. Auf diese Weise wird die gesamte Zusammensetzung fehlerhafter und nicht fehlerhafter Pixel für jede Seite des Liniensegments LSn ermittelt oder fixiert. Der zuvor genannte Vorgang wird für jedes Liniensegment durch PIXELSEL wiederholt. Anschließend umfasst der Satz (SET) von an Schritt 1202 definierten Liniensegmenten die Liniensegmente, die auf beiden Seiten von PIXELSEL verlängert worden sind, ohne einen Hinweis auf Nichteinbeziehung.
  • Von den vorausgehenden beiden alternativen Ausführungsbeispielen wird das zweite Ausführungsbeispiel bevorzugt, weil es eine statistische Analyse nicht fehlerhafter Pixelwerte (z. B. SMSE) zur Verlängerung von Liniensegmenten verwendet, anstatt einer konstanten Anzahl nicht fehlerhafter Pixel ND. In dem zweiten Ausführungsbeispiel sind zudem, wie Fachleuten selbstverständlich klar sein wird, weitere Arten von Haltbedingungen verwendbar als die hier beschriebenen, um unterschiedliche Kriterien für die Erweiterung von Liniensegmenten bereitzustellen.
  • Sobald die nicht fehlerhaften Pixel geschätzt und in dem korrigierten Bild gespeichert worden sind (Schritte 1110 und 1112 in 9) werden in dieser Vorrichtung vorzugsweise die geschätzten korrigierten Werte nicht in nachfolgenden Korrekturen anderer nicht fehlerhafter Pixel in dem Ausgangsbild verwendet. Wenn allerdings fehlerhafte Pixel nach einer einzelnen Abtastung des Ausgangsbildes unkorrigiert bleiben, können korrigierte Pixelwerte alternativ in einer zweiten Abtastung zur Korrektur fehlerhafter Pixel verwendet werden. Dies kann erforderlich sein, wenn der Fehlerbereich sehr groß ist, oder wenn der Fehlerbereich nahe der Grenzen des Ausgangsbildes liegt.
  • Obwohl die Erfindung mit besonderem Bezug auf bevorzugte Ausführungsbeispiele beschrieben wurde, ist die Erfindung nicht darauf beschränkt, sondern kann innerhalb des Geltungsbereichs Änderungen und Abwandlungen unterzogen werden. EPA 96 203 294.2

Claims (10)

  1. Verfahren zur Korrektur eines oder mehrerer fehlerhafter Pixel in einem Fehlerbereich eines Ausgangsbildes, wobei das Bild sowohl fehlerhafte als auch nicht fehlerhafte Pixel umfasst, von denen jedes durch mindestens ein fehlerhaftes Pixelsignal und ein nicht fehlerhaftes Pixelsignal darstellbar ist, wobei das Verfahren folgende Schritte umfasst: a) Suchen nach Kanten in einem nicht fehlerhaften Bereich des Bildes, der zum fehlerhaften Bereich benachbart angeordnet ist, durch: (i) Vergleichen relativer Pixelparameter in dem nicht fehlerhaften Bereich mit einer vorbestimmten Toleranz zum Auffinden einer Folge von Pixeln, die das Kantensegment darstellen, deren Elemente relative Parameter innerhalb der Toleranz aufweisen und deren Folge in einem vorbestimmten Abstand zu dem fehlerhaften Bereich liegt; und (ii) Vergleichen der Länge eines Kantensegments mit einer Mindestlänge, um dieses als ein Kantensegment mit mindestens der Mindestlänge zu erkennen; und b) Erzeugen mindestens eines Pixelsignals für den fehlerhaften Bereich aufgrund des Signals von mindestens einem nicht fehlerhaften Pixel, das in einer Richtung von dem fehlerhaften Pixel angeordnet ist, welche durch die Richtung einer Kante bestimmbar ist.
  2. Verfahren nach Anspruch 1, das zudem folgende Schritte umfasst: c) Suchen nach Kanten in einem nicht fehlerhaften Bereich des Bildes, der zum fehlerhaften Bereich benachbart angeordnet ist, durch: (i) Erzeugen eines Gradientenfeldes für den nicht fehlerhaften Bereich; (ii) Vergleichen von Gradienten der Pixel zum Auffinden eines Startpixels in dem nicht fehlerhaften Bereich, dessen Gradientengröße einen vorgewählten Schwellenwert übersteigt; (iii) Vergleichen mindestens relativer Richtungsgradientenattribute in dem nicht fehlerhaften Bereich mit einer vorbestimmten Toleranz um Auffinden der Folgen von Pixeln, die jeweils ein Kantensegment darstellen, mit jeder Folge, die sich in mindestens einer Richtung von einem Startpixel erstreckt, deren Elemente mindestens relative Richtungsgradientenattribute innerhalb der vorbestimmten Toleranz aufweisen, und deren Folge in einem vorbestimmten Abstand des fehlerhaften Bereichs liegt; (iv) Vergleichen der Länge der Kantensegmente mit der Mindestlänge, um diejenigen Kantensegmente als Kantensegmente zu identifizieren, die die Mindestlänge aufweisen; d) wenn mindestens zwei Kanten gefunden werden, vergleichen ihrer relativen Richtungen und Größen mit vorbestimmten Toleranzen; und e) Erzeugen von Pixelsignalen für den fehlerhaften Bereich zwischen entsprechenden Enden der beiden Kanten, die relative Richtungen und Größen innerhalb der vorbestimmten Toleranzen aufweisen, wobei die Signale auf mindestens einem Pixelsignal der beiden Kanten basieren.
  3. Verfahren nach Anspruch 2, worin sich der nicht fehlerhafte Bereich, der nach Kanten durchsucht wird, aus einer Vielzahl lokaler, nicht fehlerhafter Bereiche zusammensetzt, die um den fehlerhaften Bereich angeordnet sind, wobei jeder lokale, nicht fehlerhafte Bereich wiederum nach einer Kante durchsucht wird, und worin das Startpixel für jeden lokalen, nicht fehlerhaften Bereich das Pixel mit dem höchsten Gradientenwert in dem lokalen, nicht fehlerhaften Bereich ist.
  4. Verfahren nach Anspruch 1, das zudem folgende Schritte umfasst: f) Suchen nach einem geometrischen Grundelement durch Vergleichen mindestens eines geometrischen Parameters aus einem Satz von Kanten mit einer geometrischen Bedingung, die einem geometrischen Grundelement entspricht, wobei ein geometrisches Grundelement erkannt wird, wenn der Satz die geometrische Bedingung erfüllt; g) Erzeugen von Pixelsignalen für einen Bereich fehlerhafter Pixel, wobei jedes auf dem Signal mindestens eines nicht fehlerhaften Pixels basiert, das auf einer Prädiktorlinie liegt, deren Richtung durch die Richtung mindestens eines Teils eines erkannten geometrischen Grundelements bestimmbar ist.
  5. Verfahren nach Anspruch 4, worin die Orte der Kanten gemeinsam eine Kantenanordnung definieren, und worin vor dem Erzeugen der Pixelsignale ein erkanntes geometrisches Grundelement durch Vergrößern oder Verkleinern einer oder mehrerer Kanten des erkannten Grundelements in der Anordnung extrahierbar ist, so dass sich diese in demselben Muster wie das Grundelement schneiden, oder durch Ersetzen der Kanten in der Anordnung, die als Grundelement erkannt sind, durch eine oder mehrere neue Kanten, die das Grundelement darstellen.
  6. Verfahren nach Anspruch 4, worin für mindestens zwei Kanten des Satzes, die die geometrische Bedingung erfüllen, ein Parameter, der Pixelsignale in einem Bereich darstellt, der zu mindestens einer ersten Seite einer Kante des Satzes benachbart ist, mit dem Parameter verglichen wird, der Pixelsignale in einem Bereich benachbart zu einer entsprechenden ersten Seite der anderen Kante des Satzes verglichen wird, und worin nur dann ein geometrisches Grundelement erkannt wird, wenn die Differenz der beiden Parameter innerhalb einer vorbestimmten Toleranz liegt.
  7. Verfahren nach Anspruch 6, worin ein Parameter, der Pixelsignale in einem Bereich darstellt, der zu einer zweiten Seite einer Kante des Satzes benachbart ist, mit dem Parameter verglichen wird, der Pixelsignal in einem Bereich benachbart zu einer entsprechenden zweiten Seite der anderen Kante des Satzes darstellt, wobei ein geometrisches Grundelement nur dann erfasst wird, wenn die Differenz in den Parametern der ersten Seite und die Differenz in den Parametern der zweiten Seite beide innerhalb vorbestimmter Toleranzen liegen.
  8. Verfahren nach Anspruch 5, worin das für ein fehlerhaftes Pixel erzeugte Signal in einem vorbestimmten Abstand einer Vielzahl benachbarter Teile eines erfassten geometrischen Grundelements in der Kantenanordnung erfassbar ist durch: zunächst Bestimmen geschätzter Pixelsignale für das fehlerhafte Pixel auf Basis mindestens eines nicht fehlerhaften Pixels, das auf jeder der Prädiktorlinien liegt, die durch das fehlerhafte Pixel laufen, und Bestimmen eines endgültigen Pixelsignals, das eine gewichtete Summe der geschätzten Pixelsignale ist, wobei jedes geschätzte Pixel in einer umgekehrten Beziehung zu dem Abstand zwischen der Prädiktorlinie und dem entsprechenden geometrischen Grundelement gewichtet wird.
  9. Verfahren nach Anspruch 1, das zudem folgendes umfasst: a) Vergleichen des Abstands zwischen einem Bereich fehlerhafter Pixel und einer erfassten Kante mit einem Schwellenwert; b) für einen Bereich fehlerhafter Pixel, der den Schwellenwert nicht überschreitet, Erzeugen eines Pixelsignals durch: Zuweisen einer Vielzahl von Liniensegmenten durch das fehlerhafte Pixel, worin jedes Liniensegment aus dem fehlerhaften Pixel und den nicht fehlerhaften Pixeln um das ausgewählte fehlerhafte Pixel zusammengesetzt ist; Bestimmen mindestens eines repräsentativen Modells der nicht fehlerhaften Pixelsignale entlang jedes der Liniensegmente; Bestimmen der Abweichung der nicht fehlerhaften Pixelsignale entlang jedes Liniensegments von dem Modell, das dem Liniensegment entspricht; Auswählen des Liniensegments mit der kleinsten Abweichung, das eine erfasste Kante nicht schneidet; und Bestimmen korrigierter Pixelsignale für das ausgewählte fehlerhafte Pixel anhand mindestens eines der nicht fehlerhaften Pixelsignale in dem ausgewählten Liniensegment.
  10. Verfahren nach Anspruch 5, das zudem folgendes umfasst: a) Vergleichen des Abstands zwischen einem Bereich fehlerhafter Pixel und dem nächstgelegenen Teil eines erfassten Grundelements in der Kantenanordnung mit einem Abstandsschwellenwert; b) für einen Bereich fehlerhafter Pixel, der den Abstandsschwellenwert überschreitet, Erzeugen eines Pixelsignals durch: Zuweisen einer Vielzahl von Liniensegmenten durch das fehlerhafte Pixel, worin jedes Liniensegment aus dem fehlerhaften Pixel und den nicht fehlerhaften Pixeln um das ausgewählte fehlerhafte Pixel zusammengesetzt ist; Bestimmen mindestens eines repräsentativen Modells der nicht fehlerhaften Pixelsignale entlang jedes der Liniensegmente; Bestimmen der Abweichung der nicht fehlerhaften Pixelsignale entlang jedes Liniensegments von dem Modell, das dem Liniensegment entspricht; Auswählen des Liniensegments mit der geringsten Abweichung, das keinen Teil der Anordnung eines erfassten Grundelements betrifft; und Bestimmen korrigierter Pixelsignale für das ausgewählte fehlerhafte Pixel anhand mindestens eines der nicht fehlerhaften Pixelsignale in dem ausgewählten Liniensegment.
DE69628723T 1995-12-04 1996-11-23 Gradientengestütztes Verfahren zur Erzeugung von Werten für unbekannte Pixel in einem Digitalbild Expired - Lifetime DE69628723T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/566,544 US5875040A (en) 1995-12-04 1995-12-04 Gradient based method for providing values for unknown pixels in a digital image
US566544 2000-05-08

Publications (2)

Publication Number Publication Date
DE69628723D1 DE69628723D1 (de) 2003-07-24
DE69628723T2 true DE69628723T2 (de) 2004-04-29

Family

ID=24263337

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69628723T Expired - Lifetime DE69628723T2 (de) 1995-12-04 1996-11-23 Gradientengestütztes Verfahren zur Erzeugung von Werten für unbekannte Pixel in einem Digitalbild

Country Status (3)

Country Link
US (1) US5875040A (de)
EP (1) EP0778543B1 (de)
DE (1) DE69628723T2 (de)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104839A (en) * 1995-10-16 2000-08-15 Eastman Kodak Company Method and apparatus for correcting pixel values in a digital image
JPH11501140A (ja) * 1995-12-21 1999-01-26 フィリップス エレクトロニクス エヌ ベー 方向適合ノイズ減少
JP3679512B2 (ja) * 1996-07-05 2005-08-03 キヤノン株式会社 画像抽出装置および方法
US6453069B1 (en) 1996-11-20 2002-09-17 Canon Kabushiki Kaisha Method of extracting image from input image using reference image
US6975764B1 (en) * 1997-11-26 2005-12-13 Cognex Technology And Investment Corporation Fast high-accuracy multi-dimensional pattern inspection
AUPP424698A0 (en) * 1998-06-19 1998-07-16 Canon Kabushiki Kaisha A method of identifying image frames suitable for printing
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
EP0973044B1 (de) * 1998-07-13 2006-08-09 Oerlikon Contraves Ag Verfahren zur Verfolgung bewegter Objekte anhand spezifischer Merkmale
JP2000163594A (ja) * 1998-11-30 2000-06-16 Canon Inc 画像パタ―ン検出方法及び装置
US6341020B1 (en) * 1998-12-28 2002-01-22 Xerox Corporation Anamorphic object optimized function application for printer defect pre-compensation
US6404918B1 (en) * 1999-04-30 2002-06-11 Hewlett-Packard Company Image demosaicing method utilizing directional smoothing
US6647131B1 (en) * 1999-08-27 2003-11-11 Intel Corporation Motion detection using normal optical flow
US7136525B1 (en) * 1999-09-20 2006-11-14 Microsoft Corporation System and method for background maintenance of an image sequence
US6704458B2 (en) * 1999-12-29 2004-03-09 Eastman Kodak Company Method and apparatus for correcting heavily damaged images
US7068854B1 (en) * 1999-12-29 2006-06-27 Ge Medical Systems Global Technology Company, Llc Correction of defective pixels in a detector
US6724945B1 (en) 2000-05-24 2004-04-20 Hewlett-Packard Development Company, L.P. Correcting defect pixels in a digital image
JP2004501575A (ja) * 2000-06-23 2004-01-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像感知器信号欠陥修正
JP4652535B2 (ja) * 2000-07-25 2011-03-16 キヤノン株式会社 画像処理装置およびその方法
US6498831B2 (en) * 2000-12-22 2002-12-24 Ge Medical Systems Global Technology Company, Llc Panel detector pixel replacement method and apparatus
US6547409B2 (en) * 2001-01-12 2003-04-15 Electroglas, Inc. Method and apparatus for illuminating projecting features on the surface of a semiconductor wafer
US6816197B2 (en) 2001-03-21 2004-11-09 Hewlett-Packard Development Company, L.P. Bilateral filtering in a demosaicing process
EP1286551A1 (de) * 2001-07-17 2003-02-26 Telefonaktiebolaget L M Ericsson (Publ) Fehlerverschleierung für Bildinformation
JP2003187254A (ja) * 2001-12-14 2003-07-04 Sony Corp 画像処理装置およびその方法
US7190805B2 (en) * 2002-04-30 2007-03-13 Hewlett-Packard Development Company, L.P. Method of and system for edge watermarking of an image
AU2002952874A0 (en) * 2002-11-25 2002-12-12 Dynamic Digital Depth Research Pty Ltd 3D image synthesis from depth encoded source view
US7502525B2 (en) * 2003-01-27 2009-03-10 Boston Scientific Scimed, Inc. System and method for edge detection of an image
US20040175056A1 (en) * 2003-03-07 2004-09-09 Chulhee Lee Methods and systems for objective measurement of video quality
US7034845B2 (en) * 2003-03-25 2006-04-25 Mitsubishi Electric Research Laboratories, Inc. Method for antialiasing an object represented as a two-dimensional distance field in image-order
US7123271B2 (en) * 2003-03-25 2006-10-17 Mitsubishi Electric Research Labs, Inc. Method and apparatus for antialiasing a set of objects represented as a set of two-dimensional distance fields in image-order
US6982724B2 (en) * 2003-03-25 2006-01-03 Mitsubishi Electric Research Labs, Inc. Method for antialiasing an object represented as a two-dimensional distance field in object-order
US7006108B2 (en) * 2003-03-25 2006-02-28 Mitsubishi Electric Research Laboratories, Inc. Method for generating a composite glyph and rendering a region of the composite glyph in image-order
US6933952B2 (en) * 2003-03-25 2005-08-23 Mitsubishi Electric Research Labs, Inc. Method for antialiasing a set of objects represented as a set of two-dimensional distance fields in object-order
US7006095B2 (en) * 2003-03-25 2006-02-28 Mitsubishi Electric Research Laboratories, Inc. Method for typesetting a set glyphs represented as a set of two dimensional distance fields
US6917369B2 (en) * 2003-03-25 2005-07-12 Mitsubishi Electric Research Labs, Inc. Method and apparatus for rendering cell-based distance fields using texture mapping
US8081820B2 (en) 2003-07-22 2011-12-20 Cognex Technology And Investment Corporation Method for partitioning a pattern into optimized sub-patterns
US7190834B2 (en) * 2003-07-22 2007-03-13 Cognex Technology And Investment Corporation Methods for finding and characterizing a deformed pattern in an image
JP3938120B2 (ja) * 2003-09-17 2007-06-27 ノーリツ鋼機株式会社 画像処理装置、方法、及びプログラム
US7440016B2 (en) * 2003-12-22 2008-10-21 Hewlett-Packard Development Company, L.P. Method of processing a digital image
JP4239094B2 (ja) * 2004-03-03 2009-03-18 ノーリツ鋼機株式会社 画像処理装置、方法、及びプログラム
DE602005000572T2 (de) * 2004-02-09 2007-11-15 Noritsu Koki Co., Ltd. Bildverarbeitungsvorrichtung und Bildverarbeitungsverfahren zur Korrektur von Bilddaten
JP4239091B2 (ja) * 2004-02-09 2009-03-18 ノーリツ鋼機株式会社 画像処理装置、方法、及びプログラム
US8437502B1 (en) 2004-09-25 2013-05-07 Cognex Technology And Investment Corporation General pose refinement and tracking tool
US7880750B2 (en) * 2005-01-06 2011-02-01 Zenographics, Inc. Digital image processing with inherent compression
US7817307B2 (en) 2005-01-06 2010-10-19 Zenographics, Inc. Digital image processing without rasterization
GB0500805D0 (en) * 2005-01-14 2005-02-23 Snell & Wilcox Ltd Image processing
GB0504913D0 (en) * 2005-03-10 2005-04-13 Eastman Kodak Co Method and apparatus for digital processing of images
US7587098B2 (en) * 2005-07-14 2009-09-08 Mavs Lab. Inc. Pixel data generating method
US7783121B1 (en) 2005-11-29 2010-08-24 Adobe Systems Incorporated Method and apparatus for applying a filter to an image with a large range of pixel values
KR100866490B1 (ko) * 2007-01-17 2008-11-03 삼성전자주식회사 영상의 색 수차를 보정하기 위한 장치 및 방법
US8264591B2 (en) * 2007-10-22 2012-09-11 Candela Microsystems (S) Pte. Ltd. Method and system for generating focus signal
FR2923637A1 (fr) 2007-11-09 2009-05-15 Canon Kk Procede, dispositif d'identification d'un ensemble de pixels dont les valeurs sont destinees a etre utilisees pour determiner la valeur d'un pixel
US8175379B2 (en) * 2008-08-22 2012-05-08 Adobe Systems Incorporated Automatic video image segmentation
FR2936925B1 (fr) * 2008-10-03 2011-08-12 Canon Kk Procede et dispositif de decodage d'images d'une sequence d'images encodee selon un format predictif avec restauration de donnees manquantes
TWI392379B (zh) * 2009-06-02 2013-04-01 Mstar Semiconductor Inc Television image adjustment method and device
JP2011072346A (ja) * 2009-09-29 2011-04-14 Fujifilm Corp X線画像撮影装置、撮影方法および撮影プログラム
JP2011072605A (ja) * 2009-09-30 2011-04-14 Fujifilm Corp X線画像撮影装置、撮影方法および撮影プログラム
JP2011072538A (ja) * 2009-09-30 2011-04-14 Fujifilm Corp X線画像撮影装置、撮影方法および撮影プログラム
US8358691B1 (en) 2009-10-30 2013-01-22 Adobe Systems Incorporated Methods and apparatus for chatter reduction in video object segmentation using a variable bandwidth search region
BR112012013721A2 (pt) * 2009-12-07 2016-03-15 Hiok Nam Tay sistema de imagem de auto-focagem
US9628722B2 (en) 2010-03-30 2017-04-18 Personify, Inc. Systems and methods for embedding a foreground video into a background feed based on a control input
SG185345A1 (en) 2010-05-26 2012-12-28 Hiok Nam Tay Auto-focus image system
US8649592B2 (en) 2010-08-30 2014-02-11 University Of Illinois At Urbana-Champaign System for background subtraction with 3D camera
US8351696B2 (en) * 2010-09-17 2013-01-08 Foveon, Inc. Correcting defective pixels in digital color images
US8767240B1 (en) 2011-01-28 2014-07-01 Marvell International Ltd. Method and apparatus for encoding data to perform real-time rendering
US9065999B2 (en) 2011-03-24 2015-06-23 Hiok Nam Tay Method and apparatus for evaluating sharpness of image
TW201242333A (en) * 2011-04-06 2012-10-16 Hon Hai Prec Ind Co Ltd Image processing apparatus and method for controlling image processing apparatus
EP2631871B1 (de) * 2012-02-27 2015-07-01 ST-Ericsson SA Virtuelle Bilderzeugung
US20130279750A1 (en) * 2012-04-20 2013-10-24 Dmetrix, Inc. Identification of foreign object debris
GB2510369B (en) * 2013-01-31 2015-05-20 Canon Kk Error concealment in a multi-projection system
US9679224B2 (en) 2013-06-28 2017-06-13 Cognex Corporation Semi-supervised method for training multiple pattern recognition and registration tool models
US9485433B2 (en) 2013-12-31 2016-11-01 Personify, Inc. Systems and methods for iterative adjustment of video-capture settings based on identified persona
US9414016B2 (en) 2013-12-31 2016-08-09 Personify, Inc. System and methods for persona identification using combined probability maps
US9916668B2 (en) * 2015-05-19 2018-03-13 Personify, Inc. Methods and systems for identifying background in video data using geometric primitives
US9563962B2 (en) 2015-05-19 2017-02-07 Personify, Inc. Methods and systems for assigning pixels distance-cost values using a flood fill technique
EP3144882B1 (de) * 2015-09-21 2018-08-15 Agfa Healthcare Verfahren zur reduzierung von bildstörungen, verursacht durch rekonstruierte defekte bildpunkte in direktradiografie
US9883155B2 (en) 2016-06-14 2018-01-30 Personify, Inc. Methods and systems for combining foreground video and background video using chromatic matching
US9881207B1 (en) 2016-10-25 2018-01-30 Personify, Inc. Methods and systems for real-time user extraction using deep learning networks
US11562505B2 (en) 2018-03-25 2023-01-24 Cognex Corporation System and method for representing and displaying color accuracy in pattern matching by a vision system
CN112085709B (zh) * 2020-08-19 2024-03-22 浙江华睿科技股份有限公司 一种图像对比方法及设备
CN112365420B (zh) * 2020-11-12 2024-03-15 重庆邮电大学 基于非局部窗口梯度的模糊图像盲复原方法
US11800056B2 (en) 2021-02-11 2023-10-24 Logitech Europe S.A. Smart webcam system
US11800048B2 (en) 2021-02-24 2023-10-24 Logitech Europe S.A. Image generating system with background replacement or modification capabilities
CN116542976B (zh) * 2023-07-06 2023-09-08 深圳市佳合丰科技有限公司 一种模切件缺陷的视觉检测***

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4489104A (en) * 1983-06-03 1984-12-18 Industrial Technology Research Institute Polycrystalline silicon resistor having limited lateral diffusion
US4642676A (en) * 1984-09-10 1987-02-10 Color Systems Technology, Inc. Priority masking techniques for video special effects
US4630307A (en) * 1984-09-10 1986-12-16 Eastman Kodak Company Signal processing method and apparatus for sampled image signals
DE3636077C2 (de) * 1986-10-23 1993-10-07 Broadcast Television Syst Verfahren zum Verdecken von Fehlern in einem Videosignal und Schaltung zur Durchführung des Verfahrens
US5153748A (en) * 1989-09-28 1992-10-06 Eastman Kodak Company Detection of gaps in scanned images
DE3942273A1 (de) * 1989-12-21 1991-06-27 Broadcast Television Syst Verfahren zum verdecken von fehlern in einem videosignal
US5231680A (en) * 1990-12-21 1993-07-27 Ampex Systems Corporation Horizontal adaptive error concealment system for component digital television signals
EP0559919B1 (de) * 1991-10-02 1999-03-24 Fujitsu Limited Verfahren zur bestimmung der lokalen orientierung eines kontursegmentes und zur bestimmung von linien und ecken
US5365604A (en) * 1993-01-14 1994-11-15 Rca Thomson Licensing Corporation Error concealment apparatus for video signal processors
EP0624848A3 (de) * 1993-05-04 1994-11-30 Eastman Kodak Company Verfahren zur Erkennung und Verbesserung von lokalen Fehlern in numerischen Grautonbildern
US5373322A (en) * 1993-06-30 1994-12-13 Eastman Kodak Company Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradients
DE4329672C1 (de) * 1993-09-02 1994-12-01 Siemens Ag Verfahren zur Rauschunterdrückung in digitalen Bildern

Also Published As

Publication number Publication date
EP0778543B1 (de) 2003-06-18
US5875040A (en) 1999-02-23
EP0778543A2 (de) 1997-06-11
EP0778543A3 (de) 1998-07-08
DE69628723D1 (de) 2003-07-24

Similar Documents

Publication Publication Date Title
DE69628723T2 (de) Gradientengestütztes Verfahren zur Erzeugung von Werten für unbekannte Pixel in einem Digitalbild
DE69628711T2 (de) Verfahren und Vorrichtung zum Korrigieren von Pixelwerten eines digitalen Bildes
DE60207417T2 (de) Verfahren und vorrichtung zur erzeugung formatierter information, die mit den fehlern zumindest eines geräts einer kette verbunden ist, insbesondere der bildschärfeverzerrung
DE69828909T2 (de) Neue perzeptive lokale gradientenbasierte gratbestimmung
DE69726421T2 (de) Projektor mit einer schaltung und verfahren zum automatischen einstellen des projektors
DE69735488T2 (de) Verfahren und vorrichtung zum ausrichten von bildern
DE69936416T2 (de) Automatische Detektion und Auffinden von digitalen eingebetteten unsichtbaren Wasserzeichen aus Halbtonbildern
DE69629888T2 (de) Bildverarbeitungsverfahren und Bilderkennungs- und Pixelverarbeitungssystem
DE19842572B4 (de) Verfahren zur automatischen Entfernung von Bildfehlern
DE60222722T2 (de) Verfahren und Vorrichtung zur Korrektur von perspektivischen Verzerrungen in Dokumentbildern und zur Summierung von Bildzeilen
DE69733882T2 (de) Kamera mit einem einzigen bildaufnehmer
DE69937476T2 (de) Bildverarbeitungsvorrichtung und -Verfahren und Speichermedium
DE602004002618T2 (de) Verfahren und System zur Kantenhervorhebung
DE60030456T2 (de) Verfahren und system zur verbesserung von digitalbildern
DE10317917B4 (de) System und Verfahren zum Umgrenzen und Klassifizieren von Regionen innerhalb einer graphischen Abbildung
DE3110222C2 (de) Verfahren zur partielle glättenden Retusche bei der elektronischen Farbbildreproduktion
DE602004002643T2 (de) Bildverarbeitungsapparat, Bildverarbeitungsmethode und Programm
DE10315461A1 (de) System und Verfahren für eine Verbesserung von Digitalbildern
DE102004049676A1 (de) Verfahren zur rechnergestützten Bewegungsschätzung in einer Vielzahl von zeitlich aufeinander folgenden digitalen Bildern, Anordnung zur rechnergestützten Bewegungsschätzung, Computerprogramm-Element und computerlesbares Speichermedium
DE19530829C2 (de) Verfahren zum elektronischen Wiederauffinden von einem Dokument hinzugefügter Information
DE4418217A1 (de) Formerkennungsverfahren
WO1996007976A1 (de) Verfahren zur rekonstruktion von in rasterform vorliegenden linienstrukturen
DE102006055758A1 (de) Verfahren zur Kalibrierung von Kameras und Projektoren
DE69819269T2 (de) Bildverarbeitungssystem
DE2700252C2 (de) Verfahren zum Prüfen definierter Strukturen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8330 Complete renunciation