-
Systeme
zum Handhaben zahlreicher Dokument- und Datenformate bewegen sich
dazu hin, integrierte rechnergestützte Systeme zu werden, bei denen
unterschiedliche Geräte
aneinandergebunden sind, um Lösungen
für Bedürfnisse
von Kunden zu liefern. Ein Schlüsselfaktor
bei derartigen integrierten Systemen ist ein Ermöglichen, daß ein ursprüngliches Dokument, eine Tabelle
oder ein Bild abgetastet und dann präsentiert wird, so daß eine Person,
die den abgetasteten Gegenstand betrachtet, keinen Qualitätsunterschied
relativ zu dem Original wahrnimmt. Leider kann der Abtastprozeß ein Rauschen und
Fehler in die Daten einbringen, die das abgetastete Bild darstellen,
was in einer wahrnehmbaren Verminderung bei dem Ausgang resultiert.
Es wird eine Technologie zu einem Verbessern von Bilddaten benötigt, die
durch Abtasten eingebrachtes Rauschen und Fehler aufweisen, ohne
zu erfordern, daß erhebliche
zusätzliche
Komponenten zu dem System hinzugefügt werden.
-
Viele
rechnergestützte
Systeme umfassen bereits eine gewisse Auflösungsverbesserungstechnologie
zum Verbessern der Qualität
von abgetasteten und gedruckten Dokumenten. Existierende Auflösungsverbesserungstechnologien
verwenden eine Auflösungsverbesserung
in der Form von Schablonen, die in logischen Operationen oder Nachschlagtabellen
implementiert sind. Die unten zitierten Schriften beschreiben verschiedene
Verfahren, Geräte
und Systeme einer Bild- oder Auflösungsverbesserung, um gedruckte
Bilder und Anzeigen unter Verwendung von Komponenten zu verbessern,
die bereits in vorliegende integrierte Computersysteme eingegliedert
sind. Eine Bildverbesserung kann gegenwärtig zu einer Auflösungsverbesserung,
einer Erscheinungsbildabstimmung, einer Erscheinungsbildübereinstimmung,
einer Umwandlung zu einer Grauskalierung (z. B. Halbton-De-screening),
einer Bildwiederherstellung, einer Mustererfassung und Segmentierung
verwendet werden.
-
Existierende
Bildauflösungsverbesserungstechniken
führen
eine breite Vielfalt von digitalen Dokumentverarbeitungsaufgaben
unter Verwendung von schablonenbasierten Bildverbesserungsgeräten durch.
Eine Verbesserung wird gewöhnlich
an Einfarben- und Farbbildern sowie Binär- und Kontinuierlich-Ton-Bildern
durchgeführt.
Ein typisches Bildverbesserungsgerät umfaßt Schablonenoperatoren, um die
Bilder zu verbessern, die als ein Operator oder ein Gerät charakterisiert
werden können,
der/das ein Bild in ein anderes Bild transformiert. Das Bildverbesserungsgerät ist aus
einer Anzahl von Bilderzeugungsschablonenoperatoren gebildet, die
oft als Schablonen bezeichnet werden. Die Schablonen weisen typischerweise
eine Maske, ein Muster und ein Verbesserungspixel auf. Die Anzahl
von Schablonen in einem Bildverbesserungsgerät kann zwischen einer kleinen
Anzahl von Schablonen bis Tausenden von Schablonen variieren. Diese
Schablonen können z.
B. in einer Nachschlagtabelle gespeichert sein und unter Verwendung
eines Nachschlagtabellenformalismus implementiert sein. Es können andere äquivalente
Formalismen, wie beispielsweise eine Boolesche Logik, verwendet
werden.
-
Ein
Raster ist ein eindimensionales Array von Bilddaten, die eine einzige
Zeile von Daten über eine
einzige Abmessung, d. h. die Länge
oder die Breite, des Bilds widerspiegeln. Ferner kann jede Position
oder „Bildelement" in einem Bild ein „Pixel" genannt werden.
Bei einem Array, das ein Bild definiert, bei dem jedes Datenelement
einen Wert aufweist, kann jeder Wert, der die Eigenschaften einer
Position angibt, ein Pixelwert genannt werden. Jeder Pixelwert ist
ein Bit in einer binären
Form eines Bilds, ein Grauskalierungswert in einer Grauskalierungsform eines
Bilds oder ein Satz von farbbeabstandeten Koordinaten in einer Farbkoordinatenform
eines Bilds. Die binäre
Form, die Grauskalierungsform und die Farbkoordinatenform sind jeweils
typischerweise in einem zweidimensionalen Array von Zeilen und Spalten
angeordnet, was das Bild definiert.
-
Tung,
C., „Piece-Wise
Print Image Enhancement for Dot Matrix Printers", US-Patent Nr. 4,847,641, 11. Juli
1989; und US-Patent Nr. 5,005,139, 2. April 1991, beschreiben Auflösungsverbesserungsverfahren
und -geräte.
Tung beschreibt mehrere Typen von Druckfehlern, die bei einem Drucken
von Schriftzeichen und Graphen unter Verwendung von Pixeln auftreten,
wie beispielsweise gestufte Kanten anstelle von glatten Kanten und
weggelassene Details bei scharfen Spitzen und Kreisen (Sp. 7 und
8 von '641). Tung
beschreibt Auflösungsverbesserungsverfahren
und -geräte
des Stands der Technik, die betreibbar sind, um bedruckte Linien
und Kurven zu glätten
und Anzeigefehler durch ein Verbessern der Auflösung von Pixeln auszufüllen. Im
Stand der Technik verwendet ein Bildauflösungsverbesserungsgerät Schablonen,
um bestimmte Pixelmuster in einem binären Bild in entsprechend verbesserte
Pixelmuster durch ein in Übereinstimmung
Bringen einer Schablone mit den Pixelmustern zu transformieren.
Eine Schablonenübereinstimmung
ist ein Binär-Übereinstimmungsprozeß, wodurch
eine binäre Schablone
an ein binäres
Bild angelegt wird. Ein Bild, das aus Zeilen in einer binären Form
besteht, wird zu einem Datenpuffermodul gesendet. Eine Binär-Muster-Übereinstimmungsprüfungsoperation
(„Pattern-Matching") wird unter Verwendung
von binären Schablonen
durchgeführt,
die typischerweise als ein Verarbeiten von Einsen und Nullen definiert
sind. Nach einem Kombinieren der gepufferten Bilddaten und der Schablonen
in der Binär-Muster-Übereinstimmungsoperation
ersetzt ein Ausgangsschritt das Zielpixel durch ein Verbesserungspixel,
wenn eine 100%ige Übereinstimmung
gefunden ist, um das verbesserte Bild zu erzeugen. Der Bildauflösungsverbesserungsprozeß kann auf
verschiedene Weisen implementiert sein, wie beispielsweise ein Boolesche-Logik-Modul
oder eine Nachschlagtabelle. Bei der Boolesche-Logik-Darstellung
werden Pixelwerte als Variablen in der logischen Architek tur verwendet, wie
beispielsweise eine logische Summe von Produkten.
-
Mit
Bezug auf 1 und 2 beobachtet genauer gesagt
das Bildverbesserungsgerät
ein Muster von Pixeln in einem durch eine ausgewählte Schablone definierten
Fenster. 1 und 2 stellen bestimmte Aspekte
des Stands der Technik für
eine Auflösungsverbesserungstechnologie
dar. 1 stellt ein 5 × 5-Fenster
dar, das eine Mehrzahl von Bits aufweist, die Pixel darstellen,
die um ein Zielpixel herum positioniert sind, einschließlich Pixeln
von der gleichen Zeile wie das Zielpixel sowie Pixel von zumindest
einer Zeile über
und zumindest einer Zeile unter dem Zielpixel (falls verfügbar). Es
ist eine breite Vielfalt von Typen und Größen von Fenstern bekannt. Das
bei einer speziellen Anwendung verwendete Fenster hängt von
dem Bild ab, das analysiert werden soll, und dem speziellen Prozeß, der an
dem Bild durchgeführt
werden soll. Das in 1 dargestellte
5 × 5-Fenster umfaßt fünf Zeilen
(1–5)
und fünf
Spalten (A–E),
was einen 25-Pixel-Block von binärwertigen Pixeln
eines Bilds darstellt. Ein Pixel in dem Fenster ist das Zielpixel,
was typischerweise das mittlere Pixel 3C ist, während die anderen Pixel in
dem Fenster die benachbarten Pixel sind. Das Zielpixel und die benachbarten
Pixel bilden eine Nachbarschaft. Das Fenster wird typischerweise über die
Daten bewegt, die ein Bild darstellen, wobei von Zielpixel zu Zielpixel vorgerückt wird.
-
2A–2D stellen
eine herkömmliche
Auflösungsverbesserungstechnologie
dar, die auf das Zielpixel 3C in einem 5 × 5-Fenster angewendet wird. 2A stellt ein Beispiel der
Werte und Positionen von Pixeln eines Ein-Bit-pro-Pixel-Binärbilds in
dem 5 × 5-Fenster
dar. Die „1"en stellen Pixel
dar, die eingeschaltet oder angezeigt werden sollen, und die „0"en stellen Pixel
dar, die nicht eingeschaltet werden sollen. Der Bildabschnitt in
dem Fenster von 2A könnte eine
zwei Pixel breite Zeile darstellen, die von links nach rechts ansteigt,
wie beispielsweise ein Vor wärtsschrägstrich.
Die Pixel in dem Fenster von 2A werden
in eine Schablonenübereinstimmungsoperation
eingegeben, wie es unten erörtert ist.
-
2B stellt einen Maskenabschnitt
einer Schablone dar, der einrichtet, ob ein spezielles Pixel in
einem Fenster ein interessierendes Pixel ist. Die in 2B dargestellte Maske umfaßt eventuell
nicht alle Pixel in dem Fenster als interessierende Pixel. Die Maske
definiert eher einen Pixel-Bit-Teilsatz des Fensters, der alle Pixelbits
in dem Fenster umfassen kann, aber es typischerweise nicht tut. 2C stellt einen Musterabschnitt
einer Schablone dar, der einen „Voraussage-Bit-Teilsatz" definiert, der den
Wert einrichtet, den jedes spezielle interessierende Pixel aufweisen
muß, um
als eine Übereinstimmung
betrachtet zu werden. Das heißt,
damit eine Übereinstimmung
gefunden wird, müssen
alle Pixel von 2A, die
sich in den „1"-Positionen von 2B befinden, gleich den jeweiligen Pixeln
in 2C sein. 2D stellt eine Übereinstimmung
dar, die im Stand der Technik gefunden wird, wenn 100% der interessierenden
Pixel (der Pixel-Bit-Teilsatz des Fensters, wie es durch die Maske
von 2B definiert ist)
in 2A jeweils den erforderlichen
Wert aufweisen, wie es durch das Muster (den Voraussage-Bit-Teilsatz)
von 2C definiert ist.
-
Ein
Bildverbesserungsgerät
versucht, die Pixel des Fensters mit einer oder mehreren von Schablonen
in Übereinstimmung
zu bringen. Die Schablone oder ein anderer Abschnitt des Bildverbesserungsgeräts umfaßt ein Verbesserungspixel,
das das Zielpixel 3C ersetzen soll, wenn eine exakte Übereinstimmung
gefunden ist. Falls eine exakte Übereinstimmung
durch ein Vergleichen eines Pixelteilsatzes des Fensters mit einem
Voraussage-Bit-Teilsatz gefunden wird, erzeugt das Bildverbesserungsgerät einen
geeigneten Ausgang. Der Ausgang kann ein Verbessertes-Pixel-Muster
für das
Zielpixel sein, das das Bild verbessert. Das Bildverbesserungsgerät fährt typischerweise
fort, bis alle Schablonen auf jedes Zielpixel angewendet wurden
und alle Zielpixel verbessert wurden (vorausgesetzt, daß Schablonenübereinstimmungen
gefunden wurden). Bei dem durch 2A–D dargestellten Beispiel wird eine Übereinstimmung
gefunden und ein Verbesserungspixel ersetzt das Zielpixel 3C, um
die Linie weniger gezackt aussehen zu lassen. Ein derartiges Verbesserungspixel
kann ein bißchen
Toner, der dem Zielpixel 3C hinzugefügt wird, oder ein Verdunkeln
lediglich des oberen linken Quadranten des Zielpixels 3C umfassen,
um die zwei Pixel breite Linie in dem Fenster von 2A zu glätten. Wenn keine 100%ige Übereinstimmung
gefunden wird, erzeugt die herkömmliche
Auflösungsverbesserungstechnologie
keine Verbesserung und der Wert des Zielpixels wird nicht verändert oder
verbessert.
-
Die
oben beschriebene Auflösungsverbesserungstechnologie
liefert eventuell nicht genau eine Auflösungsverbesserung für abgetastete
Bilder, weil ein Rauschen und Fehler bei den abgetasteten Daten die
erforderliche 100%ige Übereinstimmung
oft unwahrscheinlich machen. Es gibt einen Bedarf nach einem Verfahren
und einer Vorrichtung, die existierende Bildauflösungsverbesserungstechnologien verwenden,
um Digitalbilddaten effizient zu verbessern, die ein Rauschen und
Fehler enthalten können, wie
dieselben beispielsweise bei einem Abtasten eines Dokuments erzeugt
werden könnten.
Angesichts des Vorhergehenden gibt es einen Bedarf auf dem Gebiet
nach einer neuen und verbesserten Vorrichtung und einem Verfahren
zu einer Auflösungsverbesserung
von Bildern, die ein Rauschen und Fehler in den Daten derselben
aufweisen.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zur Bildverbesserung
unter Verwendung einer Teilschablonenübereinstimmungsüberprüfung, eine
Bildverbesserungsschaltung oder ein Computersystem mit verbesserten
Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 oder Anspruch
4, eine Bildverbesserungsschaltung gemäß Anspruch 16 oder ein Computersystem
gemäß Anspruch
24 gelöst.
-
Ein
Aspekt der Erfindung stellt ein Verfahren zur Bildauflösungsverbesserung
unter Verwendung einer Teilschablonenübereinstimmungsüberprüfung bereit.
Das Verfahren umfaßt
die Schritte eines Speicherns zumindest eines Abschnitts eines Bilds
und eines Auswählens
eines Fensters aus dem Bild, das eine Mehrzahl von benachbarten
Zeilensegmenten aufweist, die Pixel aufweisen, wobei das Fenster
ein Zielpixel umfaßt.
Das Verfahren umfaßt
ferner ein Vergleichen der Pixel des Fensters mit einer Schablone
zu einer Teilübereinstimmung
und ansprechend darauf, daß eine
Teilübereinstimmung
gefunden wird, ein Ersetzen des Zielpixels durch ein Verbesserungspixel.
-
Durch
ein Ermöglichen
einer Teilübereinstimmung
zu einer Verbesserung anstelle eines Erforderns der 100%igen Übereinstimmung
des Stands der Technik liefert ein derartiges Verfahren eine Bildauflösungsverbesserung
für Digitalbilddaten,
die durch ein Rauschen oder andere Fehler leicht verfälscht sein
können.
-
Die
Erfindung, zusammen mit Aufgaben und Vorteilen derselben, ist am
besten unter Bezugnahme auf die folgende nichteinschränkende Beschreibung
in Verbindung mit den zugehörigen
Zeichnungen zu verstehen, bei deren mehreren Figuren gleiche Bezugszeichen
gleiche Elemente identifizieren.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die
beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein herkömmliches
5 × 5-Fenster
von Pixeln, die um ein Zielpixel herum positioniert sind;
-
2A die Pixelwerte eines
5 × 5-Fensters eines
Bilds;
-
2B einen Maskenabschnitt
einer Schablone, der einrichtet, ob ein spezielles Pixel in dem
5 × 5-Fenster von 2A ein interessierendes
Pixel ist;
-
2C einen Musterabschnitt
einer Schablone, der einen „Voraussage-Bit-Teilsatz" definiert, der den
Wert einrichtet, den jedes spezielle interessierende Pixel aufweisen
muß, um
als eine Übereinstimmung
betrachtet zu werden;
-
2D eine Übereinstimmung, die bei dem Stand
der Technik gefunden wird, wenn alle interessierenden Pixel (der
Pixel-Bit-Teilsatz des Fensters, wie es durch die Maske von 2B definiert ist) in dem
5 × 5-Fenster
von 2A den erforderlichen Wert
aufweisen, wie es durch das Muster (den Voraussage-Bit-Teilsatz)
von 2C definiert ist;
-
3A Werte und Positionen
von Pixeln in einem 5 × 5-Fenster eines Bilds,
das dem Bild von 2A ähnlich ist,
mit einem Fehler bei einem der Pixelwerte, gemäß einem Ausführungsbeispiel
der Erfindung;
-
3B einen Maskenabschnitt
einer Schablone, der einrichtet, ob ein spezielles Pixel in dem
5 × 5-Fenster von 3A ein interessierendes
Pixel ist, gemäß einem
Ausführungsbeispiel
der Erfindung;
-
3C einen Musterabschnitt
einer Schablone, der einen „Voraussage-Bit-Teilsatz" definiert, der den
Wert einrichtet, den jedes spezielle interessierende Pixel aufweisen
muß, um
als eine Übereinstimmung betrachtet
zu werden, gemäß einem
Ausführungsbeispiel
der Erfindung;
-
3D ein „N", das einen „Keine-Übereinstimmung"-Status bei einem
Pixel 5D des 5 × 5-Fensters
von 3A aufgrund des
Fehlers bei binären Daten
und ein Nichtvorhandensein einer 100%igen Übereinstimmung darstellt, gemäß einem
Ausführungsbeispiel
der Erfindung;
-
4 ein Flußdiagramm
eines Verfahrens zur Bildverbesserung unter Verwendung einer Teilschablonenübereinstimmungsüberprüfung gemäß einem
Ausführungsbeispiel
der Erfindung; und
-
5 ein Diagramm eines Auflösungsverbesserungsgeräts gemäß einem
Ausführungsbeispiel
der Erfindung.
-
3A–3D stellen
ein Verfahren zur Bildverbesserung unter Verwendung einer Teilschablonenübereinstimmungsüberprüfung gemäß einem
Ausführungsbeispiel
der Erfindung dar. Das Fenster von 3A stellt
eine Abtastung eines 5 × 5-Abschnitts eines
Bilds ähnlich
dem 5 × 5-Bildabschnitt
dar, der in dem Fenster von 2A dargestellt
ist, außer
daß die
Abtastung nicht vollkommen war und bei einem Pixel 5C einen Datenfehler
in der Form einer „1" anstelle einer „0" einbrachte. Die
Schablonen, die durch die Maske von 3B und
das Muster von 3C dargestellt
sind, sind die gleichen wie 2B und 2C. Ein Anwenden der Maske
und des Musters der Schablone von 3B und 3C auf das Fenster erzeugt
aufgrund des Datenfehlers keine 100%ige Übereinstimmung. 3D stellt ein „N" bei einem Pixel
5D dar, das einen „Keine-Übereinstimmung"-Status darstellt.
Unter dem Stand der Technik ist das Zielpixel 3C durch kein Verbesserungspixel
ersetzt, weil keine Übereinstimmung
gefunden wurde, weil die binären
Daten nicht perfekt waren. Wie es oben in Verbindung mit 1–2D erörtert ist, läßt somit
der Stand der Technik das durch das Fenster von 3A dargestellte Bild ohne eine Auflösungsverbesserung.
-
Ein
Ausführungsbeispiel
der Erfindung modifiziert die bekannte Auflösungsverbesserungstechnologie,
um zu erfordern, daß lediglich
eine Teilübereinstimmung
und keine 100%ige Übereinstimmung zwischen
den Pixeln des Fensters und dem Muster gefunden wird, damit das
Zielpixel durch ein Verbesserungspixel ersetzt wird. Der Grad einer
Teilübereinstimmung
kann ausgewählt
sein, um einen erwünschten
Grad einer Bildverbesserungsgenauigkeit zu liefern. Zum Beispiel
kann eine Teilübereinstimmung
gefunden werden, falls zumindest 90% der Bits des Pixel-Bit-Teilsatzes
des Fensters, wie es durch die Maske von 3B definiert ist, gleich den Pixeln des
Voraussage-Bit-Teilsatzes sind, wie es durch das Muster von 3C definiert ist. Bei einem
alternativen Ausführungsbeispiel
kann eine Teilübereinstimmung
gefunden werden, falls zumindest 80% der Bits des Pixel-Bit-Teilsatzes sich
mit dem Voraussage-Bit-Teilsatz vergleichen lassen.
-
Bei
dem in 3A dargestellten
Fenster ist eine Übereinstimmung
für die
Zwecke eines Verbesserns des Pixels 3C gefunden, weil 13/14 = 93%
der interessierenden Pixel in dem Fenster von 3A mit dem Muster von 3C übereinstimmen.
Daher wird das Pixel 3C z. B. durch ein Verdunkeln lediglich des
oberen linken Quadranten desselben verbessert.
-
Bei
einem weiteren Ausführungsbeispiel
der Erfindung kann der Vergleichsschritt ein Zuweisen von Gewichtungen
an jedes in Übereinstimmung
gebrachte Bit umfassen und jedes in Übereinstimmung gebrachte Bit
wird vor einem Bestimmen, ob es eine Übereinstimmung gibt, mit der
entsprechenden Gewichtung multipliziert. Zum Beispiel könnten Pixel, die
von dem Zielpixel 3C weiter entfernt sind, geringer gewichtet werden.
-
4 zeigt ein Flußdiagramm 20 eines
Verfahrens zur Bildverbesserung unter Verwendung einer Teilschablonenübereinstimmungsüberprüfung gemäß einem
Ausführungsbeispiel
der Erfindung.
-
Nach
einem Start beginnt der Fluß bei
einem Block 22, bei dem das Bild für eine Auflösungsverbesserung empfangen
wird, gewöhnlicherweise
als Pixelwert in einer binären
Form.
-
Als
nächstes
wird bei einem Block 24 zumindest ein Abschnitt des Bilds
zu einer Verbesserung in einem Speicher- oder Puffermodul in einem zweidimensionalen
Array von Zeilen und Spalten gespeichert.
-
Der
logische Fluß geht
zu einem Block 26 über,
bei dem ein Zielpixel aus dem in dem Speicher gespeicherten Bild
ausgewählt
wird.
-
Bei
einem Fortschreiten zu einem Block 28 wird ein Fenster
ausgewählt,
das eine Mehrzahl von Zeilensegmenten von Bits aufweist, die Pixel
darstellen, die um das Zielpixel herum positioniert sind, wobei
das Fenster Pixel aus der gleichen Zeile wie das Zielpixel sowie
Pixel aus zumindest einer Zeile über und
zumindest einer Zeile unter dem Zielpixel umfaßt, falls verfügbar. Die
Größe und Form
des Fensters hängt
von dem Bild, das verbessert werden soll, und dem speziellen Verbesserungsprozeß ab, der
an dem Bild durchgeführt
werden soll.
-
Der
Fluß geht
als nächstes
zu einem Block 32 über,
bei dem das Fenster, das die Mehrzahl von Zeilensegmenten von Bits
aufweist, die Pixel darstellen, mit zumindest einer Schablone des
Satzes von Schablonen 30 verglichen wird. Der Vergleich
kann in einer Hardware, einer Firmware, einer Software oder einer
Kombination derselben durchgeführt
werden. Der Vergleich wird durchgeführt, wie es in Verbindung mit 3A–D beschrieben
ist.
-
Der
Fluß geht
zu einem Entscheidungsblock 34 über, bei dem eine Bestimmung
vorgenommen wird, ob eine Übereinstimmung
gefunden wurde. Der Grad einer Übereinstimmung
kann bestimmt sein, wie es in Verbindung mit 3 beschrieben ist.
-
Falls
eine Teilübereinstimmung
gefunden wird, geht der Fluß zu
einem Block 36 über,
bei dem das Zielpixel durch ein Verbesserungspixel ersetzt wird.
-
Nach
dem Block 36 geht der Fluß zu einem Entscheidungsblock 38 über, um
zu bestimmen, ob alle Pixel des Bilds dem Auflösungsverbesserungsprozeß unterzogen
wurden. Falls dem so ist, geht der Fluß zu dem Endblock über. Falls
dem nicht so ist, geht der Fluß zurück zu Block 26 und
wählt ein
anderes Zielpixel zu einer Auflösungsverbesserung
aus.
-
Falls
bei dem Entscheidungsblock 34 keine Teilübereinstimmung
gefunden wird, geht der Fluß zu dem
Block 38 über.
Auf einen Abschluß des
Flusses des Auflösungsverbesserungsverfahrens 20 hin
wurden alle Pixel, die das Bild aufweisen, verarbeitet und ein Verbesserungspixel
wurde bei jeder Instanz ersetzt, bei der eine Teilübereinstimmung
auftrat.
-
Ein
Ausführungsbeispiel
der Erfindung verwendet eine Hardware, die Logikgatter umfaßt, um das
Auflösungsverbesserungsverfahren 20 zu
implementieren. Die Hardware ist bei einem Block 32 betreibbar,
um eine Mehrzahl von Schablonen des Satzes von Schablonen 30 mit
dem ausgewählten
Fenster zu vergleichen. Typischerweise würde die Hardware alle Schablonen
des Satzes von Schablonen 30 mit dem Fenster zur gleichen
Zeit vergleichen. Bei einem simultanen Vergleichen von Schablonen
können mehrere
Schablonenübereinstimmungen
auftreten. Es kann ein Prioritätsschema
zu einem Auswählen eingerichtet
werden, welche Schablone die Teilübereinstimmung bildet und das
Verbesserungspixel bestimmt.
-
Ein
anderes Ausführungsbeispiel
der Erfindung verwendet eine Firmware und/oder eine Software, um
das Auflösungsverbesserungsverfahren 20 zu
implementieren. Bei diesem Ausführungsbeispiel wird
Schablonen in dem Satz von Schablonen 30 jeweils eine Priorität zugewiesen.
Bei dem Schablonenvergleichsblock 32 werden die Schablonen
in einer Reihenfolge einer Priorität beginnend mit der höchsten Priorität verglichen.
Die erste Schablone, die teilweise übereinstimmt, gewinnt und bestimmt das
Verbesserungspixel.
-
5 stellt ein Diagramm eines
Auflösungsverbesserungsgeräts 50 gemäß einem
Ausführungsbeispiel
der Erfindung dar. Das Auflösungsverbesserungsgerät 50 umfaßt einen
Speicher 52, ein Selektormodul 54, Schablonen 56,
ein Logikmodul 58 und ein Pixelsubstitutionsmodul 60.
Das Auflösungsverbesserungsgerät 50 ist
typischerweise in das Aufbereitungsgerät, wie beispielsweise einen
Drucker oder Computer, eingegliedert oder kann alleinstehend sein.
Ferner können
die Elemente des Auflösungsgeräts unter
mehreren Geräten
aufgeteilt sein. Zum Beispiel kann der Speicher 52 ein
Teil eines Personalcomputers sein und der Rest des Geräts 50 kann
ein Teil eines Druckers sein.
-
Der
Speicher 52 kann ein jeglicher Typ eines Speichers sein,
der betreibbar ist, um aufeinanderfolgende Zeilen eines Bilds zu
speichern, das verbessert wird, und ist vorzugsweise ein schnelles
Halbleiterspeicherungsgerät.
Das Selektormodul 54 kann ein jeglicher Typ eines Geräts sein,
das wirksam ist, um ein Fenster aus dem Bild auszuwählen, das
eine Mehrzahl von Zeilensegmenten von Bits aufweist, die Pixel darstellen,
wobei das Fenster ein Zielpixel umfaßt. Das Selektormodul 54 ist
wirksam, um ein Zielpixel auszuwählen
und das Fenster um das Zielpixel herum auszuwählen, wie es allgemein im Stand
der Technik beschrieben ist. Das Selektormodul 54 ist ferner
wirksam, um sequentiell Pixel in dem Bild als ein Zielpixel auszuwählen, bis
alle Pixel in dem Bild ausgewählt
wurden. Die Schablonen 56 umfassen eine Mehrzahl von Schablonen,
wie es allgemein im Stand der Technik beschrieben ist. Jede Schablone umfaßt eine
Maske, wie es in 2B dargestellt
ist, die einrichtet, ob ein spezielles Pixel in einem Fenster ein
interessierendes Pixel ist, und ein Muster, das in 2C dargestellt ist und einen „Voraussage-Bit-Teilsatz" definiert, der den
Wert einrichtet, den jedes spezielle interessierende Pixel aufweisen
muß, um
als eine Übereinstimmung
betrachtet zu werden. Das Logikmodul 58 ist wirksam, um
die Pixel des Fensters mit den Schablonen 56 zu vergleichen,
wie es auch allgemein im Stand der Technik beschrieben ist. Das
Logikmodul 58 ist jedoch, und nicht wie der Stand der Technik,
wirksam, um eine Teilübereinstimmung
zwischen den Pixeln des Fensters und einer Schablone der Schablonen 56 zu
finden. Falls eine Teilübereinstimmung
mit einer Mehrzahl von Schablonen gefunden wird, kann das Logikmodul 58 ferner wirksam
sein, um ein Prioritätsschema
anzuwenden, um zu bestimmen, welche Schablone verwendet wird, um
das verbesserte Pixel ansprechend auf die Teilübereinstimmung zu ersetzen.
Das Pixelsubstitutionsmodul 60 ist wirksam, um das Zielpixel
durch ein Verbesserungspixel ansprechend darauf zu ersetzen, daß eine Teilübereinstimmung
in der Logik 58 gefunden wird. Das Pixelsubstitutionsmodul 60 kann ein
Abschnitt der Logik 58 sein, aber ist hier als ein getrenntes
Modul zu der Beschreibung der Funktion eines Ersetzens des Zielpixels
durch ein Verbesserungspixel ansprechend darauf dargestellt, daß eine Teilübereinstimmung
gefunden wird.
-
Das
Auflösungsverbesserungsgerät 50 ist
typischerweise zwischen eine Quelle eines Bilds, das aufbereitet
werden soll, und dem Aufbereitungsgerät 76 angeordnet, wobei
die Quelle typischerweise in Pixelform ist. Das Auflösungsverbesserungsgerät 50 empfängt das
Eingangsbild 72, führt
das Verfahren 20 einer Bildverbesserung durch, das in Verbindung mit 4 beschrieben ist, und liefert
einen Verbessertes-Bild-Ausgang 74 zu einem Aufbereitungsgerät 76.
Das Aufbereitungsgerät 76 umfaßt typischerweise
einen Drucker, aber kann ein ausgewähltes eines Monitors, einer
Projekti onseinheit oder eines Plotters sein. Bei anderen Ausführungsbeispielen
können Teilschablonenübereinstimmungsüberprüfungsfunktionen
mit einer Firmware und/oder mit einer Software auf dem Hostcomputer
des Benutzers implementiert sein.
-
Ein
Ausführungsbeispiel
der Erfindung kann unter Verwendung einer anwendungsspezifischen
integrierten Schaltung (ASIC; ASIC = application specific integrated
circuit) implementiert sein. Die Schablonen werden gespeichert und
die Übereinstimmung
tritt bei den ASIC-Gattern auf. Die Schablonen sind in einer beschreibenden
Hardware-Sprache (HDL; HDL = hardware descriptive language) und dem
Code beschrieben, der in einen Abschnitt der Logik der ASIC generiert
wird. Bei einem alternativen Ausführungsbeispiel weisen bestimmte
neuere ASIC-Videoblöcke
mehrere programmierbare Tabelleneinträge zusätzlich zu den festen Tabellen
in einer Hardware auf. Diese programmierbaren Tabelleneinträge können durch
die Firmware des Druckers von externen ROMs in die ASIC-Tabellen
geladen werden. Die Tabellen werden durch die Hardware direkt gelesen
und der Vergleich wird zu der gleichen Zeit vorgenommen, wenn die
eingebaute Tabelle übereinstimmt.
-
Die
verschiedenen Ausführungsbeispiele
der Erfindung können
als verbundene Maschinenlogikschaltungen oder Schaltungsmodule und/oder
als eine Sequenz von computerimplementierten Schritten oder Programmodulen,
die auf einem Computersystem laufen, implementiert sein. Die Implementierung
ist eine Frage einer Auswahl, die von den Leistungserfordernissen
des Systems abhängt,
das die Erfindung implementiert. Angesichts dieser Offenbarung ist
es einem Fachmann auf dem Gebiet ersichtlich, daß die Funktionen und die Operation
der verschiedenen offenbarten Ausführungsbeispiele in einer Software,
einer Firmware, in einer speziellen digitalen Logik oder einer jeglichen
Kombination derselben implementiert sein können, ohne von der Wesensart
oder dem Schutzbereich der vorliegenden Erfindung abzuweichen.