-
Diese
Erfindung betrifft Verfahren zum Umwandeln eines beobachteten Bildes
in ein Idealbild beispielsweise unter Verwendung von Template-Matching
(Schablonenvergleich) von Farbbildern. Im Besonderen betrifft diese
Erfindung Systeme und Verfahren für den Schablonenvergleich von
sowohl kontinuierlichen Mehrebenen-Farbbildern als auch binären Mehrebenen-Farbbildern
für unterschiedliche
Anwendungen.
-
Eine
große
Bandbreite von digitalen Dokumentenverarbeitungsaufgaben wird unter
Verwendung von schablonenbasierten Filtern durchgeführt. So
umfassen digitale Dokumentenverarbeitungsaufgaben beispielsweise
die Auflösungsumwandlung, die
Wiederherstellung, die Bildfeinabstimmung sowie das Descreening
(Entrasterung) von Bildern. Diese Aufgaben werden für gewöhnlich in
monochromen Bildern und in Farbbildern durchgeführt. Die Farbbilder können aus
mehreren Farbraumebenen oder Farbtrennschichten gebildet sein.
-
Bei
den herkömmlich
angewendeten Systemen und Verfahren wird typischerweise ein Template-Operator
zum Durchführen
von Binärfiltern
von sowohl den monochromen als auch den Farbbildern bereitgestellt.
Der Template-Operator beobachtet eine Anordnung von Pixelwerten
unter Verwendung eines geeigneten Fensters. Anschließend vektorisiert
der Template-Operator die in dem Fenster beobachteten binären Pixelwerte.
Als Ergebnis wird ein Vektor erhalten, der die beobachteten binären Pixel
darstellt. Anschließend
wird der Vektor als Zeiger auf eine Nachschlagtabelle verwendet.
Daraus resultierend erzeugt die Nachschlagtabelle eine angemessene Ausgabe.
-
Es
wurden insbesondere verschiedene Entrasterungsverfahren für monochrome
Halbtonbilder so wie beispielsweise das Verfahren zum Entrastern von
mit Fehlern durchsetzten Halbtonbildern, beschrieben im Dokument „Error
Diffused Image Compression Using a Halftone-to-Grayscale Decoder
and Predictive Pruned Tree-Structured Vector-Quantization." von M.Y. Ting et al., in IEEE Transactions
on Image Processing, 3(6): Seiten 854 bis 858, November 1994, entwickelt.
-
Wie
dies dargestellt ist, kann beispielsweise ein 3 × 3 Fenster für die Verarbeitung
eines monochromen Bildes verwendet werden. Das 3 × 3 Fenster
beobachtet an einem Ort in einem monochromen Bild einen Block aus
binärwertigen
Pixeln. Das 3 × 3 Fenster
vektorisiert den Block aus binärwertigen
Pixeln. Der Vektor wird in der Form (a1 a2 ... a9) ausgedrückt. Anschließend wird
der Vektor in der Nachschlagtabelle verwendet. Genauer gesagt, kann
der Vektor in eine Nachschlagtabelle eingegeben werden, wobei die
Nachschlagtabelle den eingegebenen Vektor mit einem entsprechenden
Idealwert verknüpft
und anschließend
dieser Idealwert von der Nachschlagtabelle ausgegeben wird.
-
Alternativ
dazu kann es wünschenswert
oder erforderlich sein, ein geräteabhängiges CMYK-(Cyan Magenta
Yellow Black [Cyan Magenta Gelb Schwarz]) Halbton-Bitmap zu entrastern
und beispielsweise in einen geräteunabhängigen Farbraum umzuwandeln.
Zum Verarbeiten des Vollfarb-CMYK-Bildes kann ein herkömmlicher
Template-Operator verwendet werden. Ein solcher Template-Operator
für Farbbilder
kann ebenfalls ein 3 × 3 Fenster
enthalten. Das 3 × 3
Fenster wird herkömmlicherweise
geräteunabhängig verwendet
und benutzt vier Vektoren mit neun Pixeln (c1 c2 ... c9), (m1 m2 ... m9), (y1 y2 ... y9), (k1 k2 ... k9).
-
Das
US-Patent 5.758.034 offenbart ein Beispiel eines Verfahrens zum
separaten Verarbeiten von Farbebenen mit Schablonen. Das US-Patent 5.758.034
beschreibt, dass Vektoren zum Zeigen auf vier Nachschlagtabellen
verwendet werden. Alternativ dazu wird in einigen Anwendungen auf
eine Tabelle vier Mal gezeigt. Dieser Prozess führt zu dem Erzeugen separater
Ausgabewerte für
eine jede Ebene.
-
Die
Nachschlagtabelle wird herkömmlicherweise
unter Verwendung eines Trainingsbildes oder eines Satzes von Trainingsbildern
erstellt. Das Buch Restoration and Enhancement of Digital Documents von
R. Loce und E. Dougherty lehrt Verfahren zum Erstellen von Schablonen
auf Basis von Sätzen
von Trainingsbildern. Das Trainingsbild erscheint paarweise. Ein
Paar Trainingsbilder kann zwei Elemente enthalten, wobei das eine
Element ein „typischerweise
beobachtetes Bild" und
das andere Element das „Idealbild" ist. Die Paare von
Trainingsbildern werden in ein Computerprogramm eingegeben, das
Musterstatistiken zwischen den beiden Bildern erstellt und analysiert.
-
Wie
dies dargestellt ist, ist beispielsweise ein Element eines Satzes
aus Trainingsbildern ein binäres
Halbtonbild, während
das andere Element das ursprüngliche
Graustufenbild vor dem Halftoning (Rastern) ist. In diesem Fall
ist das „beobachtete
Bild" das Halbtonbild,
und die ideale Ausgabe eines Entrasterungsfilters wäre das Graustufenbild
vor der Rasterung. Die Umwandlung von einem binären Bild in ein Graustufenbild
wird typischerweise als Descreening-Prozess (Entrasterungsprozess)
bezeichnet. Eine Trainingsanalyse überprüft für ein gegebenes Muster, das
in dem binären
Bild über
einem Zielpixel auftritt, ein Zielpixel an diesem entsprechenden
Ort in dem Graustufenbild. So kann die Mitte des Fensters beispielsweise
auf das Ziel platziert werden. Auf Basis des Satzes von Graupixeln,
die mit den unterschiedlichen Orten desselben binären Musters
verknüpft
sind, wird „ein
bester Graupixelwert" für das Pixel
in der Mitte oder dem „Ursprungsort" des gegebenen Musters,
das heißt,
das Zielpixel, bestimmt. Diese Analyse wird für sämtliche binäre Muster durchgeführt, die
als signifikant erachtet werden, wobei die Signifikanz auf ihre
jeweilige Frequenz des Auftretens oder ihre Auswirkung auf das gefilterte Bild
zurückgeführt werden
kann. Wenn dementsprechend eine bestimmte Schablone beobachtet wird und
als signifikant erachtet wird, wird dem Zielpixel ein bestimmter
Wert zugewiesen. Auf diese Weise kann das Erzeugen von Filtern für das Verarbeiten von
Farbbildern unter Verwendung von statistischen Optimierungsverfahren
oder Fachwissen durchgeführt
werden.
-
Ein
alternativer Ansatz, der dem Verwenden einer Darstellung durch Nachschlagtabelle
entspricht, ist die Boolesche Logikdarstellung. In der Booleschen
Logikdarstellung werden Pixelwerte als Variable in einer logischen
Architektur wie beispielsweise einer logischen Summe aus Produkten
verwendet. Das Ziel des Schablonenfilter-Designs beim Verwenden
der Booleschen Logikdarstellung besteht darin, statistisch optimierte
Boolesche Operator herzuleiten. In den herkömmlich angewendeten Systemen
und Verfahren werden die Booleschen Operatoren optimiert und separat
auf den Farbebenen eingesetzt.
-
Dementsprechend
wird, wenn Aufgaben wie beispielsweise Auflösungsumwandlung, Wiederherstellung,
Bildfeinabstimmung und Entrasterung in monochromen Bildern oder
Farbbildern durchgeführt werden,
oftmals ein Filter separat auf einer jeden Farbebene angewendet.
Ein Filter kann als ein Operator oder eine Vorrichtung charakterisiert
werden, der/die ein Bild, das heißt, ein binäres Bild, in ein anderes Bild,
das heißt,
ein Graustufenbild, umwandelt. Als Ergebnis wird jede Farbebene
separat behandelt. Dennoch ist die unabhängige Behandlung einer jeden
Farbebene oftmals unangemessen. So ist der herkömmliche Ansatz mit der gleichzeitigen
Verwendung, beispielsweise dem Betrachten der resultierenden Farbebenen,
unvereinbar.
-
Darüber hinaus
wird in herkömmlichen
Verfahren jedes schablonenbasierte Filter für eine gegebene Farbebene für gewöhnlich ohne
Berücksichtigung
von nachteiligen ebenenübergreifenden
Interaktionen entwickelt. Solche nachteiligen ebenenübergreifenden
Interaktionen können
dann auftreten, wenn versucht wird, die Kanten eines schwarzen Textfeldes
innerhalb eines Cyan-Bereiches zu verbessern. In diesem Fall kann
die separate Behandlung der Farbebenen zu Bildartefakten wie beispielsweise
einer weißen
Lücke zwischen
den schwarzen und den Cyan-Bereichen führen. Andere Schablonenfilteranwendungen
mit unabhängiger
Behandlung können
andere Abnormalitäten
oder eine suboptimale Gesamtleistung aufweisen.
-
Des
Weiteren weisen die herkömmlichen Verfahren
zum Durchführen
einer separaten Entrasterung ebenfalls verschiedene Probleme auf.
Genauer gesagt, werden bei der herkömmlichen separaten Entrasterung
nicht alle zur Verfügung
stehenden Informationen verwendet. Als Ergebnis wird ein erzeugtes
Bild nicht so fein aufgelöst
wie in dem Fall wiedergegeben, in dem mehr Informationen verwendet
werden würden.
Darüber
hinaus wird es durch die unabhängige
Entrasterung der Farbebenen nicht ermöglicht, dass räumliche
Strukturinformationen in darauffolgenden Farbtransformationen verwendet werden.
-
Herkömmliche
Verfahren, die eine Bildverbesserung mit Hilfe von Schablonenvergleich
durch separates Verarbeiten der Farbebenen anwenden, resultieren
in Mängeln
in dem erzeugten Bild. Die Mängel
können
beispielsweise weiße
Lücken
an den Grenzen der Farbebenen des Bildes einschließen. Es
ist bekannt, Farbkanten zu erzeugen, die einen kleinen Bereich überlappen,
so dass eine Falschregistrierung in dem Druckprozess nicht zu einer
weißen
Lücke zwischen
den Farben an einer Kante führt. Diese
beabsichtigte Überlappung
wird als „Trapping" (Übereinanderdruck)
bezeichnet. Die herkömmlich angewendeten
Verfahren und Techniken stellen dennoch einfach keine optimierte
Verwendung von schablonenbasierten Filtern für das Verarbeiten von mehrfarbigen
Bildern bereit. Insbesondere stellen die herkömmlich angewendeten Verfahren
und Systeme keine optimierte Verwendung von schablonenbasierten
Filtern für
das Durchführen
eines Entrasterungsprozesses in einem mehrfarbigen Bild bereit.
-
Die
Erfindung stellt gemäß Anspruch
1 ein Verfahren zum Umwandeln eines beobachteten Bildes in ein Idealbild
bereit.
-
In Übereinstimmung
mit einer Ausführungsform
der Systeme und Verfahren gemäß dieser
Erfindung wird ein Entrasterungs- und Farbumwandlungsverfahren bereitgestellt,
bei dem jeweils ein, zwei, drei oder vier binäre eingegebene Farbebenen durch ein
Eingabe-Beobachtungsfenster, beispielsweise ein 3 × 3 Fenster,
betrachtet werden. Die erhaltenen Einzelebenen-Vektoren werden zu
einem Mehrebenen-Vektor zusammengefasst, der zum Entrastern oder
anderen Farbumwandlungsprozessen in einer Nachschlagtabelle verwendet
werden kann. Als Ergebnis können
verschiedene Interaktionen zwischen den Farbebenen berücksichtigt
werden, um beispielsweise eine optimale Farbraumumwandlung zu gewährleisten.
Insbesondere aufgrund der zusätzlichen
Informationen, die durch die Verwendung des Mehrebenen-Vektors erhalten
werden, stellen die Systeme und Verfahren der Erfindung eine Technik bereit,
die beispielsweise Farb-Entrasterung
mit genaueren Farbwerten durchführt,
als bei den vielen herkömmlichen
Verfahren mit dem Ansatz, bei dem jeweils eine Ebene separat behandelt
wird.
-
Diese
und weitere Leistungsmerkmale und Vorteile der Systeme und Verfahren
dieser Erfindung werden in der folgenden ausführlichen Beschreibung der exemplarischen
Ausführungsformen
beschrieben, oder sie werden anhand derselben offensichtlich.
-
Die
exemplarischen Ausführungsformen
dieser Erfindung werden ausführlich
in Bezug auf die folgenden Zeichnungen beschrieben, in denen:
-
1 ein
Funktionsblockdiagramm einer exemplarisches Ausführungsform eines Systems zum Modellieren
und Wiederherstellen von Bildern in Übereinstimmung mit dieser Erfindung
ist;
-
2 ist
ein Funktionsblockdiagramm, das eine exemplarische Ausführungsform
der in 1 dargestellten Analyseschaltung für lokale
Bilddaten in Übereinstimmung
mit dieser Erfindung illustriert;
-
3 ist
ein Funktionsblockdiagramm, das eine exemplarische Ausführungsform
des in 2 dargestellten Subsystems zum Erstellen von Nachschlagtabellen
in Übereinstimmung
mit dieser Erfindung illustriert;
-
4 ist
ein Funktionsblockdiagramm, das eine exemplarische Ausführungsform
des in 2 dargestellten Subsystems zum Analysieren von
Bildern in Übereinstimmung
mit dieser Erfindung illustriert;
-
5 ist
ein Diagramm, das ein exemplarisches Fenster in Übereinstimmung mit dieser Erfindung
darstellt;
-
6 ist
ein Diagramm, das ein weiteres exemplarisches Fenster in Übereinstimmung
mit dieser Erfindung darstellt;
-
7 ist
ein Diagramm, das ein weiteres exemplarisches Fenster in Übereinstimmung
mit dieser Erfindung darstellt;
-
8 ist
ein Funktionsblockdiagramm einer exemplarisches Ausführungsform
eines Systems zum Modellieren von Bildern in Übereinstimmung mit dieser Erfindung;
-
9 ist
ein Diagramm, das ein exemplarisches Halbtonbild mit drei Farbebenen
sowie die Analyse der Farbebenen in Übereinstimmung mit dieser Erfindung
darstellt;
-
10 ist
ein Ablaufplan, der eine exemplarische Ausführungsform eines Bildanalyseverfahrens in Übereinstimmung
mit dieser Erfindung darstellt;
-
11 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
in 10 illustrierten Schrittes der Trainingsbildanalyse
darstellt;
-
12 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
in 10 illustrierten Schrittes der Analyse des umgewandelten
Bildes darstellt;
-
13 ist
ein Ablaufplan, der eine exemplarische Ausführungsform eines Verfahrens
zum Erstellen einer in 10 illustrierten Nachschlagtabelle in Übereinstimmung
mit dieser Erfindung darstellt;
-
14 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
in 13 illustrierten Bestimmens der Frequenz in dem
ursprünglichen
Trainingsbild darstellt;
-
15 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
in 13 illustrierten Bestimmens der Frequenz in dem
ursprünglichen
Trainingsbild darstellt;
-
16 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
in 13 illustrierten Schrittes des Korrelierens der
ursprünglichen
Klassen des Trainingsbildes mit den Klassen des umgewandelten Bildes
darstellt; und
-
17 ist
ein Ablaufplan, der eine exemplarische Ausführungsform eines Verfahrens
zum Verarbeiten eines Mehrebenen-Farbbildes unter Verwendung einer
Mehrfarben-Nachschlagtabelle
in Übereinstimmung
mit dieser Erfindung darstellt.
-
1 stellt
eine exemplarische Ausführungsform
eines allgemeinen Funktionsblockdiagramms eines Schablonenvergleichssystems 200 in Übereinstimmung
mit dieser Erfindung dar. Das Schablonenvergleichssystem 200 ist über eine
Signalleitung oder Signalverbindung 110 mit einer Bilddatenquelle 100 und über eine
Signalleitung oder Signalverbindung 310 mit einem Bilddatenempfänger 300 verbunden.
Die Bilddatenquelle 100 stellt dem Schablonenvergleichssystem 200 eine
große
Bandbreite von Bilddaten zur Verfügung. Der Bilddatenempfänger 300 empfängt verarbeitete
Bilder, die durch das Schablonenvergleichssystem 200 ausgegeben
werden.
-
Im
Allgemeinen kann die Bilddatenquelle 100 eine beliebige
von einer Anzahl unterschiedlicher Quellen wie beispielsweise ein
Scanner, ein Digitalkopierer, eine für das Erzeugen von elektronischen
Bilddaten geeignete Faksimilevorrichtung oder eine Vorrichtung,
die zum Speichern und/oder Senden von elektronischen Bilddaten geeignet
ist, so wie zum Beispiel ein Client oder ein Server eines Netzwerkes,
sein. Darüber
hinaus muss es sich bei der Bilddatenquelle 100 nicht notwendigerweise
um eine einzelne Vorrichtung handeln, diese kann auch aus zwei oder
mehreren separaten Vorrichtungen gebildet sein. So kann eine Vorrichtung
beispielsweise Trainingsbilddaten speichern, während die andere Vorrichtung
andere binäre
Bilddaten speichert.
-
Dementsprechend
kann die Bilddatenquelle 100 eine beliebige bekannte oder
zu einem späteren Zeitpunkt
entwickelte Quelle sein, die in der Lage ist, dem Schablonenvergleichssystem 200 dieser
Erfindung Bilddaten bereitzustellen. Auf ähnliche Weise kann der Bilddatenempfänger 300 eine
beliebige bekannte oder zu einem späteren Zeitpunkt entwickelte Vorrichtung
sein, die in der Lage ist, die durch das Schablonenvergleichssystem 200 dieser
Erfindung ausgegebenen verarbeiteten Bilddaten zu empfangen, und
die in der Lage ist, diese verarbeiteten Bilddaten entweder zu speichern,
zu senden und/oder sie anzuzeigen. Dementsprechend kann der Bilddatenempfänger 300 eine
Kanalvorrichtung zum Senden von Daten rekonstruierter Graustufenbilder
oder von Daten verbesserter Bilder beispielsweise für das Anzeigen
oder das Speichern, so zum Beispiel eine Anzeigevorrichtung oder
eine Speichervorrichtung für
das zeitlich unbegrenzte Speichern der Daten von rekonstruierten
Graustufenbilder oder von verbesserten Bildern, bis zu dem Zeitpunkt,
zu dem eine Notwendigkeit entsteht, die Bilddaten anzuzeigen oder sie
weiter zu senden, sein.
-
Des
Weiteren kann die Kanalvorrichtung eine beliebige bekannte Struktur
oder Vorrichtung zum Senden der Bilddaten von dem Schablonenvergleichssystem 200 zu
einer räumlich
entfernten Speicher- oder Anzeigevorrichtung sein. Dementsprechend
kann die Kanalvorrichtung ein öffentliches Fernsprechnetz,
ein lokales oder Großraumnetzwerk (LAN
oder WAN), ein Intranet, das Internet, ein drahtloser Übertragungskanal
oder ein beliebiges anderes Verteilernetzwerk oder Ähnliches
sein. Auf ähnliche Weise
kann die Speichervorrichtung eine beliebige bekannte strukturelle
Vorrichtung zum zeitlich unbegrenzten Speichern der Bilddaten, so
wie beispielsweise ein Direktzugriffsspeicher RAM, ein Festplattenlaufwerk
mit Festplatte, Diskettenlaufwerk mit Diskette, ein optisches Laufwerk
mit optischer Platte, ein Flash-Speicher oder Ähnliches sein. Schließlich kann die
Anzeigevorrichtung ein beliebiges bekanntes Gerät zum Anzeigen oder Wiedergeben
eines Bildes sein. Dementsprechend kann die Anzeigevorrichtung eine
CRT-Anzeige (Kathodenstrahlröhre), eine
Aktiv- oder Passiv-Matrix-LCD (Flüssigkristallan zeige), eine
Aktiv- oder Passiv-Matrix-LED (Leuchtdiodenanzeige), ein Laserdrucker,
ein Tintenstrahldrucker, ein Digitalkopierer oder Ähnliches
sein.
-
Darüber hinaus
können
die Bilddatenquelle 100 und der Bilddatenempfänger 300 räumlich von dem
Schablonenvergleichssystem 200 entfernt angeordnet und über die
oben beschriebene Kanalvorrichtung zugreifbar sein. Alternativ dazu
kann das Schablonenvergleichssystem 200 entweder nur mit der
Bilddatenquelle 100 oder nur mit dem Bilddatenempfänger 300 oder
mit beiden integriert sein. So kann beispielsweise die Bilddatenquelle 100 ein Scanner
eines digitalen Fotokopierers sein, während der Bilddatenempfänger 300 ein
Bildausgabeterminal eines digitalen Fotokopierers ist.
-
In Übereinstimmung
mit den Systemen und den Verfahren dieser Erfindung wird zunächst beispielsweise
eine Nachschlagtabelle erstellt. Die erstellte Nachschlagtabelle
enthält
verschiedene Schablonen zum Umwandeln eines beobachteten Bildes in
ein anderes Bild, das heißt,
in ein Idealbild. Nachdem die Nachschlagtabelle, einschließlich der
Schablonen, erstellt ist, wird sie anschließend implementiert. Das heißt, die
Nachschlagtabelle wird so implementiert, dass die beobachteten Bilder
in der Praxis tatsächlich
in Idealbilder umgewandelt werden. Das Schablonenvergleichssystem 200 illustriert
ein System, das sowohl den Prozess des Erstellens der Nachschlagtabelle
als auch den Prozess des Implementierens der Nachschlagtabelle durchführt. Dennoch
sollte beachtet werden, dass die Nachschlagtabelle zur Implementierung
durchaus zu einem anderen System, welches von dem System, das die
Nachschlagtabelle tatsächlich
erstellt hat, separat ist, gesendet werden kann und wahrscheinlich
auch zu diesem gesendet wird.
-
Wie
dies in 1 dargestellt ist, enthält das Schablonenvergleichssystem 200 eine
Steuerschaltung 210, eine Eingabe-/Ausgabeschnittstelle 220, eine
Analyseschaltung für
lokale Bilddaten 230, eine Verarbeitungsschaltung 240 und
einen Speicher 280, wobei alle mit einem Datenbus 295 verbunden
sind. Die Eingabe-/Ausgabeschnittstelle 220 kann darüber hinaus über die
Signalleitungen 110 oder die Signalverbindungen 310 jeweils
mit der Bilddatenquelle 100 und mit dem Bilddatenempfänger 300 verbunden sein.
-
Darüber hinaus
enthält
der Speicher 280, so wie dies in 1 dargestellt
ist, einen Datenspeicher für
Idealbilder 281, einen Datenspeicher für Idealbild-Muster 282,
einen Da tenspeicher für
Idealbild-Vektoren 283, einen Datenspeicher für beobachtete
Bilder 284, einen Datenspeicher für Muster von beobachteten Bildern 285,
einen Datenspeicher für Vektoren
von beobachteten Bildern 286 und einen Speicher für Nachschlagtabellen 287.
-
Der
Datenspeicher für
Idealbilder 281 speichert Trainingsbilddaten wie beispielsweise
Daten von kontinuierlichen Bildern. Die Daten von Idealtrainingsbildern
werden von der Bilddatenquelle 100 über die Eingabe-/Ausgabeschnittstelle 220 eingegeben.
Die Daten von Idealtrainingsbildern können alternativ dazu beispielsweise
ein binäres
Farbbild sein, das mehrere Farbebenen enthält. Der Datenspeicher für Idealbild-Muster 282 speichert
analysierte Dateninformationen, die von dem eingegebenen Trainingsbild
erhalten werden, wie beispielsweise Musterinformationen, die das
eingegebene Trainingsbild repräsentieren.
Der Datenspeicher für
Idealbild-Vektoren 283 speichert die analysierten Dateninformationen,
die von dem eingegebenen Trainingsbild erhalten werden, wie beispielsweise
Vektorinformationen, die das eingegebene Trainingsbild repräsentieren.
-
Des
Weiteren speichert der Datenspeicher für beobachtete Bilder 284 Daten
von beobachteten Bildern. Diese Daten können über die Eingabe-/Ausgabeschnittstelle 220 von
der Bilddatenquelle 100 eingegeben werden, oder, resultieren
alternativ dazu in irgendeiner Art und Weise von dem Umwandeln des
Idealbildes. Genauer gesagt, kann der Datenspeicher für beobachtete
Bilder 284 Daten von beobachteten Bildern speichern, die
in der Analyseschaltung für
lokale Bilddaten 230 erzeugt werden. Der Datenspeicher
für Muster
von beobachteten Bildern 285 speichert die analysierten
Dateninformationen, die von dem beobachteten Bild erhalten werden,
so wie beispielsweise Musterinformationen, die das beobachtete Bild
repräsentieren.
Der Datenspeicher für Vektoren
von beobachteten Bildern 286 speichert die analysierten
Dateninformationen, die von dem in dem Datenspeicher für beobachtete
Bilder 284 gespeicherten beobachteten Bild erhalten werden,
so wie beispielsweise Vektorinformationen, die das beobachtete Bild
repräsentieren.
Der Speicher für
Nachschlagtabellen 287 speichert Daten von Nachschlagtabellen,
die durch die Analyseschaltung für
lokale Bilddaten 230 erzeugt werden. Die Nachschlagtabelle
verknüpft
Daten von beobachteten Bildern mit Daten von Idealbildern, die den
Daten von beobachteten Bildern entsprechen. Wenn die Nachschlagtabelle
erstellt ist, kann die Nachschlagtabelle in einer großen Bandbreite
von Systemen und Vorrichtungen zum Umwandeln eines beobachteten
Bildes in ein Idealbild verwendet werden.
-
Darüber hinaus
speichert der Speicher 280 auch jegliche notwendigen Steuerprogramme und/oder
Daten, die von dem Schablonenvergleichssystem 200 benötigt werden.
Dementsprechend kann der Speicher 280 unter Verwendung
eines statischen oder eines dynamischen Direktzugriffsspeichers
RAM, einer Diskette mit einem Diskettenlaufwerk, einer beschreibbaren
optischen Platte mit Plattenlaufwerk, einer Festplatte mit Festplattenlaufwerk, eines
Flash-Speichers oder Ähnlichem
implementiert werden. Der Speicher 280 kann des Weiteren
einen Nur-Lese-Speicher, einschließlich programmierbarer Lesespeicher
PROMs, löschbarer
programmierbarer Lesespeicher EPROMs, elektrisch löschbarer
programmierbarer Lesespeicher EEPROMs, eine CD-ROM mit Plattenlaufwerk
oder Ähnliches,
enthalten.
-
In Übereinstimmung
mit den Systemen und Verfahren dieser Erfindung kann ein Idealbild
anhand eines beobachteten Bildes unter Verwendung des in 1 dargestellten
Schablonenvergleichssystems 200 modelliert und wiederhergestellt
werden. Um dies jedoch zu erreichen, ist es zuerst erforderlich,
einen Modellierprozess, das heißt,
einen Trainingsprozess durchzuführen.
Der Modellierprozess umfasst das Erzeugen von Vergleichsschablonen
mit einem besonderen Muster in dem beobachteten Bild, das heißt, einen
Schablonenvergleichsprozess. Der Schablonenvergleichsprozess resultiert
in der Erstellung einer Nachschlagtabelle.
-
2 ist
ein Funktionsblockdiagramm, das eine exemplarische Ausführungsform
der in 1 dargestellten Analyseschaltung für lokale
Bilddaten 230 auf ausführlichere
Weise illustriert. Wie dies in 2 dargestellt
ist, enthält
die Analyseschaltung für lokale
Bilddaten 230 ein Subsystem zum Erstellen von Nachschlagtabellen 260 und
ein Subsystem zum Analysieren von Bildern 270. Das Subsystem
zum Erstellen von Nachschlagtabellen 260 erstellt die Nachschlagtabelle
in Übereinstimmung
mit den Systemen und Verfahren dieser Erfindung. Das Subsystem zum
Analysieren von Bildern 270 analysiert ein Bild unter Verwendung
der durch das Subsystem zum Erstellen von Nachschlagtabellen 260 erstellten Nachschlagtabelle.
Das Subsystem zum Analysieren von Bildern 270 ist in Übereinstimmung
mit den Systemen und Verfahren dieser Erfindung deshalb in dem Schablonenvergleichssystem 200 enthalten,
da das Schablonenver gleichssystem 200 sowohl das Erstellen
als auch das Implementieren der Nachschlagtabelle durchführt. Dennoch
sollte hierbei beachtet werden, dass in einem System, das lediglich zum
Erstellen der Nachschlagtabelle verwendet wird, die Abschnitte des
Subsystems zum Analysieren von Bildern 270, die zum Implementieren
der Nachschlagtabelle verwendet werden, weggelassen werden können. Das
Subsystem zum Erstellen von Nachschlagtabellen 260 und
das Subsystem zum Analysieren von Bildern 270 sind beide
jeweils mit dem Datenbus 295 verbunden.
-
Sowohl
das Subsystem zum Erstellen von Nachschlagtabellen 260 als
auch das Subsystem zum Analysieren von Bildern 270 enthalten
die jeweils in den 3 und 4 dargestellten
Subsysteme. 3 ist ein Funktionsblockdiagramm,
das eine exemplarische Ausführungsform
des in 2 dargestellten Subsystems zum Erstellen von Nachschlagtabellen 260 auf
ausführlichere
Weise illustriert. Wie dies in 3 dargestellt
ist, enthält
das Subsystem zum Erstellen von Nachschlagtabellen 260 eine
Analyseschaltung für
Idealbilder 262, eine Bestimmungsschaltung für Idealbild-Pixelmuster 263,
eine Bestimmungsschaltung für
Idealbild-Vektoren 264, eine Analyseschaltung für beobachtete
Bilder 266, eine Bestimmungsschaltung für Vektoren von beobachteten
Bildern 268 sowie eine Schaltung zum Zusammenstellen von
Nachschlagtabellen 269, wobei alle mit dem Datenbus 295 verbunden
sind.
-
Die
Analyseschaltung für
Idealbilder 262 führt
die anfängliche
Analyse eines Idealbildes, das verarbeitet werden soll, durch. Die
Bestimmungsschaltung für
Idealbild-Pixelmuster 263 bestimmt das Pixelmuster in dem
Idealbild. Die Bestimmungsschaltung für Idealbild-Vektoren 264 analysiert das
durch die Bestimmungsschaltung für
Idealbild-Pixelmuster 263 bestimmte Pixelmuster und erzeugt
einen Vektor, der das Ideal-Pixelmuster repräsentiert.
-
Die
Analyseschaltung für
beobachtete Bilder 266 führt die anfängliche Analyse eines anhand
des Idealbildes erhaltenen beobachteten Bildes durch. Die Bestimmungsschaltung
für Pixelmuster
von beobachteten Bildern 267 bestimmt das Pixelmuster in dem
beobachteten Bild. Des Weiteren analysiert die Bestimmungsschaltung
für Vektoren
von beobachteten Bildern 268 das durch die Bestimmungsschaltung für Pixelmuster
von beobachteten Bildern 267 bestimmte Pixelmuster und
erzeugt einen Vektor, der das beobachtete Pixelmuster in dem beobachteten Bild
repräsentiert.
-
Die
Schaltung zum Zusammenstellen von Nachschlagtabellen 269 stellt
die durch die Bestimmungsschaltung für Idealbild-Vektoren 264 und
die Bestimmungsschaltung für
Vektoren von beobachteten Bildern 268 erzeugten Informationen
zusammen und erstellt auf Basis der zusammengestellten Informationen
eine Nachschlagtabelle.
-
4 ist
ein Funktionsblockdiagramm, das eine exemplarische Ausführungsform
des in 2 dargestellten Subsystems zum Analysieren von
Bildern 270 auf ausführlichere
Weise illustriert. Wie dies in 4 dargestellt
ist, enthält
das Subsystem zum Analysieren von Bildern 270 eine Eingabebild-Analyseschaltung 272,
eine Vektorbestimmungsschaltung 274 und eine Extrahierschaltung
für Nachschlagtabellenwerte 276,
wobei alle mit dem Datenbus 295 verbunden sind. Die Eingabebild-Analyseschaltung 272 gibt
zunächst
ein beobachtetes Bild, das analysiert werden soll, ein, und führt eine
anfängliche
Analyse dieses Bildes durch. Die Vektorbestimmungsschaltung 274 führt eine
weitere Analyse anhand der durch die Eingabebild-Analyseschaltung 272 erzeugten
Informationen durch und erzeugt auf Basis der durch die Eingabebild-Analyseschaltung 272 erhaltenen
Informationen einen Satz von Vektoren. Die Extrahierschaltung für Nachschlagtabellenwerte 276 gibt
die in der Vektorbestimmungsschaltung 274 erzeugten Vektorinformationen
ein und verwendet die Vektorinformationen als Eingabe in eine Nachschlagtabelle.
Die Extrahierschaltung für
Nachschlagtabellenwerte 276 extrahiert anschließend einen
geeigneten Wert von der Nachschlagtabelle, der den eingegebenen
Vektorinformationen entspricht.
-
In
einem exemplarischen Lern- beziehungsweise Trainingsprozess in Übereinstimmung
mit den Systemen und Verfahren dieser Erfindung initiiert die Steuerschaltung 210 bei
Eingabe eines Ideal-Trainingsbildes von der Bilddatenquelle 100 über die
Verbindung 110 die Erstellung einer Nachschlagtabelle. Anschließend wird
das Ideal-Trainingsbild in dem Datenspeicher für Idealbilder 281 gespeichert.
In verschiedenen Ausführungsformen
der Systeme und Verfahren dieser Erfindung kann das Trainingsbild
in Abhängigkeit
von dem bestimmten beobachteten Bild, anhand dessen ein höheres Bild
rekonstruiert werden soll, beispielsweise ein beliebiges einer großen Bandbreite
von Bildern sein.
-
In
der exemplarischen Ausführungsform
des oben beschriebenen Schablonenvergleichssystems 200 wandelt
das exemplarische Schablonenvergleichssystem 200 das eingegebene
Idealbild in das beobachtete Bild um, um das Paar von Trainingsbildern
zu erzeugen. Hierbei sollte jedoch beachtet werden, dass die Systeme
und Verfahren dieser Erfindung nicht auf das Erzeugen des beobachteten
Bildes durch das Durchführen
eines Umwandlungsprozesses in einem Idealbild beschränkt ist.
Die Systeme und Verfahren der Erfindung umfassen vielmehr auch das
separate Eingeben der entsprechenden Ideal- und beobachteten Bilder.
Diese entsprechenden Ideal- und beobachteten Bilder könnten auf
Basis von Fachwissen ausgewählt
werden, das beispielsweise durch Laborversuche erworben wird.
-
In Übereinstimmung
mit den Systemen und Verfahren dieser Erfindung wird das Ideal-Trainingsbild durch
die Analyseschaltung für
Idealbilder 262 von der Bilddatenquelle 100 eingegeben.
Das eingegebene Bild wird in dem Datenspeicher für Idealbilder 281 gespeichert.
Anschließend
analysiert die Bestimmungsschaltung für Idealbild-Pixelmuster 263 das Ideal-Trainingsbild.
In dieser exemplarischen Ausführungsform
ist das Ideal-Trainingsbild
ein binäres Mehrebenen-Bild.
Hierbei sollte jedoch beachtet werden, dass die Systeme und Verfahren
dieser Erfindung für
eine große
Bandbreite von Bildtypen angewendet werden können, so wie dies im weiteren
Verlauf beschrieben wird. So können
die Systeme und Verfahren beispielsweise verwendet werden, um zum
Beispiel einen Entrasterungsprozess zum Umwandeln eines binären Bildes
in ein Graustufenbild durchzuführen.
-
Die
Bestimmungsschaltung für
Idealbild-Pixelmuster 263 beobachtet die Pixelmuster in
dem binären
Idealbild und speichert diese Bildinformationen zusammen mit den
verknüpften
Zielpixelinformationen in dem Datenspeicher für Idealbild-Muster 282. Anschließend führt die
Bestimmungsschaltung für Idealbild-Vektoren 264 eine
Analyse der in dem Datenspeicher für Idealbild-Muster 282 gespeicherten Pixelmuster
durch. Genauer gesagt, wandelt die Bestimmungsschaltung für Idealbild-Vektoren 264 die beobachteten
Pixelmuster in Mehrebenen-Vektoren um. Nachdem die Bestimmungsschaltung
für Idealbild-Vektoren 264 für jedes
Pixel den Mehrebenen-Vektor bestimmt hat, der das Trainingsbild
repräsentiert,
werden diese Vektordaten sowie Pixelpositionsdaten in dem Datenspeicher
für Idealbild-Vektoren 283 gespeichert.
-
Das
Schablonenvergleichssystem 200 in Übereinstimmung mit dieser Erfindung
führt einen Schablonenvergleichsprozess
beispielsweise für
ein binäres
Farbbild durch, das mehrere Farbebenen aufweist. In den verschiedenen
Ausführungsformen des
Schablonenvergleichssystems und den dazugehörigen hierin beschriebenen
Verfahren weisen die Ideal- und die beobachteten Bilder jeweils
vier Farbebenen auf. Die Erfindung ist jedoch nicht auf vier Farbebenen
beschränkt.
So können
die Schablonenvergleichssysteme und -verfahren dieser Erfindung
vielmehr dafür
verwendet werden, Bilder mit drei, zwei oder sogar einer Farbebene
zu verarbeiten und zu behandeln, solange wie das Bild durch wenigstens zwei
Vektoren oder durch einen anderen entsprechenden mathematischen
Ausdruck dargestellt wird. Mit der hierin verwendeten Bezeichnung
soll ein „Vektor" für einen
mathematischen Ausdruck stehen, der in einer Art und Weise die Eigenschaften
eines Bildes oder eines Abschnittes eines Bildes ausdrückt. Alternativ
dazu kann ein Bild, das mehr als vier Farbebenen aufweist, in Übereinstimmung
mit den Schablonenvergleichssystemen und -verfahren dieser Erfindung
verarbeitet werden. Darüber
hinaus soll mit der hierin verwendeten Bezeichnung ein „Wert" für Informationen
einer großen
Bandbreite von Formen stehen. So kann beispielsweise ein Einzelwert
eine Anzahl von Werten enthalten, die als Subwerte charakterisiert
werden können.
-
Das
Schablonenvergleichssystem 200 stellt eine verbesserte
Nachschlagtabelle für
das Verknüpfen
eines Idealbildes mit einem beobachteten Bild bereit. Insbesondere
verwendet das Schablonenvergleichssystem 200 Zielpixel-Informationen über jede der
Farbebenen, ebenso wie gleichzeitig Informationen zur Nachbarschaft,
um Eingabevektoren für
die Nachschlagtabelle zu erzeugen. Darüber hinaus gibt die in Übereinstimmung
mit der Erfindung erstellte und gespeicherte Nachschlagtabelle umgewandelte Farbeninformationen
für sämtliche
Farbebenen der Ausgabepixel aus.
-
Bei
der Erstellung der Nachschlagtabelle tastet die Analyseschaltung
für Idealbilder 262 ein geeignetes
Gleitfenster über
die Pixel des Ideal-Trainingsbildes hinweg ab. Genauer gesagt, beobachtet beispielsweise
die Bestimmungsschaltung für
Idealbild-Pixelmuster 263 unter Verwendung des Gleitfensters
sequenziell sämtliche
Pixel in sämtlichen Farbebenen
in dem Idealbild. Wenn das Gleitfenster das Abtasten über die
Pixel des Idealbildes hinweg durchführt, werden zu einem gegebenen
Zeitpunkt Informationen für
ein bestimmtes spezifiziertes Pixel, das heißt, das Zielpixel, in einer
gegebenen Farbebene erzeugt.
-
Die
Bestimmungsschaltung für
Idealbild-Pixelmuster 263 tastet das Fenster entlang der Fast-Scan-Richtung,
das heißt,
entlang der horizontalen Richtung ab. Genauer gesagt, gibt die Bestimmungsschaltung
für Idealbild-Pixelmuster 263 die
Pixelinformationen beginnend bei einem beliebigen ersten Zielpixel
und einer beliebigen ersten Farbebene ein. Die Bestimmungsschaltung
für Idealbild-Pixelmuster 263 beobachtet
das erste Zielpixel in der ersten Farbebene. Die beobachteten Musterinformationen
werden in dem Datenspeicher für
Idealbild-Muster 282 gespeichert. Anschließend beobachtet
und speichert die Bestimmungsschaltung für Idealbild-Pixelmuster 263 die
Musterinformationen des ersten Zielpixels in der zweiten Farbebene.
Anschließend
beobachtet und speichert die Bestimmungsschaltung für Idealbild-Pixelmuster 263 Musterinformationen
des ersten Zielpixels jeweils in der dritten und in der vierten
Farbebene.
-
Wenn
das erste Zielpixel in jeder Farbebene beobachtet ist, bewegt die
Bestimmungsschaltung für
Idealbild-Pixelmuster 263 das Fenster zu einem zweiten
Zielpixel. In einer Weise, die dem Beobachten des ersten Zielpixels ähnlich ist,
beobachtet die Bestimmungsschaltung für Idealbild-Pixelmuster 263 sequenziell
das zweite Zielpixel in einer jeden Farbebene. Die beobachteten
Musterinformationen werden in dem Datenspeicher für Idealbild-Muster 282 gespeichert.
Wenn alle Farbebenen für
das zweite Zielpixel beobachtet sind, bewegt die Bestimmungsschaltung
für Idealbild-Pixelmuster 263 das
Fenster zu einem dritten Zielpixel und so weiter, und zwar so lange,
bis das gesamte Bild eingegeben ist.
-
Schließlich wird
das letzte Zielpixel in allen vier Farbebenen in dem Idealbild beobachtet
sein. Als Ergebnis werden die Zielpixel-Musterinformationen für jedes
Zielpixel in einer jeden Farbebene in dem Idealbild in dem Datenspeicher
für Idealbild-Muster 282 gespeichert.
Genauer gesagt, erzeugt die Bestimmungsschaltung für Idealbild-Pixelmuster 263 in Übereinstimmung
mit dem Trainingsprozess des Schablonenvergleichssystems 200 Daten,
die das spezifische Pixelmuster für ein jedes beobachtete Zielpixel
in einer jeden Farbebene des Ideal-Trainingsbildes anzeigen. Diese
Musterdaten werden zusammen mit den Koordinaten des verknüpften Zielpixels
in dem Datenspeicher für
Idealbild-Muster 282 gespeichert.
-
Wie
oben beschrieben, beobachtet die Bestimmungsschaltung für Idealbild-Pixelmuster 263 sämtliche
Farbebenen für
ein bestimmtes Zielpixel und bewegt sich anschließend zu
dem nächsten
Zielpixel. Dennoch sind die Systeme und Verfahren der Erfindung
nicht auf eine solche Vorgehensweise beschränkt. Alternativ dazu könnte die
Bestimmungsschaltung für
Idealbild-Pixelmuster 263 zunächst jedes Zielpixel in einer
ersten Farbebene beobachten. Wenn jedes Zielpixel in der ersten
Farbebene beobachtet ist, würde
die Bestimmungsschaltung für
Idealbild-Pixelmuster 263 anschließend jedes Zielpixel in der
zweiten Farbebene beobachten und so weiter. Die erlangten Informationen
könnten
beispielsweise in einem geeigneten Zwischenspeicher gespeichert werden.
-
Wenn
das eingegebene Ideal-Trainingsbild analysiert ist, steuert die
Steuerschaltung 210 die Verarbeitungsschaltung 240 so
an, dass sie das in dem Datenspeicher für Idealbilder 281 gespeicherte eingegebene
Ideal-Trainingsbild in ein entsprechendes beobachtetes Trainingsbild
umwandelt. Diese Umwandlung wird durchgeführt, um ein zweites Element
eines Paares von Trainingsbildern zu erzeugen. Das erste Element
ist das Idealbild. Der bestimmte in dem Idealbild durchgeführte Umwandlungsprozess wird
variiert in Anhängigkeit
von der bestimmten Anwendung des Schablonenvergleichssystems 200.
So kann der bestimmte Umwandlungsprozess beispielsweise Rasterung
(Halftoning), inverse Rasterung oder Entrasterung, Zerlegung, Segmentierung,
Farbraumumwandlung, Auflösungsverbesserung, Rauschfiltern
oder jeglichen beliebigen anderen bekannten oder zu einem späteren Zeitpunkt
entwickelten Umwandlungsprozess für ein Farb- oder ein monochromes
Bild sein.
-
Wie
jedoch oben beschrieben wurde, sind die Verfahren und Systeme dieser
Erfindung nicht auf das Erzeugen des beobachteten Trainingsbildes,
das heißt,
des beobachteten Bildes, durch Umwandeln eines Idealbildes beschränkt. So
können
die Verfahren und Systeme der Erfindung vielmehr auch das separate
Eingeben von entsprechenden Ideal- und beobachteten Trainingsbildern
umfassen. Diese entsprechenden Ideal- und beobachteten Trainingsbilder
könnten
beispielsweise auf Basis von Fachwissen ausgewählt werden.
-
Als
Ergebnis des Umwandlungsprozesses wird ein beobachtetes Bild, das
heißt,
das durch die Verarbeitungsschaltung 240 aus dem Idealbild
umgewandelt ist, erzeugt, und in dem Datenspeicher für beobachtete
Bilder 284 gespeichert. Das Subsystem zum Erstellen von
Nachschlagtabellen 260 enthält eine Analyseschaltung für beobachtete
Bilder 266 zum Analysieren des beobachteten Bildes.
-
Die
Analyseschaltung für
beobachtete Bilder 266 ruft das beobachtete Trainingsbild
von dem Datenspeicher für
beobachtete Bilder 284 auf. Anschließend tastet die Bestimmungsschaltung
für beobachtete
Pixelmuster 267 ein Gleitfenster, so wie beispielsweise
ein 3 × 3
Fenster 430 über
die Pixel des beobachteten Trainingsbildes hinweg ab, so wie dies in 5 dargestellt
ist. Durch Verwendung des Gleitfensters beobachtet die Bestimmungsschaltung
für beobachtete
Pixelmuster 267 für
ein jedes Zielpixel die Datenwerte der beobachteten Bilder für die benachbarten
Pixel in den Farbebenen in dem beobachteten Bild. Die Bestimmungsschaltung
für beobachtete
Pixelmuster 267 gibt die Pixelinformationen beginnend bei
einem beliebigen ersten Zielpixel und einer vorgegebenen beliebigen
ersten Farbebene in dem beobachteten Bild ein. Die Bestimmungsschaltung
für beobachtete
Pixelmuster 267 beobachtet die Nachbarschaft des ersten
Zielpixels in der ersten Farbebene. Die beobachteten Musterinformationen werden
in dem Datenspeicher für
beobachtete Bildmuster 285 gespeichert. Anschließend beobachtet und
speichert die Bestimmungsschaltung für beobachtete Pixelmuster 267 Musterinformationen
der Nachbarschaft des ersten Zielpixels in der zweiten Farbebene.
Diese Musterinformationen werden anschließend ebenfalls in dem Datenspeicher
für beobachtete
Bildmuster 285 gespeichert. Anschließend beobachtet und speichert
die Bestimmungsschaltung für
beobachtete Pixelmuster 267 Musterinformationen der Nachbarschaft
des ersten Zielpixels jeweils in der dritten und der vierten Farbebene
des beobachteten Bildes.
-
Die
Bestimmungsschaltung für
beobachtete Pixelmuster 267 wendet ein Gleitfensterverfahren zum
Analysieren des beobachteten Bildes an. So kann die Bestimmungsschaltung
für beobachtete
Pixelmuster 267 beispielsweise ein 3 × 3 Gleitfenster verwenden.
Die Bestimmungsschaltung für
beobachtete Pixelmuster 267 tastet das 3 × 3 Gleitfenster über die
Bilddaten des in dem Datenspeicher für beobachtete Bilder gespeicherten
beobachteten Bildes hinweg ab.
-
5 stellt
ein illustratives Beispiel eines solchen 3 × 3 Gleitfensters dar. Wie
dies in 5 dargestellt ist, enthält ein Gleitfenster 430 ein
Feld von Pixeln einschließlich
von 3 Zeilen, mit jeweils den Koordinaten 0-2, und drei Spalten,
mit jeweils den horizontalen Koordinaten 0-2. Die horizontale Achse
repräsentiert
die Fast-Scan-Richtung, während
die vertikale Achse die bestimmten Pixel in der Slow-Scan-Richtung
repräsentiert.
Das Gleitfenster enthält
ein Zielpixel 432. So enthält das 3 × 3 Gleitfenster 430 beispielsweise
ein Mitte- oder Zielpixel 432, das sich bei den Koordinaten
(1,1) befindet. Das Zielpixel wird zum Analysieren des in dem Datenspeicher
für beobachtete
Bilder 284 gespeicherten beobachteten Bildes verwendet.
Dennoch sollte hierbei beachtet werden, dass die Bestimmungsschaltung für beobachtete
Pixelmuster 267 verschiedene andere Typen von Fenstern
verwenden kann.
-
Die 6 und 7 stellen
alternative Typen von Fenstern dar. Diese Fenster, ebenso wie andere
Fenster, können
durch die Bestimmungsschaltung für
beobachtete Pixelmuster 267 in Übereinstimmung mit den Systemen
und Verfahren der Erfindung anstelle des Fensters 430 verwendet
werden. So zeigt 6 beispielsweise ein 3 × 3 Fenster,
wobei sich das Mitte- oder Zielpixel bei den Koordinaten (1,0) befindet.
Darüber
hinaus ist das zu verwendende bestimmte Fenster nicht auf ein 3 × 3 Fenster
beschränkt.
So zeigt 7 beispielsweise ein Fenster, das
eine leicht abgeänderte,
asymmetrische Form aufweist. Darüber
hinaus können
verschiedene andere geeignete Fenster wie beispielsweise solch ein Fenster,
das in einem 3 × 2-Feld
gebildet ist und das Zielpixel bei den Koordinaten (1,0) hat, verwendet werden.
-
Hierbei
sollte beachtet werden, dass das bestimmte Gleitfenster, das in
einer beliebigen bestimmten Ausführungsform
der Schablonenvergleichssysteme und -verfahren in Übereinstimmung mit
dieser Erfindung von den bestimmten Anforderungen des bestimmten
Bildes, das analysiert wird, abhängt.
Darüber
hinaus hängt
der bestimmte Ort des Zielpixels innerhalb des Gleitfensters von
den Anforderungen der bestimmten Anwendung ab.
-
Wenn
die Nachbarschaft des ersten Zielpixels in einer jeden Farbebene
beobachtet ist, bewegt die Bestimmungsschaltung für beobachtete
Bildpixelmuster 267 das Fenster zu einem zweiten Zielpixel. Auf ähnliche
Weise wie beim Beobachten der Nachbarschaften des ersten Zielpixels
in dem beobachteten Bild beobachtet die Bestimmungsschaltung für beobachtete
Bildpixelmuster 267 sequenziell die Nachbarschaft des zweiten
Zielpixels in einer jeden Farbebene. Die beobachteten Musterinformationen werden
in dem Datenspeicher für
beobachtete Muster 285 gespeichert. Wenn sämtliche
Farbebenen in der Nachbarschaft des zweiten Zielpixels beobachtet sind,
bewegt die Bestimmungs schaltung für beobachtete Bildpixelmuster 267 das
Fenster zu dem dritten Zielpixel, dann zu dem vierten Zielpixel,
und so weiter.
-
Schließlich wird
die Nachbarschaft des letzten Zielpixels in allen vier Farbebenen
in dem beobachteten Bild beobachtet sein. Als Ergebnis werden die
Zielpixel-Musterinformationen
für jedes
Zielpixel in einer jeden Farbebene in dem Datenspeicher für beobachtete
Muster 285 gespeichert. Genauer gesagt, erzeugt die Bestimmungsschaltung
für beobachtete
Bildpixelmuster 267 in Übereinstimmung
mit dem durch das Schablonenvergleichssystem 200 durchgeführten Trainingsprozess
Daten, die die spezifischen Musterdaten für jedes beobachtete Zielpixel in
einer jeden Farbebene des beobachteten Trainingsbildes anzeigen.
Diese Musterdaten werden zusammen mit den Koordinaten eines jeden
verknüpften
Pixels in dem Datenspeicher für
beobachtete Bilder 285 gespeichert.
-
Wie
oben beschrieben, beobachtet die Bestimmungsschaltung für beobachtete
Bildpixelmuster 267 sämtliche
Nachbarschaften für
ein bestimmtes Zielpixel in einer jeden Farbebene, und bewegt sich anschließend zu
dem nächsten
Zielpixel. Alternativ dazu könnte
die Bestimmungsschaltung für
beobachtete Bildpixelmuster 267 auch erst sämtliche
Nachbarschaften des Zielpixels in einer ersten Farbebene beobachten.
Wenn die Nachbarschaft um ein jedes Zielpixel für die erste Farbebene beobachtet
ist, würde
die Bestimmungsschaltung für
beobachtete Bildpixelmuster 267 anschließend die
Nachbarschaft um ein jedes Zielpixel in der zweiten Ebene beobachten, und
so weiter.
-
Dementsprechend
werden die vollständigen Musterdateninformationen
für eine
jede Farbebene des Idealbildes in dem Datenspeicher für Idealbild-Muster 282 gespeichert.
Die vollständigen
Musterinformationen für
eine jede Farbebene in dem beobachteten Bild werden ebenfalls in
dem Datenspeicher für
beobachtete Bildmusterdaten 285 gespeichert. Wenn diese
Informationen angehäuft
sind, verknüpft
das Subsystem zum Erstellen von Nachschlagtabellen 260 die
Pixelwerte in dem Idealbild mit den Pixelwerten in dem beobachteten
Bild. Das heißt,
das Subsystem zum Erstellen von Nachschlagtabellen 260 erzeugt
eine Nachschlagtabelle, die das beobachtete Bild auf dem Idealbild
abbildet.
-
Die
Bestimmungsschaltung für
Idealbild-Vektoren 264 des Subsystems zum Erstellen von Nachschlagtabellen 260 beginnt
den Mapping-(Abbildungs-) Prozess durch Abrufen der Idealbild-Pixelmusterinformationen
von dem Datenspeicher für
Idealbild-Musterdaten 282.
Die Bestimmungsschaltung für
Idealbild-Vektoren 264 ruft die Pixelmusterinformationen
für ein
erstes Pixel für
eine erste Farbebene ab. Anschließend vektorisiert die Bestimmungsschaltung
für Idealbild-Vektoren 264 diese
erste Pixelmusterinformation, um einen ersten Vektor zu erzeugen,
der das erste Pixel repräsentiert.
Anschließend
ruft die Bestimmungsschaltung für
Idealbild-Vektoren 264 die erste Pixelmusterinformation für die zweite
bis vierte Farbebene ab und vektorisiert diese Informationen jeweils
in einen zweiten bis vierten Vektor.
-
Anschließend fasst
die Bestimmungsschaltung für
Idealbild-Vektoren 264 in Übereinstimmung mit den Systemen
und Verfahren der Erfindung den ersten bis vierten Vektor zu einem
einzelnen Vektor zusammen. Dieser einzelne Vektor, der unter Verwendung
eines Fensters für
ein binäres
CMYK-Farbbild erhalten wird, repräsentiert das beobachtete Pixel
in dem Idealbild. Anschließend
speichert die Bestimmungsschaltung für Idealbild-Vektoren 264 diesen
zusammengefassten Vektor in dem Datenspeicher für Idealbild-Vektoren 283 zusammen
mit den Zielpixelkoordinaten, die mit dem zusammengefasst Vektor
verknüpft
sind.
-
Nachdem
die Bestimmungsschaltung für Idealbild-Vektoren 264 das
erste Zielpixel in einem Trainingsbild, so wie oben beschrieben,
analysiert hat, ruft die Bestimmungsschaltung für Idealbild-Vektoren 264 in Übereinstimmung
mit den Systemen und Verfahren der Erfindung die Pixelmuster für das nächste Zielpixel
von dem Datenspeicher für
Idealbild-Muster 282 ab. Die Bestimmungsschaltung für Idealbild-Vektoren 264 analysiert
die Pixelmuster für das
nächste
Zielpixel in einer jeden Farbebene, so wie oben beschrieben wurde.
Als Ergebnis erzeugt die Bestimmungsschaltung für Idealbild-Vektoren 264 einen zusammengefassten
Vektor für
das zweite Zielpixel des Idealbildes. Die Bestimmungsschaltung für Idealbild-Vektoren 264 setzt
diesen Prozess so lange fort, bis sämtliche Pixelmuster für eine jede Farbebene
in dem Datenspeicher für
Idealbild-Muster für
jedes Zielpixel vektorisiert sind.
-
Die
Bestimmungsschaltung für
Vektoren von beobachteten Bildern 268 des Subsystems zum
Erstellen von Nachschlagtabellen 260 startet mit dem Abrufen
von beobachteten Musterinformationen von dem Datenspeicher für Muster
von beobachteten Bildern 285. Die Bestimmungsschaltung
für Vektoren von
beobachteten Bildern 268 ruft anschließend die Pixelmusterinformationen
für ein
erstes Pixel für
eine erste Farbebene in dem beobachteten Bild ab. Anschließend vektorisiert
die Bestimmungsschaltung für
Vektoren von beobachteten Bildern 268 diese erste Pixelmusterinformation,
um einen ersten Vektor zu bilden. Wenn beispielsweise die erste
Farbebene die Cyan-Farbebene ist, resultiert dies in einem Vektor „c1, c2, ... c9".
Anschließend
ruft die Bestimmungsschaltung für
Vektoren von beobachteten Bildern 268 die erste Pixelmusterinformation
für die
zweite bis vierte Farbebene ab und vektorisiert diese Informationen
jeweils zu einem zweiten bis vierten Vektor. Wenn beispielsweise
die zweite bis vierte Farbebene eine Magenta-, Gelb-, beziehungsweise
eine Schwarzebene ist, resultiert dies jeweils in den drei Vektoren „m1, m2, ... m9", „y1, y2, ... y9",
und „k1, k2, ... k9".
Anschließend
fasst die Bestimmungsschaltung für
Vektoren von beobachteten Bildern 268 den ersten bis vierten
Vektor zu einem einzelnen Vektor zusammen. Dieser einzelne Vektor,
der unter Verwendung eines 3 × 3
Fensters für
ein beobachtetes binäres
CMYK-Farbbild erhalten wird, wird anschließend in Form eines Vektors
mit 36 Elementen „c1, c2, ... c9, m1, m2,
... m9, y1, y2, ... y9, k1, k2, ... k9" geschrieben. Anschließend speichert
die Bestimmungsschaltung für
Vektoren von beobachteten Bildern 268 diesen zusammengefassten
Vektor zusammen mit den Zielpixelkoordinaten, die mit dem zusammengefassten Vektor
verknüpft
sind, in dem Datenspeicher für
Vektoren von beobachteten Bildern 286.
-
Anschließend ruft
die Bestimmungsschaltung für
Vektoren von beobachteten Bildern 268 die Pixelmuster für das nächste Zielpixel
von dem Datenspeicher für
Muster von beobachteten Bildern 285 ab. Die Bestimmungsschaltung
für Vektoren
von beobachteten Bildern 268 analysiert die Pixelmuster
für das
nächste
Zielpixel in einer jeden Farbebene, so wie dies oben beschrieben
wurde. Als Ergebnis erzeugt die Bestimmungsschaltung für Vektoren
von beobachteten Bildern 268 einen zusammengefassten Vektor
für das
zweite Zielpixel des beobachteten Bildes. Die Bestimmungsschaltung
für Vektoren
von beobachteten Bildern 268 setzt diesen Prozess so lange
fort, bis sämtliche
Pixelmuster für
eine jede Farbebene in dem Datenspeicher für Muster von beobachteten Bildern 285 für jedes
Zielpixel vektorisiert sind.
-
Als
Ergebnis werden die vollständigen
Vektorinformationen für
jedes Zielpixel des beobachteten Bildes in dem Datenspeicher für Vektordaten
von beobachteten Bildern 286 gespeichert, während die vollständigen Vektorinformationen
für jedes
Zielpixel des Idealbildes in dem Datenspeicher für Idealbild-Vektoren 283 gespeichert
werden. Es sollte offensichtlich sein, dass jedes Zielpixel in dem
Idealbild einem Zielpixel in dem beobachteten Bild entspricht, und
zwar deshalb, weil das Idealbild und das beobachtete Bild ein Trainingspaar
bilden. Als Ergebnis verwendet die Schaltung zum Zusammenstellen
von Nachschlagtabellen 269 des Subsystems zum Erstellen
von Nachschlagtabellen 260 diese Entsprechung zum Verknüpfen der
Vektoren in dem Datenspeicher für
Idealbild-Vektoren 283 mit
den Vektoren in dem Datenspeicher für Vektoren von beobachteten Bildern 286.
Genauer gesagt, verbindet die Schaltung zum Zusammenstellen von
Nachschlagtabellen 269 durch Anpassen der entsprechenden
Zielpixel einen jeden Vektor, der in dem Datenspeicher für Idealbild-Vektoren 283 gespeichert
ist, mit einem entsprechenden Vektor in dem Datenspeicher für Vektoren
von beobachteten Bildern 286 oder bildet diesen ab.
-
Die
zusammengestellte Nachschlagtabelle wird in dem Speicher für Nachschlagtabellen 287 gespeichert.
Wie oben beschrieben wurde, kann die Nachschlagtabelle anschließend zu
einem räumlich separaten
System übertragen
werden, in dem die Nachschlagtabelle implementiert wird. Darüber hinaus
können
die elektronischen Speicherkapazitäten des separaten Systems begrenzt
sein. Es sollte des Weiteren beachtet werden, dass die Nachschlagtabelle
möglicherweise
eine übermäßig große Anzahl von
Einträgen
aufweist. Die große
Anzahl von Einträgen
ist beispielsweise ein Ergebnis sämtlicher möglicher Kombinationen von Pixeln
in den drei oder vier an demselben Ort platzierten Fenstern. Die
Anzahl der Einträge
kann jedoch in Übereinstimmung
mit den Systemen und Verfahren der Erfindung reduziert werden.
-
Insbesondere
sollte beachtet werden, dass lediglich ein geringer prozentualer
Anteil der Vektoren, die entweder in dem Idealbild oder in dem beobachteten
Bild vorhanden sind, eine hohe Frequenz des Auftretens aufweisen.
Als Ergebnis ermöglicht
es diese begrenzte hohe Frequenz des Auftretens der Schaltung zum
Zusammenstellen von Nachschlagtabellen 269 zum Beispiel
lediglich die wichtigsten, beispielsweise die häufig auftretenden Vektoren
für deren
Aufnehmen in die Nachschlagtabelle auszuwählen. Dennoch variiert in Abhängigkeit
von der bestimmten Anwendung die bestimmte Art und Weise, mit der
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 auswählt, welche
Pixelvektoren in die Nachschlagtabelle aufzunehmen sind. Dementspre chend
können,
zusätzlich
zu der Frequenz, die Vektoren, die in der Nachschlagtabelle enthalten
sind, auf Basis eines Maximalwertes, eines Minimalwertes und/oder
eines Maßes
der Zentraltendenz ausgewählt
werden.
-
Wie
dies dargestellt und im Folgenden erklärt wird, werden in Übereinstimmung
mit einer Ausführungsform
des Schablonenvergleichssystems 200 der Erfindung die Vektoren
sowohl in dem Datenspeicher für
Idealbild-Vektoren 283 als auch in dem Datenspeicher für Vektoren
von beobachteten Bildern 286 in Klassen eingeteilt. Genauer
gesagt werden die in dem Datenspeicher für Idealbild-Vektoren 283 gespeicherten
Idealbild-Vektoren
durch die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 in
Klassen eingeteilt. Anschließend
beobachtet die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 die
Anzahl der Idealbild-Vektoren Vh, die in einer
jeden Klasse enthalten sind. Die Schaltung zum Zusammenstellen von
Nachschlagtabellen 269 vergleicht die Anzahl der Idealbild-Vektoren
Vh mit einer vorgegebenen Schwellenwert-Anzahl Nh.
Wenn Vh größer als Nh ist,
wird die Klasse von Vektoren in dem Datenspeicher für Idealbild-Vektoren 283 behalten. Wenn
im Gegensatz dazu Vh kleiner ist als Nh, ist die Frequenz der in dieser Klasse
enthaltenen Vektoren nicht ausreichend, um über ihre Aufnahme in die Nachschlagtabelle
zu entscheiden. Als Ergebnis wird diese Klasse von Vektoren aus
dem Speicher 280 entfernt. Der Wert der Schwellenwert-Anzahl
kann beispielsweise auf Basis von Fachwissen oder entsprechenden
statistischen Analysen bestimmt werden.
-
Nachdem
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 sämtliche
Idealbild-Vektorklassen analysiert hat, werden nur noch die Idealbild-Vektoren
in dem Datenspeicher für
Idealbild-Vektoren 283 gespeichert, die zu einer behaltenen
Klassen gehören.
Diese verbleibenden Idealbild-Vektoren werden weiterhin mit ihren
entsprechenden Zielpixeln verknüpft.
-
Anschließend legt
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 Klassen der
Vektoren der beobachteten Bilder fest. Die Vektoren der beobachteten
Bilder, die in dem Datenspeicher für Vektoren von beobachteten
Bildern 286 gespeichert sind, werden durch die Schaltung
zum Zusammenstellen von Nachschlagtabellen 269 in Klassen
von Vektoren von beobachteten Bildern unterteilt. Anschließend beobachtet
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 die Anzahl
der Vektoren der beobachteten Bilder Vl,
die in einer jeden Klassen enthalten sind. Die Schaltung zum Zusammenstellen
von Nachschlagtabellen 269 vergleicht die Anzahl der Vektoren
Vl mit einer vorgegebenen Schwellenwert-Anzahl
Nl. Wenn Vl größer als
Nl ist, dann wird die Klasse von Vektoren
in dem Datenspeicher für
Vektoren von beobachteten Bildern 286 behalten. Wenn im
Gegensatz dazu Vl kleiner als Nl ist,
dann ist die Frequenz der in dieser Klassen enthaltenen Vektoren
nicht ausreichend, um über
ihre Aufnahme in die Nachschlagtabelle zu entscheiden. Als Ergebnis
wird diese Klasse aus dem Speicher 280 entfernt.
-
Nachdem
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 sämtliche
Klassen von Vektoren von beobachteten Bildern analysiert hat, werden
lediglich die Vektoren von beobachteten Bildern in dem Datenspeicher
für Vektoren
von beobachteten Bildern 286 gespeichert, die zu einer behaltenen
Klasse gehören.
Die verbleibenden Vektoren von beobachteten Bildern werden weiterhin
mit ihren entsprechenden Zielpixeln verknüpft.
-
Anschließend identifiziert
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 jeden verbleibenden
Vektor von beobachteten Bildern, der seinen entsprechenden Idealbild-Vektor
nicht unter den verbleibenden Idealbild-Vektoren hat. In Übereinstimmung
mit einer exemplarischen Ausführungsform
des Schablonenvergleichssystems 200 dieser Erfindung löscht die
Schaltung zum Zusammenstellen von Nachschlagtabellen 269 sämtliche
beobachteten Zielpixel, die kein verbleibendes entsprechendes Idealbild-Zielpixel
haben.
-
Anschließend können die
Vektoren in einer jeden Klasse Mittelung unterzogen werden. Um Mittelung
der Klassen durchzuführen,
stützt
sich die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 auf,
das heißt,
verwendet, die Klassen der Idealbild-Vektoren. Genauer gesagt, führt die
Schaltung zum Zusammenstellen von Nachschlagtabellen 269 Mittelung
sämtlicher
verbleibender Idealbild-Vektoren einer ersten Klasse der Idealbildklassen
durch, um einen Wert Ah zu erhalten. Der
Wert von Ah ist der gemittelte Idealbild-Vektor,
der die erste Klasse in der Nachschlagtabelle repräsentiert.
-
Anschließend erzeugt
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 einen gemittelten
Vektor von beobachteten Bildern, der dem Wert Ah entspricht.
Bei dem Erzeugen des gemittelten Vektors von beobachteten Bildern
stützt sich
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 nicht
auf die vorher festgelegten Klassen von beobachteten Bildern. Die
Schaltung zum Zusammenstellen von Nachschlagtabellen 269 bestimmt
vielmehr die Idealbild-Vektoren in der ersten Klasse. Anschließend ruft
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 sämtliche
Vektoren von beobachteten Bildern ab, die einem jeden Idealbild-Vektor
in der ersten Klasse entsprechen. Alle diese abgerufenen Vektoren
von beobachteten Bildern werden anschließend Mittelung unterzogen,
um den Wert Al zu erhalten. Der Wert Al ist der gemittelte Vektor von beobachteten
Bildern, der die erste Klasse in der Nachschlagtabelle repräsentiert. Dementsprechend
ist die Nachschlagtabelle mit entsprechenden Werten für die erste
Klasse von Idealbild-Vektoren ausgestattet. Anschließend erzeugt
die Schaltung zum Zusammenstellen von Nachschlagtabellen 269 so
lange einen gemittelten Wert für
jede verbleibende Idealbild-Klasse von Vektoren, bis sämtliche
Klassen der Idealbild-Vektoren analysiert sind. Wenn die Vektoren
in einer jeden verbleibenden Bildklasse von Vektoren tatsächlich dieselben
sind, ist es nicht erforderlich, einen Mittelungswert zu bestimmen.
Als Ergebnis hat eine jede Idealbild-Klasse einen repräsentativen
Idealbild-Vektor in der Nachschlagtabelle. Darüber hinaus hat jeder repräsentative
Vektor in der Nachschlagtabelle einen entsprechenden beobachteten
repräsentativen
Vektor in der Nachschlagtabelle.
-
Dieser
Ansatz stützt
sich nicht auf die ursprünglich
definierten Klassen von Vektoren von beobachteten Bildern. Dieser
Ansatz definiert vielmehr die Vektoren von beobachteten Bildern
auf Basis der Idealbild-Klassen neu, und in gewissem Sinne behandelt
er die Idealbildklassen als die dominierende Klasse. Es sollte jedoch
beachtet werden, dass die ursprünglich
definierten Klassen von beobachteten Bildern im Allgemeinen den
neu definierten Klassen von beobachteten Bildern entsprechen. Dies
ist deshalb der Fall, da die Entsprechung zwischen den Idealbild-Vektoren
und den Vektoren von beobachteten Bildern, das heißt, die
Idealbild-Pixelmuster und die Pixelmuster der beobachteten Bilder,
im Allgemeinen konsistent ist. Wenn die Entsprechung demzufolge konsistent
ist, werden im Allgemeinen dieselben oder ähnliche Vektoren von beobachteten
Bildern einer Gruppe derselben oder ähnlichen Idealbild-Vektoren entsprechen.
Dies trifft zu, wenn die Entsprechung rein auf den Eigenschaften
der Vektoren basiert, das heißt,
den ursprünglich
definierten Klassen von beobachteten Bildern, oder wenn sie rein
auf den gemeinsamen Zielpixeln basiert, das heißt, den neu definierten Klassen
von beobachteten Bildern.
-
Darüber hinaus
sollte beachtet werden, dass die Idealbild-Klassen nicht die dominierende
Klasse in den Systemen und Verfahren dieser Erfindung sein müssen. In
einigen Anwendungen können
sind vielmehr die Klassen von beobachteten Bildern die dominierenden
Klassen. In diesem Fall würden
die Idealbild-Klassen auf Basis der Klassen von beobachteten Bildern
neu definiert werden.
-
So
kann beispielsweise eine Klasse von Idealpixeln festgelegt werden,
die mit einem bestimmten beobachteten Pixelmuster übereinstimmen.
Dementsprechend würde
die entsprechende Klasse von beobachteten Pixeln die Pixel enthalten,
die das bestimmte beobachtete Pixelmuster aufweisen. Alternativ
dazu kann die Klasse von beobachteten Pixeln Pixel enthalten, die
annähernd
dasselbe Pixelmuster aufweisen, das heißt, eine unscharfe Klasse.
Darüber
hinaus kann die Klasse von Idealpixeln durch Mittelung der Idealpixel,
die mit dem bestimmten beobachteten Pixelmuster übereinstimmen, dargestellt werden.
Dennoch sollte hierbei beachtet werden, dass die Klassen unter Verwendung
eines beliebigen von einer großen
Bandbreite von bekannten oder zu einem späteren Zeitpunkt entwickelten
Verfahren festgelegt werden können.
-
Durch
Anwenden des oben beschriebenen Trainingsprozesses wird eine Nachschlagtabelle
erzeugt und in dem Speicher für
Nachschlagtabellen 287 gespeichert. Die Nachschlagtabelle
wird durch das Schablonenvergleichssystem 200 verwendet, um
ein beobachtetes Bild einzugeben und es in ein Idealbild umzuwandeln.
Dementsprechend wird unter Verwendung des Trainingsprozesses in
der oben beschriebenen Art uns Weise die Nachschlagtabelle vervollständigt und
ist zur Implementierung in einer geeigneten Vorrichtung bereit.
-
Das
Schablonenvergleichssystem 200 erstellt, wie beschrieben,
eine Nachschlagtabelle, die zum Abbilden eines beobachteten Bildes
auf einem Idealbild implementiert wird. Dennoch sollte hierbei beachtet
werden, dass die Systeme und Verfahren dieser Erfindung nicht auf
die Verwendung einer Nachschlagtabelle, das heißt, eines Verknüpfungswerkzeuges
dieser Art beschränkt
ist. So können
die Systeme und Verfahren, wie oben beschrieben, vielmehr auch auf
andere Verknüpfungswerkzeuge
abgesehen von der Nachschlagtabelle angewendet werden. So kann beispielsweise
das Mapping (Abbilden) zwischen den Daten unter Verwendung einer Logikschaltung
oder eines Gleichungssystems, das Informationen zu Eingabedaten
verarbeitet, um Ausgabedaten zu erzeugen, durchgeführt werden.
So kann zum Beispiel eine Boolesche Logikschaltung, die eine logische
Summe aus Produkten verwendet, eingesetzt werden. Alternativ dazu
sollte beachtet werden, dass das Mapping unter Verwendung von Fachwissen
in einem Labor in einer Vielzahl von Möglichkeiten durchgeführt werden
kann, um die Eingabedaten mit den gewünschten Ausgabedaten in Beziehung
zu setzen.
-
Wenn
das Subsystem zum Erstellen von Nachschlagtabellen 260 die
Nachschlagtabelle erstellt hat und diese in dem Speicher für Nachschlagtabellen 287 verfügbar ist,
ist das Modellier- und Wiederherstellungssystem 200 in
der Lage, eine Bandbreite von binären Bildern in beispielsweise
ein entsprechendes Graustufenbild umzuwandeln. Das binäre Bild,
das umgewandelt werden soll, wird unter der Steuerung der Steuerschaltung 210 von
der Bilddatenquelle 100 über die Eingabe-/Ausgabeschnittstelle 220 eingegeben
oder ist bereits vorher eingegeben worden.
-
So
kann beispielsweise in Bezug auf 4 ein beobachtetes
Bild zum Umwandeln unter der Steuerung der Steuerschaltung 210 von
der Bilddatenquelle 100 über die Eingabe-/Ausgabeschnittestelle 220 eingegeben
werden. Das beobachtete Bild wird unter Verwendung der Eingabebild-Analyseschaltung 272 in
dem Subsystem zum Analysieren von Bildern 270 analysiert.
Das beobachtete Bild wird unter Verwendung des in 5 dargestellten
Fensters 430 oder eines beliebigen anderen bekannten oder
zu einem späteren
Zeitpunkt entwickelten Fensters analysiert, das verwendet wurde,
um die Einträge
in der Nachschlagtabelle zu erstellen.
-
So
wie dies dargestellt ist, kann das binäre Bild, das umgewandelt werden
soll, ein binäres CMYK-Farbbild
sein. Darüber
hinaus kann es wünschenswert
oder erforderlich sein, das binäre
Farbbild unter Verwendung der in dem Speicher für Nachschlagtabellen 287 gespeicherten
Nachschlagtabelle in ein Bild mit verbesserter Auflösung umzuwandeln. Um
das beobachtete Bild zu analysieren, tastet die Eingabebild-Analyseschaltung 272 das
beobachtete Bild beginnend auf einem ersten Zielpixel einschließlich seiner
Nachbarschaft in der ersten Farbebene ab oder beobachtet es, und
erzeugt Pixelmusterinformationen, die in dem Datenspeicher für Muster
von beobachteten Bildern 285 ge speichert werden. Anschließend beobachtet
die Eingabebild-Analyseschaltung 272 die Nachbarschaft
um das erste Zielpixel herum für
die zweite, dritte und vierte Farbebene und gibt die erhaltenen
Pixelmusterinformationen in den Datenspeicher für Muster von beobachteten Bildern 285 ein,
in dem sie gespeichert werden.
-
Anschließend analysiert
die Vektorbestimmungsschaltung 274 die angehäuften Musterinformationen
von sämtlichen
Farbebenen für
das erste Zielpixel. Die Vektorbestimmungsschaltung 274 erzeugt
einen Vektor eines beobachteten Bildes, der den eingegeben Musterinformationen
entspricht. Dieser Vektor des beobachteten Bildes wird in dem Datenspeicher
für Vektoren
von beobachteten Bildern 286 gespeichert.
-
Anschließend beobachtet
die Eingabebild-Analyseschaltung 272 auf ähnliche
Weise jedes verbleibende Zielpixel. Anschließend analysiert die Vektorbestimmungsschaltung 274 die
angehäuften Musterinformationen
für jedes
verbleibende Zielpixel. Die Vektorbestimmungsschaltung 274 erzeugt
für jedes
verbleibende Zielpixel einen Vektor eines beobachteten Bildes, der
den eingegebenen Musterinformationen für dieses Zielpixel entspricht.
Diese Vektoren von beobachteten Bildern werden in dem Datenspeicher
für Vektoren
von beobachteten Bildern 286 gespeichert.
-
Als
Ergebnis werden sämtliche
Vektoren, die das beobachtete binäre Farbbild repräsentieren,
in dem Datenspeicher für
Vektoren von beobachteten Bildern 286 gespeichert. Anschließend extrahiert
die Extrahierschaltung für
Nachschlagtabellenwerte 276 auf Basis des Vektors des beobachteten
Bildes, das für
jedes Pixel in dem binären
Bild erhalten wird, einen entsprechenden Wert von der Nachschlagtabelle.
Genauer gesagt, verwendet die Extrahierschaltung für Nachschlagtabellenwerte 276 die
in dem Speicher für
Nachschlagtabellen 287 gespeicherte Nachschlagtabelle.
Die Nachschlagtabelle enthält Vektoren
des binären
Bildes und die entsprechenden verbesserten binären Bildwerte. Dementsprechend kann
die Extrahierschaltung für
Nachschlagtabellenwerte 276 die Idealbild-Daten extrahieren,
die einem eingegebenen Daten des beobachteten Bild entsprechen.
-
In
dem Training der Nachschlagtabelle können nur bestimmte Vektoren
ausgewählt
werden, die in die Nachschlagtabelle aufgenommen werden, so wie
dies oben beschrieben wurde. Die Aufnahme kann jedoch auch auf Basis
von anderen Parametern als der Frequenz des Auftretens basieren.
So können die
für die
Aufnahme in die Nachschlagtabelle ausgewählten Vektoren beispielsweise
Vektoren sein, die einige Besonderheiten aufweisen. Solche besonderen
Vektoren können
beispielsweise jene Vektoren umfassen, bei denen die herkömmlichen
Mittelungstechniken das beobachtete Bild nicht genau in das Idealbild
umwandeln oder abbilden. Als Ergebnis werden diese besonderen Vektoren
gespeichert. Wenn jedoch herkömmliche
Mittelungstechniken ein genaues Mapping gewährleisten, besteht keine Notwendigkeit,
die genau umgewandelten Vektoren in der Nachschlagtabelle zu speichern.
Als Ergebnis kann die Größe der Nachschlagtabelle
wesentlich reduziert werden.
-
Es
können
auch weitere Techniken zum Beschränken der Größe der Nachschlagtabelle angewendet
werden. So kann beispielsweise das Fenster, das anfänglich zum
Beobachten des Idealbildes und des beobachteten Bildes verwendet
wird, in einer Art und Weise gewichtet werden. Die Daten einer beobachteten
Nachbarschaft könnten
dementsprechend auf eine Weise so gewichtet werden, dass die Aufnahme
von Daten in die Nachschlagtabelle begrenzt wird. So kann beispielsweise
ein Schwellenwert zum Vergleichen mit den gewichteten Daten verwendet werden.
-
Dementsprechend
gibt die Extrahierschaltung für
Nachschlagtabellenwerte 276 den Vektor für das beobachtete
Bild in die Nachschlagtabelle ein und bestimmt, ob eine Übereinstimmung
vorliegt. Wenn der besondere Vektor des beobachteten Bildes nicht
in der Nachschlagtabelle enthalten ist, können Mittelungstechniken angewendet
werden, anstatt sich auf das durch die Nachschlagtabellendaen durchgeführte Mapping
zu verlassen. So wie dies dargestellt ist, kann eine gewichtete
Mittelungstechnik verwendet werden, wenn ein beobachteter Wert nicht
in der Nachschlagtabelle enthalten ist. Als Ergebnis verknüpft die
Extrahierschaltung für
Nachschlagtabellenwerte 276 in dem Subsystem zum Analysieren
von Bildern 270 jedes Pixel in dem beobachteten binären Farbbild
mit einem geeigneten Satz von Idealbild-Werten. Wenn sämtliche
der Pixel in dem beobachteten Bild analysiert sind, wird das Idealbild
erzeugt. Dieses Idealbild kann anschließend direkt durch die Steuerschaltung 210 zu
dem Bilddatenempfänger 300 ausgegeben
werden.
-
Die
Systeme und Verfahren der Erfindung gewährleisten eine erhöhte Genauigkeit
für verschiedene
Umwandlungsprozesse einschließlich
der Auflösungsverbesserung
und der Rasterung (Halftoning). Darüber hinaus optimieren die Schablonenvergleichssysteme
und -verfahren dieser Erfindung ein erzeugtes Bild, wobei die Wechselbeziehung
zwischen den Farbebenen berücksichtigt
wird. Genauer gesagt, könnte
der einzelne Mehrebenen-Vektor, der die gefensterten binären Pixel
repräsentiert,
die von einer eingegeben Farbebene erhalten werden, in einem anderen
Farbraum, wie beispielsweise dem Rot Grün Blau-(RGB) Farbraum, auf
Grauwerte zeigen. Die Schablonenvergleichssysteme und Verfahren der
Erfindung ermöglichen
demzufolge, dass die Farbumwandlung unter Verwendung von Bildinformationen
durchgeführt
wird, die in Einzelfarbebenen-Umwandlungsverfahren, welche die Einzelebene-Analyse
anwenden, nicht verwendet werden. So wie in dem Fall eines einfachen
Rasterungsprozesses, können
die Filter für
die Rasterung mit Farbumwandlungen in einer Art und Weise gestaltet
sein, dass eine statistisch optimale Nachschlagtabelle anhand eines Satzes
von Trainingsbildern erstellt wird. Diese Nachschlagtabelle könnte jegliche
Besonderheiten, die beispielweise für bestimmte Muster oder Graustufen
zwischen den Farbebenen auftreten, berücksichtigen.
-
Die
exemplarische Ausführungsform
der Schablonenvergleichssysteme und -verfahren der Erfindung, die
oben im Zusammenhang mit den 1 bis 8 beschrieben
wurden, beziehen sich auf die Auflösungsverbesserung im Allgemeinen.
Bei der Bildauflösungsverbesserung
kann ein Schablonenvergleichsprozess, der ein binäres Bitmap
in mehrere Bits pro Pixel transformiert, oder eine höhere räumliche
Abtastauflösung
mit dem Ziel angewendet werden, das Erscheinungsbild des resultierenden gedruckten
Bildes zu verbessern. Die Schablonenvergleichssysteme und -verfahren
dieser Erfindung sind jedoch nicht auf die Auflösungsverbesserung beschränkt. Zusätzlich dazu
umfassen andere mögliche
Anwendungen Rasterungsanwendungen, Auflösungsumwandlung, Bildfeinabstimmung,
Wiederherstellung und Wiederherstellung von mit Farbscannern erhaltenem
Text.
-
Rasterungsanwendungen
können
einen Prozess des Eingebens eines bestimmten binären Mehrebenen-Musters in eine
Nachschlagtabelle und des Ausgebens eines spezifizierten Graustufenwertes oder,
alternativ dazu, des Eingebens eines spezifizierten Graustufenwertes
in eine Nachschlagtabelle und des Ausgebens eines bestimmten binären Mehrebenen-Musters
umfassen. Ein Auflösungsumwandlungsprozess
kann durchgeführt
werden, um von einer Auflösung
auf eine andere, beispielsweise von 300 Punkten pro Inch (spi) auf
600 spi abzubilden. Der Auflösungsumwandlungsprozess
kann mit oder ohne dem Versuch durchgeführt werden, das Erscheinungsbild
des Bildes zu verbessern. Unter Verwendung der Systeme und Verfahren
der Erfindung kann ein Bildfeinabstimmungsprozess durchgeführt werden.
So kann beispielsweise die digitale Dunkelheit eines Bildes gesteuert
werden, das heißt, ein
Dokumentenbitmap kann auf einem Bild abgebildet werden, um mit einem
geeigneten Gerät
ein gedrucktes Bild mit einem gewünschten Grad an Dunkelheit
hervorzubringen. Wiederherstellung und insbesondere die Wiederherstellung
von unter Verwendung von Farbscannern erhaltenem Text kann angewendet
werden, um wahrscheinliche Kontureninformationen einzufügen, wenn
beispielsweise von einem binären
Bitmap auf ein digitales partielles Graustufenbild abgebildet wird.
-
Darüber hinaus
können
die Systeme und Verfahren dieser Erfindung beispielsweise für die Durchführung einer
Auflösungsverbesserungstechnologie
für Text-/Strichzeichnung
mit farbigem Vordergrund/Hintergrund ebenso wie für das Säubern von
gescannten Bildern oder für
Segmentierungsprozesse angewendet werden. Darüber hinaus können die
Anwendungen zusammen mit Vollfarbe oder für Spitzlicht-Farbbilder verwendet
werden. Des Weiteren sollte beachtet werden, dass in Übereinstimmung mit
den Schablonenvergleichssystemen und -verfahren dieser Erfindung
die Anzahl der Schablonen in einem Filter unter Verwendung von Symmetriereduzierungstechniken,
wie beispielsweise Rotationen, minimiert werden kann.
-
Es
sollte beachtet werden, dass die oben beschriebenen Schablonenvergleichssysteme
und -verfahren Nachbarschaftsinformationen von sämtlichen Farbebenen gleichzeitig
verwenden, wenn sie in eine Nachschlagtabelle eingegeben werden.
Dennoch sind die Schablonenvergleichssysteme und -verfahren der
Erfindung nicht auf diese bestimmte Technik beschränkt. Stattdessen
können
die Schablonenvergleichssysteme und -verfahren der Erfindung jede
Farbebene separat betrachten und beispielsweise eine schwarze Ebene
als eine Adresse zu einer Nachschlagtabelle verwenden.
-
Das
heißt,
die Schablonenvergleichssysteme und -verfahren der Erfindung können die
jeweiligen Ebenen auf hierarchische Weise betrachten. Zuerst wird
eine vorgegebene Farbebene analysiert. Wie dies dargestellt ist,
kann die schwarze Farbebene gegenüber der Magenta-Farbebene bevorzugt ausgewählt werden,
das heißt,
Schwarz als die do minierende Farbebene ausgewählt werden. Des Weiteren kann
die Magenta-Farbebene beispielsweise gegenüber der Cyan-Farbebene bevorzugt
ausgewählt werden.
Die schwarze Farbebene liefert eine Anfangsadresse in einer Nachschlagtabelle.
Anschließend
sind innerhalb dieser Adresse für
die schwarze Ebene Sub-Adressen für die Magenta-Farbebene vorhanden.
Des Weiteren befinden sich in einer jeden Sub-Adresse für die Magenta-Farbebene Sub-Sub-Adressen
für die
Cyan-Farbebene. Als Ergebnis steuert die schwarze Farbebene, welcher
Bereich der Nachschlagtabelle für
das Suchen nach der Magenta- und der Cyan-Farbebene verwendet wird.
-
Dennoch
sollte beachtet werden, dass die schwarze Farbebene nicht notwendigerweise
die dominierende Farbebene ist. Alternativ zu ihr, kann eine beliebige
andere Farbebene als die dominierende Farbebene, das heißt, als
die Anfangsadresse in der Nachschlagtabelle verwendet werden. Die
bestimmte Farbebene hängt
von der bestimmten Anwendung der Schablonenvergleichssysteme und
-verfahren der Erfindung ab.
-
Des
Weiteren können
die Datenspeicherkapazitäten
des Schablonenvergleichssystems 200 begrenzt sein. Daraus
resultierend sollte beachtet werden, dass beispielsweise für ein CMYK-Bild
nicht notwendigerweise die Informationen von sämtlichen Farbebenen in der
erstellen Nachschlagtabelle gespeichert werden müssen. Das heißt, die
erstellte Nachschlagtabelle muss nicht alle vier Farbebenen verwenden.
So können
vielmehr die schwarze Ebene, oder alternativ dazu, die schwarze
Ebene und eine Farbebene für
eine bestimmte Anwendung ausreichend sein.
-
8 ist
ein Funktionsblockdiagramm einer zweiten exemplarischen Ausführungsform
eines Schablonenvergleichssystems 500 in Übereinstimmung
mit dieser Erfindung. Wie dies in 8 dargestellt
ist, enthält
das Schablonenvergleichssystem 500 eine Steuerschaltung 510,
eine Eingabe-/Ausgabeschnittstelle 520, eine Vektorbestimmungsschaltung 540,
eine Extrahierschaltung für
Nachschlagtabellenwerte 550 und einen Speicher 530,
wobei alle mit einem Datenbus 595 verbunden sind. Des Weiteren
kann die Eingabe-/Ausgabeschnittstelle 520 über Signalleitungen 122 und 322 jeweils
auch mit einer Bilddatenquelle 120 und einem Bilddatenempfänger 320 verbunden
sein. Zusätzlich
enthält
der Speicher 530, so wie in 8 dargestellt,
einen Speicher für Nachschlagtabellen 532 und
einen Bildspeicher 534. Das Schablonenvergleichssystem 500 kann
beispielsweise auf einem Personaldrucker implementiert sein.
-
Zu
Beginn gibt die Steuerschaltung ein beobachtetes Bild, das analysiert
werden soll, ein und speichert das eingegebene Bild in dem Bildspeicher 534.
Die Vektorbestimmungsschaltung 540 analysiert das eingegebene
Bild, um auf Basis der Analyse des Bildes einen Satz von Vektoren
zu erzeugen. Die Extrahierschaltung für Nachschlagtabellenwerte 550 verarbeitet
die in der Vektorbestimmungsschaltung 540 erzeugten Vektorinformationen
und verwendet die Vektorinformationen als Eingabe in eine Nachschlagtabelle,
die in dem Speicher für
Nachschlagtabellen 532 gespeichert wird. Anschließend extrahiert die
Extrahierschaltung für
Nachschlagtabellenwerte 550 einen geeigneten Wert von der
Nachschlagtabelle, der den eingegebenen Vektorinformationen entspricht.
-
9 stellt
eine Anwendung der Systeme und Verfahren der Erfindung zum Transformieren
eines binären
oder eines Halbtonbildes in ein Graustufenbild, das heißt, zum
Durchführen
eines Entrasterungsprozesses, dar. Das in 9 dargestellte
Bild 600 enthält
drei Farbebenen. Die drei Farbebenen umfassen eine Cyan-Farbebene 610,
eine Magenta-Farbebene 620 und eine Gelb-Farbebene 630. Das
Bild 600 kann durch das Modelliersystem 500 entrastert
werden, das heißt,
von einem Halbtonbild in ein Graustufenbild, umgewandelt werden.
-
In
dem Modelliersystem 500 gibt die Steuerschaltung 510 das
Bild 600 von der Bilddatenquelle 520 ein und speichert
die Bilddaten in dem Bildspeicher 534. Anschließend analysiert
die Vektorbestimmungsschaltung 540 die Bilddaten in Übereinstimmung
mit den Systemen und Verfahren dieser Erfindung. Genauer gesagt,
beobachtet die Vektorbestimmungsschaltung 540 eine erste
Nachbarschaft 652, die ein erstes Zielpixel 654 in
dem Bild 600 umgibt.
-
Die
Vektorbestimmungsschaltung 540 kann zum Durchführen dieser
Beobachtung ein beliebiges bekanntes oder zu einem späteren Zeitpunkt
entwickeltes Fenster verwenden. Hierbei sollte beachtet werden,
dass zum Beobachten sämtlicher
der jeweiligen Farbebenen ein einziges Fenster verwendet werden
kann. Alternativ dazu können
verschiedene Fenster zum Beobachten einer jeweiligen Farbebene verwendet
werden.
-
Die
Vektorbestimmungsschaltung 540 analysiert zuerst die Nachbarschaft 652 in
der Cyan-Farbebene, um einen Pixelwert für das Zielpixel 654 in der
Cyan-Farbebene 610 zu bestimmen. Auf Basis dieser Beobachtung
erzeugt die Vektorbestimmungsschaltung 540 einen Vektor
c1 c2 ... c9. Der Vektor c1 c2 ... c9 repräsentiert
die beobachteten Pixelwerte c1-c9 in der Cyan-Farbebene 610 für das Zielpixel 654.
Anschließend
beobachtet die Vektorbestimmungsschaltung 540 dieselbe
Nachbarschaft, jedoch in der Magenta-Farbebene 620.
-
Genauer
gesagt, analysiert die Vektorbestimmungsschaltung 540 die
Nachbarschaft 652 in der Magenta-Farbebene, um einen Pixelwert
für das Zielpixel 654 in
der Magenta-Farbebene 620 zu bestimmen. Auf Basis dieser
Beobachtung erzeugt die Vektorbestimmungsschaltung 540 einen
Vektor m1 m2 ...
m9. Der Vektor m1 m2 ... m9 repräsentiert
die beobachteten Pixelwerte m1-m9 in der Magenta-Farbebene 620 für das Zielpixel 654.
Anschließend
beobachtet die Vektorbestimmungsschaltung 540 dieselbe
Nachbarschaft, jedoch in der Gelb-Farbebene 630.
-
Genauer
gesagt, analysiert die Vektorbestimmungsschaltung 540 die
Nachbarschaft 652 in der Gelb-Farbebene, um einen Pixelwert
für das
Zielpixel 654 in der Gelb-Farbebene 630 zu bestimmen. Auf
Basis dieser Beobachtung erzeugt die Vektorbestimmungsschaltung 540 einen
Vektor y1 y2 ...
y9. Der Vektor y1 y2 ... y9 repräsentiert
die beobachteten Pixelwerte y1-y9 in der Gelb-Farbebene 630 für das Zielpixel 654.
-
Dementsprechend
werden die Cyan-, die Magenta- und die Gelb-Farbebene 610 bis 630 analysiert,
und es werden Einzelebenen-Vektoren für eine jeweilige Farbebene
erzeugt. Die Vektorbestimmungsschaltung 540 fasst anschließend diese
Einzelebenen-Vektoren
zusammen, um einen Mehrebenen-Vektor c1 c2 ... c9 m1 m2 ... m9 y1 y2 ...
y9 zu erzeugen. Dieser Mehrebenen-Vektor
repräsentiert
die drei binären
Farbebenen 610, 620 und 630 in dem Bild 600.
-
Anschließend steuert
die Steuerschaltung 510 die Extrahierschaltung für Nachschlagtabellenwerte 550,
so dass sie den Mehrebenen-Vektor verarbeitet. Genauer gesagt, gibt
die Extrahierschaltung für
Nachschlagtabellenwerte 550 den Mehrebenen-Vektor in die
in dem Speicher für
Nachschlagtabellen 532 gespeicherten Nachschlagtabelle
ein. Anschließend
extrahiert die Extrahierschaltung für Nachschlagtabellenwerte 550 einen Graustufenwert, der
dem eingegebenen Mehrebenen-Vektor entspricht. Die Extrahierschaltung
für Nachschlagtabellenwerte 550 weist
diesen Graustufenwert dem Zielpixel 654 zu. Der ausgegebene
Graustufenwert wird in Übereinstimmung
mit den Systemen und Verfahren der Erfindung so optimiert, dass
er nicht nur rein von den jeweiligen Farbebenen-Bildinformationen sondern
auch von der Wechselbeziehung zwischen den Farbebenen abhängt.
-
Die
in dem Speicher für
Nachschlagtabellen 532 gespeicherte Nachschlagtabelle kann
in Übereinstimmung
mit den Systemen und Verfahren der Erfindung unter Verwendung der
oben in Bezug auf die 1 bis 4 beschriebenen
Systeme und Verfahren, beispielsweise einschließlich der Verwendung von Trainingsbildern
und Verfahren zum Begrenzen der Größe der Nachschlagtabelle erstellt werden.
Das heißt,
es wird ein geeigneter Satz von Trainingsbildern einschließlich eines
binären
Trainingsbildes und eines entsprechenden Graustufen-Trainingsbildes
verwendet. Diese Trainingsbilder können beispielsweise auf Basis
von Fachwissen ausgewählt
werden.
-
Die
in dem Speicher für
Nachschlagtabellen 532 gespeicherte Nachschlagtabelle enthält einen Schablonensatz,
der auf effektive Weise ein eingegebenes binäres Farbbild auf einem entsprechenden Graustufenbild
abbildet. Darüber
hinaus kann die Nachschlagtabelle in Übereinstimmung mit den Systemen
und Verfahren der Erfindung dieses Mapping auf eine sehr effektive
Weise durchführen.
Der Vektor, der in die Nachschlagtabelle eingegeben wird, besitzt
Informationen von sämtlichen
Farbebenen in einem Bild. Auf diese Weise kann die Nachschlagtabelle
eingerichtet sein, um eine Ausgabe zu erzeugen, die auf effektive
Weise bestimmte Wechselbeziehungen zwischen den verschiedenen Farbebenen in
einem Bild berücksichtigt.
Das heißt,
die Einträge der
Nachschlagtabelle sind eingerichtet, um auf effektive Weise Bildverschlechterungen
zu vermeiden, die anderenfalls auftreten können, wenn die Farbebenen separat
behandelt werden.
-
Es
sollte jedoch beachtet werden, dass die Systeme und Verfahren der
Erfindung nicht auf das Entrastern eines Halbtonbildes in ein Graustufenbild beschränkt ist.
So sind die Systeme und Verfahren der Erfindung vielmehr zum Verarbeiten
einer großen Bandbreite
von Bildern in den unterschiedlichsten Formen anwendbar.
-
Darüber hinaus
sollte beachtet werden, dass, während
die Systeme und Verfahren dieser Erfindung an Farbbildern ausgerichtet
sind, der Begriff „Farbbild" eine große Bandbreite
von Bildern umfassen soll und in keinerlei Weise auf das allgemeine CMYK-Bild
beschränkt
ist. Der Begriff „Farbbild" soll vielmehr jedes
beliebige Bild umfassen, das von wenigstens zwei unabhängigen Vektoren
repräsentiert wird.
Dementsprechend kann ein Schwarz-Weiß-Bild in dieser Hinsicht von
zwei Vektoren repräsentiert und
als ein Farbbild charakterisiert werden. Genauer gesagt, kann der
schwarze Abschnitt durch einen Vektor b1-bn und der weiße Abschnitt durch einen weiteren
Vektor w1-wn repräsentiert
werden. In Übereinstimmung
mit den Systemen und Verfahren der Erfindung könnten diese zwei Vektoren zu
einem Mehrebenen-Vektor b1-bn w1-wn zusammengefasst werden.
Durch das unabhängige
Repräsentieren
des schwarzen und des weißen
Abschnittes unter Verwendung von separaten Vektoren können die
Eigenschaften des Bildes effektiv erfasst werden. Darüber hinaus
können
durch Verwendung des Mehrebenen-Vektors b1-bn w1-wn die
Wechselbeziehungen zwischen den schwarzen und den weißen Abschnitten
auf effektive Weise so verarbeitet werden, dass Bildverschlechterungen
vermieden werden.
-
10 ist
ein Ablaufplan, der eine exemplarische Ausführungsform eines Trainingsverfahrens
in Übereinstimmung
mit dieser Erfindung illustriert. Wie dies in 10 dargestellt
ist, beginnt der Trainingsprozess mit dem Schritt S100 und geht über in Schritt S200,
in dem ein geeignetes Trainingsbild eingegeben wird. Das Trainingsbild
kann ein beliebiges geeignetes Bild je nach der bestimmten Anwendung sein.
Wie dies dargestellt ist, kann das Trainingsbild ein binäres mehrfarbiges
Mehrebenenbild sein. Als Nächstes
wird in Schritt S300 das Trainingsbild analysiert.
-
In
Schritt S400 wird das Trainingsbild auf eine Weise unter Verwendung
eines geeigneten Umwandlungsprozesses umgewandelt. So kann es beispielsweise
notwendig oder wünschenswert
sein, eine Auflösungsverbesserung
durchzuführen.
Als Ergebnis kann es sich bei dem Umwandlungsprozess um einen Zerlegungsprozess,
das heißt,
einen umgekehrten Auflösungsverbesserungsprozess
handeln. Anschließend
wird in Schritt S500 das umgewandelte Bild analysiert. Als Nächstes wird
in Schritt S600 eine Nachschlagtabelle erstellt. Anschließend endet
das Trainingsverfahren in Schritt S700.
-
11 ist
ein Ablaufplan, der in ausführlicherer
Weise eine exemplarische Ausführungsform
des in 10 illustrierten Analysierens
des Trainingsbildes in Schritt S300 darstellt. Beginnend mit dem Schritt
S300 geht die Steuerung in Schritt S310 über, in dem das erste Pixel
des Trainingsbildes als das aktuelle Zielpixel ausgewählt wird.
Anschließend
wird in Schritt S320 die erste Farbebene in dem Trainingsbild als
die aktuelle Farbebene ausgewählt.
Als Nächstes
wird in Schritt S330 das Pixelmuster für das aktuelle Zielpixel in
der aktuellen Farbebene bestimmt. Anschließend geht die Steuerung in
Schritt S340 über.
-
In
Schritt S340 wird ein Vektor auf Basis des beobachteten Pixelmusters
erzeugt, und der Vektor wird dem aktuellen Zielpixel zugewiesen.
Der in Schritt S340 erzeugte Vektor ist ein Einzelebenen-Vektor,
der das beobachtete Pixelmuster repräsentiert. Als Nächstes wird
in Schritt S350 die aktuelle Ebene analysiert, um zu bestimmen,
ob die aktuelle Ebene die letzte Farbebene für das bestimmte Zielpixel,
das analysiert wird, ist.
-
Wenn
in Schritt S350 festgestellt wird, dass die aktuelle Farbebene nicht
die letzte Farbebene für die
Analyse des aktuellen Zielpixels ist, geht die Steuerung in Schritt
S355 über.
Anderenfalls geht die Steuerung in Schritt S360 über. In Schritt S355 wird die
nächste
Farbebene des Bildes für
das aktuelle Zielpixel als die aktuelle Farbebene ausgewählt. Anschließend kehrt
die Steuerung zurück
zu Schritt S330.
-
Wenn
in Schritt S350 festgestellt wird, dass die aktuelle Farbebene die
letzte Farbebene ist, geht die Steuerung in Schritt S360 über. In
Schritt S360 werden sämtliche
Vektoren für
das aktuelle Zielpixel zu einem Mehrebenen-Vektor zusammengefasst. Anschließend wird
in Schritt S370 jeder Mehrebenen-Vektor für das aktuelle Zielpixel gespeichert.
Das Speichern eines jeden Mehrebenen-Vektors kann auf eine beliebige
geeignete Weise durchgeführt
werden. Anschließend
wird in Schritt S380 das aktuelle Zielpixel analysiert, um zu bestimmen,
ob es sich dabei um das letzte Zielpixel handelt.
-
Wenn
in Schritt S380 festgestellt wird, dass das aktuelle Zielpixel nicht
das letzte Zielpixel für
die Analyse des Trainingsbildes ist, geht die Steuerung in Schritt
S385 über.
Anderenfalls geht die Steuerung in Schritt S390 über. In Schritt S385 wird das
nächste Zielpixel
als das aktuelle Pixel ausgewählt.
Anschließend
kehrt die Steuerung zurück
zu Schritt S330.
-
Wenn
in Schritt S380 festgestellt wird, dass das aktuelle Zielpixel das
letzte Zielpixel ist, geht die Steuerung in Schritt S390 über. In
Schritt S390 kehrt die Steuerung zurück zu Schritt S400.
-
12 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
in 10 illustrierten Analysierens des umgewandelten
Bildes in Schritt S500 darstellt. Beginnend mit dem Schritt S500
geht die Steuerung in Schritt S510 über, in dem das erste Pixel
des umgewandelten Bildes als das aktuelle Zielpixel ausgewählt wird. Anschließend wird
in Schritt S520 die erste Farbebene in dem umgewandelten Bild als
die aktuelle Farbebene ausgewählt.
Als Nächstes
wird in Schritt S530 das Pixelmuster für das aktuelle Zielpixel in
der aktuellen Farbebene des umgewandelten Bildes bestimmt. Anschließend geht
die Steuerung in Schritt S540 über.
-
In
Schritt S540 wird ein Vektor auf Basis des beobachteten Pixelmusters
erzeugt, und der Vektor wird dem aktuellen Zielpixel zugewiesen.
Der in Schritt S540 erzeugte Vektor ist ein Einzelebenen-Vektor,
der das beobachtete Pixelmuster in einer Farbebene des umgewandelten
Bildes repräsentiert. Als
Nächstes
wird in Schritt S550 die aktuelle Farbebene analysiert, um zu bestimmen,
ob es sich bei der aktuellen Ebene um die letzte Farbebene für das bestimmte
Zielpixel, das analysiert wird, handelt.
-
Wenn
in Schritt S550 festgestellt wird, dass die aktuelle Farbebene nicht
die letzte Farbebene für die
Analyse für
das aktuelle Zielpixel ist, geht die Steuerung in Schritt S555 über. Anderenfalls
geht die Steuerung in Schritt S560 über. In Schritt S555 wird die
nächste
Farbebene des Bildes als die aktuelle Ebene ausgewählt. Anschließend kehrt
die Steuerung zurück
zu Schritt S530.
-
Wenn
in Schritt S550 festgestellt wird, dass die aktuelle Farbebene die
letzte Farbebene ist, geht die Steuerung in Schritt S560 über. In
Schritt S560 werden sämtliche
Vektoren für
das aktuelle Zielpixel in dem umgewandelten Bild zu einem Mehrebenen-Vektor
zusammengefasst. Anschließend
wird in Schritt S570 jeder Mehrebenen-Vektor für das aktuelle Zielpixel gespeichert.
Das Speichern eines jeden Mehrebenen-Vektors kann auf eine beliebige
Art und Weise durchgeführt
werden. Anschließend
wird in Schritt S580 das aktuelle Zielpixel analysiert, um zu bestimmen,
ob es das letzte Zielpixel ist.
-
Wenn
in Schritt S580 festgestellt wird, dass das aktuelle Zielpixel nicht
das letzte Zielpixel für
die Analyse für
das umgewandelte Bild ist, geht die Steuerung in Schritt S585 über. Anderenfalls
geht die Steuerung in Schritt S590 über. In Schritt S585 wird das
nächste
Zielpixel als das aktuelle Zielpixel ausgewählt. Anschließend kehrt
die Steuerung zurück
zu Schritt S530.
-
Wenn
in Schritt S580 festgestellt wird, dass das aktuelle Zielpixel das
letzte Zielpixel ist, geht die Steuerung in Schritt S590 über. In
Schritt S590 kehrt die Steuerung zurück zu Schritt S600.
-
13 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
Erstellens einer Nachschlagtabelle des in 10 dargestellten
Schrittes S600 illustriert. Beginnend mit dem Schritt S600 geht
die Steuerung in Schritt S610 über,
in dem die Frequenz der ursprünglichen
Trainingsbildklassen bestimmt wird. Der Begriff „ursprüngliches Trainingsbild" bezeichnet das Bild,
das zu Beginn in dem in 10 dargestellten
Schritt S200 eingegeben wurde. Anschließend wird in Schritt S620 die
Frequenz in den Klassen des umgewandelten Trainingsbildes bestimmt.
Als Nächstes werden
in Schritt S630 die ursprünglichen
Trainingsbildklassen mit den Klassen des umgewandelten Trainingsbildes
in Beziehung gesetzt. Anschließend kehrt
in Schritt S640 die Steuerung zurück zu Schritt S700.
-
14 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
Bestimmens der Frequenz in den ursprünglichen Trainingsbildklassen
des in 13 dargestellten Schrittes S600
illustriert. Wie oben beschrieben, wurde in Schritt S380 von 11 jeder
Mehrebenen-Vektor für
jedes Trainingsbild gespeichert. Wie dies in 14 dargestellt
ist, werden diese gespeicherten Mehrebenen-Vektoren für das ursprüngliche Trainingsbild
weiter analysiert.
-
Beginnend
mit dem Schritt S610 geht die Steuerung in Schritt S611 über, in
dem die gespeicherten Trainingsbild-Vektoren, das heißt, die
ursprünglichen
Trainingsbild-Vektoren in Klassen eingeteilt werden. Die spezifischen
Parameter, nach denen die Klassen unterteilt werden, hängen von
der bestimmten Anwendung ab. Anschließend wird in Schritt S612 die
erste Klasse von ursprünglichen Trainingsbild-Vektoren
als die aktuelle Klasse ausgewählt.
Als Nächstes
wird in Schritt S613 eine Bestimmung dahingehend unternommen, ob
die Anzahl der Vektoren in der aktuellen Klasse kleiner als ein Schwellenwert „n" ist. Wenn in Schritt
S613 festgestellt wird, dass die Anzahl von Vektoren in der Klasse
kleiner ist als der Schwellenwert n, geht die Steuerung in Schritt
S614 über.
Anderenfalls geht die Steuerung in Schritt S615 über.
-
In
Schritt S614 werden sämtliche
Vektoren in der aktuellen Klasse entfernt, das heißt, die
Klasse wird entfernt. Hierbei sollte beachtet werden, dass mit ansteigendem
Wert von n die Anzahl von Vektoren in der aktuellen Klasse, die
benötigt
wird, um die aktuelle Klasse zu behalten, kleiner wird. Als Ergebnis
werden mehr Klassen behalten. Durch das Behalten von mehr Klassen
ist die letztendliche Größe der Nachschlagtabelle
größer. Dies
würde natürlich eine größere Speicherkapazität erforderlich
machen. Dementsprechend ergibt der Wert von v direkt die Größe der durch
den Trainingsprozess erstellten Nachschlagtabelle.
-
Nach
Schritt S614 geht die Steuerung in Schritt S616 über. In Schritt S615 werden
alle Vektoren in der aktuellen Klasse gespeichert. Anschließend geht
die Steuerung in Schritt S616 über.
-
In
Schritt S616 wird die aktuelle Klasse analysiert, um zu bestimmen,
ob die aktuelle Klasse die letzte Klasse der ursprünglichen
Trainingsbildklassen ist. Wenn in Schritt S616 festgestellt wird,
dass die aktuelle Klasse nicht die letzte Klasse ist, geht die Steuerung
in Schritt S617 über.
Anderenfalls geht die Steuerung in Schritt S618 über. In Schritt S617 wird die
nächste
Klasse der ursprünglichen
Trainingsbildklassen als die aktuelle Klasse ausgewählt. Anschließend kehrt
die Steuerung zurück
zu Schritt S613. Im Gegensatz dazu werden in Schritt S618 all die
Vektoren des umgewandelten Trainingsbildes entfernt, die keine entsprechenden
ursprünglichen
Trainingsbildvektoren mehr haben. Anschließend kehrt in Schritt S619
die Steuerung zurück
zu Schritt S620.
-
15 ist
ein Ablaufplan, der auf ausführlichere
Weise eine exemplarische Ausführungsform des
Bestimmens der Frequenz in den Klassen des umgewandelten Trainingsbildes
von Schritt S620 illustriert.
-
Beginnend
mit Schritt S620 geht die Steuerung in Schritt S621 über, in
dem die gespeicherten Vektoren des umgewandelten Bildes in Klassen
unterteilt werden. Die spezifischen Parameter, nach denen die Unterteilung
in Klassen erfolgt, hängen
von der bestimmten Anwendung ab. Anschließend wird in Schritt S622 die
erste Klasse von Vektoren von umgewandelten Bildern als die aktuelle
Klasse ausgewählt.
Als Nächstes
wird in Schritt S623 eine Bestimmung dahingehend unternommen, ob
die Anzahl der Vektoren in der aktuellen Klasse von Vektoren von umgewandelten
Bildern kleiner als ein Schwellenwert m ist. Wenn in Schritt S623
festgestellt wird, dass die Anzahl von Vektoren in der Klasse kleiner
ist als der Schwellenwert n, geht die Steuerung in Schritt S624 über. Anderenfalls
geht die Steuerung in Schritt S625 über.
-
In
Schritt S624 werden sämtliche
Vektoren in der aktuellen Klasse entfernt. Hierbei sollte beachtet werden,
dass mit kleiner werdendem Wert von m die Anzahl von Vektoren in
der aktuellen Klasse, die benötigt
wird, um die aktuelle Klasse zu behalten, kleiner wird. Als Ergebnis
werden mehr Klassen von umgewandelten Bildern behalten. Durch Behalten
von mehr Klassen ist die letztendliche Größe der Nachschlagtabelle größer. Dementsprechend
ergibt der Wert von m direkt die Größe der durch den Trainingsprozess
erstellten Nachschlagtabelle.
-
Nach
Schritt S624 geht die Steuerung in Schritt S626 über. In Schritt S625 werden
sämtliche Vektoren
in der aktuellen Klasse gespeichert. Anschließend geht die Steuerung in
Schritt S616 über.
-
In
Schritt S626 wird die aktuelle Klasse analysiert, um zu bestimmen,
ob die aktuelle Klasse die letzte Klasse der Klassen von umgewandelten
Bildern ist. Wenn in Schritt S626 festgestellt wird, dass die aktuelle
Klasse nicht die letzte Klasse ist, geht die Steuerung in Schritt
S627 über.
Anderenfalls geht die Steuerung in Schritt S628 über. In Schritt S627 wird die
nächste
Klasse der Vektorklassen des umgewandelten Bildes als die aktuelle
Klasse ausgewählt.
Anschließend
kehrt die Steuerung zurück
zu Schritt S623. Im Gegensatz dazu werden in Schritt S628 alle die
ursprünglichen
Trainingsbild-Vektoren
entfernt, die keine entsprechenden Vektoren des umgewandelten Bildes
mehr haben. Anschließend
kehrt in Schritt S629 die Steuerung zurück zu Schritt S620.
-
16 ist
ein Ablaufplan der auf ausführlichere
Weise eine exemplarische Ausführungsform des
Korrelierens der ursprünglichen
Bildklassen mit den Klassen von umgewandelten Bildern von dem in 13 dargestellten
Schritt S630 illustriert. Beginnend mit dem Schritt S630 geht die
Steuerung in Schritt S631 über,
in dem die erste ursprüngliche Bildklasse
als die aktuelle Klasse ausgewählt
wird. Anschließend
werden in Schritt S632 auf Basis des Pixelortes die Vektoren in
der aktuellen ursprünglichen
Bildklasse jeweils an die entsprechenden Vektoren des umgewandelten
Bildern angepasst. Als Nächstes
werden in Schritt S633 sämtliche
Vektoren der jeweiligen ursprünglichen
Bildklassen Mittelung unterzogen. Anschließend geht die Steuerung in Schritt
S634 über.
-
In
Schritt S634 werden sämtliche
Vektoren in einer jeden der jeweiligen Klassen des umgewandelten
Bildes Mittelung unterzogen. Anschließend wird in Schritt S635 der
Mittelwert des ursprünglichen Bildvektors
mit dem Mittelwert des entsprechenden Vektors des umgewandelten
Bildes in einer geeigneten Nachschlagtabelle gespeichert. Als Nächstes wird
in Schritt S636 eine Bestimmung dahingehend vorgenommen, ob die
aktuelle ursprüngliche
Bildklasse die letzte Klasse ist.
-
Wenn
in Schritt S636 festgestellt wird, dass die aktuelle ursprüngliche
Bildklasse nicht die letzte Klasse ist, geht die Steuerung in Schritt
S637 über. Anderenfalls
geht die Steuerung in Schritt S638 über. In Schritt S637 wird die
nächste
ursprüngliche
Bildklasse als die aktuelle Klasse ausgewählt. Anschließend kehrt
die Steuerung zurück
zu Schritt S632. Im Gegensatz dazu wird in Schritt S638 die Nachschlagtabelle
in einem geeigneten Speicher gespeichert. Anschließend kehrt
in Schritt S639 die Steuerung zurück zu Schritt S640.
-
17 ist
ein Ablaufplan, der eine exemplarische Ausführungsform der Systeme und
Verfahren für
den Mehrebenen-Schablonenvergleich in Übereinstimmung mit der Erfindung
unter Verwendung einer Nachschlagtabelle darstellt. Der Ablaufplan
von 17 illustriert die Verwendung einer Nachschlagtabelle
zum Umwandeln eines binären
Mehrebenen-Farbbildes in ein entsprechendes Contone-(Halbton) Bild.
-
Beginnend
mit dem Schritt S1100 geht die Steuerung in Schritt S1200 über, in
dem das binäre Mehrebenen-Farbbild
für die
Umwandlung in ein Contone-Bild eingegeben wird.
-
Anschließend wird
in Schritt S1300 das erste Zielpixel des eingegeben Bildes als das
aktuelle Zielpixel ausgewählt.
Als Nächstes
wird in Schritt S1400 das aktuelle Pixel analysiert, um einen Mehrebenen-Vektor
bestimmen, der das aktuelle Pixel repräsentiert. Anschließend geht
die Steuerung in Schritt S1500 über.
-
In
Schritt S1500 wird der in Schritt S1400 erzeugte Vektor als eine
Eingabe in eine geeignete Nachschlagtabelle verwendet. Genauer gesagt,
wird in Schritt S1500 eine Bestimmung dahingehend vorgenommen, ob
der Vektor, der das aktuelle Zielpixel repräsentiert, in der Nachschlagtabelle
vorhanden ist. Wenn der Vektor in der Nachschlagtabelle vorhanden
ist, geht die Steuerung in Schritt S1510 über. Anderenfalls geht die
Steuerung in Schritt S1520 über.
-
In
Schritt S1510 werden die Mehrebenen-Halbtonwerte für das Pixel
ausgelesen. Anschließend
geht die Steuerung in Schritt S1600 über. Im Gegensatz dazu wird
in Schritt S1520 ein Contone-Bild, das das Zielpixel repräsentiert,
unter Verwendung von herkömmlichen
Mittelungstechniken erhalten. Anschließend geht die Steuerung in
Schritt S1600 über.
-
In
Schritt S1600 werden die Werte des Contone-Bildes, die entweder
in Schritt S1510 oder in Schritt S1520 erzeugt wurden, dem aktuellen
Zielpixel zugewiesen und gespeichert. Anschließend wird in Schritt S1700
das aktuelle Zielpixel analysiert, um zu bestimmen, ob es das letzte
Zielpixel in dem binären
Bild ist.
-
Wenn
ist Schritt S1700 festgestellt wird, dass das aktuelle Zielpixel
nicht das letzte Zielpixel für
die Analyse des binären
Bildes ist, geht die Steuerung in Schritt S1710 über. Anderenfalls geht die
Steuerung in Schritt S1800 über.
In Schritt S1710 wird das nächste
Zielpixel als das aktuelle Zielpixel ausgewählt. Anschließend kehrt
die Steuerung zurück
zu Schritt S1400. Wenn in Schritt S1700 bestimmt wird, dass das
aktuelle Zielpixel das letzte Zielpixel ist, geht die Steuerung
in Schritt S1800 über.
In Schritt S1800 endet die Umwandlung des binären Bildes.
-
Die
jeweils in den 1 bis 4 und in 8 dargestellten
Schablonenvergleichssysteme 200 und 500 werden
vorzugsweise auf einem programmierten Universalcomputer implementiert.
Jedes der Schablonenvergleichssysteme 200 und das Schablonenver gleichssystem 500 kann
jedoch auch auf einem Spezialcomputer, einem programmierten Mikroprozessor
oder Mikrocontroller und peripheren integrierten Schaltkreiselementen,
einer anwendungsspezifischen integrierten Schaltung (ASIC) oder
einer anderen integrierten Schaltung, einem digitalen Signalprozessor,
einer fest angeschlossenem elektronischen oder logischen Schaltung
wie beispielsweise eine Schaltung mit diskretem Bauteil, eine programmierbare
logische Vorrichtung, wie zum Beispiel ein programmierbares Logikelement
(PLD), eine programmierbare Logikanordnung (PLA), eine feldprogrammierbare
Gate-Array-Schaltung (FPGA) oder eine programmierbare logische Anordnung (PAL)
oder Ähnlichem
implementiert werden. Im Allgemeinen kann jede Vorrichtung, die
in der Lage ist, einen endlichen Automaten zu implementieren, der wiederum
in der Lage ist, die in den 10 bis 17 dargestellten
Ablaufpläne
zu implementieren, kann zum Implementieren der Schablonenvergleichssysteme 200 und 500 verwendet
werden.
-
Insbesondere
sollte beachtet werden, dass jede der in den 1 bis 4 und
in 6 dargestellten Schaltungen als Abschnitt eines
auf geeignete Weise programmierten Universalcomputers implementiert
werden kann. Alternativ dazu kann jede der in den 1 bis 4 und
in 8 dargestellten Schaltungen als räumlich separate
Hardwareschaltungen innerhalb einer ASIC oder unter Verwendung einer
FPGA, einer PLD, einer PLA oder einer PAL, oder unter Verwendung
diskreter Logikbauteile oder diskreter Schaltungsbauteile implementiert
werden. Die bestimmte Form, die eine jede der in den 1 bis 4 und
in 8 dargestellten Schaltungen annehmen wird, ist
eine Designüberlegung,
die offensichtlich ist und von den Personen mit der gewöhnlichen
Erfahrung auf dem Gebiet der Technik und getroffen werden wird.
-
Jeder
der Speicher 280 und 530 wird vorzugsweise unter
Verwendung eines statischen oder dynamischen Direktzugriffsspeichers
RAM implementiert. Dennoch können
die Speicher 280 und 530 auch unter Verwendung
einer Diskette mit Plattenlaufwerk, einer beschreibbaren optischen
Platte mit Plattenlaufwerk, einer Festplatte, eines Flash-Speichers oder einer
anderen beliebigen bekannten oder zu einem späteren Zeitpunkt entwickelten
austauschbaren flüchtigen
oder nicht-flüchtigen
Speichervorrichtung oder einem Speichersystem implementiert werden.