DE69737247T2 - Bildklassifikationssystem mit Fuzzy-Logik - Google Patents

Bildklassifikationssystem mit Fuzzy-Logik Download PDF

Info

Publication number
DE69737247T2
DE69737247T2 DE69737247T DE69737247T DE69737247T2 DE 69737247 T2 DE69737247 T2 DE 69737247T2 DE 69737247 T DE69737247 T DE 69737247T DE 69737247 T DE69737247 T DE 69737247T DE 69737247 T2 DE69737247 T2 DE 69737247T2
Authority
DE
Germany
Prior art keywords
value
condition
pixel
membership
filter
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
DE69737247T
Other languages
English (en)
Other versions
DE69737247D1 (de
Inventor
Stuart A. Schweid
Jeng-Nan Shiau
Raymond J. Clark
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.)
Xerox Corp
Original Assignee
Xerox Corp
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 Xerox Corp filed Critical Xerox Corp
Application granted granted Critical
Publication of DE69737247D1 publication Critical patent/DE69737247D1/de
Publication of DE69737247T2 publication Critical patent/DE69737247T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40062Discrimination between different image types, e.g. two-tone, continuous tone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • G06T7/41Analysis of texture based on statistical description of texture
    • G06T7/44Analysis of texture based on statistical description of texture using image operators, e.g. filters, edge density metrics or local histograms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/90Fuzzy logic

Description

  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf Bildverarbeitungssysteme und befasst sich im Besonderen mit solchen Systemen, die Pixel klassifizieren.
  • Bei der Wiedergabe von Bildern von einem Originaldokument oder von Bildern von Videobilddaten und im Besonderen beim Rendern von Bilddaten, die ein Originaldokument darstellen, das elektronisch gescannt worden ist, ist man mit dem begrenzten Auflösungsvermögen des Rendering-Systems und der Tatsache konfrontiert, dass Ausgabevorrichtungen überwiegend binär sind oder zur Speicherausnutzung eine Komprimierung nach binär erfordern. Dies ist besonders offensichtlich, wenn man versucht, Halbtöne, Zeilen und Vollton-Bilder (Contone-Bilder) wiederzugeben.
  • Ein Bilddaten-Verarbeitungssystem kann so ausgelegt werden, dass das begrenzte Auflösungsvermögen der Rendering-Vorrichtung ausgeglichen wird, aber dieses Auslegen ist schwierig aufgrund der divergierenden Verarbeitungserfordernisse, die unterschiedliche Typen von Bildern erfordern, denen das Rendering-System begegnen kann. In Hinblick darauf sollte es selbstverständlich sein, dass der Bildinhalt des Originaldokuments möglicherweise gänzlich aus mehrfachen Bildtypen einschließlich Hochfrequenz-Halbtönen, Niederfrequenz-Halbtönen, Volltönen (contones), Kopierzeilen, fehlerdiffundierten Bildern etc. oder aus einer Kombination von beliebigen der obigen Typen und zu einem unbekannten Grad aus einigen oder allen obigen und zusätzlichen Bildtypen bestehen kann.
  • Angesichts der Situation kann das Optimieren des Bildverarbeitungssystems für einen Bildtyp in einem Bemühen, die Begrenzungen in der Auflösung und der Tiefenfähigkeit der Rendering-Vorrichtung auszugleichen, nicht möglich sein und einen Kompromiss bei der Auswahl erfordern, was möglicherweise keine akzeptablen Ergebnisse hervorbringt. Wo man das System zum Beispiel für Niederfrequenz-Halbtöne optimiert, geschieht dies folglich häufig um den Preis verschlechterten Renderings von Hochfrequenz-Halbtönen oder von Kopierzeilen und umgekehrt.
  • Um dieser besonderen Situation zu begegnen, haben Vorrichtungen nach dem „Stand der Technik" automatische Bildsegmentierung eingesetzt, die als ein Werkzeug dienen soll, um unterschiedliche Bildtypen oder unterschiedliche Bilder zu identifizieren. In ei nem solchen System wurde zum Beispiel die Bildsegmentierung behandelt, indem eine Funktion angewandt wurde, die das Bildverarbeitungssystem bezüglich des Typs der vorhandenen Bilddaten informiert, und im Besonderen eine Autokorrelations-Funktion auf den Strom von Pixeldaten angewandt wurde, um die Existenz der Halbton-Bilddaten festzustellen. Ein solches Verfahren verarbeitet automatisch einen Strom von Bildpixeln, die unbekannte Kombinationen von Hoch- und Niedertrequenz-Halbtönen, Volltönen und/oder Zeilen darstellen. Die Autokorrelations-Funktion wurde auf den Strom von Bild- pixeln angewandt, und für die Abschnitte des Stroms, die Hochfrequenz-Halbton-Bilddaten enthalten, erzeugte die Funktion eine große Zahl von Spitzenwerten auf engem Raum in dem resultierenden Signal.
  • Bei einem weiteren Autosegmentierungs-Verfahren wird ohne vorherigen Schwellenwertvergieich eine Autokorrelations-Funktion für den Strom von Halbton-Bilddaten bei ausgewählten Zeitverzögerungen berechnet, von denen vorausberechnet wird, dass sie die Bildfrequenz-Eigenschaften anzeigen. Täler in der resultierenden autokorrelierten Funktion werden erfasst, um festzustellen, ob ein Hochfrequenz-Halbtonbild vorhanden ist.
  • Ein Beispiel einer automatischen Segmentierungsschaltung nach dem „Stand der Technik" wird in 15 erläutert. Das Grundsystem, wie es in 15 dargestellt wird, besteht aus drei Modulen. In einem Datenpuffer 10 gespeicherte Eingabeinformationen werden über einen Datenbus 15 gleichzeitig an einen Bildeigenschaften-Klassifizierungsabschnitt 20, das erste Modul, und einen Bildverarbeitungs-Abschnitt 30, das zweite Modul, gerichtet. Der Bildeigenschaften-Klassifizierungsabschnitt 20 besteht aus einer beliebigen Zahl von Untermodulen (z.B. einem Autokorrelator 21 und einem Diskriminator 22), die feststellen, ob ein in dem Datenpuffer 10 gespeicherter Block von Bildpixeln einem Typ von Bildern entspricht oder einem anderen (z.B. Halbton, Zeilen/Text oder Vollton). Parallel zu dem Bildeigenschaften-Klassifizierungsabschnitt 20 besteht der Bildverarbeitungs-Abschnitt 30 aus einer beliebigen Zahl von Unterverarbeitungs-Abschnitten (z.B. einem Hochfrequenz-Halbton-Prozessor 31, einem Niederfrequenz-Halbton-Prozessor 32, einem Zeilen/Text-Prozessor 33 oder einem Vollton-Prozessor 34), die Bildverarbeitungsabläufe an dem gleichen Block von Bildpixeln wie Abschnitt 20 ausführen. Jeder Bild-Unterverarbeitungs-Abschnitt führt Bildverarbeitungsabläufe aus, die so angepasst sind, dass sie die Bildqualität einer individuellen Klasse von Bildern verbessern. Das dritte Modul, ein Steuerabschnitt 41, zum Beispiel ein Bild verarbeitungsmischer, setzt die von dem Bildklassifizierungsabschnitt 20 erlangten Informationen ein, um den Bildverarbeitungsabschnitt 30 zu steuern.
  • Die Entscheidung, zu welcher Klasse von Bildern Bilddaten gehören, ist üblicherweise von binärem Charakter. Zum Beispiel klassifiziert bei einem herkömmlichen Bildsegmentierungsschema der Bildeigenschaften-Klassifizierungsabschnitt 20 jedes Pixel als eine von drei Klassen von Bildern (Hochfrequenz-Halbton, Niederfrequenz-Halbton oder Vollton). Abhängig von dieser Klassifizierung werden die Bilddaten entsprechend den Eigenschaften dieser Klasse von Bildern verarbeitet (entweder mit Tiefpassfilter und Wiederrastern, falls es sich um einen Hochfrequenz-Halbton handelt, oder Ausführen einer Schwellenwertoperation mit einer willkürlichen Schwelle, falls es sich um einen Niederfrequenz-Halbton handelt, etc.). Wenn man annimmt, dass die Entscheidung, zu welcher der drei Klassen von Bildern Bilddaten gehören, auf einer einzelnen Bildeigenschaft beruht, auf der Anzahl der Spitzenwerte der Eingabe-Bilddaten, wird darüber hinaus die resultierende Entscheidung über die Bildklassifizierung der Bildeigenschaft der Anzahl der Spitzenwerte durch Einteilen der Anzahl der Spitzenwerte in drei Klassen von Bildern durch Ausführen einer Schwellenwertoperation umgesetzt, wie in 16 dargestellt.
  • Folglich bestimmt der Steuerabschnitt 41 abhängig von der durch den Klassifizierungsabschnitt 20 getroffenen Entscheidung, welche Art der Bildverarbeitung die Bilddaten erfordern. Folglich wird die Ausgabe des Klassifizierungsabschnitts 20 zu einer von drei Möglichkeiten quantisiert. Der Steuerabschnitt 41 wählt die Ausgabe aus einem der drei Bild-Unterverarbeitungs-Abschnitte auf Basis dieser Klassifizierung aus.
  • Auf Basis der Beschaffenheit herkömmlicher Bildklassifizierungs-Systeme, bei denen die Entscheidungen auf Informationen basieren, die über einen Kontext von vielen Pixeln gesammelt werden, was praktisch dazu führt, dass die Bilddaten tiefpassgefiltert werden, ändern sich die Klassifizierungsentscheidungen von einer Klasse von Bildern zu einer anderen langsam und allmählich und führen zu künstlich abrupten Entscheidungsprozessen an den falschen Stellen. Diese abrupten Entscheidungsprozesse, die eine erzwungene Auswahl aus mehreren verschiedenen alternativen Möglichkeiten erzeugen, sind ein Hauptgrund für die Bildung sichtbarer Artefakte in dem resultierenden Ausgabebild. Die meisten Übergangspunkte oder Schwellen werden so ausgewählt, dass ein Bild mit einem hohen Grad an Sicherheit als eine Klasse von Bildern klassifiziert werden kann; diejenigen Klassen von Bildern, die nicht mit einer solchen Sicherheit klassifiziert werden können, weisen jedoch mehrere Übergangspunkte oder eine Übergangszone auf. Das Einsetzen nur eines Punktes zum Definieren einer Übergangszone resultiert in der Bildung sichtbarer Artefakte in dem resultierenden Ausgabebild. Obwohl es möglich ist, die Übergangszone schmaler zu machen, so dass die Wahrscheinlichkeit geringer ist, dass sich ein Bild in dieser Zone befindet, gibt es Grenzen dafür, wie schmal die Zone gemacht werden kann. Das Schmälern der Übergangszone bedeutet das Verringern des Rauschens und/oder der Schwankung in den zum Klassifizieren verwendeten Informationen, um den Bereich einzuengen, in dem die Klassifizierung nicht „sicher" ist, was in weniger Wechseln zwischen den Klassifizierungen resultiert.
  • Darüber hinaus deckt die Klassifizierung echter Bilder ein Kontinuum von deutlich unter bis deutlich über den Schwellen zwischen Klassifizierungen ab. Dies bedeutet, dass es Bereiche eines Bildes gibt, die sich zum Beispiel unmittelbar über einer Schwelle befinden. Schwankungen in den gesammelten (tiefpassgefilterten) Informationen aufgrund von „Fehlern" in dem Eingabevideo oder Welligkeit aufgrund von Wechselwirkungen zwischen dem Bereich des Bildes, der für den Klassifizierungsprozess verwendet wird, und periodischen Strukturen in dem Eingabevideo resultieren in Bereichen, die unter die Schwelle fallen. Bei diskreter Klassifizierung resultiert dies in einer extrem unterschiedlichen Klassifizierung, die dadurch zu Artefakten in dem gerenderten Bild führt.
  • Folglich ist es wünschenswert, Bilddaten in einer unscharfen (fuzzy) Art und Weise zu klassifizieren, indem die Klassifizierung langsam von einer Klassifizierung zu einer anderen übergeht und dabei die angesammelten Informationen widerspiegelt. Artefakte in dem resultierenden gerenderten Bild sind nun weich und folgen den Umrissen des Bildes, und so sind die Artefakte nicht störend.
  • Im Allgemeinen beschreibt der „Stand der Technik" den Steuerabschnitt 41 so, dass er notwendigerweise über einen Schalter verfügt, wie in 17 dargestellt. Da die Schritte der Bildverarbeitung, die für jede Klasse von Bildern ausgeführt werden, sich abhängig von der jedem Block von Eingabe-Bildpixeln zugeordneten Klassifizierung unterscheiden, ermöglicht es der Schalter oder der Multiplexer Daten, die sich an dem Ausgang des Bildprozessors 30 befinden, abhängig von den Entscheidungen, die durch den Bildklassifizierungs-Abschnitt 20 getroffen werden, die als Signale an Leitungen 23 und 24 empfangen werden, an einen Ausgabepuffer 50 gerichtet zu werden. Diese Art von binärem Entscheidungsprozess ist starr und resultiert in Entscheidungen über Bildsegmentierung, deren Leistung nicht allmählich abnimmt und die folglich sichtbare Artefakte in dem Ausgabebild bilden.
  • Um diesem Bilden von sichtbaren Artefakten in dem gerenderten Ausgabebild zu begegnen, ist vorgeschlagen worden, ein probabilistisches Segmentierungsverfahren einzusetzen, um dem Bildverarbeitungssystem zu ermöglichen, dass seine Leistung allmählicher abnimmt, wenn fehlerhafte Segmentierungsentscheidungen getroffen werden. Ein Beispiel für ein solches probabilistisches Segmentierungssystem wird in 11 dargestellt.
  • 11 zeigt ein Blockschaltbild eines Bildverarbeitungssystems, das ein probabilistisches Klassifizierungssystem enthält. Wie in 11 dargestellt, empfängt das System Eingabe-Bilddaten, die von einer beliebigen Anzahl von Quellen erlangt werden, einschließlich eines Rastereingangsabtasters, eines grafischen Arbeitsplatzes, eines elektronischen Speichers oder anderer Speicherelemente etc. (ohne Abbildung). Im Allgemeinen umfasst das in 11 dargestellte Bildverarbeitungssystem einen Wahrscheinlichkeitsklassierer 25, der über eine Eingabesteuerung 18, einen Bildverarbeitungs-Abschnitt 30 und einen Bildverarbeitungs- und Steuermischer 41 verfügt.
  • Eingabe-Bilddaten werden für das Bildverarbeitungssystem über einen Datenbus 15 verfügbar gemacht, die durch den Wahrscheinlichkeitsklassierer 25 und den Bildverarbeitungs-Abschnitt 30 der Reihe nach parallel verarbeitet werden. Der Wahrscheinlichkeitsklassierer 25 klassifiziert die Bilddaten als eine Quote einer Anzahl von vorgegebenen Klassen von Bildern. Die Quote wird durch einen Satz von Wahrscheinlichkeitswerten definiert, die die Wahrscheinlichkeit vorausberechnen, dass die Bilddaten aus einer vorgegebenen Anzahl von Klassen von Bildern bestehen. Die Wahrscheinlichkeiten 27, eine für jede vorgegebene Klasse von Bildern, werden zusammen mit Bildausgabedaten aus dem Bildverarbeitungs-Abschnitt 30 in den Bildverarbeitungsmischer bzw. die Steuereinheit 41 eingegeben.
  • Der Bildverarbeitungs-Abschnitt 30 umfasst Einheiten 31, 32 und 34, die aus den Bilddaten Ausgabedaten nach Verfahren erzeugen, die für jede vorgegebene Klasse von Bildern einzigartig sind. Anschließend summiert der Mischer 41 einen Prozentsatz jeder Klasse von Ausgabe-Bilddaten aus den Einheiten 31, 32 und 34 entsprechend der Quote der durch den Klassierer 25 bestimmten Wahrscheinlichkeiten 27. Die resultierenden Ausgabe-Bilddaten für den Mischer 41 werden vor der anschließenden Übertragung an ein Bildausgabeterminal, wie zum Beispiel einen Drucker oder eine Anzeige, in einem Ausgabepuffer 50 gespeichert.
  • Anfänglich wird der Bildpixelstrom von einen Bildeingabeterminal (image input terminal – IIT) in den Datenpuffer 10 eingegeben. Die in dem Puffer 10 gespeicherten Bilddaten befinden sich in einem rohen Grauformat, zum Beispiel 6 bis 8 Bits pro Pixel. Eine angemessene Blockgröße beträgt 16 Pixel bei 400 Punkten pro Inch oder 12 Pixel bei 300 Punkten pro Inch. Eine zu große Abtastgröße resultiert in der Unfähigkeit, die Klassifizierung in engen Kanälen zwischen feinen Strukturen in dem Bild richtig zu wechseln oder beim Übergehen von einer Klassifizierung zu einer anderen früh genug zu wechseln. Ein Beispiel für dieses Problem ist kleiner Text, der einen Titel für ein Halbton-Bild bildet. Wenn eine Schriftgröße, die groß genug zum Lesen ist, und ein gutes Layoutverfahren, das Leerraum lässt, der zumindest eine halbe Zeile zwischen dem Text und dem Bild beträgt, gegeben sind, stellt sich ein Ein-Millimeter-Block für die meisten Dokumente als ein guter Kompromiss heraus. Folglich resultiert eine zu große Abtastgröße darin, dass Klassifizierungsübergänge am Rand von Objekten größer sind als der Leerraum zwischen den Objekten, was in ungeeigneter Klassifizierung und Rendering resultiert.
  • Der Wahrscheinlichkeitsklassierer 25 wird mit Bezug auf 12 genau dargestellt. Der in dem Puffer 10 gespeicherte Block von Bildpixeln wird durch den Datenbus 15 an eine charakteristische Berechnungseinrichtung 28 gesendet. Die Berechnungseinrichtung 28 stellt einen Ausgabewert bereit, der eine Eigenschaft der von dem Puffer 10 gesendeten Bilddaten, wie zum Beispiel ihre Anzahl der Spitzenwerte, kennzeichnet. In einer Ausführungsform wird ein Kennwert durch die Berechnungseinrichtung 28 bestimmt, der die Anzahl der Spitzenwerte des Blocks von Bilddaten darstellt. Die Anzahl der Spitzenwerte wird durch Zählen derjenigen Pixel bestimmt, deren Werte das nichttriviale örtliche Maximum oder Minimum in dem Block von Bilddaten sind. Erste Pixelwerte des örtlichen Maximums oder Minimums werden abhängig davon ausgewählt, ob der Durchschnittswert all der Pixel in dem Block von Bilddaten höher oder niedriger als der Medianwert der Anzahl der Ebenen jedes Pixels ist.
  • Nachdem die Berechnungseinrichtung 28 die Anzahl der Spitzenwerte der Bilddaten auswertet, bestimmt ein Wahrscheinlichkeitsklassierer 29 drei Wahrscheinlichkeitswerte 27, die jedem Bildtyp entsprechen, der mit der Anzahl der Spitzenwerte so verknüpft ist, wie es durch die in einem Speicher 26 gespeicherte charakteristische Funktion ausgedrückt wird. Die charakteristische Funktion, die mit A-priori-Bilddaten bestimmt wird, stellt eine Vielzahl von Wahrscheinlichkeitsverteilungen dar, die unter Verwendung einer Gesamtheit von Bildern bestimmt wird. Jede Wahrscheinlichkeitsverteilung stellt die Wahrscheinlichkeit dar, dass ein Block von Bilddaten in Anbetracht des Auftretens einer Bild eigenschaft, einer Anzahl von Spitzenwerten, einen bestimmten Typ darstellt. Zum Beispiel kann die in dem Speicher 26 gespeicherte charakteristische Funktion durch den in 13 gezeigten Graphen dargestellt werden, der die Wahrscheinlichkeitsverteilungen für einen Vollton 1, einen Niederfrequenz-Halbton 2 und einen Hochfrequenz-Halbton 3 in Beziehung zu dem Auftreten einer bestimmten Bildeigenschaft setzt, die in diesem Beispiel eine Anzahl von Spitzenwerten ist. Die in dem Speicher 26 gespeicherte charakteristische Funktion kann unter Verwendung der Eingabesteuerung 18 angepasst werden. Unter Verwendung der Steuerung 18 kann das in dem Puffer 50 gespeicherte resultierende Ausgabebild durch Modifizieren der charakteristischen Funktion, die die verschiedenen durch das Bildverarbeitungssystem 30 ausgewerteten Klassen von Bildern darstellt, geändert werden.
  • Anschließend bestimmt der Wahrscheinlichkeitsklassierer 29 jeden Wahrscheinlichkeitswert durch Auswerten der Wahrscheinlichkeitsverteilung jedes Bildtyps, der durch die in dem Speicher 26 gespeicherte charakteristische Funktion dargestellt wird. Nach dem Bestimmen der Wahrscheinlichkeitswerte gibt der Klassierer 29 diese Ergebnisse an den Bildverarbeitungsmischer bzw. die Steuerung 41 aus.
  • Der Bildverarbeitungs-Abschnitt in 11 arbeitet gleichzeitig mit dem Wahrscheinlichkeitsklassierer 25 an den in dem Puffer 10 gespeicherten Bilddaten. Der Bildverarbeitungs-Abschnitt 30 umfasst eine Hochfrequenz-Halbton-Verarbeitungseinheit 31, eine Niederfrequenz-Halbton-Verarbeitungseinheit 32 und eine Vollton-Verarbeitungseinheit 34. Jede Verarbeitungseinheit verarbeitet alle Bilddaten entsprechend einem bestimmten Bildtyp. Jede der Verarbeitungseinheiten 31, 32 und 34 erzeugt Ausgabeblöcke von unquantisierten Videodaten.
  • Die Bildverarbeitungs-Steuerung 41 mischt die Datenausgabeblöcke, um einen in dem Ausgabepuffer 50 gespeicherten zusammengesetzten Block von Ausgabebildsignalen zu bilden. Die Art und Weise, in der die Ausgabeblöcke gemischt werden, wird durch eine Quote charakterisiert, die durch die durch den Wahrscheinlichkeitsklassierer 25 bestimmte Wahrscheinlichkeit definiert wird.
  • 14 stellt den Bildverarbeitungsmischer 41 ausführlich dar. Der Mischer 41 multipliziert die Ausgabeblöcke unter Verwendung von Multipliziereinrichtungen (MUX) 42, 43 und 44 mit der Wahrscheinlichkeit. Die resultierende Ausgabe von jeder Multipliziereinrichtung ist kennzeichnend für einen Prozentsatz oder eine Quote von jedem Ausgabe block, dessen bzw. deren Summe einen zusammengesetzten Block von Ausgabebildsignalen definiert. Der zusammengesetzte Block von Ausgabebildsignalen wird durch Addieren der Ausgabe der Multipliziereinrichtungen unter Verwendung einer Addiereinrichtung 45 und durch anschließendes Quantisieren der Summe der Addiereinrichtung 45 unter Verwendung eines Quantisierers 47 gebildet. Die resultierende Bildblockausgabe durch den Quantisierer 47 wird in dem Ausgabepuffer 50 vor der anschließenden Übertragung zur Ausgabe an ein Bildausgabeterminal, das eine begrenzte Auflösung oder Tiefe aufweist, gespeichert.
  • Das oben beschriebene Bildklassifizierungs-System verwendet ein Wahrscheinlichkeitsverfahren, um die Bilddaten zu klassifizieren. Ein solches Verfahren weist insofern Probleme auf, als die Klassifizierung der Bilddaten sich gegenseitig ausschließt und die Bilddaten in absoluter Hinsicht als ein bestimmter Typ klassifiziert werden, selbst wenn die Wahrscheinlichkeit, dass die Entscheidung korrekt ist, knapp über 50% beträgt. Dies resultiert in Schwierigkeiten bei dem Versuchen, ein Bildverarbeitungssystem zu konstruieren, das die Bilddaten ohne sichtbare Artefakte in dem gerenderten Bild verarbeitet, wenn die Entscheidung über den Bildtyp keine hohe Konfidenz hat.
  • Daher ist es wünschenswert, ein Bildklassifizierungs-System zu implementieren, das eine zutreffendere Klassifizierung des Bildtyps bereitstellt und bei dem die Bildtypen sich nicht notwendigerweise gegenseitig ausschließen. Ein solches System könnte unscharfe Logik (fuzzy logic) enthalten und dadurch den Bilddaten ermöglichen, so klassifiziert zu werden, dass sie ein Mitglied von mehr als einer Bildklasse sind. Dieses Merkmal ist in Bereichen entscheidend, in denen das Bild von einem Bildtyp zu einem anderen übergeht. Darüber hinaus ist es wünschenswert, ein Bildverarbeitungssystem zu implementieren, das Nutzen aus dem unscharfen Klassifizierungssystem zieht.
  • Ein wichtiger Bestandteil des Rendering-Systems ist das digitale Filtern. Der digitale Filtervorgang sollte sowohl effizient als auch preiswert sein. Darüber hinaus sollte die Filterausführung einige nicht-separierbare und/oder zeitvariable Eigenschaften aufweisen, so dass das Filter in einem unscharfen Segmentierungssystem eingesetzt werden kann. Zu versuchen, das eine oder das andere Ziel zu erreichen, kann jedoch das andere Ziel nachteilig beeinflussen. Es sind verschiedene Ansätze zur Implementierung von digitalen Filterverfahren entworfen worden, die versuchen, die nachteiligen Einflüsse zu minimieren. Diese Verfahren werden unten kurz erörtert.
  • In einem digitalen Filterverfahren nach dem „Stand der Technik" führt eine Schaltung eine Vielzahl von Filterfunktionen mit endlicher Impulsantwort aus. Die Schaltung umfasst eine Vielzahl von Filtern, von denen jedes einen vorgegebenen digitalen Filteralgorithmus implementiert. Eine Speicherschaltung speichert Koeffizienten und Daten-Operanden unter Verwendung des vorgegebenen Algorithmus. Ein Rechenwerk wird zum Ausführen von vorgegebenen Rechenoperationen mit ausgewählten Koeffizienten und Daten-Operanden mit der Speicherschaltung gekoppelt. Eine Ablauf-Steuervorrichtung wählt der Reihe nach Operanden aus der Speicherschaltung zum Eingeben in das Rechenwerk aus.
  • Bei einem anderen digitalen Filterverfahren nach dem „Stand der Technik" stellt eine digitale Signalverarbeitungs-Vorrichtung digitales Hochgeschwindigkeits-Filtern bereit. Diese Vorrichtung umfasst parallel zumindest zwei digitale Filter und einen Multiplexer zum wechselweisen Ausgeben der Ausgaben an die Filter. Bei einer dritten Vorrichtung nach dem „Stand der Technik" ist ein zweidimensionales Filter mit endlicher Impulsantwort, das eine Vielzahl von Filterabschnitten mit im Wesentlichen gleichem Aufbau aufweist, in einer parallelen Anordnung zusammengestellt. Ein Demultiplexer trennt ein Eingabedatensignal, das aufeinander folgende digitale Wörter umfasst, und stellt jedes digitale Wort der Reihe nach für einen gesonderten Filterabschnitt bereit. Anschließend gibt ein mit dem Ausgang der Filterabschnitte gekoppelter Multiplexer wahlweise die gefilterten Daten von jedem Filterabschnitt in einer der Reihenfolge der Trennung der Eingabedaten entsprechenden Folge aus, was dadurch in einer gefilterten Version der ursprünglichen Eingabedaten resultiert.
  • Die drei oben beschriebenen Systeme weisen alle entweder mit Bezug auf Geschwindigkeit oder wegen hoher Kosten Einschränkungen auf. Angesichts dieser Einschränkungen ist vorgeschlagen worden, eine Vielzahl von eindimensionalen Umwandlungseinheiten bereitzustellen, die wahlweise mit einer zusätzlichen eindimensionalen Umwandlungseinheit kombiniert werden können, um eine Vielzahl von verschiedenen zweidimensionalen Filtern zu erzeugen, von denen jedes auf einer Pixel-für-Pixel-Basis auswählbar ist. Darüber hinaus hat dieses vorgeschlagene System den zusätzlichen Vorteil, dass es zweidimensionale Filter mit endlicher Impulsantwort bereitstellt, ohne mehrere identisch aufgebaute zweidimensionale Filter, die in paralleler Weise angeordnet sind, einzusetzen und so die Komplexität und die Kosten der Filter-Hardware im Wesentlichen zu reduzieren. Für ein besseres Verständnis dieses Systems wird das System unten beschrieben.
  • Wie in 1 dargestellt, umfasst das System ein Bildverarbeitungsmodul 20, das im Allgemeinen durch eine Eingangsleitung 22 offset- und verstärkungskorrigierte Videodaten empfängt. Anschließend verarbeitet das Bildverarbeitungsmodul 20 die Eingabevideodaten entsprechend Steuersignalen von einer CPU 24, um Ausgabevideosignale zu erzeugen. Wie in 1 dargestellt, kann das Bildverarbeitungsmodul 20 einen optionalen Segmentierungsblock 30 umfassen, der über einen zugehörigen Zeilenpuffer 32, zweidimensionale Filter 34 und einen optionalen eindimensionalen Effektblock 36 verfügt. Darüber hinaus ist in dem Bildverarbeitungsmodul 20 ein Zeilen-Pufferspeicher 38 zum Speichern des Kontextes von eingehenden Abtastzeilen (scan lines – SL) 42A, 42B, 42C, 42D und 42E enthalten.
  • Der Segmentierungsblock 30 bestimmt zusammen mit dem zugehörigen Abtastzeilen-Puffer 32 automatisch diejenigen Bereiche des Bildes, die kennzeichnend für einen Halbton-Eingabebereich sind. Eine Ausgabe aus dem Segmentierungsblock (Videoklasse) wird eingesetzt, um anschließende Bildverarbeitungseffekte entsprechend einem Typ oder einer Klasse von durch den Segmentierungsblock identifizierten Videosignalen zu implementieren. Der Segmentierungsblock kann zum Beispiel einen Bereich identifizieren, der Daten enthält, die kennzeichnend für ein Eingabe-Halbtonbild sind, in welchem Fall ein Tiefpassfilter eingesetzt würde, um Rastermuster zu entfernen, andernfalls kann ein verbleibender Textabschnitt des Eingabe-Videobildes mit einem Kantenverstärkungsfilter verarbeitet werden, um die Wiedergabe feiner Linien und Zeichen zu verbessern, wenn eine Schwellenwertoperation ausgeführt wird.
  • Der zweidimensionale Filterblock 34 soll das eingehende korrigierte Video der vorgegebenen Filterauswahl entsprechend verarbeiten. Vor dem Aufbauen des benötigten Inhalts der Abtastzeile umgehen die Eingabevideodaten das Filter unter Verwendung eines Umgehungskanals innerhalb der zweidimensionalen Filter-Hardware. Diese Umgehung ist erforderlich, um schädliche Effekte an dem Videostrom zu vermeiden, die aus dem Filtern des Eingabevideos vor dem Aufbauen des geeigneten Kontextes resultieren können.
  • Anschließend an das zweidimensionale Filtern wird der optionale eindimensionale Effektblock eingesetzt, um die gefilterten oder möglicherweise ungefilterten Videodaten entsprechend ausgewählten eindimensionalen Videoeffekten zu ändern. Eindimensionale Videoeffekte umfassen zum Beispiel Schwellwertverarbeitung, Rastern, Invertierung, eine Tonwert-Wiedergabekurve (tonal reproduction curve – TRC), Pixelmaskierung, ein dimensionales Skalieren und andere Effekte, die eindimensional auf den Strom der Videosignale angewandt werden können. Wie bei dem zweidimensionalen Filter umfasst der eindimensionale Effektblock außerdem einen Umgehungskanal, wo keine zusätzlichen Effekte auf das Video angewandt würden, wodurch dem empfangenen Video ermöglicht wird, als ein Ausgabevideo durchgeleitet zu werden.
  • 2 stellt die Hardware des zweidimensionalen Filters der oben beschriebenen Vorrichtung dar. Die Hardware stellt zwei unabhängige Filter mit endlicher Impulsantwort (finite impulse response – FIR) oder Faltungsfilter bereit. Jedes Filter ermöglicht den Einsatz eines Zentralpixel-Anpassungskoeffizienten, obwohl die Filterkoeffizienten sowohl in der Fastscan-Richtung (fastscan – schnelle Abtastung) als auch in der Slowscan-Richtung (sowscan – langsame Abtastung) symmetrisch sein müssen. Die Filterkoeffizienten sind programmierbar und können auf Null gesetzt werden, um einen kleineren Filter einzusetzen.
  • Jedes Filter verarbeitet jeweils eine vorgegebene Anzahl von Eingabe-Abtastzeilen Pixel für Pixel, um jede Ausgabe-Abtastzeile zu berechnen. Wie zuvor mit Bezug auf 1 beschrieben, werden die Eingabe-Abtastzeilen in dem Zeilenpuffer 38 zwischengespeichert, um den Filtereingabe-Anforderungen zu entsprechen. Wenn das zweidimensionale Filter 34 mit dem Segmentierungsblock 30 in 1 verwendet wird, muss das Filter darüber hinaus eine Abtastzeile später als der Segmentierungsblock arbeiten.
  • Wie in 2 dargestellt, wird das Eingabevideo von dem Zeilen-Pufferspeicher 38 in 1 für die Slowscan-Filter 102A und 102B bereitgestellt. Ebenfalls für die Filter 102A und 102B bereitgestellt wird der zugehörige Slowscan-Filterkoeffizient, so, wie er jeweils in dem Slowscan-Filterkoeffizienten-Speicher 104A bzw. 104B enthalten ist. Die Slowscan-Filterkoeffizienten werden in symmetrischer Weise um einen zentralen Abtastzeilen-Koeffizienten angeordnet. Die Ausgabe der Slowscan-Filter 102A und 102B wird auf jeweilige Slowscan-Filter-Kontextpuffer 106A bzw. 106B gerichtet. Die Ausgabe von den Slowscan-Filter-Kontextpuffern 106A und 106B werden in einen Multiplexer 208 eingegeben, der auswählt, welche Ausgabe durch einen Fastscan-Filter 230 zu verarbeiten ist.
  • Die Auswahl durch den Multiplexer wird durch den Klassentyp der Videodaten gesteuert, die verarbeitet werden, was durch den Segmentierungsblock 30 in 1 bestimmt worden ist. Die durch das Fastscan-Filter 230 zu verwendenden Fastscan-Filterkoeffizienten werden von einem aus einer Vielzahl von Fastscan-Filterkoeffizienten-Puffern empfan gen, wobei der Kontext der Puffer in einen Multiplexer 242 eingegeben wird, der die geeigneten Filterkoeffizienten auf Basis der Klasse oder des Bildtyps des Videos auswählt, das verarbeitet wird.
  • Obwohl das oben beschriebene zweidimensionale Filter ein Filterverfahren bereitstellt, das effizient ist, ist das Filter nicht zeitvariabel, wie es erforderlich wäre, wenn das Bildverarbeitungssystem ein unscharfes Segmentierungsverfahren anwendete. Daher ist es wünschenswert, ein digitales Filter zu entwickeln, das nicht-separierbar und/oder zeitvariabel ist, so dass es leicht in einem unscharfen Segmentierungssystem implementiert werden kann. Außerdem ist es wünschenswert, ein zeitvariables Filter zu entwickeln, das selbstgetaktet ist und das kaskadierbar ist, um geeignetes Filtern der Bilddaten zu ermöglichen und um Skalierbarkeit bereitzustellen.
  • Nach der vorliegenden Erfindung wird ein Verfahren zum elektronischen Klassifizieren eines Pixels bereitgestellt, der zu einem Satz von digitalen Bilddaten mit Bezug auf eine Mitgliedschaft des Pixels in einer Vielzahl von Bildklassen und einer anderen Klasse gehört, das die folgenden Schritte umfasst:
    • (a) Empfangen eines Satzes von digitalen Bilddaten einschließlich des Pixels;
    • (b) Bestimmen eines Mitgliedschaftswertes für das Pixel für jede Bildklasse und eines Mitgliedschaftswertes für das Pixel für die andere Klasse, wobei der Mitgliedschaftswert für eine Bildklasse unabhängig von den anderen Mitgliedschaftswerten für die Bildklassen ist und der Mitgliedschaftswert für die andere Klasse abhängig von den Mitgliedschaftswerten der Bildklassen ist; und
    • (c) Erzeugen eines Klassifizierungsvektors für das Pixel auf Basis der Bestimmung in Schritt (b).
  • Zum besseren Verständnis der vorliegenden Erfindung wird nun, nur als Beispiel, Bezug genommen auf die beigefügten Zeichnungen, für die gilt:
  • 1 ist eine schematische Abbildung eines Bildverarbeitungs-Hardwaremoduls, das ein zweidimensionales Filter enthält;
  • 2 stellt ein Blockschaltbild dar, das den reduzierten Hardware-Bestandteilsatz erläutert, der in dem zweidimensionalen Bildverarbeitungs-Filter in 1 eingesetzt wird;
  • 3 ist ein Blockschaltbild, das ein nicht-separierbares zweidimensionales Filter nach einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 4 ist ein Blockschaltbild, das ein Bildverarbeitungssystem darstellt, das das zweidimensionale Filter in 3 einsetzt;
  • 5 stellt ein Blockschaltbild dar, das ein selbstgetaktetes, nicht-separierbares zweidimensionales Filter nach einer zweiten Ausführungsform der vorliegenden Erfindung erläutert;
  • 6 ist ein Taktdiagramm, das die Folge der Ereignisse darstellt, die durch das selbstgetaktete nicht-separierbare zweidimensionale Filter in 5 ausgeführt werden;
  • 7 ist ein Blockschaltbild, das ein kaskadierbares Filter nach einer weiteren Ausführungsform der vorliegenden Erfindung darstellt;
  • 8 stellt ein Blockschaltbild dar, das ein Filter erläutert;
  • 9 ist ein Blockschaltbild, das die Bildung eines einzelnen Filters darstellt, das zwei kaskadierbare Filter einsetzt;
  • 10 stellt ein Blockschaltbild dar, das ein kaskadierbares Fastscan-Filter erläutert;
  • 11 ist ein Blockschaltbild, das ein Bildverarbeitungssystem darstellt, das probabilistische Segmentierung einbezieht;
  • 12 stellt ein Blockschaltbild dar, das den in 11 gezeigten probabilistischen Segmentierer genau beschreibt;
  • 13 zeigt ein Beispiel für eine charakteristische Funktion der Bildeigenschaft „Anzahl der Spitzenwerte";
  • 14 stellt ein Blockschaltbild dar, das den in 11 gezeigten Bildverarbeitungsmischer genau erläutert;
  • 15 ist ein Blockschaltbild, das ein Bildverarbeitungssystem nach dem „Stand der Technik" darstellt;
  • 16 zeigt das Schwellenwertoperations-Verfahren, das durch den „Stand der Technik" verwendet wird, um ein geeignetes Bildverarbeitungsverfahren für Bilder zu bestimmen, die unterschiedliche Bildtypen aufweisen;
  • 17 stellt ein Blockschaltbild dar, das die in 15 gezeigte Bildverarbeitungs-Steuerschaitung nach dem „Stand der Technik" genau erläutert;
  • 18 ist ein Blockschaltbild eines digitalen Filtersystems, das das unscharfe Klassifizierungsverfahren der vorliegenden Erfindung einbezieht;
  • 19 ist ein Blockschaltbild, das ein Rasterverfahren darstellt, das das unscharfe Klassifizierungsverfahren der vorliegenden Erfindung einbezieht;
  • 20 ist ein Blockschaltbild, das eine genauere Version des in 19 erläuterten Systems darstellt; und
  • 21 stellt ein Blockschaltbild dar, das einen Chip zeigt, der eine Vielzahl von kaskadierbaren Filtern aufweist.
  • In dieser Beschreibung geben die Begriffe „Bilddaten" oder „Pixel" in Form von Videobildsignalen, die entweder analoge oder digitale Spannungsdarstellungen eines Bildes sein können, eine von einer geeigneten Quelle bereitgestellte Darstellung eines Bildes an. Die Bildsignale können zum Beispiel durch zeilenweises Abtasten eines Bildes, das das Original trägt, durch ein oder mehrere lichtempfindliche Elemente, wie zum Beispiel eine mehrfache Bildstellenmatrix von ladungsgekoppelten Bauelementen, üblicherweise als CCDs (charge couple devices) bezeichnet, bezogen werden. Zeilenweises Abtasten eines Bildes, das das Original für die Dauer von Bilddaten trägt, ist allgemein bekannt.
  • Bilddaten können außerdem durch ein Computer-Arbeitsplatz-Programm entsprechend einer Dokumentenerstellungs-Anwendungssoftware oder von einer Datenspeichervorrichtung erlangt werden. Inhaltlich können die ursprünglichen Videobildsignale gänzlich aus einem einzelnen Bildbestandteil bestehen, wie zum Beispiel aus Zeilen, Text, Niedertrequenz-Halbtönen, Hochfrequenz-Halbtönen, Volltönen, oder aus einer beliebigen Kombination davon.
  • Die folgende Beschreibung umfasst außerdem Hinweise auf digitale Slowscan- und Fastscan-Bilddaten, wenn die Gerichtetheit von zweidimensionaler Filterarchitektur erör tert wird. Zum Zweck der Verdeutlichung, Fastscan-Daten sind dazu bestimmt, sich auf einzelne Pixel zu beziehen, die nacheinander entlang eines Rasters von Bildinformationen positioniert sind, während Slowscan-Daten sich auf Daten beziehen, die von einer gewöhnlichen Rasterposition über Mehrfachraster oder Abtastzeilen erlangt wurden.
  • Slowscan-Daten würden zum Beispiel verwendet, um Signale zu beschreiben, die aus einer Vielzahl von Elementen entlang einer linearen lichtempfindlichen Matrix erfasst worden sind, wenn die Matrix relativ zu einem Dokument bewegt wird. Demgegenüber würden Fastscan-Daten sich auf die sequentiellen Signale beziehen, die entlang der linearen lichtempfindlichen Matrix während einer einzelnen Belichtungszeit gesammelt worden sind, die üblicherweise auch als ein Raster von Daten bezeichnet wird.
  • Darüber hinaus wird beim Beschreiben der vorliegenden Erfindung angenommen, dass das Videosignal einen Wert in einem Bereich zwischen 0 und 255 aufweist. Es kann jedoch ein beliebiger Bereich des Videosignals zusammen mit der vorliegenden Erfindung eingesetzt werden. Ferner wird in der folgenden Beschreibung der Begriff „Graustufe" verwendet, um sowohl Schwarz-Weiß- als auch Farbanwendungen zu beschreiben.
  • Überdies wird beim Beschreiben der vorliegenden Erfindung der Begriff „Pixel" verwendet. Dieser Begriff kann sich auf ein elektrisches (oder optisches, falls Faseroptik eingesetzt wird) Signal beziehen, das die physikalisch messbaren optischen Eigenschaften in einem physikalisch definierbaren Bereich auf einem aufnehmenden Medium darstellt. Das aufnehmende Medium kann ein beliebiges konkretes Dokument, ein beliebiger Fotorezeptor oder ein beliebiges Markierungsmaterial-Übertragungsmedium sein.
  • Darüber hinaus kann der Begriff „Pixel" sich auf ein elektrisches (oder optisches, wenn Faseroptik eingesetzt wird) Signal beziehen, das die physikalisch messbaren optischen Eigenschaften in einem physikalisch definierbaren Bereich auf dem Anzeigemedium darstellt. Eine Vielzahl der physikalisch definierbaren Bereiche für beide Situationen stellen die physikalisch messbaren optischen Eigenschaften eines gesamten physikalischen Bildes dar, das entweder durch eine Material-Markierungsvorrichtung, durch eine elektrische oder magnetischen Markierungsvorrichtung oder durch eine optische Anzeigevorrichtung gerendert werden soll.
  • Schließlich kann der Begriff „Pixel" sich auf ein elektrisches (oder optisches, wenn Faseroptik eingesetzt wird) Signal beziehen, das physikalische optische Eigenschaftsdaten darstellt, die von einer Signal-Lichtsensorzelle erzeugt werden, wenn ein physikalisches Bild so abgetastet wird, dass die physikalischen optischen Eigenschaften des physikalischen Bildes in eine elektronische oder elektrische Darstellung umgewandelt werden. Mit anderen Worten, in dieser Situation ist ein Pixel eine elektrische (oder optische) Darstellung der physikalischen optischen Eigenschaften eines physikalischen Bildes, das in einem physikalisch definierbaren Bereich an einem optischen Sensor gemessen wird.
  • Viele der heutzutage erzeugten Dokumente sind insofern zusammengesetzte Dokumente, als die Dokumente aus mehreren unterschiedlichen Unterbildern zusammengesetzt sind, die unterschiedlichen Bildtypen oder Bildklassen angehören. Einige der üblichen Typen sind Text, Fotos (Volltöne) und Halbtöne. Ein Grund für das vermehrte Auftreten von zusammengesetzten Dokumenten ist der weit verbreitete Einsatz von handelsüblicher Textverarbeitungs- und Desktop-Publishing-Software, die in der Lage ist, sie zu erzeugen.
  • Wie allgemein bekannt ist, erfordern unterschiedliche Typen von Bildern unterschiedliche Verarbeitung, um eine optimale Bildqualität bereitzustellen. Um automatisch die beste Verarbeitung für unterschiedliche Bereiche eines Bildes zu wählen, wird herkömmlich jeder Bereich in eine von mehreren vordefinierten Klassen klassifiziert, um festzulegen, wie dieser Teil des Bildes gerendert werden soll. Diese Bildtyp- oder Bildklasseninformationen können dann verwendet werden, um die geeignete Verarbeitung festzulegen, die erforderlich ist, ob eine gute Wiedergabe des Bildes beim Drucken zu erlangen, um ein Verfahren zur Bildkompression auszuwählen, um zu bestimmen, ob optische Zeichenerkennung nützlich wäre, etc.
  • Wie zuvor bemerkt, sollte das Klassifizierungsverfahren jedoch nicht so hart sein, um Schwierigkeiten zu vermeiden, wenn das Eingabebild keiner der Klassen sehr ähnlich ist oder die Eingabebild-Eigenschaften die Grenze zwischen zwei Klassen überschreiten.
  • Wenn zum Beispiel eine bestimmte Maßnahme auf Basis einer Einzelklassenidentifizierung ergriffen wird, weil die Klassen sich gegenseitig ausschließen, kann dies unerwünschte Ergebnisse für ein nicht-prototypisches Bild erzeugen. Dies wird sichtbar, wenn Bilder zum Drucken auf einem xerografischen Drucker gerendert werden. Die Klassifizierung des Bildes kann Ausgabe-Artefakte verursachen, wie zum Beispiel wenn ein Halbton-Bild als ein Vollton-Bild klassifiziert wird.
  • Eine andere Art von Problem besteht darin, dass angrenzende Bereiche des Bildes aufgrund kleiner Schwankungen in dem Bild unterschiedlich klassifiziert werden können. Dies wird als Klassenwechsel bezeichnet. Wenn diese Informationen für Bildverbesserung und zum Drucken verwendet werden, kann die Ausgabe störende Artefakte aufgrund von örtlichen Schwankungen aufweisen. Beispiele für diese störenden Artefakte sind körnige Bildausgaben.
  • Um die oben beschriebenen Schwierigkeiten zu beseitigen, kann ein Bildklassifizierungs-System, das eine unscharfe Mitgliedschaft in jeder Kategorie oder Klasse anwendet, eingesetzt werden. Mit anderen Worten, die Klassen in einem unscharfen Klassifizierungssystem schließen sich nicht gegenseitig aus, wodurch Schwierigkeiten bei einem Klassenwechsel beseitigt werden und außerdem solchen Bereichen ermöglicht wird, eine unterschiedliche Verarbeitung als die einer beliebigen anderen vordefinierten Klasse aufzuweisen; d.h. die Ausgabe kann zwischen einem Kontinuum von möglichen Bildverarbeitungsverfahren auswählen.
  • Bei Standard-Klassifizierungsverfahren ist jedem Bereich eine Klasse zugewiesen. Bei der unscharfen Implementierung der vorliegenden Erfindung ist jedem Bereich ein Klassifizierungsvektor zugewiesen. Jedes Element des Klassifizierungsvektors weist einen Mitgliedschaftswert auf, der mit jeder der vordefinierten Prototypklassen verknüpft ist.
  • Ähnlich wie bei der Erzeugung von harten Klassierern wird ein Satz heuristischer Regeln eingesetzt, um die Form des Klassierers festzulegen. Das Folgende ist ein Beispiel, wie heuristische Regeln verwendet werden, um einen unscharfen Klassierer nach der vorliegenden Erfindung zu erzeugen.
  • Zum Zweck der Erläuterung wird ein Beispiel eines nicht-unscharfen Zweiklassensystems erläutert. In diesem Beispiel klassifiziert das System nur einen bestimmten Bereich entweder als Vollton (d.h. grau grafisch) oder als Text. Ein Bild kann als Text betrachtet werden, wenn es viele Kanten aufweist und die meisten Pixel schwarz oder weiß sind. Falls dies nicht zutrifft, wird das Bild als Vollton betrachtet.
  • Um die Kanten zu bestimmen, wird eine Variable verwendet, die sich auf die Laplace-Transformation der Bilddaten an jedem Punkt (Pixel) bezieht. Eine übliche Implementierung für diesen Typ der Segmentierung kann es sein, dass, wenn die Summierung der Quadrate der Laplace-Transformation an jedem Pixel in dem Unterblock größer als eine vorgegebene Summierungsschwelle ist und die Summe des Prozentsatzes der Pixel mit einem kleineren Grauwert als einem Schwarz-Schwellenwert und des Prozentsatzes der Pixel mit einem größeren Grauwert als einem Weiß-Schwellenwert größer ist als eine vorgegebene bimodale Schwelle, das Bild „Text" ist und andernfalls das Bild „Vollton" ist.
  • Da die Parameter vorrichtungsabhängig sind, würden in diesem Beispiel Tests durchgeführt, die Kennern der Technik bekannt sind, um die Werte all der Parameter zu bestimmen; der Prozentsatz der Pixel mit einem kleinerem Grauwert als einem Schwarz-Schwellenwert, der Prozentsatz der Pixel mit einem größerem Grauwert als einem Weiß-Schwelienwert, die Summierungsschwelle und die bimodale Schwelle vor der Ausführung der Segmentierungsroutine. Es ist zu beachten, dass nur eine Klasse ausgewählt werden kann, entweder Text oder Vollton.
  • Um einen unscharfen Klassierer zu implementieren, müssen mehrere Modifizierungen an den oben beschriebenen heuristischen Regeln durchgeführt werden. Wie oben beschrieben, existiert eine einzelne Regel, die nur Text definiert. Falls die Bedingung für Text „nicht wahr" ist, wird Vollton gewählt. Bei einem unscharfen System muss Vollton über seine eigene Regel verfügen, da die Text-Mitgliedschaftsregel keine absolute Wahrheit ist, sondern eine relative Wahrheit, dass die Klassifizierung wahr ist.
  • Darüber hinaus wird selbst das Bereitstellen einer Regel für Volltöne den Satz vom ausgeschlossenen Dritten nicht befriedigen: Daher muss eine dritte „andere" Klasse hinzugefügt werden, um die Beschränkungen der unscharfen Logik zu befriedigen. Ohne die „andere" Klasse wäre es möglich, dass die Mitgliedschaft des Bildes in allen Klassen sehr klein wäre. Folglich erzeugt die „andere" Klasse eine untere Grenze von 0,5 für die Minimal-Mitgliedschaft in einer beliebigen Klasse. Eine minimale Größe für die maximale Mitgliedschaft stellt sicher, das alle Vorgänge/Entscheidungen, die unter Verwendung der relativen Mitgliedschaftswerte ausgeführt werden, nicht besonders empfindlich auf Klassen-Mitgliedschaften reagieren, was sie täten, wenn die Mitgliedschaft in allen Klassen klein wäre, wodurch die unscharfe Klassifizierung stabiler wird.
  • In einem Beispiel für ein unscharfes Klassifizierungsschema hat das Pixel oder die Einheit der Bilddaten eine Mitgliedschaft in jeder der drei Klassen; Text, Bild und „andere". Mit anderen Worten, das Pixel wird nicht mehr als ein Element nur einer der sich gegenseitig ausschließenden Klassen betrachtet. Falls die Festlegung auf eine Klasse jedoch absolute Sicherheit erreicht; d.h. wenn die Mitgliedschaft in einer einzelnen Klasse 1 be trägt und die anderen Klassen 0 sind; erzeugt das unscharfe System Werte, die ein hartes System darstellen würden.
  • Angesichts dieser Nicht-Exklusivitätseigenschaft der Pixelbild-Mitgliedschaft, wird die Mitgliedschaft des Pixels durch einen Mitgliedschaftsvektor, Vi, dargestellt, dessen Einträge der Mitgliedschaft des Pixels (des Bildelements) in jeder der Klassen entsprechen. Es ist zu beachten, dass üblicherweise keine Beschränkungen für diesen Vektor bestehen, außer dass all seine Elemente größer als oder gleich 0 und kleiner als oder gleich 1 sein müssen. Da jedoch die unscharfen Klassifizierungsregeln mit einer dritten „anderen" Klasse aufgebaut worden sind, muss zumindest eines der Elemente des Vektors größer als oder gleich 0,5 und kleiner als oder gleich 1 sein.
  • Unter Verwendung der beiden obigen Klassenbeispiele wären die unscharfen Klassifizierungsregeln wie folgt. Wenn die Summierung der Quadrate der Laplace-Transformation an jedem Pixel in dem Unterblock größer als eine vorgegebene Summierungsschwelle ist und die Summe des Prozentsatzes der Pixel mit einem kleineren Grauwert als einem Schwarz-Schwellenwert und des Prozentsatzes der Pixel mit einem größeren Grauwert als einem Weiß-Schwellenwert größer ist als eine vorgegebene bimodale Schwelle, würde dem Pixel ein Mitgliedschaftswert für die „Text"-Klasse zugewiesen, der der minimale Wert ist, der mit jeder der bedingten Anweisungen verknüpft ist.
  • Zum besseren Verständnis dieses Konzepts wird die folgende kurze Erläuterung unscharfer Logik bereitgestellt. Bei der unscharfen Logik, anders als bei Boolescher Logik, erzeugen die Ergebnisse der bedingten Anweisungen weder „absolut wahr" noch „absolut falsch", sondern einen Wert entsprechend dem Anteil der resultierenden Anweisung, der wahr ist. Dieses Ergebnis beruht auf der Tatsache, dass die bedingten Anweisungen ebenfalls nicht absolut sind.
  • Zum Beispiel kann bei der oben beschriebenen Textregel durch Testen bestimmt werden, dass der Mittelpunkt (vorgegebener Soll-Bedingungswert) der unscharfen Summierungsbedingung der Laplace-Transformation 50 betragen sollte. Der Mittelpunkt stellt die maximale Unsicherheit darüber dar, ob der Wert 50 in diesem Beispiel ein Mitglied der Klasse „Große Laplace-Transformation" ist. Darüber hinaus wird durch Testen bestimmt, dass mit absoluter Sicherheit ein Pixel ein Mitglied der Großen Laplace-Transformation ist (die Mitgliedschaft kommt 1,0 gleich), wenn die Summierung gleich oder größer als 75 ist (vorgegebener Absolut-Bedingungswert), und es wird bestimmt, dass mit absoluter Sicherheit ein Pixel nicht Mitglied der Großen Laplace-Transformation ist (die Mitgliedschaft kommt 0,0 gleich), wenn die Summierung gleich oder kleiner als 25 ist (vorgegebener Absolut-Bedingungswert). Unscharfe Logik ermöglicht es dem Klassierer, 0,5 (Bedingungswert) einem Ergebnis zuzuweisen, bei dem die Summierung 50 beträgt, und zu den zugewiesenen Werten (Bedingungswerten) zu 1 bzw. 0,0 jeweils für die Werte 75 bzw. 25 linear zu extrapolieren; d.h. dem Wert 55 würde ein Mitgliedschaftswert von 0,6 zugewiesen. Es ist zu beachten, dass diese Werte vorrichtungsabhängig sind und folglich der Mittelpunkt und der Bereich für jede einzelne Vorrichtung bestimmt werden müssen.
  • Darüber hinaus kann durch Testen bestimmt werden, dass der Mittelpunkt der Klasse „bimodal" 80 betragen sollte; ein Pixel befindet sich mit absoluter Sicherheit in der Mitgliedschaft, wenn die Prozentsumme gleich oder größer als 90 ist; und ein Pixel ist mit absoluter Sicherheit nicht in der Mitgliedschaft, wenn die Prozentsumme gleich oder kleiner als 70 ist. Unscharfe Logik ermöglicht es dem Klassierer, 0,5 einem Ergebnis zuzuweisen, bei dem der Summenwert 80 beträgt, und zu den zugewiesenen Werten zu 1 bzw. 0,0 jeweils für die Werte 90 bzw. 70 linear zu extrapolieren; d.h. dem Wert 85 würde ein Mitgliedschaftswert von 0,75 zugewiesen. Es ist zu beachten, dass diese Werte vorrichtungsabhängig sind und folglich der Mittelpunkt und der Bereich für jede einzelne Vorrichtung bestimmt werden müssen.
  • Um das unscharfe Verfahren des Weiteren zu erläutern, wird angenommen, dass die Mitgliedschaftswerte für jede bedingte Anweisung jeweils 0,5 bzw. 0,33 betragen. Bei diesem Szenario würde der Mitgliedschaftswert für das Pixel der Klasse „Text" 0,33 betragen, weil unscharfe Logik „geundete" Anweisungen als den Minimalwert für all die Bedingungen bestimmend und als den Minimalwert den Mitgliedschaftswerten zuweisend behandelt.
  • Unter Verwendung der Vollton-Regel, nach der, wenn die Summierung der Quadrate der Laplace-Transformation an jedem Pixel in dem Unterblock kleiner als eine vorgegebene Summierungsschwelle ist und die Summe des Prozentsatzes der Pixel mit einem kleineren Grauwert als einem Schwarz-Schwellenwert und des Prozentsatres der Pixel mit einem größeren Grauwert als einem Weiß-Schwellenwert kleiner ist als eine vorgegebene bimodale Schwelle, das Bild „Vollton" ist, wird jede bedingte Anweisung mit Begriffen der unscharfen Logik erörtert. Zum Beispiel kann bei der oben beschriebenen Regel durch Testen bestimmt werden, dass der Mittelpunkt der unscharfen Summierungsbe dingung der Laplace-Transformation 50 betragen sollte. Außerdem wird durch Testen bestimmt, dass ein Pixel sich mit absoluter Sicherheit in der Mitgliedschaft befindet, wenn die Summierung gleich oder kleiner als 25 ist, und es wird bestimmt, dass ein Pixel sich mit absoluter Sicherheit nicht in der Mitgliedschaft befindet, wenn die Summierung gleich oder größer als 75 ist. Unscharfe Logik ermöglicht es dem Klassierer, 0,5 einem Ergebnis zuzuweisen, bei dem die Summierung 50 beträgt, und zu den zugewiesenen Werten zu 1 bzw. 0,0 jeweils für die Werte 25 bzw. 75 linear zu extrapolieren; d.h. dem Wert 55 würde ein Mitgliedschaftswert von 0,4 zugewiesen.
  • Des Weiteren kann durch Testen bestimmt werden, dass der Mittelpunkt der unscharfen bimodalen Bedingung 80 sein sollte; dass ein Pixel mit absoluter Sicherheit in der Mitgliedschaft ist, wenn die Summe gleich oder kleiner als 70 ist; und dass ein Pixel mit absoluter Sicherheit nicht in der Mitgliedschaft ist, wenn die Summe gleich oder größer als 90 ist. Unscharfe Logik ermöglicht es dem Klassierer, 0,5 einem Ergebnis zuzuweisen, bei dem der Prozentwert 80 beträgt, und zu den zugewiesenen Werten zu 1 bzw. 0,0 jeweils für die Werte 70 und 90 linear zu extrapolieren; d.h. dem Wert 85 würde ein Mitgliedschaftswert von 0,25 zugewiesen.
  • Um das unscharfe Verfahren des Weiteren zu erläutern, wird angenommen, dass die Mitgliedschaftswerte für jede bedingte Anweisung jeweils 0,75 bzw. 0,8 betragen. Bei diesem Szenario würde der Mitgliedschaftswert für das Pixel der Klasse „Text" 0,75 betragen, weil unscharfe Logik „geundete" Anweisungen als den Minimalwert für all die Bedingungen bestimmend und als den Minimalwert den Mitgliedschaftswerten zuweisend behandelt.
  • Schließlich geben die unscharfen Regeln an, dass, wenn ein Bild weder „Text" noch „Vollton" ist, das Bild zu „andere" gehört. Diese letzte Regel, die die „andere" Klasse definiert, kann mathematisch als
    μandere(Bild) = min (1 – μText(Bild), 1 – μVollton(Bild))
    dargestellt werden, wobei μx(Y) die Mitgliedschaft von Y in der Klasse X darstellt. Es ist zu beachten, dass, wenn
    μText(Bild) und μVollton(Bild) kleiner als 0,5 sind,
    μandere(Bild) dann größer als 0,5 ist (wie zuvor angegeben).
  • In dem oben gegebenen Beispiel kommt μText(Bild) 0,33 gleich, und μVollton(Bild) kommt 0,75 gleich, folglich käme μandere(Bild) 0,25 gleich, wobei der resultierende Mitglied schaftsvektor [0,33 0,75 0,25] wäre. Es ist zu beachten, dass die Elementwerte des Vektors nicht 1 ergeben müssen.
  • Das Prädikat jeder der oben beschriebenen Regeln wird auf eine unscharfe Wahrheit statt auf eine absolute Wahrheit erweitert, um den Elementwert für den Mitgliedschaftsvektor bereitzustellen. Um aus der Ungleichung „Y ist > X" eine unscharfe Wahrheit zu machen, wird folglich eine Mitgliedschaftsfunktion für „> X" definiert. In ähnlicher Weise kann eine unscharfe Mitgliedschaftsregel für < X definiert werden (sehr häufig ist die Mitgliedschaft in (< X) gleich mit nicht (> X) : (1 – Mitgliedschaft von (> X)).
  • Um Einfachheit bei der Implementierung zu erreichen, wird die Mitgliedschaft in (> X) wie folgt definiert:
    Figure 00220001
  • Der Wert von ΔX bestimmt den Grad der Fuzzifizierung der Klasse; wenn ΔX äußerst klein ist, dann reduziert sich die Definition zu der harten Definition von „größer als". Es ist des Weiteren zu beachten, dass, obwohl die Fuzzifizierung als eine lineare Beziehung beschrieben worden ist, die Funktion, die die Werte zwischen den Endpunkten und dem Mittelpunkt beschreibt, eine beliebige Art von Funktion sein kann. Außerdem könnte der Mittelpunkt absolute Sicherheit in der Klasse darstellen und einen Mitgliedschaftswert von 1 aufweisen, und die Endpunkte könnten absolute Sicherheit bezüglich der Nichtmitgliedschaft darstellen, so dass die Mitgliedschaftswerte grafisch ein Dreieck bilden würden, wobei der Mittelpunkt der Spitzenwert wäre.
  • Wenn wir zu den mehrfachen Bedingungen („Ifs") in den obigen Regeln zurückkehren, so kommt die Mitgliedschaft für ein Bild in der Klasse „Text" dem unscharfen Wert des Prädikats gleich,
    μText(Bild) = min (μ>Slp-Schwelle(Σlp2), μ>Bimodale Schwelle(Weiß + Schwarz)),
    wobei Σlp2 die Summierung der Quadrate der Laplace-Transformation ist.
  • Das Erweitern auf die Verarbeitung von Bildern auf einem typischen xerografischen Laserdrucker erfordert das Trennen von Bildern in mehrere Klassen; zum Beispiel Weiß, Schwarz, Kante, Grafisch, Niederfrequenz-Halbton, Mittenfrequenz-Halbton, Hochfrequenz-Halbton und andere, etc. Die Klassen Weiß, Schwarz und Grafisch sind Unterklassen des Satzes „Vollton", und Niederfrequenz-Halbton, Mittenfrequenz-Halbton und Hochfrequenz-Halbton sind Unterklassen des Satzes „Halbton".
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung sind die deterministischen Werte zum Bestimmen einer Mitgliedschaft wie folgt:
    SCHWARZ_% = der Prozentsatz der Pixel mit einem Grauwert, der kleiner als ein Schwarz-Schwellenwert ist;
    WEiSS_% = der Prozentsatz der Pixel mit einem Grauwert, der größer als ein Weiß-Schwellenwert ist;
    Sij = Summe der Laplace-Transformierten in einem Fenster um das Pixel herum, das klassifiziert wird;
    Bereich = Max. Graustufe – Min. Graustufe innerhalb eines Fenster um das Pixel herum, das klassifiziert wird; und
    Freq = Messung der örtlichen 2-D-Frequenz um das Pixel herum, das klassifiziert wird.
  • Um den Mitgliedschaftswert in einer bestimmten Klasse zu bestimmen, werden diese Werte mit einer Vielzahl von vorgegebenen Schwellen in einer ähnlichen Weise verglichen, wie oben mit Bezug auf das Dreiklassensystem beschrieben. Die verschiedenen Klassen in dieser bevorzugten Ausführungsform werden durch die folgenden Regeln veranschaulicht:
    Wenn gilt
    (Sij ist > SIJ_HALBTON und BEREICH ist > BEREICH_HALBTON und FREQ ist > FREQ_HALBTON),
    dann ist C1 gleich HALBTON;
    Wenn gilt
    (Sij ist > SIJ_KANTE und BEREICH ist > BEREICH_KANTE und FREQ ist < FREQ_HALBTON),
    dann ist das Pixel gleich KANTE;
    Wenn gilt
    (Sij ist < SIJ_HALBTON und FREQ ist < FREQ_HALBTON),
    dann ist C1 gleich VOLLTON;
    Wenn gilt
    (C1 ist gleich VOLLTON und SCHWARZ_% ist > SCHWARZ_SCHWELLE),
    dann ist das Pixel gleich SCHWARZ;
    Wenn gilt
    (C1 ist gleich VOLLTON und WEISS_% ist > WEISS_SCHWELLE),
    dann ist das Pixel gleich WEISS;
    Wenn gilt
    (C1 ist gleich VOLLTON und SCHWARZ_% ist < SCHWARZ_SCHWELLE und WEISS_% ist > WEISS_SCHWELLE), dann ist das Pixel gleich GRAFISCH;
    Wenn gilt
    (C1 ist gleich HALBTON und FREQ ist < NIEDER_FREQ),
    dann ist das Pixel gleich NIEDER_FREQ_HALBTON;
    Wenn gilt
    (C1 ist gleich HALBTON und FREQ ist > NIEDER_FREQ und FREQ ist < HOCH_FREQ),
    dann ist das Pixel gleich MITTEN_FREQ_HALBTON; und
    Wenn gilt
    (C1 ist gleich HALBTON und FREQ ist > HOCH_FREQ),
    dann ist das Pixel gleich HOCH_FREQ_HALBTON; und
    Wenn gilt
    (das Pixel ist nicht gleich SCHWARZ und das Pixel ist nicht gleich WEISS und das Pixel ist nicht gleich GRAFISCH und das Pixel ist nicht gleich KANTE und das Pixel ist nicht gleich NIEDER_FREQ_HALBTON und das Pixel ist nicht gleich MITTEN_FREQ_HALBTON und das Pixel ist nicht gleich HOCH_FREQ_HALBTON), dann ist das Pixel gleich ANDERE.
  • Das Prädikat jeder der oben beschriebenen Regeln wird auf eine unscharfe Wahrheit statt auf eine absolute Wahrheit erweitert, um den Elementwert für den Mitgliedschaftsvektor bereitzustellen. Um aus der Ungleichung „Y ist > X" eine unscharfe Wahrheit zu machen, wird folglich eine Mitgliedschaftsfunktion für „> X" definiert. In ähnlicher Weise kann eine unscharfe Mitgliedschaftsregel für < X definiert werden (sehr häufig ist die Mitgliedschaft in (< X) gleich mit nicht (> X) : (1 – Mitgliedschaft von (> X)).
  • Um Einfachheit bei der Implementierung zu erreichen, wird die Mitgliedschaft in (> X) wieder wie folgt definiert:
    Figure 00250001
  • Der Wert von ΔX bestimmt den Grad der Fuzzifizierung der Klasse; wenn ΔX äußerst klein ist, dann reduziert sich die Definition zu der harten Definition von „größer als". Es ist des Weiteren zu beachten, dass, obwohl die Fuzzifizierung als eine lineare Beziehung beschrieben worden ist, die Funktion, die die Werte zwischen den Endpunkten und dem Mittelpunkt beschreibt, jede Art von Funktion sein kann. Außerdem könnte der Mittelpunkt absolute Sicherheit in der Klasse darstellen und einen Mitgliedschaftswert von 1 aufweisen, und die Endpunkte könnten absolute Sicherheit bezüglich der Nichtmitgliedschaft darstellen, so dass die Mitgliedschaftswerte grafisch ein Dreieck bilden würden, wobei der Mittelpunkt der Spitzenwert wäre. Dieser Typ Klasse könnte für eine Mitgliedschaftsfunktion der Klasse „= X" eingesetzt werden.
  • Wenn wir zu den mehrfachen Bedingungen („Ifs") in den obigen Regeln zurückkehren, so käme der Mitgliedschaftswer für ein Bild in der Klasse "Kante" dem unscharfen Wert des Prädikats gleich,
    μKante(Bild) = min (μ>Slp-Schwelle(Σlp), μ>Bereichs-Schwelle(Maxgrau – Mingrau), μ>Freq-Schwelle(2D-Freq));
    der Mitgliedschaftswert für ein Bild in der Klasse "Schwarz" käme dem unscharfen Wert des Prädikats gleich,
    μSchwarz(Bild) = min (μSlp-Schwelle(Σlp), μ<Freq-Schwelle(2D-Freq), μ>Schwarz-Schwelle(% der schwarzen Pixel));
    der Mitgliedschaftswert für ein Bild in der Klasse „Weiß" käme dem unscharfen Wert des Prädikats gleich,
    μWeiß(Bild) = min (μ>Slp-Schwelle(Σlp), μ>Freq-Schwelle(2D-Freq), μ>Weiß-Schwelle(% der weißen Pixel));
    der Mitgliedschaftswert für ein Bild in der Klasse „Grafisch" käme dem unscharfen Wert des Prädikats gleich,
    μGrafisch(Bild) = min (μ>Slp-Schwelle(Σlp), μ<Freq-Schwelle(2D-Freq), μ>Schwarz-Schwelle(% der schwarzen Pixel), μ<Weiß-Schwelle(% der weißen Pixel));
    der Mitgliedschaftswert für ein Bild in der Klasse „Niederfrequenz-Halbton" käme dem unscharfen Wert des Prädikats gleich,
    μNiederfreqhalb(Bild) = min (μ>Slp-Schwelle(Σlp), μ>Bereichs-Schwelle(Maxgrau – Mingrau), μ>Freq-Schwelle(2D-Freq), μ>NiederFreq-Schwelle(2D-Freq));
    der Mitgliedschaftswert für ein Bild in der Klasse „Mittenfrequenz-Halbton" käme dem unscharfen Wert des Prädikats gleich,
    μMittenfreqhalb(Bild) = min (μ>Slp-Schwelle(Σlp), μ>Bereichs-Schwelle(Maxgrau – Mingrau), μ>Freq-Schwelle(2D-Freq), μ>NiederFreq-Schwelle(2D-Freq), μ<HochFreq-Schwelle(2D-Freq));
    und der Mitgliedschaftswert für ein Bild in der Klasse „Hochfrequenz-Halbton" käme dem unscharfen Wert des Prädikats gleich,
    μHochfreqhalb(Bild) = min (μ>Slp-Schwelle(Σlp), μ>Bereichs-Schwelle(Maxgrau – Mingrau), μ>Freq-Schwelle(2D-Freq), μ>HochFreq-Schwelle(2D-Freq)).
  • Um das unscharfe Segmentierungsverfahren für die Situation mit zwei Bildklassen zu implementieren, werden von der Bildquelle empfangene Bilddaten in gleitende Pixelblöcke aufgeteilt. Um einen Mitgliedschaftswert für einen bestimmten Bildtyp zu bestimmen, berechnet der unscharfe Bildklassierer dann die Summierung der Quadrate der Laplace-Transformation in einem Fenster um das Pixel herum, das klassifiziert wird. Außerdem berechnet der unscharfe Klassierer den Prozentsatz der Pixel, die einen Grauwert aufweisen, der kleiner ist als ein vorgegebener Schwarzwert, und bestimmt den Prozentsatz der Pixel innerhalb des gleitenden Blocks, die einen Grauwert aufweisen, der größer ist als ein vorgegebener Weißwert.
  • Nach dem Berechnen dieser Informationen bestimmt der unscharfe Klassierer den Bedingungswert für die Bedingung, die sich auf die Summierung der Quadrate der Laplace-Transformation jedes Pixels in dem gleitenden Block bezieht, die größer ist als eine Schwelle der Laplace-Transformation, und den Bedingungswert für die Bedingung, die sich auf die Summe des Prozentsatzes der Pixel bezieht, die einen Grauwert aufweisen, der größer ist als der vorgegebene Schwarzwert, und des Prozentsatzes der Pixel, die einen Grauwert aufweisen, der größer ist als der vorgegebene Weißwert, die größer ist als ein bimodaler Schwellenwert. Nach dem Bestimmen dieser beiden Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Text"-Klasse fest.
  • Der unscharfe Klassierer bestimmt dann den Bedingungswert für die Bedingung, die sich auf die Summierung der Quadrate der Laplace-Transformation jedes Pixels in dem Block bezieht, die kleiner ist als ein Schwellenwert der Laplace-Transformation, und den Bedingungswert für die Bedingung, die sich auf die Summe des Prozentsatzes der Pixel bezieht, die einen Grauwert aufweisen, der kleiner ist als ein vorgegebener Schwarzwert, und des Prozentsatzes der Pixel, die einen Grauwert aufweisen, der größer ist als der vorgegebene Weißwert, die kleiner ist als der bimodale Schwellenwert. Nach dem Bestimmen dieser beiden Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Vollton"-Klasse fest.
  • Der unscharfe Klassierer bestimmt danach den Mitgliedschaftswert für das Pixel in der „anderen" Klasse durch Bestimmen des Minimalwertes zwischen 1 – den „Text"-Mitgliedschaftswert und 1 – den „Vollton"-Mitgliedschaftswert und legt diesen Wert als den Mitgliedschaftswert für das Pixel in der „anderen" Klasse fest.
  • Bei diesem Verfahren werden den Bilddaten-Pixeln, die durch den unscharfen Klassierer empfangen worden sind, Mitgliedschaftswerte für die drei möglichen unscharfen Klassifikationen „Text", „Vollton" oder „andere" zugewiesen. Wie oben erwähnt, ist die Verwendung der „anderen" Klasse erforderlich, um zu vermeiden, dass die Mitgliedschaft des Bildes in allen Klassen sehr klein ist.
  • Es wird nun ein Beispiel für das Implementieren von unscharfer Klassifizierung für einen xerografischen Laserdrucker erörtert, genauer gesagt, ein durch einen unscharfen Klassierer ausgeführtes Verfahren zum Zuweisen von Mitgliedschaftswerten zu den Bilddaten-Pixeln für acht mögliche Typen oder Klassen.
  • Wie bei dem oben beschriebenen Verfahren beginnt das Verfahren durch Aufteilen der Pixel der Bilddaten in gleitende Blöcke von Pixeln. Danach wird jeder gleitende Block von Pixeln untersucht, um die Summe der Laplace-Transformierten in einem vorgegebenen Fenster um das Pixel herum zu bestimmen, das gegenwärtig untersucht wird; um einen Bereichswert zu bestimmen, der der maximalen Graustufe minus der minimalen Graustufe innerhalb des vorgegebenen Fensters um das Pixel herum gleichkommt, das gegenwärtig untersucht wird; um einen Frequenzwert zu bestimmen, der der Messung der örtlichen zweidimensionalen Frequenz um das Pixel herum gleichkommt, das gegenwärtig untersucht wird; um einen Schwarzwert zu bestimmen, der dem Prozentsatz der Pixel gleichkommt, die einen Grauwert aufweisen, der kleiner ist als ein vorgegebener Schwarzwert; und um einen Weißwert zu bestimmen, der dem Prozentsatz der Pixel innerhalb des Fensters gleichkommt, die einen Grauwert aufweisen, der größer ist als ein vorgegebener Weißwert.
  • Nachdem diese verschiedenen Werte bestimmt worden sind, beginnt der unscharfe Klassierer das Zuweisen der Mitgliedschaftswerte. Der unscharfe Klassierer bestimmt den Bedingungswert für die Bedingung, die sich auf die Summe der Laplace-Transformierten in dem vorgegebenen Fenster um das Pixel herum bezieht, das gegenwärtig untersucht wird, die größer ist als eine Halbton-Schwelle, den Bedingungswert für die Bedingung, die sich auf den Bereichswert bezieht, der größer ist als eine Bereichs-Halbton-Schwelle, und den Bedingungswert für die Bedingung, die sich auf den Frequenzwert bezieht, der größer ist als eine Frequenz-Halbton-Schwelle. Nach dem Bestimmen dieser drei Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Halbton"-Klasse fest.
  • Der unscharfe Klassierer bestimmt dann den Bedingungswert für die Bedingung, die sich auf die Summierung der Laplace-Transformieren in dem vorgegebenen Fenster um das Pixel herum bezieht, das gegenwärtig untersucht wird, die größer ist als eine Kanten-Schwelle, den Bedingungswert für die Bedingung, die sich auf den Bereichswert bezieht, der größer ist als eine Bereichs-Kanten-Schwelle, und den Bedingungswert für die Bedingung, die sich auf den Frequenzwert bezieht, der kleiner ist als die Frequenz-Halbton-Schwelle. Nach dem Bestimmen dieser drei Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Kanten"-Klasse fest.
  • Der unscharfe Klassierer bestimmt danach den Bedingungswert für die Bedingung, die sich auf die Summe der Laplace-Transformierten in dem vorgegebenen Fenster um das Pixel herum bezieht, das gegenwärtig untersucht wird, die kleiner ist als die Halbton-Schwelle, und den Bedingungswert für die Bedingung, die sich auf den Frequenzwert bezieht, der kleiner ist als die Frequenz-Halbton-Schwelle. Nach dem Bestimmen dieser beiden Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Vollton"-Klasse fest.
  • Der unscharfe Klassierer bestimmt dann den Bedingungswert für die Bedingung, die sich auf das Pixel bezieht, das ein Vollton-Bild ist, und den Bedingungswert für die Bedingung, die sich auf den Schwarzert bezieht, der größer ist als ein Schwarz-Schwellenwert. Nach dem Bestimmen dieser beiden Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Schwarz"-Klasse fest.
  • Anschließend bestimmt der unscharfe Klassierer den Bedingungswert für die Bedingung, die sich auf das Pixel bezieht, das ein Vollton-Bild ist, und den Bedingungswert für die Bedingung, die sich auf den Weißwert bezieht, der größer ist als der vorgegebene Weiß-Schwellenwert. Nach dem Bestimmen dieser beiden Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Weiß"-Klasse fest.
  • Der unscharfe Klassierer bestimmt den Bedingungswert für die Bedingung, die sich auf das Pixel bezieht, das ein Halbton-Bild ist, und den Bedingungswert für die Bedingung, die sich auf den Frequenzwert bezieht, der kleiner ist als ein Niederfrequenz-Schwellenwert. Nach dem Bestimmen dieser beiden Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Niederfrequenz-Halbton"-Klasse fest. Danach bestimmt der unscharfe Klassierer den Bedingungswert für die Bedingung, die sich auf das Pixel bezieht, das ein Halbton-Bild ist, den Bedingungswert für die Bedingung, die sich auf den Frequenzwert bezieht, der größer ist als der Niederfrequenz-Schwellenwert, und den Bedingungswert für die Bedingung, die sich auf den Frequenzwert bezieht, der kleiner ist als ein Hochfrequenz-Schwellenwert. Nach dem Bestimmen dieser drei Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Mittenfrequenz-Halbton"-Klasse fest.
  • Der unscharfe Klassierer bestimmt den Bedingungswert für die Bedingung, die sich auf das Pixel bezieht, das ein Halbton-Bild ist, und den Bedingungswert für die Bedingung, die sich auf den Frequenzwert bezieht, der größer ist als der Hochfrequenz-Schwellenwert. Nach dem Bestimmen dieser beiden Bedingungswerte bestimmt der unscharfe Klassierer den Minimalwert und setzt diesen Wert als den Mitgliedschaftswert für das Pixel in der „Hochfrequenz-Halbton"-Klasse fest.
  • Schließlich bestimmt der unscharfe Klassierer den Mitgliedschaftswert für das Pixel in der „anderen" Klasse durch Bestimmen des Minimalwertes aus 1 – den „Kanten"-Mitgliedschaftswert, 1 – den „Schwarz"-Mitgliedschaftswert, 1 – den „Weiß"-Mitgliedschaftswert, 1 – den „Grafisch"-Mitgliedschaftswert, 1 – den „Niederfrequenz-Halbton"-Mitgliedschaftswert, 1 – den „Mittenfrequenz-Halbton"-Mitgliedschaftswert und 1 – den „Hochfrequenz-Halbton"-Mitgliedschaftswert und legt diesen Wert als den Mitgliedschaftswert für das Pixel in der „anderen" Klasse fest.
  • Durch Einsetzen dieser Verfahren kann der unscharfe Bildklassierer Schwierigkeiten bei dem Klassenwechsel in Bereichen zwischen zwei oder mehr vordefinierten Typen beseitigen. Mit anderen Worten, diese Verfahren implementieren ein unscharfes Klassifizierungsschema, das dem Definieren verschiedener Bildtypen oder -klassen ermöglicht, allmählich in der Leistung abzufallen. Das unscharfe Verfahren ermöglicht außerdem durch Implementieren eines unscharfen Klassifizierungsverfahrens den unscharfen Mitgliedschaften, anders als jegliche der vordefinierten Klassen, eine Erweiterung aufzuweisen. Genauer gesagt, das Bildverarbeitungssystem kann zwischen einem Kontinuum von möglichen Verarbeitungsabläufen wählen, um eine Ausgabe zu erzeugen.
  • Die beschriebene Ausführungsform ermöglicht außerdem die Bestimmung von Ausgabeparametern, wie zum Beispiel Filterkoeffizienten und Rasterebene, in Anbetracht eines unscharfen Klassifizierungsvektors und einer entsprechenden gewünschten Ausgabe für jede Prototypklasse. Die beschriebene Ausführungsform kann außerdem Ausgabetypen aufnehmen, die bestimmte Beschränkungen (wie zum Beispiel die durchschnittliche Verstärkung des Filters) durch die Verwendung der „anderen" Klasse befriedigen müssen. Die unscharfe Bildverarbeitung mildert das bei Bildsegmentierungsverfahren mit harter Entscheidung übliche Umschaltrauschen erheblich.
  • Die Verarbeitung von Bilddaten für die Wiedergabe mit dem Laserdrucker erfordert die Implementierung von zwei getrennten Vorgängen: Bildverarbeitung zum Verstärken durch Manipulation, die nicht in einem Verlust von Informationen resultiert, wie zum Beispiel Filtern und TRC-Umwandlung; und eine verlustbehaftete Umwandlung des resultierenden Bildes in eine Darstellung, die durch ein Druckmodul entgegengenommen wird, normalerweise eine Reduzierung der Anzahl der Bits pro Pixel entweder durch Anwendung eines Bildschirms oder durch Fehlerdiffusion. Durch Anwenden eines unscharfen Klassifizierungsschemas kann die beschriebene Ausführungsform die durch all die Teilmitgliedschaften vorausgesetzte Verarbeitung zu einem einzelnen Verarbeitungsvorgang vereinigen.
  • Zum Beispiel wird für jede der der unter Verwendung von unscharfer Klassifizierung definierten Klassen ein ideales Verarbeitungsschema bereitgestellt. Dieses ideale Bildverarbeitungsschema würde die Bildverarbeitungsverfahren darstellen, die eingesetzt würden, wenn die Mitgliedschaft in dieser Klasse Eins (1,0) betrüge und alle anderen Klassen eine Mitgliedschaft von Null (0,0) aufwiesen. Das oben beschriebene unscharfe Bildklassifizierungs-Verfahren stellt den Mechanismus zum Bestimmen der Ausgabe für eine gegebene unscharfe Mitgliedschaft bereit, weil die Ausgabe ein Vektor ist. Folglich kann die unscharfe Klassifizierung verwendet werden, um jedes Element des Vektors unabhängig auszuwählen, und dadurch, wie oben erwähnt, ein Kontinuum von möglichen Bildverarbeitungsabläufen bereitzustellen. Dieses Kontinuum ist jedoch nicht direkt für das Bestimmen von Rastervorgängen und zum Bestimmen von Filterkoeffizienten förderlich. Genauer gesagt, ist ein Rastervorgang seiner Beschaffenheit nach diskret; entweder wird ein Raster angewandt oder nicht. An jedem Punkt wird ein Vergleich zwischen den Bilddaten (Video-Ebene) und dem Rasterwert (Raster-Ebene) angestellt, um zu bestimmen, ob ein Pixel AUS- oder EINzuschalten ist. Folglich würde das Rastern wegen seiner Unfähigkeit, auf verschiedenen Ebenen angewandt zu werden, nach seinem äußeren Anschein als ein dürftiger Kandidat für unscharfe Klassifizierungssteuerung erscheinen.
  • Die andere Schwierigkeit entsteht aus dem Bestimmen von Filterkoeffizienten. Die Bildverarbeitung erfordert, dass die Filterkoeffizienten sich auf 1 summieren (d.h. eine konstante Graustufe bei der Eingabe erzeugt die gleiche Graustufe bei der Ausgabe). Falls es eine Wahl zwischen verschiedenen Filtern gibt, erfüllt deren Kombination diese Anforderung möglicherweise nicht mehr.
  • Eine weitere Ausführungsform beseitigt die erste Situation, die Schwierigkeit beim Anwenden eines Rasters in einer unscharfen Klassifizierungsumgebung, durch Ersetzen des Rastervorgangs durch eine lineare Operation, die die gleiche Wirkung erzielt. Statt das gesamte Video mit einem vordefinierten Raster zu vergleichen, wird dem eingehenden Video eine sinusförmige 2-D-Funktion mit einer Amplitudenspitze bei 45 Grad hinzugefügt. Eine genauere Erläuterung dieses Raster-Typs wird in EP-A-0.696.131 offen gelegt.
  • Dieses Rastern, das als Hybrid-Rastern bezeichnet wird, erzeugt ein Video, das mit größerer Wahrscheinlichkeit Ausgabepixel in einem Fehlerdiffusionsverfahren gruppiert (cluster). Dieses Gruppieren von Videodaten ist derjenige Effekt, der sehr angenehm für das menschliche Auge in konstanten oder nahezu konstanten Grauzonen ist. Es ist der Gruppierungseffekt (clustering effect), der die gerasterte Ausgabe einer direkten, nichtgerasterten fehlerdiffundierten Ausgabe überlegen macht.
  • Die Frequenz-Eigenschaften des 2-D-Hybrid-Rasters bestimmen das ungefähre Zeilenpaar-pro-Zoll-Punktraster (Zeilenpaar pro Zoll – line pair per inch – lpi), das in der Ausgabe zu sehen ist; die Fähigkeit, Pixel in großen Punkten anzusammeln, der gewünschte Effekt bei einem Rasterprozess, hängt jedoch von der Amplitude des Rasters ab. Diese Amplitude, ein Skalar, kann unter Verwendung des unscharfen Bildklassifizierungs-Verfahrens der vorliegenden Erfindung leicht modifiziert werden. All die Regeln können eine Rasterebene (d.h. eine Amplitude; groß, mittel, klein oder keine etc.) festsetzen. Die Größe und Frequenz des Rasters sind vorgegeben, damit sie den Eigenschaften des Druckers entsprechen.
  • Die Bildverarbeitung eines Bildes unter Verwendung eines unscharfen Klassifizierungsverfahrens ist sehr ähnlich wie das unscharfe Klassifizierungsverfahren selbst. Zum Beispiel würde im Fall des Rasterns das unscharfe Bildverarbeitungsverfahren drei Rasterklassen (groß, mittel und keine) aufbauen, um den auf das Pixel anzuwendenden Rasterwert zu bestimmen. Jede dieser Klassen hätte einen Satz von Regeln wie bei dem unscharfen Klassifizierungsverfahren, um den Mitgliedschaftswert für das Pixel in der Rasterverarbeitungsklasse zu bestimmen. Der Mitgliedschaftswert würde dann verwendet, um die tatsächliche Rasteramplitude zu berechnen, was unten genauer beschrieben wird.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung sind die Regeln für die Rasterklassen wie folgt:
    Wenn gilt (das Pixel ist gleich „Kante" oder das Pixel ist gleich „Niederfrequenz-Halbton" oder das Pixel ist gleich „Mittenfrequenz-Halbton" oder das Pixel ist gleich „andere"), dann ist das Raster gleich KEIN_RASTER;
    Wenn gilt (das Pixel ist gleich „Schwarz" oder das Pixel ist gleich „Weiß"), dann ist das Raster gleich MITTEL_RASTER; oder
    Wenn gilt (das Pixel ist gleich „Grafisch" oder das Pixel ist gleich „Hochfrequenz-Halbton"), dann ist das Raster gleich VOLL_RASTER.
  • Mit Bezug auf die mehrfachen Bedingungen („Ifs") in den obigen Regeln, käme der Mitgliedschaftswert für ein Bild in der Klasse „KEIN_RASTER" dem unscharfen Wert des Prädikats gleich,
    μKEIN_RASTER(Raster) =
    max (μKante(Pixel), μNiederfreqhalbton(Pixel), μMittenfreqhalbton(Pixel), μandere(Pixel));
    der Mitgliedschaftswert für ein Bild in der Klasse „MITTEL RASTER" käme dem unscharfen Wert des Prädikats gleich,
    μMITTEL_RASTER(Raster) = max (μSchwarz(Pixel), μWeiß(Pixel));
    und der Mitgliedschaftswert für ein Bild in der Klasse „VOLL_RASTER" käme dem unscharfen Wert des Prädikats gleich,
    μVOLL_RASTER(Raster) = max (μGrafisch(Pixel), μHochfreqhalbton(Pixel)).
  • Um das unscharfe Rastern zu implementieren, bestimmt das Verarbeitungssystem den Mitgliedschaftswert des Pixels in jeder der mit einem bestimmten Rasterverfahren verknüpften Klassen und legt den Maximalwert als den Mitgliedschaftswert in der Rasterklasse fest. Wenn zum Beispiel das Pixel Mitgliedschaftswerte für „Kante", „Niederfrequenz-Halbton", „Mittenfrequenz-Halbton" und „andere" von jeweils 0,6, 0,7, 0,2 bzw. 0,3 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der KEIN_RASTER-Klasse einen Mitgliedschaftswert von 0,7 zuweisen. Wenn das Pixel Mitgliedschaftswerte für „Schwarz" und „Weiß" von jeweils 0,6 bzw. 0,5 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der MITTEL_RASTER-Klasse einen Mitgliedschaftswert von 0,6 zuweisen. Wenn schließlich das Pixel Mitgliedschaftswerte für „Grafisch" und „Hochfrequenz-Halbton" von jeweils 0,3 bzw. 0,4 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der VOLL_RASTER-Klasse einen Mitgliedschaftswert von 0,4 zuweisen.
  • Um die tatsächliche Amplitude für den Rasterwert zu bestimmen, würde das unscharfe Verarbeitungsmodul bei der bevorzugten Ausführungsform der vorliegenden Erfindung den Mitgliedschaftswert für jede Rasterklasse mit dem idealen Koeffizienten für diese Klasse multiplizieren und das Produkt durch die Summe der Mitgliedschaftswerte dividieren. Bei der bevorzugten Ausführungsform ist der KEIN_RASTER-Koeffizient gleich 0, der MITTEL_RASTER-Koeffizient ist 0,5, und der VOLL_RASTER-Koeffizient ist 1,0. Folglich käme in dem oben beschriebenen Beispiel die Rasteramplitude für das Pixel, das verarbeitet wird, einem Skalarwert von 0,412 gleich (((1,0·0,4) + (0,5·0,6) + (0,0·0,7))/(0,4 + 0,6 + 0,7)).
  • Ein Beispiel für die Anwendung von unscharfer Klassifizierung auf das Rastern wird in 19 dargestellt. Wie in 19 erläutert, werden das Videosignal oder Bilddaten in einen unscharfen Klassierer 80 eingegeben, der die Bilddaten den oben beschriebenen Regeln entsprechend klassifiziert. Der unscharfe Bildklassierer 80 erzeugt dann einen Mitgliedschaftsvektor, der an eine Rasterereugungs-Schaltung 88 weitergegeben wird. Die Rastererzeugungs-Schaltung 88 erzeugt einen Rasterwert, der in einer Addiereinrichtung 89 zu den Bilddaten addiert wird. Die Bilddaten, die mit dem Rasterwert summiert werden, entsprechen dem gleichen Pixel, das durch den unscharfen Bildklassierer 80 klassifiziert worden war. Mit anderen Worten, das in 19 dargestellte System umfasst auch (nicht abgebildete) Puffer, um sicherzustellen, dass das Pixel, das verarbeitet wird, dem korrekten Mitgliedschaftsvektor entspricht, der verwendet wird, um die Verarbeitungsparameter zu definieren.
  • Ein genaueres Beispiel für die Anwendung von unscharfer Segmentierung auf das Rastern wird in 20 dargestellt. Wie in 20 erläutert, werden das Videosignal oder Bilddaten in einen unscharfen Klassierer 80 eingegeben, der die Bilddaten den oben beschriebenen Regeln entsprechend klassifiziert. Der unscharfe Bildklassierer 80 erzeugt dann einen Mitgliedschaftsvektor, der an eine Rastererzeugungs-Schaltung 88 weitergegeben wird. Die Rastererzeugungs-Schaltung 88 umfasst eine Rastergewichtungs-Schaltung 883, eine Rasterwert-Erzeugungsschaltung 881 und eine Multipliziereinrichtung 885.
  • Die Rastergewichtungs-Schaltung 883 erzeugt einen Gewichtungsfaktor in Reaktion auf die Werte in dem Mitgliedschaftsvektor, um ein Kein-Raster, ein mittleres Raster oder ein hohes Raster oder ein beliebiges Raster dazwischen zu erzeugen, wie oben erörtert. Mit anderen Worten, wenn das Pixel Mitgliedschaftswerte für „Kante", „Niederfrequenz-Halbton", „Mittenfrequenz-Halbton" und „andere" von jeweils 0,8, 0,7, 0,1 bzw. 0,3 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der KEIN_RASTER-Klasse einen Mitgliedschaftswert von 0,8 zuweisen. Wenn das Pixel außerdem Mitgliedschaftswerte für „Schwarz" und „Weiß" von jeweils 0,4 bzw. 0,1 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der MITTEL_RASTER-Klasse einen Mitgliedschaftswert von 0,4 zuweisen. Wenn schließlich das Pixel Mitgliedschaftswerte für „Grafisch" und „Hochfrequenz-Halbton" von jeweils 0,2 bzw. 0,0 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der VOLL_RASTER-Klasse einen Mitgliedschaftswert von 0,2 zuweisen.
  • Folglich käme in diesem Beispiel die Rasteramplitude für das Pixel, das verarbeitet wird, einem Skalarwert von
    0,286 gleich (((1,0·0,2) + (0,5·0,4) + (0,0·0,8))/(0,2 + 0,4 + 0,8)).
  • Die Rasterwert-Erzeugungsschaltung 881, die eine Zuordnungstabelle oder eine fest verdrahtete Schaltung sein kann, erzeugt einen Rasterwert auf Basis der Position des Pixels (Bilddaten) innerhalb des Bildes. Der Gewichtungsfaktor von der Rastergewichtungs-Schaltung 883 und der Rasterwert von der Rasterwert-Erzeugungsschaltung 881 werden durch die Multipliziereinrichtung 885 miteinander multipliziert, um den zu dem Pixel zu addierenden Rasterwert zu erzeugen. Dieser Rasterwert wird in der Addiereinrichtung 89 zu den Bilddaten addiert.
  • Die Bilddaten, die mit dem Rasterwert summiert werden, entsprechen dem gleichen Pixel, das durch den unscharfen Bildklassierer 80 klassifiziert worden war. Mit anderen Worten, das in 20 dargestellte System umfasst auch (nicht abgebildete) Puffer, um sicherzustellen, dass das Pixel, das verarbeitet wird, dem korrekten Mitgliedschaftsvektor entspricht, der verwendet wird, um die Verarbeitungsparameter zu definieren.
  • Wie oben erwähnt, sind die Schwierigkeiten bei der Verwendung eines unscharfen Bildklassifizierungs-Systems zum Steuern von digitalem Filtern zweifacher Art. Erstens ist das digitale Filtern keine Skalarfunktion, sondern eine Matrixfunktion. Zweitens gibt es eine Beschränkung bei der Matrixfunktion; das Filter muss eine Verstärkung von 1,0 bei (ω1 ω2) = (0,0) aufweisen. Dies stellt sicher, dass die konstanten Grauzonen nicht durch das Filtern verändert werden.
  • Um dieses Problem zu beheben, verwendet die bevorzugte Ausführungsform die gewichtete Summierung mehrerer vordefinierter Filter um die gefilterten Ergebnisse zu erzeugen. Diese Filter sind Filter, die mit einer bestimmten Filterklasse verknüpft sind; d.h. eine Filterklasse ist „Verstärken", eine Filterklasse ist „Tiefpass" und eine weitere Filterklasse ist „andere". Ein digitales Filter hat die Form von Fo = Σ μi Fi, wobei all die Fis den mit jeder iten Klasse (oder Klassen) verknüpften Filtern entsprechen, und μi der Mitgliedschaft des Bildes in der iten Klasse entspricht, wie durch die unscharfe Verarbeitungsroutine bestimmt.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung sind die Regeln für die Filterklassen wie folgt:
    Wenn gilt (das Pixel ist gleich „Kante" oder das Pixel ist gleich „Grafisch" oder das Pixel ist gleich „Niederfrequenz-Halbton"), dann ist das Filter gleich VERSTÄRKEN; oder
    Wenn gilt (das Pixel ist gleich „Hochfrequenz-Halbton"), dann ist das Filter gleich TIEFPASS.
  • Mit Bezug auf die mehrfachen Bedingungen („Ifs") in den obigen Regeln käme der Mitgliedschaftswert für ein Bild in der Klasse „VERSTÄRKEN" dem unscharfen Wert des Prädikats gleich,
    μVERSTÄRKEN(Filter) = max (μKante(Pixel), μNiederfreqhalbton(Pixel), μGrafisch(Pixel));
    und der Mitgliedschaftswert für ein Bild in der Klasse „TIEFPASS" käme dem unscharfen Wert des Prädikats gleich,
    μTIEFPASS(Filter) = max (μHochfreqhalbton(Pixel)).
  • Um das unscharfe Rastern zu implementieren, bestimmt das Verarbeitungssystem den Mitgliedschaftswert des Pixels in jeder der mit einem bestimmten Rasterverfahren verknüpften Klassen und legt den Maximalwert als den Mitgliedschaftswert in der Rasterklasse fest. Wenn zum Beispiel das Pixel Mitgliedschaftswerte für „Kante", „Niederfrequenz-Halbton", und „Grafisch" von jeweils 0,6, 0,7, bzw. 0,3 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der Klasse VERSTÄRKEN einen Mitgliedschaftswert von 0,7 zuweisen. Wenn das Pixel weiter Mitgliedschaftswerte für „Hochfrequenz-Halbton" 0,6 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der TIEFPASS-Klasse einen Mitgliedschaftswert von 0,6 zuweisen.
  • Um die tatsächlichen Koeffizienten für die verschiedenen Filter zu bestimmen, muss das unscharfe Verarbeitungssystem sicherstellen, dass das aus dem Regelsatz resultierende unscharfe Filtern der Beschränkung einer Verstärkung von 1,0 mit der Frequenz (ω1 ω2) = (0,0) entspricht. Um dieses Problem zu entschärfen, wird eine der Ausgabefilterwahlen der Umgehungsfunktion zugewiesen. Für die Umgehung gilt Vaus = Vein; d.h. es wird kein Filtern ausgeführt. Folglich ist das resultierende Filter Fo = Σ ui Fi + (1 – Σ μi)·FB,so dass, wenn der gewünschte Effekt das Umgehungsfilter ist, der Wert auf Null geht und der Effekt des Filters Fi ignoriert wird.
  • Es wird bemerkt, dass das Verstärkungsfilter alle höheren Frequenzen verstärkt und das Tiefpass-Filter die höheren Frequenzen abschwächt. Der Koeffizientwert, c, für das Umgehungsfilter kann unter Verwendung von cUmgehung = 1 – μVerstärken(Filter) – μTiefpass(Filter)bestimmt werden, so dass das Ausgabefilter als Fo = μVerstärken(Filter)·FVerstärken + μTiefpass(Filter)·FTiefpass + CUmgehung·FUmgehung beschrieben werden kann.
  • Ein Beispiel für die Bildverarbeitung eines Bildes unter Verwendung unscharfer Klassifizierung mit Bezug auf das Filtern der Bilddaten wird in 18 dargestellt. Wie in 18 erläutert, werden Videodaten oder Bilddaten parallel in einen unscharfen Klassierer 80, in ein Tiefpassfilter 81, in ein Verstärkungsfilter 82 und in ein Umgehungsfilter 83 eingegeben. Wie oben beschrieben, bestimmt der unscharfe Klassierer 80 den Mitgliedschaftsvektor des zu verarbeitenden Pixels durch den parallelen Satz von Filtern. Es ist zu beachten, dass dieses Verfahren (nicht abgebildete) Puffer umfasst, um sicherzustellen, dass das Pixel, das gefiltert wird, dem korrekten Mitgliedschaftsvektor entspricht, der verwendet wird, um die Verarbeitungsparameter zu definieren.
  • Auf Basis dieser Klassifizierung veranlasst der unscharfe Klassierer 80 das Gesamtfilter, einen Satz von Koeffizienten zu erzeugen, die auf Multipliziereinrichtungen 84, 85 und 86 angewandt werden. Die Koeffizienten ermöglichen es dem Gesamtfilter, die Ausgabe von den verschiedenen Filtern der unscharfen Bildklassifizierung entsprechend zu gewichten.
  • Wenn zum Beispiel, wie oben erwähnt, das Pixel Mitgliedschaftswerte für „Kante", „Niederfrequenz-Halbton", und „Grafisch" von jeweils 0,6, 0,7 bzw. 0,3 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der Klasse VERSTÄRKEN einen Mitgliedschaftswert von 0,7 zuweisen, was wiederum der dem Verstärkungsfilter 82 zugewiesene und in die Multipliziereinrichtung 85 eingegebene Filterkoeffizient ist. Wenn das Pixel außerdem Mitgliedschaftswerte für „Hochfrequenz-Halbton" von je 0,6 aufwiese, würde das Verarbeitungssystem den Mitgliedschaftsvektor decodieren und der TIEFPASS-Klasse einen Mitgliedschaftswert von 0,6 zuweisen, was wiederum der dem Tiefpassfilter 81 zugewiesene und in die Multipliziereinrichtung 84 eingegebene Filterkoeffizient ist. Dies lässt die Erzeugung des Koeffizienten für das Umgehungsfilter 83 übrig.
  • Wie oben erwähnt, brauchen die erzeugten Koeffizienten eine solche Beziehung, dass die Summe der Koeffizienten nicht größer als 1 ist, damit die Verstärkung der Gesamtausgabe von den Filtern 1 gleichkommt. Folglich ist in der bevorzugten Ausführungsform der vorliegenden Erfindung der Koeffizient für das Umgehungsfilter 1 minus den Verstärkungs-Koeffizienten minus den Tiefpass-Koeffizienten (in dem Beispiel 1 – 0,7 – 0,6 = –0,3). Dieser Koeffizient wird auf die Multipliziereinrichtung 86 angewandt. Die gewichteten Filterausgaben werden dann in eine Addiereinrichtung 87 eingegeben, die all die Ausgaben addiert, um ein gefiltertes Bilddaten-Pixel zu erzeugen, das seiner unscharfen Bildklassifizierung entsprechend gefiltert worden ist.
  • Obwohl 18 den Einsatz eines unscharfen Klassierers mit einer Vielzahl von unterschiedlichen Filtern darstellt, kann der unscharfe Klassierer auch in Verbindung mit einem modularen zeitvariablen zweidimensionalen nicht-separierbaren Filter eingesetzt werden, wobei das nicht-separierbare Filter aus einer Vielzahl von separierbaren Filtern besteht.
  • Der Einsatz von separierbaren Filtern ermöglicht es einem nicht-separierbaren Filter mit einer bestimmen Form, in einer kostengünstigen Weise implementiert zu werden. Außerdem kann ein separierbares zweidimensionales Filter als ein eindimensionales Filter beschrieben werden, das in vertikaler Richtung oder Slowscan-Richtung wirkt, gefolgt von einem weiteren eindimensionalen Filter, das in horizontaler Richtung oder Fastscan- Richtung wirkt. Folglich kann die Filtermatrix als das Produkt aus Fvh = fv·fh beschrieben werden, wobei Fvh eine N-mal-M-Matrix ist, fv ein N-Längen-Spaltenvektor (das vertikale Filter) ist und fh ein M-Längen-Zeilenvektor (das horizontale Filter) ist.
  • Falls die Matrix Fvh nicht unter Verwendung der obigen Gleichung dargestellt werden kann, wird die Matrix als nicht-separierbar betrachtet, und die Implementierung mit separierbarem Filter kann nicht eingesetzt werden. Wenn jedoch die N-mal-M-Matrix unter Verwendung einer Singulärwertzerlegung dargestellt wird, wie zum Beispiel Fvh = U·S·V, wobei U eine unitäre N-mal-N-Matrix ist, S eine diagonale N-mal-M-Matrix ist und V eine unitäre M-mal-M-Matrix ist, kann eine Implementierung mit separierbarem Filter eingesetzt werden. Wenn N und M nicht gleich sind, kann die obige Gleichung des Weiteren in Fvh = Ur·Sr·Vr geändert werden,
    wobei gilt Q = min (n, m). Ur ist eine N-mal-X-Untermatrix von U, Sr ist eine Q-mal-Q-Untermatrix von S, und Vr ist eine M-mal-Q-Untennatrix von V.
  • In Summierungsform gebracht, ist die resultierende Darstellung Fvh = Σs(i)·ui·vi,wobei i größer als oder gleich 1 ist, aber kleiner als oder gleich Q.
  • In dieser Darstellung ist der Vektor s(i) eine Diagonale der Matrix Sr, ui ist der ite Spaltenvektor von Ur, und vi ist der ite Spaltenvektor von Vr. Jeder Bestandteil ist ein separierbares Filter, ähnlich wie das oben beschriebene, mit Ausnahme eines Verstärkungsfaktors s(i). Mit anderen Worten, ein beliebiges nicht-separierbares Filter der Länge N mal M kann als die gewichtete Summierung von Q separierbaren N-mal-M-Filtern dargestellt werden. Um ein nicht-separierbares Filter unter Verwendung der gewichteten Mittelwerte von mehreren der Filter zu implementieren, wird die Hardware folglich zu einer Ansammlung von Q separierbaren Filtermodulen, Q Multipliziereinrichtungen und einer Addiereinrichtung. Eine solche Hardware-Implementierung wird in 3 dargestellt.
  • Das nicht-separierbare Filter 1 in 3 umfasst eine Vielzahl von separierbaren Filtern 2, 4, 6 und 8. Jedes dieser separierbaren Filter umfasst ein vertikales Filter und ein horizontales Filter, wodurch aus dem separierbaren Filter ein separierbares zweidimensionales Filter wird. Das zweidimensionale separierbare Filter 2 umfasst zum Beispiel ein vertikales Filter 3 und ein horizontales Filter 5; das Filter 4 umfasst ein vertikales Filter 7 und ein horizontales Filter 9; das Filter 6 umfasst ein vertikales Filter 11 und ein horizontales Filter 13; und das Filter 8 umfasst ein vertikales Filter 15 und ein horizontales Filter 17.
  • Es wird bemerkt, dass, falls das nicht-separierbare Filter 1 ein dreidimensionales Filter ist, die einzelnen separierbaren Filter 2, 4, 6 und 8 jeweils 3 verschiedene Filter umfassen würden, von denen jedes eine unterschiedliche Dimension des Raums filtern würde. Solche dreidimensionalen Filter sind wertvoll beim Filtern von bewegten Bilddaten, wie zum Beispiel bei einer Film- oder Videoaufzeichnung.
  • Die Ausgabe jedes separierbaren Filters wird in eine Multipliziereinrichtung eingegeben, die die Ausgabe des separierbaren zweidimensionalen Filters mit einem Verstärkungsfaktor s(i) multipliziert. Zum Beispiel wird die Ausgabe von dem zweidimensionalen separierbaren Filter 2 in eine Multipliziereinrichtung 10 eingegeben und mit dem Verstärkungsfaktor s1 multipliziert; die Ausgabe von dem Filter 4 wird in eine Multipliziereinrichtung 12 eingegeben und mit dem Verstärkungsfaktor s2 multipliziert; die Ausgabe von dem Filter 6 wird in eine Multipliziereinrichtung 14 eingegeben und mit dem Verstärkungsfaktor s3 multipliziert; und die Ausgabe von dem Filter 8 wird in eine Multipliziereinrichtung 16 eingegeben und mit dem Verstärkungsfaktor SQ multipliziert.
  • Der Verstärkungsfaktor kann ein vorgegebener Verstärkungsfaktor oder ein durch den oben beschriebenen unscharfen Klassierer gesetzter Verstärkungsfaktor sein. In der bevorzugten Ausführungsform der vorliegenden Erfindung wird der Verstärkungsfaktor s(i) durch den unscharfen Klassierer entsprechend dem identifizierten Bildtyp oder der identifizierten Bildklasse des Pixels, das verarbeitet wird, wie oben beschrieben, gesetzt.
  • Die Ausgaben von jeder der Multipliziereinrichtungen 10, 12, 14 und 16 werden in eine Addiereinrichtung 18 eingegeben, die all die Ausgaben summiert, um ein zweidimensional gefiltertes Bilddaten-Pixel zu erzeugen. Es wird bemerkt, dass die Summierung all der Verstärkungsfaktoren s(i) 1 gleichkommt, um sicherzustellen, dass die Gesamtverstärkung des nicht-separierbaren Filters 1 gleich 1 ist. Es wird des Weiteren bemerkt, dass jedes separierbare Filter 2, 4, 6 und 8 parallel das gleiche Bilddaten-Pixel empfängt. Außerdem werden für jedes separierbare zweidimensionale Filter 2, 4, 6 und 8 die Koeffizienten bereitgestellt, die benötigt werden, um das zweidimensionale Filtern an diesem bestimmten Pixel auszuführen. Diese Koeffizienten können vorgegeben sein, oder sie können aus einem Satz unterschiedlicher Koeffizienten abhängig von dem Bildtyp oder der Bildklasse des Bilddaten-Pixels, das verarbeitet wird, ausgewählt werden.
  • 4 stellt die Beziehung eines nicht-separierbaren zweidimensionalen Filters in einem Bildverarbeitungsschema dar. Wie in 4 erläutert, werden Videodaten parallel in eine Segmentierungsschaltung 300 und in Puffer 306 eingegeben. Die Segmentierungsschaltung 300 kann entweder eine herkömmliche Bildsegmentierungs-Schaltung oder die oben erörterte unscharfe Segmentierungsschaltung sein. Die Segmentierungsschaltung 300 bestimmt den Bildtyp oder die Bildklasse des Bilddaten-Pixels, das verarbeitet wird. Diese Bildtyp- oder -klasseninformationen werden in eine Gewichtungskoeffizienten- und Verstärkungsfaktor-Erzeugungseinrichtung 302 eingegeben, die die durch das nicht-separierbare zweidimensionale Filter 304 einzusetzenden Gewichtungskoeffizienten und Verstärkungsfaktoren erzeugt.
  • Die Segmentierungsschaltung 300 erzeugt darüber hinaus andere Informationen mit Bezug auf den Bildtyp oder die Bildklasse, die als Effekte bezeichnet werden und die später in dem Bildverarbeitungssystem einzusetzen sind. Das nicht-separierbare zweidimensionale Filter 304 setzt die Gewichtungskoeffizienten und die Verstärkungsfaktoren ein, um die von dem Puffer 306 empfangenen Bilddaten-Pixel richtig zu filtern, um ein zweidimensional gefiltertes Bilddaten-Pixel zu erzeugen.
  • Verglichen mit einer direkten Implementierung eines separierbaren N-mal-M-Filters macht die Implementierung des nicht-separierbaren Filters, der eine Vielzahl von separierbaren Filtern einsetzt, den Entwurf eines N-mal-M-Filters sehr modular. Diese Modularität beschleunigt die Neugestaltung eines neuen Filters sehr, da nur die einzelnen separierbaren Filterbestandteile neu gestaltet zu werden brauchen. Wenn das separierbare Modul leicht für viele unterschiedliche Größen gestaltet werden kann, übernimmt darüber hinaus das nicht-separierbare Modul das gleiche Konfigurationsmaß.
  • Ein weiterer wesentlicher Vorteil dieses Typs der Implementierung für ein nicht-separierbares Filter besteht darin, dass ein Filter wegen seiner modularen Beschaffenheit unter Verwendung der minimal erforderlichen Menge an Hardware implementiert werden kann. Angenommen, dass zum Beispiel ein nicht-separierbares 11-x-15-Filter gewünscht wird, so stellt man nach dem Ausführen einer Singulärwertzerlegung an dem nicht-separierbaren 11-x-15-Filter fest, dass nur zwei Elemente des Verstärkungsvektors s(i) nicht Null sind und folglich die Filtermatrix für das 11-x-15-Filter einen Rang von 2 hat. Dies träfe ebenfalls zu, wenn der Verstärkungsvektor s(i) nur über 2 Elemente verfügte, die viel größer wären als all die anderen Elemente des Verstärkungsvektors s(i). In einem solchen Fall kann das Filter unter Verwendung von nur 2 separierbaren Filterblöcken in Hardware implementiert werden und nicht mit 11 Blöcken, wie es erforderlich wäre, wenn die Filtermtrix vollen Rang hätte.
  • Zusätzlich dazu, dass sie nützlich bei der Implementierung von nicht-separierbaren Filtern ist, kann die Implementierung der vorliegenden Erfindung leicht angepasst werden, um zeitvariable Filter zu implementieren. Die separierbaren Filter haben möglicherweise nicht die Fähigkeit, ihre Koeffizienten zeitlich zu variieren, daher können die separierbaren Filter nicht eingesetzt werden, um ein zeitvariables Filter zu implementieren. Unter Verwendung der Konzepte der vorliegenden Erfindung können diese Filter jedoch mit sehr wenig zusätzlicher Hardware verwendet werden, um ein zeitvariables nicht-separierbares Filter zu erzeugen.
  • Das oben beschriebene nicht-separierbare Filter kann zum Beispiel zeitvariabel gemacht werden, indem der Vektor s(i) zu einer Funktion von Zeit und Position gemacht wird. Falls der Vektor s(i) nicht statisch, sondern stattdessen zeitvariabel ist, kann der Gesamtfilter ebenfalls zeitvariabel sein. Falls gewünscht, können sich die Vektorwerte von Abfragewert zu Abfragewert (sample by sample) oder auf einer Pixel-für-Pixel-Basis ändern. Der zeitvariable Effekt kann erlangt werden, indem man nur einige programmierbare Verstärkungen hat; d.h. nicht alle Koeffizienten müssen zeitvariabel sein, um gute zeitvariable Eigenschaften aufzuweisen. Obwohl keine völlige Freiheit beim Auswählen der Leistung des Filters in Anbetracht einer bestimmten Zeit und Position besteht, stellt die Implementierung der vorliegenden Erfindung mehrere Freiheitsgrade bereit, die die Funktionalität der Filter für viele praktische Anwendungen ausreichend erheblich erweitern.
  • Es wird angenommen, dass zum Beispiel drei unterschiedliche separierbare Filter vorliegen, von denen eines ein Tiefpassfilter ist, eines ein Mittelbereichsfilter (Bandpassfilter) und eines ein Hochpassfilter ist. Des Weiteren ist es wünschenswert, eine Kombination dieser Filter zu implementieren, die im Zeitverlauf variiert. Außerdem ist bei einem gewissen gegebenen Umstand das Tiefpassfilter der gewünschte Effekt. In einem solchen Szenario wäre die Gewichtung auf dem Tiefpassfilter 1 mit einer Null-Gewichtung auf den anderen beiden Filtern; d.h. der s(i)-Vektor wäre gleich [1 0 0]. Zu einem anderen Zeitpunkt kann es erforderlich sein, das Tiefpassfilter zu blockieren und das Mittelbereichs-Filter um einen Faktor von 0,5 abzuschwächen und das Hochpassfilter um 1,2 zu verstärken. Dies wird durch Festsetzen der Werte des s(i)-Vektors so, dass sie [0 0,5 1,2] gleichkommen, erreicht. Es wird bemerkt, dass ein Umgehungsfilter in diesen Beispielen enthalten wäre, um eine Verstärkung von 1,0 mit Bezug auf die unscharfe Verarbeitung sicherzustellen, wie oben beschrieben.
  • Eine Anwendung, bei der diese Flexibilität eine benötigte Funktionalität bereitstellt, besteht in dem Bereitstellen von Filtern, wie es beim Einsetzen von unscharfer Bildsegmentierung oder von unscharfer Bildverarbeitung erforderlich ist. Bei der unscharfen Situation gibt es unterschiedliche vordefinierte Klassen, von denen jede mit einem gewünschten Filter verknüpft ist. Wenn eine unscharfe Bildsegmentierung eingesetzt wird, wird einem Pixel außerdem nicht eine Klasse zugewiesen, sondern eine Mitgliedschaft in jeder der vordefinierten Klassen. Abhängig von dem Vektor der Segmentierungsklasse ist das gewünschte Filter eine gewichtete Summierung jedes der verknüpften Filter.
  • Genauer gesagt, kann zum Beispiel in einer Situation, in der ein unscharfer Zweiklassen-Klassierer eingesetzt wird, die erste Klasse erfordern, dass das Objekt tiefpassgefiltert wird, und die zweite Klasse erfordert, dass das Objekt hochpassgefiltert wird. Falls das Objekt vom Typ der ersten Klasse ist, wird das Tiefpassfilter implementiert; wenn das Objekt jedoch vom Typ der zweiten Klasse ist, wird das Hochpassfilter implementiert.
  • Nach der unscharfen Bildsegmentierung wird bestimmt, dass das Objekt eine Mitgliedschaft von 0,7 in der ersten Klasse und von 0,3 in der zweiten Klasse haben soll. Eine solche Festlegung wird in der Entscheidung resultieren, ein Filter zu implementieren, das die Summierung von 0,7 des Tiefpassfilters und 0,3 des Hochpassfilters ist. Eine solche Implementierung kann leicht durch Setzen der Werte des s(i)-Vektors so, dass sie [0,7 0,3 0] gleichkommen, erreicht werden. Falls das nächste Pixel unterschiedlich klassifiziert wird, wird sein zugehöriges Filter durch Ändern des Vektors s(i) gebildet, um das gewünschte kohärente Filter zu erzeugen.
  • Üblicherweise wird ein zweidimensionales Filter in Hardware als ein Filter mit fester Größe, wie zum Beispiel als ein N-mal-M-Filter, implementiert. Häufig ist das Filter nicht selbstgetaktet, was bedeutet, dass seine Ausgabe größer als die ursprüngliche Eingabe ist, da die Faltung die Größe einer Eingabe mit fester Länge verändert. Dies ist keine wünschenswerte Eigenschaft zum Verarbeiten von Dokumenten, wo eine Größenbeschränkung aufgrund der Größe der Anzeigemedien besteht; d.h, der Bildschirmgröße oder des Papierformats. Um dieser Situation zu begegnen, wird ein selbstgetaktetes zweidimensionales Filter vorgeschlagen.
  • Bei einem selbstgetakteten Filter handelt es sich um eines, das kein externes System erfordert, um es mit zusätzlichen Informationen, wie zum Beispiel Abtastzeilen, Pixel oder Steuersignalen, zu versorgen, bevor oder nachdem die Eingabezeile oder -Seite verarbeitet worden ist, um die Abmessungen der Ausgabeseite zu erhalten. Folglich wird die Zahl der Abtastzeilen und der Pixel pro Abtastzeile auf der Ausgabeseite gleich wie die Zahl der Abtastzeilen und der Pixel pro Abtastzeile auf der Eingabeseite gehalten. Das selbstgetaktete Filter ist nicht auf eine bestimmte Größe beschränkt, sondern kann auf eine beliebige Größe programmiert werden, die kleiner als ein maximales N mal M ist, wobei N die Zahl der Elemente in der Slowscan-Richtung ist und M die Zahl der Elemente in der Fastscan-Richtung ist.
  • Das selbstgetaktete zweidimensionale Filter der vorliegenden Erfindung wird unter Verwendung der oben mit Bezug auf das nicht-separierbare zweidimensionale Filter beschriebenen separierbaren Implementierung erreicht. Bei dieser separierbaren Implementierung wird das Eingabevideo einem Filtervorgang in der Slowscan-Richtung (in vertikaler Richtung) unterzogen, gefolgt von einem Filtervorgang in der Fastscan-Richtung (in horizontaler Richtung). Obwohl das Slowscan- und das Fastscan-Filter sich auf dem gleichen Chip befinden können, wirkt jedes Filter unabhängig von dem anderen.
  • Bei einer Q-mal-R-Implementierung (Q ist kleiner als oder gleich N, und R ist kleiner als oder gleich M) wird das Filter mit Q – 1 externen FIFO-Vorrichtungen (first in, first out – zuerst hinein, zuerst hinaus) verbunden, die verwendet werden, um Videodaten für die Slowscan-Richtung zu puffern. Zusätzlich werden Fensterzeiger (Kennungen, die zusammen mit dem Eingabevideo weitergegeben werden und die Pixel-Eigenschaften beschreiben), die dem mittleren Slowscan-Element entsprechen müssen, durch (Q – 1)/2 FIFOs gepuffert. Die abschließende Videoausgabe des Filters kann gefiltertes Video oder ungefiltertes Video sein, wobei das ungefilterte Video während des Umgehungsmodus erzeugt wird. Der Umgehungspfad-Modus wird gewählt, wenn nicht genügend Kontext vorhanden ist, um richtiges Filtern zu ermöglichen, wie zum Beispiel um den Rand der Seite.
  • Während der Verarbeitung der Eingabeseite erzeugt das Filter keinerlei Ausgabe, während die ersten (Q – 1)/2 Abtastzeilen in das Filter eingegeben werden. Bei der der ((Q – 1)/2)ten Abtastzeile folgenden Abtastzeile beginnt das selbstgetaktete Filter jedoch, Videodaten in dem Umgehungsmodus auszugeben. Aufgrund eines Mangels an Kontext in dem Umgehungsmodus beendet das mittlere Slowscan-Element, das durch Puffern des Eingabevideos mit (Q – 1)/2 FIFOs erzeugt wird, das Filter unverändert während des Umgehungsmodus. Ein Q-mal-R-Filter erfordert Q Zeilen Kontext, bevor es den Filtervorgang beginnen kann. Folglich verbleibt das Filter über (Q – 1)/2 Abtastzeilen in dem Umgehungsmodus, bis es die Qte Abtastzeile beginnt, zu welcher Zeit es den Filtervorgang beginnt und das gefilterte Video ausgibt. Es beendet das Filtern von Videodaten, wenn die letzte Abtastzeile der Eingabeseite verarbeitet worden ist.
  • Da das Filter das Ausgeben von Daten nicht vor der der ((Q – 1)/2)ten Abtastzeile folgenden Abtastzeile begonnen hat, müssen (Q – 1)/2 zusätzliche Abtastzeilen am Ende einer Eingabeseite erzeugt werden, um die Gesamtzahl der Abtastzeilen auf der Ausgabeseite zu erhalten. Um dieser Situation zu begegnen, erzeugt das selbstgetaktete zweidimensionale N-mal-M-Fifter die (Q – 1)/2 zusätzlichen Abtastzeilen, sobald die Eingabeseite beendet ist, um die Gesamtzahl der Abtastzeilen auf der Ausgabeseite zu erhalten.
  • Bei dieser Implementierung wird eine Abtastseite durch drei Signale beschrieben; Pagesync, Linesync und Video Valid. Das erste Signal, Pagesync, bestimmt, wann eine Seite aktiv ist. Das zweite Signal, Linesync, bestimmt, wann eine Abtastzeile aktiv ist. Das dritte Signal ist ein Video- oder Pixel-Freigabesignal, das gültige Videoinformationen während einer Abtastzeile angibt. Die Erzeugung von (Q – 1)/2 zusätzlichen Abtastzeilen, sobald die Eingabeseite beendet ist, wird durch Erzeugen eines neuen Satzes interner Signale durchgeführt, die als die Seite-aktiv-, Zeile-aktiv- und Video-Freigabesignale für das übrige Filter fungieren. Diese Signale steuern außerdem das Ausleeren der letzten ((Q – 1)/2) Abtastzeilen von Videoinformationen, die in dem FIFO gespeichert sind.
  • 5 stellt ein Beispiel eines selbstgetakteten zweidimensionalen 9-x-15-Filters nach der vorliegenden Erfindung dar. Wie in 5 erläutert, empfängt das selbstgetaktete 9-x-15-Filter 500 die Eingabesignale Linesync, Video Valid, Pagesync und Systemuhr. Diese Signale werden gepuffert und dann in eine Steuerlogik-Schaltung 502 eingegeben, die interne Signale erzeugt, die für den Selbsttaktungs-Mechanismus verwendet werden. Bei der bevorzugten Ausführungsform der vorliegenden Erfindung sind die neuen internen Signale New Linesync, New Video Valid und New Pagesync.
  • Diese drei neuen Signale werden in die nicht-separierbare zweidimensionale Filterschaltung 501 eingegeben, die dem in 3 dargestellten nicht-separierbaren Filter 1 entsprechend implementiert ist. Das selbstgetaktete nicht-separierbare zweidimensionale Filter 500 empfängt ebenfalls neun Abtastzeilen an Videodaten, wobei acht Abtastzeilen an Videodaten vor dem Eintreten in die nicht-separierbare zweidimensionale Filterschal tung 501 in FIFOs eingegeben werden. Es ist außerdem eine Verzögerungsschaltung 503 zum Verzögern der Videoausgabe und des Klassifizierungssignals enthalten.
  • In dieser Situation gibt das selbstgetaktete zweidimensionale Filter 500 keine Videodaten aus, während die ersten vier Abtastzeilen der Eingabeseite in das selbstgetaktete zweidimensionale Filter 500 eingegeben werden. Wenn das selbstgetaktete zweidimensionale Filter 500 die fünfte Abtastzeile der Eingabeseite zu verarbeiten beginnt, beginnt das Filter 500, Videodaten in dem Umgehungsmodus auszugeben, und setzt das Verarbeiten von Videoinformationen in diesem Modus fort, bis die neunte Abtastzeile der Eingabeseite empfangen worden ist. Zu dieser Zeit beginnt das selbstgetaktete zweidimensionale Filter 500 tatsächlich den Filtervorgang.
  • Das selbstgetaktete zweidimensionale Filter 500 fährt fort, Videodaten zu filtern, bis die letzte Zeile der aktiven Seite beendet ist. Zu dieser Zeit erzeugt das selbstgetaktete zweidimensionale Filter 500 vier zusätzliche Linesync-Signale durch das interne Signal New Linesync, wodurch die letzten vier Abtastzeilen an Videodaten aus den FIFO-Puffern geleert werden und dieses Video in dem Umgehungsmodus ausgegeben wird.
  • Um ein besseres Verständnis des selbstgetakteten zweidimensionalen Filters, wie in 5 dargestellt, zu erleichtern, wird eine kurze Erläuterung des Taktaspektes dieses Filters unten mit Bezug auf das in 6 dargestellte Taktdiagramm erörtert. Genauer gesagt, 6 erläutert die Eingabesignale Pagesync und Linesync (A und B), die internen Signale New Pagesync und New Linesync (C und D) und die Ausgabesignale Ausgabe-Pagesync (output pagesync) und Ausgabe-Linesync (output linesync) (E und F). Außerdem stellt 6 das Taktdiagramm eines selbstgetakteten zweidimensionalen Filters dar, der die Abmessungen von 9 mal 15 aufweist.
  • Wie in 6 dargestellt, veranlasst, wenn das Pagesync-Signal (A) aktiv wird, das selbstgetaktete zweidimensionale Filter das interne Signal New Pagesync (C), ebenfalls aktiv zu werden. Außerdem veranlasst, wenn das selbstgetaktete zweidimensionale Filter ein aktives Linesync-Signal (B) empfängt, das selbstgetaktete zweidimensionale Filter das interne Signal New Linesync (D), ebenfalls aktiv zu werden. In diesem Beispiel werden jedoch das Ausgabe-Pagesync-Signal (E) und das Ausgabe-Linesync-Signal (F) erst zu einem späteren Zeitpunkt veranlasst, aktiv zu werden.
  • Genauer gesagt, das Ausgabe-Pagesync-Signal (E) wird erst aktiv, wenn das fünfte Eingabe-Linesync-Signal (B) empfangen wird, wie durch die gepunktete Linie 600 angegeben. An diesem Punkt wird das Ausgabe-Pagesync-Signal (E) aktiv, und das erste Ausgabe-Linesync-Signal (F) wird aktiv. Dieser Zeitpunkt entspricht außerdem dem Beginn des ersten Umgehungsmodus, wobei das selbstgetaktete zweidimensionale Filter ungefilterte Videodaten ausgibt, da das Filter nicht genügend Abtastzeilen an Videodaten empfangen hat, um das Filtern richtig zu beginnen. Dieser Umgehungsmodus dauert an, bis das neunte Eingabe-Linesync-Signal (B) empfangen worden ist, wobei das selbstgetaktete zweidimensionale Filter in den Filtermodus wechselt und richtig gefilterte Bilddaten ausgibt.
  • Zu einem späteren Zeitpunkt, angegeben durch die gepunktete Linie 601, wenn das empfangene Pagesync-Signal (A) inaktiv wird und so anzeigt, dass die Eingabeseite beendet ist, veranlasst das selbstgetaktete zweidimensionale Filter das interne Signal New Pagesync (C), während vier zusätzlicher Abtastzeilen-Zyklen aktiv zu bleiben (wie durch 602 (Signal (C)) und 603 (Signal (D)) dargestellt) und so die Puffer zu leeren. Nach dem Empfangen eines inaktiven Pagesync-Signals schaltet das selbstgetaktete zweidimensionale Filter von dem Filtermodus zurück in den Umgehungsmodus, um die FIFOs von ungefilterten Videodaten zu leeren. Bei dem Ausgabe-Linesync-Signal (F) werden die anfänglichen vier Abtastzeilen durch 604 angegeben, die letzten vier Abtastzeilen (die geleert werden) werden durch 606 angegeben, und die Abtastzeilen dazwischen werden durch 605 angegeben. Die durch 606 angegebenen Abtastzeilen entsprechen denjenigen in New Linesync, die durch 603 angegeben werden.
  • Obwohl die zweidimensionalen Filter der vorliegenden Erfindung mit Bezug auf eine Einzelfilterarchitektur beschrieben worden sind, können die zweidimensionalen Filter der vorliegenden Erfindung ebenfalls als eine Vielzahl von kaskadierbaren Filtern implementiert werden. Mit anderen Worten, ein großes zweidimensionales Filter kann unter Verwendung vieler kleiner kaskadierbarer Filter aufgebaut werden. Diese kaskadierbaren Filter sind separierbar und symmetrisch und können eine beliebige Größe N mal M aufweisen, wobei N die Zahl der Slowscan-Elemente ist und M die Zahl der Fastscan-Elemente ist.
  • Das kaskadierbare Filter weist einen zusätzlichen Kaskaden-Eingang und Kaskaden-Ausgang auf, die nur eingesetzt werden, wenn mehrere Filter miteinander kaskadiert werden. Folglich kann eine beliebige Zahl von kaskadierbaren Filtern miteinander kaska diert werden, um die Filtergröße bereitzustellen. Wenn zum Beispiel zwei (N mal M)-Filter miteinander kaskadiert werden, kann das maximal resultierende Filter ein (2N – 1)-mal-(2M – 1)-Filter sein. Außerdem kann, wenn drei (N mal M)-Filter miteinander kaskadiert werden, das maximal resultierende Filter ein (3N – 1)-mal-(2M – 1)-Filter sein etc. Wenn zwei N-Filter miteinander kaskadiert und mit einem M-Filter kombiniert werden, wird darüber hinaus ein (2N – 1)-mal-M-Filter erzeugt.
  • Um das kaskadierbare Konzept deutlicher zu erläutern, wird die Implementierung eines 7-x-15-Filters als ein Beispiel angewandt. Außerdem werden in diesem Beispiel die einzelnen Bestandteile des zweidimensionalen Filters (das Slowscan-Filter und das Fastscan-Filter) einzeln untersucht.
  • Wie oben bemerkt, stellt 7 ein kaskadierbares Slowscan-Filter mit sieben Elementen dar. Dieses kaskadierbare Slowscan-Filter empfängt Bilddaten-Pixel von sieben verschiedenen Abtastzeilen, wobei jeweils ein Bilddaten-Pixelpaar in jede Addiereinrichtung 701, 702, 703 bzw. 704 eingegeben wird. Es wird bemerkt, dass, da 7 ein kaskadierbares Slowscan-Filter mit sieben Elementen darstellt, die Eingabe X in die Addiereinrichtung 704 an Null gebunden ist.
  • Die Ausgabe von jeder Addiereinrichtung wird jeweils in eine getrennte Multipliziereinrichtung 705, 706, 707 bzw. 708 eingegeben, wobei die einzelnen Summen jeweils mit den Gewichtungskoeffizienten A, B, C bzw. D multipliziert werden. Die gewichteten Ergebnisse von den Multipliziereinrichtungen werden dann in eine Addiereinrichtung 709 eingegeben, die ein mit sieben Elementen slowscan-gefiltertes Bilddaten-Pixel erzeugt. Die Ausgabe von der Addiereinrichtung 709 wird in eine Addiereinrichtung 710 eingegeben, die das mit sieben Elementen slowscan-gefilterte Bilddaten-Pixel mit den gefilterten Bilddaten von einem weiteren kaskadierbaren Slowscan-Filter summiert, wie durch Eingabe 711 angegeben. Diese Eingabe kann an Null gebunden sein, wenn es nicht wünschenswert ist, das Filter größer als sieben Elemente zu machen, andernfalls entspricht die Eingabe 711 der Ausgabe von einem vorherigen Kaskaden-Filter (nicht abgebildet). Die Ausgabe 712 wird verwendet, wenn es einen folgenden oder anschließenden (nicht abgebildeten) Kaskaden-Filter gibt, und die Ausgabe 713 wird verwendet, wenn es keine anschließenden Kaskaden-Filter gibt.
  • Es wird angenommen, dass es wünschenswert ist, zwei kaskadierbare Slowscan-Filter zu kaskadieren, um eines zu erzeugen, das fünfzehn Elemente umfasst. Genauer ge sagt, ist es wünschenswert, zwei Slowscan-Filter zu kaskadieren, die Bilddaten erzeugen, die durch einen Wert dargestellt werden,
    der A (Zeile 0 + Zeile 14) + B (Zeile 1 + Zeile 13) + C (Zeile 2 + Zeile 12) + D (Zeile 3 + Zeile 11) + E (Zeile 4 + Zeile 10) + F (Zeile 5 + Zeile 9) + G (Zeile 6 + Zeile 8) + H (Zeile 7) gleichkommt.
  • Herkömmlich würde ein solches Slowscan-Filter mit fünfzehn Elementen implementiert, wie in 8 dargestellt. Mit anderen Worten, jede der oben beschriebenen Operationen zum Erzeugen des richtigen Wertes für das Bilddaten-Pixel würde parallel implementiert und in eine einzelne Addiereinrichtung 416 eingegeben. Die Addiereinrichtungen 401, 403, 405, 407, 409, 411 bzw. 413 addieren die jeweiligen Zeilenpaare (0 + 14), (1 + 13), (2 + 12), (3 + 11), (4 + 10), (5 + 9) and (6 + 8). Jede Ausgabe wird dann an eine jeweilige Multipliziereinrichtung 402, 404, 406, 408, 410, 412 bzw. 414 weitergegeben, wo sie mit einem vorgegebenen Koeffizienten, wie dargestellt, multipliziert wird. Die Zeile 7 wird direkt in die Multipliziereinrichtung 415 eingegeben und mit ihrem zugehörigen Koeffizienten multipliziert. Die Ausgabe von jeder Multipliziereinrichtung wird dann in der Addiereinrichtung 416 addiert, um eine Ausgabe 418 bereitzustellen. Jeder der Koeffizienten ist festgelegt, aber sie können unter Verwendung von unscharfer Klassifizierung bestimmt werden. Wie oben bemerkt, kann jedoch ein so großes Filter unter Verwendung einer Vielzahl von kaskadierbaren Filtern implementiert werden.
  • Genauer gesagt, das Slowscan-Filter mit fünfzehn Elementen kann unter Verwendung zweier kleiner kaskadierbarer Filter 800 bzw. 900 implementiert werden, wie in 9 dargestellt. In diesem Beispiel ähnelt jedes kaskadierbare Filter dem kaskadierbaren Filter, wie oben mit Bezug auf 7 erörtert. Die Addiereinrichtungen 801, 803, 805, 807, 809 bzw. 810 und die Multipliziereinrichtungen 802, 804, 806 bzw. 808 entsprechend jeweils den Addiereinrichtungen 701, 703, 705, 707, 709 bzw. 710 und den Multipliziereinrichtungen 702, 704, 706 bzw. 708 in 7. In diesem Fall empfängt jedoch das kaskadierbare Filter 900 die kaskadierbare gefilterte Bilddaten-Ausgabe 812 von dem kaskadierbaren Filter 800 als Eingabe 912 in eine Addiereinrichtung 910. Die Addiereinrichtung 910 addiert die kaskadierten gefilterten Bilddaten von dem kaskadierbaren Filter 800 mit den gefilterten Bilddaten, die durch die verschiedenen Elemente des kaskadierbaren Filters 900 erzeugt worden sind, um ein abschließendes gefiltertes Ergebnis zu erzeugen, das ein Bilddaten-Pixel darstellt, das durch einen Slowscan-Filter mit fünfzehn Elementen gefiltert worden ist. Ähnlich wie bei dem Vergleich mit 7 und dem Filter 800 hat das Filter 900 die gleichen entsprechenden Bestandteile 901, 902, 903, 904, 905, 906, 907, 908, 909 und 910 zum Verarbeiten der Eingaben, die nicht durch das Filter 800 verarbeitet worden sind.
  • Mit anderen Worten, die Ausgabe von der Addiereinrichtung 910 erzeugt einen Wert, der durch die oben angegebene Gleichung dargestellt wird. Außerdem kann die Einbeziehung eines zusätzlichen kaskadierbaren Filters, wie in 7 erläutert, in einem (nicht abgebildeten) Slowscan-Filter mit dreiundzwanzig Elementen resultieren. Weiter kann die Einbeziehung von zwei weiteren kaskadierbaren Filtern, wie in 7 erläutert, in einem (nicht abgebildeten) Slawscan-Filter mit einunddreißig Elementen resultieren.
  • Kaskadierbare Filter können nicht nur auf die Slowscan-Richtung angewandt werden, sie können ebenfalls auf die Fastscan-Richtung angewandt werden. 10 stellt ein kaskadierbares Fastscan-Filter dar, wobei die Eingabe 321 die kaskadierbare Ausgabe von einem (nicht abgebildeten) weiteren kaskadierbaren Fastscan-Filter darstellt. Wenn gewünscht wird, dass das vorliegende kaskadierbare Filter, wie in 10 dargestellt, ein Fastscan-Filter mit fünfzehn Elementen bleibt, wird die Eingabe 321 an Null gebunden, und die Eingabe Y in die Addiereinrichtung 315 wird ebenfalls an Null gebunden. Wie zuvor werden Eingabepaare in entsprechende Eingänge der Addiereinrichtungen 301, 303, 305, 307, 309, 311 bzw. 313 eingegeben und die Ausgaben daraus gehen weiter an die entsprechenden Multipliziereinrichtungen 302, 304, 306, 308, 310, 312 bzw. 314, wo sie mit geeigneten Koeffizienten multipliziert werden. Die Ausgaben von diesen Multipliziereinrichtungen zusammen mit denjenigen von der Multipliziereinrichtung 316 (verknüpft mit der Addiereinrichtung 315) und der Multipliziereinrichtung 317 werden an die Addiereinrichtung 318 weitergegeben, wo sie summiert werden. Die Ausgabe von der Addiereinrichtung 318 geht weiter an die Addiereinrichtung 319, wo jegliche kaskadierte Ausgabe addiert wird (Eingabe 321), um die Ausgabe 322 bereitzustellen.
  • Falls gewünscht wird, ein einunddreißig Elemente umfassendes Fastscan-Filter zu implementieren, würde man zwei Fastscan-Filter miteinander kaskadieren, wie in 10 dargestellt, wobei die Ausgabe 320 des ersten kaskadierbaren Filters in den Eingabeanschluss eingegeben würde, der dem Eingabeanschluss 321 in dem zweiten kaskadierbaren Fastscan-Filter entspricht. Auf diese Weise können zwei kleinere Fastscan-Filter kaskadiert werden, um ein größeres Fastscan-Filter zu erzeugen.
  • Ein Beispiel für einen Chip, der eine kaskadierbare Filterarchitektur aufweist, wird in 21 dargestellt. Der Filterchip 2000 umfasst N kaskadierbare Filter 2001, 2005, 2011, 2015 und 2017. Der Filterchip 2000 umfasst außerdem N Multiplexer 2003, 2007, 2013 und 2019, wobei ein einzelner Multiplexer zwischen zwei kaskadierbaren Filtern verbunden ist. Die Multiplexer empfangen die kaskadierbaren gefilterten Bilddaten von dem nachgeschalteten Filter (d.h. der Multiplexer 2003 empfängt die kaskadierbaren gefilterten Bilddaten von einem Filter1 2001) und einen Nullwert an den beiden Eingabeanschlüssen der Multiplexer.
  • Falls die Ausgabe des nachgeschalteten Filters in das nächste Filter kaskadiert werden soll, wird ein logisch freigebendes Signal durch den Multiplexer empfangen, so dass die gefilterten Daten in das vorgeschaltete Filter eingegeben werden. Wenn zum Beispiel ein Filter1 2001 und ein Filter2 2005 miteinander kaskadiert werden sollten, würde der Multiplexer 2003 ein logisch freigebendes Signal empfangen, und den Multiplexer 2003 veranlassen, die gefilterte Ausgabe des Filters1 2001 an das Filter2 2005 weiterzugeben. Wenn die beiden Filter nicht miteinander kaskadiert würden, würde der Multiplexer 2003 ein logisch nicht-freigebendes Signal empfangen, dadurch den Multiplexer 2003 veranlassen, einen Nullwert an das Filter2 2005 weiterzugeben und dadurch das Kaskadieren der beiden Filter verhindern.
  • Obwohl die vorliegende Erfindung oben genau beschrieben worden ist, können außerdem verschiedene Abwandlungen implementiert werden. Zum Beispiel ist die bevorzugte Ausführungsform der vorliegenden Erfindung mit Bezug auf ein xerografisches Drucksystem beschrieben worden; diese unscharfen Verfahren und Filter sind jedoch leicht in einem thermischen Tintenstahlsystem (thermal inkjet system), einem Anzeigesystem oder einem anderen Bildverarbeitungssystem zu implementieren.
  • Außerdem kann das Bildverarbeitungssystem der vorliegenden Erfindung leicht auf einem Universal-Computer, einem Personal-Computer oder einer Workstation implementiert werden. Das Bildverarbeitungssystem der vorliegenden Erfindung kann ebenfalls leicht auf einem ASIC implementiert werden, wodurch die Platzierung dieses Verfahrens in einem Abtaster, einem elektronischen Untersystem, einem Drucker oder einer Anzeigeeinrichtung ermöglicht wird.
  • Die vorliegende Erfindung ist mit Bezug auf einen Videobereich von 0 bis 255 beschrieben worden. Es wird jedoch durch die vorliegende Erfindung in Erwägung gezogen, dass der Videobereich einen beliebigen geeigneten Bereich umfassen kann, um die Graustufe des Pixels zu beschreiben, das verarbeitet wird. Des Weiteren ist die vorliegende Erfin dung leicht auf ein beliebiges Bildverarbeitungssystem, nicht notwrendigerweise eine binäre Ausgabe-Einrichtung, anwendbar. Es wird erwogen, dass die Konzepte der vorliegenden Erfindung leicht auf einen Ausgabeanschluss mit vier oder mehr Ebenen anwendbar ist.
  • Außerdem ist die vorliegende Erfindung mit Bezug auf die unscharfe Klassifizierung und auf unscharfe Verarbeitungsroutinen so beschrieben worden, dass die Skalarwerte unter Verwendung der gewichteten Summe des Zentroid-Verfahrens bestimmt werden, da die Zentroiden in der bevorzugten Ausführungsform nicht-überlappend sind (die Klassen sind nicht-überlappend). Die vorliegende Erfindung ist jedoch leicht auf ein System mit überlappenden Klassen anwendbar. Eine solche Erweiterung ist Kennern der Technik der unscharfen Logik wohl bekannt.
  • Schließlich ist die vorliegende Erfindung mit Bezug auf eine monochrome oder schwarzweiße Umgebung beschrieben worden. Die Konzepte der vorliegenden Erfindung sind jedoch leicht auf eine Farbumgebung anwendbar. Und zwar können die Bildverarbeitungsabläufe der vorliegenden Erfindung auf jeden Wert des Farbraums angewandt werden, der das Farbpixel darstellt.

Claims (15)

  1. Verfahren zum elektronischen Klassifizieren eines Pixels, das zu einem Satz digitaler Bilddaten gehört, in Bezug auf eine Mitgliedschaft des Pixels in einer Vielzahl von Bildklassen und einer anderen Klasse, wobei es die folgenden Schritte umfasst: a) Empfangen eines Satzes digitaler Bilddaten einschließlich des Pixels; b) Bestimmen eines Mitgliedschaftswertes für das Pixel für jede Bildklasse und eines Mitgliedschaftswertes für das Pixel für die andere Klasse, wobei der Mitgliedschaftswert für eine Bildklasse unabhängig von den anderen Mitgliedschaftswerten für die Bildklassen ist und der Mitgliedschaftswert für die andere Klasse abhängig von den Mitgliedschaftswerten der Bildklassen ist; und c) Erzeugen eines Klassifizierungsvektors für das Pixel auf Basis der Bestimmung in Schritt b).
  2. Verfahren nach Anspruch 1, wobei jede Klasse durch einen Satz heuristischer Regeln so definiert wird, dass die Sätze einander nicht ausschließen.
  3. Verfahren nach Anspruch 2, wobei der Satz einander nicht ausschließender Bildklassen Text und Vollton (contone) einschließen.
  4. Verfahren nach Anspruch 2, wobei der Satz einander nicht ausschließender Bildklassen Text, Voll- und Halbton (halftone) einschließt.
  5. Verfahren nach Anspruch 2, wobei der Satz einander nicht ausschließender Bildklassen Kante, Schwarz, Weiß, grafisch, Niederfrequenz-Halbton, Mittenfrequenz-Halbton und Hochfrequenz-Halbton einschließt.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Schritt b) die folgenden Teilschritte einschließt: b1) Berechnen einer Summierung von Laplace-Transformierten eines Fensters von Pixeln um das Pixel herum; b2) Bestimmen eines Graustufenbereiches innerhalb des Fensters von Pixeln; b3) Bestimmen einer zweidimensionalen Frequenz um das Pixel herum; b4) Bestimmen eines Prozentsatzes von Pixeln in dem Fenster mit einem Grauwert unter einer vorgegebenen Schwarz-Schwelle; und b5) Bestimmen eines Prozentsatzes von Pixeln in dem Fenster mit einem Grauwert über einer vorgegebenen Weiß-Schwelle.
  7. Verfahren nach Anspruch 6, wobei der Schritt b) des Weiteren die folgenden Teilschritte enthält: b6) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die Summierung des Teilschritts b1) größer ist als ein vorgegebener Wert, Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass der bestimmte Bereich des Teilschritts b2) größer ist als ein zweiter vorgegebener Wert, und Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die bestimmte Frequenz des Teilschritts b3) größer ist als ein dritter vorgegebener Wert; b7) Festlegen eines Bedingungswertes für das Pixel in Bezug auf eine Halbton-Klasse, indem bestimmt wird, welcher in dem Teilschritt b6) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Bedingungswert; b8) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die Summierung des Teilschritts b1) größer ist als ein vierter vorgegebener Wert, Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass der bestimmte Bereich des Teilschritts b2) größer ist als ein fünfter vorgegebener Wert, und Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die bestimmte Frequenz des Teilschritts b3) größer ist als der dritte vorgegebene Wert; b9) Festlegen eines Mitgliedschaftswertes für das Pixel in Bezug auf eine Kanten-Klasse, indem bestimmt wird, welcher in dem Teilschritt b8) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Mitgliedschaftswert; b10) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die Summierung des Teilschrittes b1) geringer ist als der erste vorgegebene Wert, und Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die bestimmte Frequenz des Teilschritts b3) kleiner ist als der dritte vorgegebene Wert; und b11) Festlegen eines Bedingungswertes für das Pixel in Bezug auf eine Vollton-Klasse, indem bestimmt wird, welcher in dem Teilschritt b10) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Bedingungswert.
  8. Verfahren nach Anspruch 7, wobei der Schritt b) des Weiteren die folgenden Teilschritte einschließt: b12) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass der in Teilschritt b4) bestimmte Prozentsatz größer ist als ein sechster vorgegebener Wert; b13) Festlegen eines Mitgliedschaftswertes für das Pixel in Bezug auf eine Schwarz-Klasse, indem bestimmt wird, welcher in den Teilschritten b11) und b12) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Mitgliedschaftswert; b14) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass der in dem Teilschritt b5) bestimmte Prozentsatz größer ist als ein siebter vorgegebener Wert; b15) Festlegen eines Mitgliedschafts-Wertes für das Pixel in Bezug auf eine Weiß-Klasse, indem bestimmt wird, welcher in den Teilschritten b11) und b14) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Mitgliedschafts-Wert; b16) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass der in dem Teilschritt b4) bestimmte Prozentsatz kleiner ist als der sechste vorgegebene Wert, und Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass der in dem Teilschritt b5) bestimmte Prozentsatz kleiner ist als der siebte vorgegebene Wert; und b17) Festlegen eines Mitgliedschafts-Wertes für das Pixel in Bezug auf eine Grafik-Klasse, indem bestimmt wird, welcher in den Teilschritten b11) und b16) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Mitgliedschafts-Wert.
  9. Verfahren nach Anspruch 8, wobei der Schritt b) des Weiteren die folgenden Teilschritte einschließt: b18) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die in dem Teilschritt b3) bestimmte Frequenz kleiner ist als ein achter vorgegebener Wert; b19) Festlegen eines Mitgliedschafts-Wertes für das Pixel in Bezug auf eine Niederfrequenz-Halbton-Klasse, indem bestimmt wird, welcher in den Teilschritten b7) und b18) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Mitgliedschafts-Wert; b20) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die im Teilschritt b3) bestimmte Frequenz größer ist als der achte vorgegebene Wert, und Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die in dem Teilschritt b3) bestimmte Frequenz kleiner ist als ein neunter vorgegebener Wert; b21) Festlegen eines Mitgliedschafts-Wertes für das Pixel in Bezug auf eine Mittenfrequenz-Halbton-Klasse, indem bestimmt wird, welcher in den Teilschritten b7) und b20) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Mitgliedschafts-Wert; b22) Bestimmen eines Bedingungswertes des Pixels in Bezug auf eine Bedingung dahingehend, dass die in dem Teilschritt b3) bestimmte Frequenz größer ist als der neunte vorgegebene Wert; und b23) Festlegen eines Mitgliedschafts-Wertes für das Pixel in Bezug auf eine Hochfrequenz-Halbton-Klasse, indem bestimmt wird, welcher in den Teilschritten b7) und b22) bestimmte Bedingungswert ein Minimalwert ist, und Zuweisen des Minimalwertes als den Mitgliedschafts-Wert.
  10. Verfahren nach Anspruch 9, wobei der Schritt b) den folgenden Teilschritt einschließt: b24) Festlegen eines Mitgliedschafts-Wertes für das Pixel in Bezug auf die andere Klasse, indem bestimmt wird, welcher in den Teilschritten b9), b13), b15), b17), b19), b21) und b23) bestimmte Mitgliedschafts-Wert ein Maximalwert ist, und Zuweisen eines Wertes, der 1 abzüglich des Maximalwertes entspricht, als den Mitgliedschafts-Wert für die andere.
  11. Verfahren nach einem der Ansprüche 7 bis 10, wobei jede Bedingung einen vorgegebenen Soll-Bedingungswert und zwei vorgegebene Absolut-Bedingungswerte hat, der vorgegebene Soll-Bedingungswert und die vorgegebenen Absolut-Bedingungswerte zugewiesene vorgegebene Bedingungswerte, Bedingungswerte für Bedingungswerte zwischen dem vorgegebenen Soll-Bedingungswert sind und ein vorgegebener Absolut-Bedingungswert bestimmt wird, indem zwischen dem zugewiesenen vorgegebenen Bedingungswert für den vorgegebenen Soll-Bedingungswert und dem zugewiesenen vorgegebenen Bedingungswert für den vorgegebenen Absolut-Bedingungswert funktional extrapoliert wird.
  12. Verfahren nach Anspruch 11, wobei die funktionale Extrapolation linear ist.
  13. Verfahren nach Anspruch 11 oder 12, wobei der zugewiesene vorgegebene Bedingungswert für den vorgegebenen Soll-Bedingungswert 0,5 ist und die zugewiesenen vorgegebenen Bedingungswerte für die vorgegebenen Absolut-Bedingungswerte 0,0 und 1,0 sind.
  14. Verfahren nach Anspruch 11 oder 12, wobei der zugewiesene vorgegebene Bedingungswert für den vorgegebenen Soll-Bedingungswert 1,0 ist und die zuge wiesenen vorgegebenen Bedingungswerte für die vorgegebenen Absolut-Bedingungswerte 0,0 und 1,0 sind.
  15. Verfahren nach Anspruch 11 oder 12, wobei der zugewiesene vorgegebene Bedingungswert für den vorgegebenen Soll-Bedingungswert 0,3 ist und die zugewiesenen vorgegebenen Bedingungswerte für die vorgegebenen Absolut-Bedingungswerte 0,0 und 1,0 sind.
DE69737247T 1996-05-08 1997-05-08 Bildklassifikationssystem mit Fuzzy-Logik Expired - Lifetime DE69737247T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/646,540 US5765029A (en) 1996-05-08 1996-05-08 Method and system for fuzzy image classification
US646540 1996-05-08

Publications (2)

Publication Number Publication Date
DE69737247D1 DE69737247D1 (de) 2007-03-08
DE69737247T2 true DE69737247T2 (de) 2007-07-05

Family

ID=24593451

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69737247T Expired - Lifetime DE69737247T2 (de) 1996-05-08 1997-05-08 Bildklassifikationssystem mit Fuzzy-Logik

Country Status (4)

Country Link
US (1) US5765029A (de)
EP (1) EP0806863B1 (de)
JP (1) JPH1074257A (de)
DE (1) DE69737247T2 (de)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPN727295A0 (en) * 1995-12-21 1996-01-18 Canon Kabushiki Kaisha Zone segmentation for image display
DE69621135D1 (de) * 1996-12-11 2002-06-13 St Microelectronics Srl Fuzzy-Logikfilterverfahren und Fuzzy-Logikfilter
DE69835263T2 (de) * 1997-10-13 2006-11-23 Matsushita Electric Industrial Co., Ltd., Kadoma Fuzzy Inferenzverfahren und -gerat
US6229923B1 (en) * 1998-01-21 2001-05-08 Xerox Corporation Method and system for classifying and processing of pixels of image data
US6252675B1 (en) 1998-05-08 2001-06-26 Xerox Corporation Apparatus and method for halftone hybrid screen generation
US7602424B2 (en) 1998-07-23 2009-10-13 Scenera Technologies, Llc Method and apparatus for automatically categorizing images in a digital camera
DE19838806A1 (de) * 1998-08-26 2000-03-02 Max Planck Gesellschaft Verfahren und Vorrichtung zur Erfassung von Objektfarben
WO2000019335A1 (de) * 1998-09-30 2000-04-06 Siemens Aktiengesellschaft Verfahren und anordnung zur zuordnung eines objekts zu mindestens einer klasse
US6516091B1 (en) 1999-09-09 2003-02-04 Xerox Corporation Block level analysis of segmentation tags
US6636331B1 (en) 1999-09-09 2003-10-21 Xerox Corporation Segmentation tag cleanup based on connected components
US6493463B1 (en) 1999-09-09 2002-12-10 Xerox Corporation Segmentation tag cleanup using neighborhood tags
US6639692B1 (en) 1999-09-09 2003-10-28 Xerox Corporation Pixel level segmentation tag cleanup
US6650439B1 (en) 1999-09-09 2003-11-18 Xerox Corporation Segmentation tag cleanup system
US6529291B1 (en) 1999-09-22 2003-03-04 Xerox Corporation Fuzzy black color conversion using weighted outputs and matched tables
US6976223B1 (en) * 1999-10-04 2005-12-13 Xerox Corporation Method and system to establish dedicated interfaces for the manipulation of segmented images
US6625312B1 (en) 2000-02-28 2003-09-23 Xerox Corporation Document classification using segmentation tag statistics
US6760126B1 (en) * 2000-06-20 2004-07-06 Hewlett-Packard Development Company, L.P. Adaptive halftoning method and apparatus
US7079287B1 (en) * 2000-08-01 2006-07-18 Eastman Kodak Company Edge enhancement of gray level images
US6941014B2 (en) * 2000-12-15 2005-09-06 Xerox Corporation Method and apparatus for segmenting an image using a combination of image segmentation techniques
US6873743B2 (en) * 2001-03-29 2005-03-29 Fotonation Holdings, Llc Method and apparatus for the automatic real-time detection and correction of red-eye defects in batches of digital images or in handheld appliances
US6751348B2 (en) 2001-03-29 2004-06-15 Fotonation Holdings, Llc Automated detection of pornographic images
TW542993B (en) * 2001-07-12 2003-07-21 Inst Information Industry Multi-dimension and multi-algorithm document classifying method and system
US7039232B2 (en) * 2001-12-20 2006-05-02 Xerox Corporation Block level analysis of segmentation tags
US7218332B2 (en) * 2002-04-30 2007-05-15 Xerox Corporation Method and apparatus for windowing and image rendition
US7239430B2 (en) * 2002-12-12 2007-07-03 Xerox Corporation Binary halftone detection
US7345792B2 (en) * 2002-12-17 2008-03-18 Xerox Corporation Segmentation-based halftoning
US7379595B2 (en) * 2004-05-24 2008-05-27 Xerox Corporation Manual windowing with auto-segmentation assistance in a scanning system
US7424151B2 (en) * 2004-06-04 2008-09-09 Xerox Corporation Method and system for image classification and halftone frequency detection
US7272261B2 (en) * 2004-06-04 2007-09-18 Xerox Corporation Method and system for classifying scanned-media
IL162878A0 (en) * 2004-07-06 2005-11-20 Hi Tech Solutions Ltd Multi-level neural network based characters identification method and system
US7965413B2 (en) 2007-03-29 2011-06-21 Xerox Corporation Method and system for detection of binary halftone frequencies
US8228561B2 (en) * 2007-03-30 2012-07-24 Xerox Corporation Method and system for selective bitmap edge smoothing
US8390877B2 (en) * 2007-05-25 2013-03-05 Xerox Corporation Exportation of scanner's internal image auto-segmentation
WO2010013472A1 (ja) 2008-07-30 2010-02-04 日本電気株式会社 データ分類システム、データ分類方法、及びデータ分類プログラム
WO2010013473A1 (ja) * 2008-07-30 2010-02-04 日本電気株式会社 データ分類システム、データ分類方法、及びデータ分類プログラム
US8339653B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on overlap characteristics
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339670B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on graphic-list partitioning
US8339672B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data using graphic-list partitions and associated rendering processors
US20100245918A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
US8339671B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data by partitioning a graphics list
US8368959B2 (en) * 2009-05-18 2013-02-05 Xerox Corporation Method and system for selective smoothing of halftoned objects using bitmap encoding
US9070011B2 (en) 2010-06-18 2015-06-30 Csr Imaging Us, Lp Automated segmentation tuner
US8797601B2 (en) 2012-03-22 2014-08-05 Xerox Corporation Method and system for preserving image quality in an economy print mode
US9123087B2 (en) * 2013-03-25 2015-09-01 Xerox Corporation Systems and methods for segmenting an image
US9055251B2 (en) 2013-09-24 2015-06-09 Xerox Corporation Image processing based on automatic image-type detection
US9445108B1 (en) 2015-05-26 2016-09-13 International Business Machines Corporation Document compression with neighborhood biased pixel labeling
US10302751B2 (en) 2017-03-09 2019-05-28 Russell H. Dewey A-mode ultrasonic classifier
CN110599421B (zh) * 2019-09-12 2023-06-09 腾讯科技(深圳)有限公司 模型训练方法、视频模糊帧转换方法、设备及存储介质
CN110942419B (zh) * 2019-11-22 2023-09-22 航天科技控股集团股份有限公司 一种全液晶仪表毛玻璃模糊处理方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537092A (en) * 1978-09-05 1980-03-14 Ibm Mode switch for setting threshold value
US4194221A (en) * 1978-12-26 1980-03-18 Xerox Corporation Automatic multimode continuous halftone line copy reproduction
US4554593A (en) * 1981-01-02 1985-11-19 International Business Machines Corporation Universal thresholder/discriminator
JPS57160264A (en) * 1981-03-30 1982-10-02 Canon Inc Recorder of half tone picture
GB2103449B (en) * 1981-06-29 1985-05-30 Nippon Telegraph & Telephone Method and apparatus for gray level signal processing
JPS59122080A (ja) * 1982-12-27 1984-07-14 Leo Giken:Kk 網点画像の発生方法
US4559563A (en) * 1983-10-11 1985-12-17 Xerox Corporation Adaptive prediction for binary encoded documents containing a mixture of text, line drawings and halftones
JPS60132465A (ja) * 1983-10-28 1985-07-15 Dainippon Screen Mfg Co Ltd 網点形成方法
US4577235A (en) * 1984-08-20 1986-03-18 The Mead Corporation Text/continuous tone image decision processor
JPH0759092B2 (ja) * 1985-08-06 1995-06-21 パイオニア株式会社 投写型テレビジヨン
US4811115A (en) * 1987-10-16 1989-03-07 Xerox Corporation Image processing apparatus using approximate auto correlation function to detect the frequency of half-tone image data
US5125045A (en) * 1987-11-20 1992-06-23 Hitachi, Ltd. Image processing system
US4897803A (en) * 1987-11-23 1990-01-30 Xerox Corporation Address token based image manipulation
US5225915A (en) * 1989-06-09 1993-07-06 Xerox Corporation Image processing with noise enhancing operators for moire reduction and/or random dot generation
DE69032318T2 (de) * 1989-08-31 1998-09-24 Canon Kk Vorrichtung zur Bildverarbeitung
US5202933A (en) * 1989-12-08 1993-04-13 Xerox Corporation Segmentation of text and graphics
US5371610A (en) * 1990-01-19 1994-12-06 Minolta Camera Kabushiki Kaisha Image data processing apparatus
DE69126457T2 (de) * 1990-03-02 1997-11-06 Canon Kk Bildverarbeitungsvorrichtung
JP2564959B2 (ja) * 1990-03-07 1996-12-18 富士ゼロックス株式会社 画像処理装置の絵文字領域識別方式
JPH04294466A (ja) * 1991-03-22 1992-10-19 Ricoh Co Ltd 画像処理装置
JP3276985B2 (ja) * 1991-06-27 2002-04-22 ゼロックス・コーポレーション イメージピクセル処理方法
US5410619A (en) * 1991-09-03 1995-04-25 Ricoh Company, Ltd. Digital image processing apparatus for processing a variety of types of input image data
US5307180A (en) * 1991-12-18 1994-04-26 Xerox Corporation Method and apparatus for controlling the processing of digital image signals
US5237432A (en) * 1991-12-23 1993-08-17 Xerox Corporation Image scaling apparatus
US5341226A (en) * 1993-04-22 1994-08-23 Xerox Corporation Automatic image segmentation for color documents
US5327262A (en) * 1993-05-24 1994-07-05 Xerox Corporation Automatic image segmentation with smoothing
US5339172A (en) * 1993-06-11 1994-08-16 Xerox Corporation Apparatus and method for segmenting an input image in one of a plurality of modes
JPH0737087A (ja) * 1993-07-19 1995-02-07 Matsushita Electric Ind Co Ltd 画像処理装置

Also Published As

Publication number Publication date
JPH1074257A (ja) 1998-03-17
EP0806863A2 (de) 1997-11-12
EP0806863B1 (de) 2007-01-17
DE69737247D1 (de) 2007-03-08
US5765029A (en) 1998-06-09
EP0806863A3 (de) 1999-06-02

Similar Documents

Publication Publication Date Title
DE69737247T2 (de) Bildklassifikationssystem mit Fuzzy-Logik
DE69738441T2 (de) Stochastische Halbtonrasterung
DE69822545T2 (de) Bildverbesserung unter Benutzung einer Flächeninterpolation
DE69736938T2 (de) Detektion und Wiedergabe von Text in gerasterten Bildbereichen
DE69914669T2 (de) Entfernung von Hintergrundsrausch für einen preiswerten digitalen Farbkopierer
DE69812800T2 (de) Verfahren und Gerät zur Bildverbesserung
US5751862A (en) Self-timed two-dimensional filter
DE69627982T2 (de) Signaladaptives Nachverarbeitungssystem um Blockierungseffekte und Ringstörungen zu verringern
US5835630A (en) Modular time-varying two-dimensional filter
DE69931549T2 (de) Vorrichtung und Verfahren zur Interpolation von Bilddaten
DE69921388T2 (de) Bildverarbeitungsvorrichtung
DE60132278T2 (de) Rauschverminderungsverfahren unter Verwendung von Farbinformationen, einer Vorrichtung und eines Programms zur Digital-Bildverarbeitung
DE60111756T2 (de) Verfahren zum verbessern der kompressionsfähigkeit und der bildqualität von abgetasteten dokumenten
DE3546135C2 (de)
DE60012649T2 (de) Beseitigung von chromarauschen aus digitalbildern durch verwendung veränderlich geformter pixelnachbarschaftsbereiche
DE60017600T2 (de) Digitales bilderzeugungsverfahren
DE69732955T2 (de) Adaptive Rauschverminderung von Videobildern
DE60111816T2 (de) Adaptives Filterverfahren und -vorrichtung zur Entrasterung abgetasteter Halbtonbilddaten
DE2948341A1 (de) Verfahren zum verarbeiten von bildelementen und vorrichtung zum verarbeiten einer bilddatenreihe
DE3339002C2 (de) Verfahren und Einrichtung zum Verarbeiten eines Bildsignals
DE69736878T2 (de) Verfahren zur Umsetzung von Farbdaten
DE3434732C2 (de)
DE60127016T2 (de) Verfahren und Gerät zur Durchführung einer lokalen Farbkorrektur
DE60302924T2 (de) Anpassungsfähige nichtlineare Bildvergrösserung mittels Wavelet-Transformkoeffizienten
DE69816710T2 (de) Digitaler Bildprozessor

Legal Events

Date Code Title Description
8364 No opposition during term of opposition