DE69327262T2 - Verfahren zur Phasenausgleichung bei graphischen Anwendungen mit Hilfe von Einkerbungen n-ter Ordnung - Google Patents

Verfahren zur Phasenausgleichung bei graphischen Anwendungen mit Hilfe von Einkerbungen n-ter Ordnung

Info

Publication number
DE69327262T2
DE69327262T2 DE69327262T DE69327262T DE69327262T2 DE 69327262 T2 DE69327262 T2 DE 69327262T2 DE 69327262 T DE69327262 T DE 69327262T DE 69327262 T DE69327262 T DE 69327262T DE 69327262 T2 DE69327262 T2 DE 69327262T2
Authority
DE
Germany
Prior art keywords
pixels
output state
edge
scan line
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69327262T
Other languages
English (en)
Other versions
DE69327262D1 (de
Inventor
R. Victor Klassen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Application granted granted Critical
Publication of DE69327262D1 publication Critical patent/DE69327262D1/de
Publication of DE69327262T2 publication Critical patent/DE69327262T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Description

  • Die vorliegende Erfindung betrifft allgemein ein Verfahren zum Manipulieren von Kanten in einem Bild und insbesondere zum Erstellen und Verwenden von durch ein nth-Bitting verarbeiteten Mustern, um die Bildverarbeitung zu erleichtern.
  • Ein Ansatz, um das Aussehen von Rasterzeichen zu verbessern, ist eine als "nth-Bitting" bezeichnete Technik. Das nth-Bitting kann verwendet werden, um eine Kante eines Fonts oder eines Graphikobjekts an einer Teilpixelgrenze auszurichten, indem ausgewählte Pixel, die entlang einer Kante angeordnet sind, angeschaltet werden. Zum Beispiel wird das Halbes-Bitting, eine Technik zum Ausrichten von Kanten an Halbpixelgrenzen durch das Anschalten von alternierenden Pixeln entlang einer Kante, bei der Rasterverarbeitung von Zeichen verwendet. Wie in der europäischen Patentanmeldung 0 421 717 beschrieben, wird das Halbes-Bitting verwendet, um die Breite einer Linie um ein halbes Pixel zu verbreitern. In der Praxis dienen nth-Bitting-Techniken dazu, die effektive Adressierbarkeit einer Ausgabeeinrichtung wie etwa einer Graphikanzeigeeinheit mit hoher Auflösung oder eines Druckers zu erhöhen, und können mit Linien durchgeführt werden, die horizontal oder vertikal relativ eng nebeneinander liegen.
  • Die durch das Aliasing verursachte Bildverschlechterung in Rastercannanzeigen verursacht das Auftreten von gezackten Rändern oder Treppeneffekten an Linien und Kanten in Bildern. Die folgenden Patente betreffen nur einige wenige der Antialiasingtechniken, die vorgeschlagen wurden.
  • US-A-4,808,984 Inhaber: Trueblood et al. vom 28. Februar 1989
  • US-A-4,873,515 Inhaber: Dickson et al. vom 10. Oktober 1989
  • US-A-4,907,282 Inhaber: Daly et al. vom 6. März 1990
  • US-A-4,918,626 Inhaber: Watkins et al. vom 17. April 1990
  • US-A-4,808,984 gibt ein computererzeugtes Graphikanzeigesystem des Typs, das Bildanzeigedaten einschließlich von Daten, welche die Intensität jedes Pixels der Anzeige wiedergeben, erzeugt, eine Rasterscanngraphikanzeige zum Anzeigen der Bilddaten und eine Antialiasingeinrichtung an. Eine Verbesserung an dem computererzeugten Graphikanzeigesystem umfaßt eine Gammakorrektureinrichtung mit Antialiasing-verarbeiteten Anzeigedaten zum Korrigieren der Nichtlinearität in der Beziehung zwischen den Pixelintensitätsdaten und der tatsächlichen Intensität des entsprechenden Pixels der Rasterscannanzeige.
  • US-A-4,873,515 gibt eine Erfindung an, welche auf der Erkenntnis beruht, daß Linien und Kanten in einer Computergraphikrasteranzeige glatter dargestellt werden können, indem die Linie durch das Aufnehmen mehrerer Pixel verbreitert wird und die Intensität der Pixel in einem Durchschnittermittlungs- oder Filterprozeß variiert wird. Der Filterprozeß kann den Effekt einer Schattierung oder Federung der Linie vorsehen, um eine Antialiasing-Verbesserung vorzusehen. Allgemein ist ein Pixelverarbeitungssystem vorgesehen, um unerwünschte gezackte Effekte durch das Erweitern der in der Wiedergabe einer Linie verwendeten Anzahl von Pixeln zu reduzieren.
  • US-A-4,907,282 gibt ein Verfahren und eine Vorrichtung zum Erstellen und Speichern von Zeichen für die Anzeige auf einem Videobildschirm an. Die Form des Graphikzeichens wird mit verschiedenen Auflösungsgraden angezeigt. Das Graphikzeichen ist als eine Bitmap oder in der Form von Koeffizienten von Splinekurven gespeichert. Diese können nach oben oder nach unten skaliert werden, um verschiedene Zeichengrößen vorzusehen. Die Koeffizienten können umgewandelt werden, um Pixelmaps zu bilden, welche rechteckige Matrizen von Pixeln sind. Die Pixelmaps können Graustufenwerte aufweisen.
  • US-A-4,918,626 gibt einen Prozeß oder ein Produkt zum Lösen der Priorität zwischen Polygonen an, welche um einzelne Bereiche wie z. B. Pixel oder Teilpixel in einer Anzeige rivalisieren. Die Priorität wird gelöst, indem die Kante definiert wird, wo die Ebenen der zwei Polygone einander schneiden, und dann ein einfacher Test von Vorzeichenwerten angewendet wird, nachdem die Kante zu dem Raum des Anzeigebildschirms umgewandelt wurde und die Steigung einer derartigen Kante bestimmt wurde. Zusammen mit dem Lösen der Priorität zwischen rivalisierenden Polygonen, filtert das angegebene System die Pixeldaten. Dement sprechend vereinfacht das System die Erzeugung von relativ sauberen, scharfen Kanten in einer Videographikrasterscannanzeige.
  • Der folgende Artikel gibt einen Algorithmus zum Erstellen von Teilpixelmasken an, um das Antialiasing der Kanten automatisch durchzuführen:
  • Schilling "A New Simple and Efficient Antialiasing with Subpixel Masks" Computer Graphics, Volume 25, Number 4, July 1991 pp. 133-141
  • Der Schilling-Artikel gibt ein Verfahren und eine Vorrichtung zum selektiven Anschalten von Teilpixeln eines entlang der Kante eines Objektes angeordneten Pixels an. Dieses Verfahren dient dazu, ein Problem zu lösen, in welchem einzelne Teilpixel des Pixels nicht automatisch selektiv angeschaltet werden können. In denn Ansatz des Artikels kann der exakte durch die Kante des Objekts bedeckte Bereich auf einer pixelweisen Basis berechnet werden, wobei eine geeignete Anzahl von Teilpixeln angeschaltet wird. Wenn zum Beispiel bei einem in eine 4 · 4-Matrix von Teilpixeln unterteilten Pixel die Kante nur 2116 des Pixels bedeckt, dann kann einfach eine Deckung von 2 Teilpixeln anstelle von 0 oder 4 Teilpixeln erhalten werden.
  • Mit der gegenwärtigen Technologie kann die Durchführen des nth-Bitting schwierig und aufwendig sein. Es wäre vorteilhaft, eine kostengünstige und einfache Technik für das einfache nth-Bitting einer Kante eines Fonts oder eines Graphikobjekts anzugeben. Während der Ansatz von Schilling ein verbesserter Ansatz im Bereich des Antialiasing ist, wäre es trotzdem vorteilhaft, einen alternativen Ansatz vorzusehen, der ein Antialiasing so einfach und kostengünstig wie möglich macht.
  • In Übereinstimmung mit der vorliegenden Erfindung umfaßt ein Verfahren zum Erzeugen eines Bildes Schritte zum Erstellen einer ersten Gruppe von Schablonen-Scannzeilen für die Verwendung auf einer ersten Kante in einem Bild und einer zweiten Gruppe von Schablonen-Scannzeilen für die Verwendung auf einer zweiten gegenüberliegenden Kante im Bild. Jede Schablonen-Scannzeile in einer Gruppe von Schablonen-Scannzeilen umfaßt eine Vielzahl von Pixeln und jedes der Pixel weist einen ausgewählten von wenigstens einem ersten Ausgabezustand bzw. Ausschaltzustand oder zweiten Ausgabezustand bzw. Anschaltzustand auf, wobei das Pixelmuster der Vielzahl von Pixeln in sich wiederholende Sequen zen von identischen Teilmustern von n Pixeln unterteilt wird, wobei das Verfahren folgende Schritte umfaßt:
  • Vorsehen von ersten äußeren und zweiten inneren Schablonen-Scannzeilen für die erste Gruppe von Schablonen-Scannzeilen und von dritten äußeren und vierten inneren Schablonen-Scannzeiien für die zweite Gruppe von Schablonen-Scannzeilen, Setzen einer ersten ausgewählten Anzahl von Pixeln in der ersten Schablonen- Scannzeile auf den zweiten Ausgabezustand,
  • Setzen einer ersten ausgewählten Anzahl von Pixeln in der dritten Schablonen- Scannzeile auf den zweiten Ausgabezustand, wobei die Pixel mit dem zweiten Ausgabezustand in der ersten Scannzeile relativ zu den Pixeln mit dem zweiten Ausgabezustand in der dritten Scannzeile versetzt werden,
  • Setzen einer zweiten ausgewählten Anzahl von Pixeln in der zweiten Schablonen- Scannzeile auf den zweiten Ausgabezustand, und
  • Setzen einer zweiten ausgewählten Anzahl von Pixeln in der vierten Schablonen- Scannzeile auf den zweiten Ausgabezustand, wobei die zweite ausgewählte Anzahl von Pixeln sich von der ersten ausgewählten Anzahl von Pixeln unterscheidet. Wenigstens ein ausgewählter Teil der Schabloenen-Scannzeilen wird verwendet, um eine Kante des Bildes zum Verhindern eines Aliasing zu konfigurieren.
  • Die vorliegende Erfindung ist insbesondere für Fälle anwendbar, in welchen der Wert von n 4, 6 oder 8 ist.
  • Ein Verfahren in Übereinstimmung mit der vorliegenden Erfindung kann weiterhin einen Schritt zum periodischen Anordnen der Pixel mit dem zweiten Ausgabezustand in jeder der ersten, zweiten, dritten und vierten Scannzeilen umfassen.
  • In einem Verfahren in Übereinstimmung mit der vorliegenden Erfindung, umfaßt jede Schablonen-Scannzeile ungerade Pixel und gerade Pixel, wobei für einen der Setzschritte nur das erste ungerade Pixel in jedem Teil der Schablonen-Scannzeile auf den zweiten Ausgabezustand gesetzt wird. In einer Ausführungsform weist für jede Schablonen-Scannzeile jeder Teil wenigstens vier Pixel auf, wobei für einen anderen der Setzschritte die letzten drei folgenden Pixel in jedem Teil der Schablonen-Scannzeile auf den zweiten Ausgabezustand gesetzt werden.
  • In einem anderen Verfahren (wobei jede Schablonen-Scannzeile ungerade und auch gerade Pixel umfaßt): für einen der Schritte zum Setzen einer ersten ausgewählten Anzahl von Pixeln in der ersten Schablonen-Scannzeile und zum Setzen einer zweiten ausgewählten Anzahl von Pixeln in der zweiten Schablonen-Scannzeile werden zwei der ungeraden Pixel in jedem Teil auf den zweiten Ausgabezustand gesetzt; und für einen der Schritte zum Setzen einer ersten ausgewählten Anzahl von Pixeln in der dritten Schablonen-Scannzeile und zum Setzen einer zweiten ausgewählten Anzahl von Pixeln in der vierten Schablonen- Scannzeile werden zwei der geraden Pixel in jedem Teil auf den zweiten Ausgabezustand gesetzt.
  • In einem weiteren Verfahren (wobei n = 6 und jede Schablonen-Scannzeile ungerade und gerade Pixel umfaßt): für einen der Setzschritte wird nur eines der Pixel zwischen dem ersten ungeraden Pixel jedes Teils auf den zweiten Ausgabezustand gesetzt.
  • In einem anderen Aspekt der vorliegenden Erfindung ist ein Verfahren angegeben, um wenigstens teilweise eine Kante eines ersten Objekts mit der Kante eines zweiten Objekts in einem System zum Anzeigen von wenigstens dem ersten und dem zweiten Objekt vor einem Hintergrund zu überlagern. Die Objekte und der Hintergrund werden durch eine Vielzahl von Pixeln definiert, wobei jedes Pixel einen ausgewählten von wenigstens einem ersten Ausgabezustand oder zweiten Ausgabezustand aufweist. Das Verfahren umfaßt folgende Schritte:
  • Setzen eines ersten Satzes von verteilten Pixeln, welche entlang einer Kante des ersten Objekts angeordnet sind, auf den zweiten Ausgabezustand,
  • Setzen eines zweiten Satzes von verteilten Pixeln, welche entlang einer Kante des zweiten Graphikbjektes angeordnet sind, auf den zweiten Ausgabezustand, und
  • Überlagern der Kante des ersten Objekts mit der Kante des zweiten Objekts, so daß der erste Satz von Pixeln mit dem zweiten Satz von Pixeln verschränkt wird, um eine Teilpixelgrenze zwischen dem ersten Objekt und der zweiten Grenze zu bilden.
  • In Übereinstimmung mit einem weiteren Aspekt der vorliegenden Erfindung, ist ein Verfahren zum Reduzieren des Aliasing entlang einer Kante eines Objektes angegeben, wobei die Kante ein erstes, zweites und drittes Pixel umfaßt, welche im wesentlichen nebeneinander und entlang einer gemeinsamen Achse angeordnet sind. Das Verfahren umfaßt folgende Schritte:
  • Teilen des ersten, zweiten und dritten Pixels in jeweils ein erstes, zweites und drittes Raster, wobei jedes der Raster eine Matrix aus n · n Teilpixeln umfaßt, wobei jedes Teilpixel einen ausgewählten von wenigstens einem ersten Ausgabezustand oder zweiten Ausgabezustand aufweist,
  • Vorsehen einer Schablonen-Scannzeile aus n Teilpixeln, wobei c der n Teilpixel in der Schablonen-Scannzeile auf den zweiten Ausgabezustand gesetzt werden, Setzen der d Teilpixel in dem ersten und dem zweiten Raster auf den zweiten Ausgabezustand, damit entsprechende Kanten durch die d Teilpixel in dem ersten und zweiten Raster gebildet werden,
  • Setzen von e Teilpixeln im dritten Raster auf den zweiten Ausgabezustand, und Verwenden der Schablonen-Scannzeile zum Setzen der c Teilpixel entlang der Kante in dem zweiten Raster auf den zweiten Ausgabezustand, so daß das zweite Pixel als ein Übergangspixel zwischen dem ersten Pixel und dem dritten Pixel dient, um das Antialiasing zu vereinfachen.
  • In einem Verfahren in Übereinstimmung mit diesem Aspekt der vorliegenden Erfindung (wobei n = 4 und c = 2) wird für den Schritt zum Vorsehen einer Schablonen-Scannzeile nur jedes zweite Teilpixel in der Schablonen-Scannzeile auf den zweiten Ausgabezustand gesetzt.
  • Im folgenden werden Verfahren in Übereinstimmung mit der vorliegenden Erfindung beispielhaft mit Bezug auf die beigefügten Zeichnungen beschrieben. Es zeigen:
  • Fig. 1A und 1B entsprechende schematische Draufsichten von Fontsystemen oder Graphikobjekten mit nth-Bitting-verarbeiteten Kanten,
  • Fig. 2 eine schematische Draufsicht auf Schablonen-Scannzeilen, welche verwendet werden, um Sechstel-Bitting-verarbeitete Kanten an zwei gegenüberliegenden Kanten zu bilden,
  • Fig. 3A und 3B zusammen ein Flußdiagramm eines Prozesses zum Zeichnen eines Objektes mit nth-Bitting-verarbeiteten Kanten,
  • Fig. 4 eine schematische Ansicht einer logischen Implementierung, welche verwendet wird, um Vierte-Bitting-verarbeitete Kanten zu bilden,
  • Fig. 5A eine schematische Draufsicht von zwei Objekten mit verschränkten Halbes- Bitting-verarbeiteten Kanten, in welchen die angeschalteten Pixel der Kanten nicht in geeigneter Weise versetzt wurden,
  • Fig. 5B eine Fig. 5A ähnliche Draufsicht, wobei die zwei Kanten jedoch tatsächlich einander überlappen, um das Fehlen eines geeigneten Versatzes zu demonstrieren,
  • Fig. 6 eine schematische Draufsicht auf zwei Objekte mit verschränkten Halbes- Bitting-verarbeiteten Kanten, in welchen die angeschalteten Pixel der Kanten in geeigneter Weise versetzt wurden,
  • Fig. 7 eine schematische Draufsicht auf zwei Objekte mit verschränkten Sechstel- Bitting-verarbeiteten Kanten, in welchen die angeschalteten Pixel der Kanten in geeigneter Weise versetzt wurden,
  • Fig. 8 eine schematische Draufsicht auf zwei Objekte mit verschränkten Viertel- Bitting-verarbeiteten Kanten, in welchen die angeschalteten Pixel der Kanten in geeigneter Weise versetzt wurden und ein sichtbarer Zwischenraum gebildet wurde,
  • Fig. 9A eine schematische Draufsicht auf eine gewöhnliche Anordnung aus dem Stand der Technik, in welcher zwei Pixelspannen durch ein Zwischenpixel getrennt sind,
  • Fig. 9B eine schematische Draufsicht auf eine Anordnung, in welcher zwei Pixelspannen durch Zwischenpixel in Übereinstimmung mit der vorliegenden Erfindung getrennt sind,
  • Fig. 10A eine schematische Ansicht von in Übereinstimmung mit der vorliegenden Erfindung gezeichneten Linien, und
  • Fig. 10B eine schematische Draufsicht von in Übereinstimmung mit einer gewöhnlichen Technik aus dem Stand der Technik gezeichneten Linien.
  • Bei der Anwendung von Fonts und Graphiken ist es wünschenswert, Teilpixelgrenzen entlang der Kanten eines Objektes zu bilden. Eine Teilpixelgrenze kann durch das Anschalten von ausgewählten Pixeln entlang einer Kante und das Variieren der Raumfrequenz der angeschalteten Pixel gebildet werden, um eine gewünschte Breite zu erreichen. Dieser Prozeß zum Variieren der Raumfrequenz, der als "nth-Bitting" bezeichnet wird, erlaubt die Variation entweder von 0 Pixeln zu (n-1)/n Pixeln oder von 1/n Pixeln zu 1 Pixeln.
  • Fig. 1A und 1B stellen Beispiele des nth-Bitting mit Objekten 10 und 12 dar. Aus den folgenden Erläuterungen wird deutlich, daß der Wert von n nicht wie in Fig. 1A und 1B gezeigt auf vier begrenzt ist. Das Objekt 10 von Fig. 1A, das sich aus einer Vielzahl von Pixeln 14 zusammensetzt, weist Halbes-Bitting-verarbeitete Kanten 16, 18, 20 und 22 auf. Wie weiter unten ausführlicher erläutert wird, werden die Pixel entlang jeder Kante vorzugsweise dafür konfiguriert, mit einem benachbarten ähnlich konfigurierten Objekt verschränkt zu werden. Wenn das Objekt 10 in einer Anzeige als ein Font oder eine Graphik verwendet wird, dann weist das Objekt 10 eine Grenze um jede Kante mit einer Breite von einem halben Pixel auf. Das Objekt 12 von Fig. 1B, das sich aus einer Vielzahl von Pixeln 24 zusammensetzt, weist Viertel-Bitting-verarbeiete Kanten 26 und 28 und Dreiviertel-Bitting-verarbeitete Kanten 30, 32 auf. Wie weiter unten im Detail erläutert wird, sind die Pixel entlang jeder Kante des Objektes 12 vorzugsweise dafür konfiguriert, mit einem benachbarten ähnlich konfigurierten Objekt verschränkt zu werden. Wenn das Objekt 12 in einer Anzeige wie einem Font oder einer Graphik verwendet wird, weist das Objekt 12 Grenzen mit einer Breite von einem Viertel Pixel entlang der Kanten 26, 28 und mit einer Breite von einem Dreiviertel Pixel entlang der Kanten 30, 32 auf.
  • Ein Kantenmuster oder eine Schablonen-Scannzeile wird vorzugsweise verwendet, um automatisch Pixelgrenzen entlang von Kanten von Fonts oder Objekten wie etwa den Objekten 10 und 12 zu bilden. Kantenmuster werden für gegenüberliegende Kanten eines Fonts oder eines Objektes entwickelt, so daß die Kanten unter anderem wie weiter unten ausführlicher beschrieben verschränkt werden können. Während Kantenmuster für einen beliebigen Wert von n entwickelt werden können, hat sich herausgestellt, daß Viertel-Bitting-, Sechstel- Bitting- und Achtel-Bitting-Muster besonders nützliche Möglichkeiten sind. In einer Ausführungsform der vorliegenden Erfindung sind diese Bitting-Muster wie folgt:
  • Viertel-Bitting
  • Erste Kante Zweite (gegenüberliegende) Kante 1/2 : 10101010... 01010101...
  • 1/4 : 10001000... 00010001...
  • 3/4 : 11101110... 01110111...
  • Sechstel-Bitting
  • Erste Kante Zweite (gegenüberliegende) Kante 1/2 : 101010101010... 010101010101...
  • 1/6 : 100000100000... 000001000001...
  • 1/3 : 101000101000... 010100010100...
  • 2/3 : 101011101011... 010111010111...
  • 5/6 : 111011111011... 011111011111...
  • Achtel-Bitting
  • Erste Kante Zweite (gegenüberliegende) Kante 1/2 : 101010101010i010... 0101010101010101...
  • 1/8 : 1000000010000000... 0001000000010000...
  • 1/4 : 1000100010001000... 0001000100010001...
  • 3/8 : 1010100010101000... 0001010100010101...
  • 5/8 : 1110101011101010... 0101011101010111...
  • 3/4 : 1110111011101110... 0111011101110111...
  • 7/8 : 1110111111101111... 0111111101111111...
  • Die oben angegebenen Kantenmuster werden in Übereinstimmung mit den folgenden Regeln gebildet:
  • 1) Für Muster, in welchen n ein Vielfaches von 2 ist, werden Muster in der Reihenfolge 1/2, 1/n, 2/n, ... ((n/2)-1)/n erstellt,
  • 2) Für einen gegebenen Wert von c/n, sollte das auf der ersten Kante verwendete Muster so weit wie möglich zu dem vergleichbaren Muster versetzt werden, das auf der zweiten (gegenüberliegenden) Kante verwendet wird, ohne daß die unten angeführte Regel 4) verletzt wird,
  • 3) Für eine gegebene Gruppe von Kantenmustern mit einem Halbes-Bitting-verarbeiteten Muster und Mustern für die Werte m/n und m/n, wobei m/n < 1/2, entsprechen Nullen in den Mustern von j/n Nullen in den Mustern von m/n und entsprechen Einsen in den Mus tern von j/n und m/n einer oder mehreren Einsen in den Halbes-Bitting-verarbeiteten Mustern, und
  • 4) Für Muster, in welchen c/n > 1/2, ist das entsprechende Muster für die erste Kante das Komplement des Musters für die zweiten Kante mit dem Wert 1-(c/n) und ist das entsprechende Muster für die zweite Kante das Komplement der ersten Kante mit dem Wert 1- (c/n).
  • Fig. 2 verdeutlicht die Anwendung der oben genannten Regeln. Das Beispiel von Fig. 2 stellt dar, wie die Mustererzeugungstechnik in einem Sechstel-Bitting angewendet wird, wobei aber dem Fachmann deutlich sein sollte, daß diese Technik jeden beliebigen nth-Bitting-Fall erzeugen kann. Bei einem Sechstel-Bitting sind 12 Schablonen-Scannzeilen, nämlich die Scannzeilen 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56 und 58 vorgesehen. Die Scannzeilen 36, 38, 40, 42, 44 und 46 werden verwendet, um eine Kante, z. B. eine Oberkante, zu bilden, während die Scannzeilen 48, 50, 52, 54, 56 und 58 verwendet werden, um eine andere, gegenüberliegende Kante, z. B. eine Unterkante, zu bilden. Jede der Scannzeilen, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56 und 58 wird vorzugsweise in sechs Bitteile unterteilt.
  • In Übereinstimmung mit Regel 1), werden die Scannzeilen 36 und 48 Halbes-Bitting-verarbeitet, d. h. jedes zweite Bit wird angeschaltet, und in Übereinstimmung mit Regel 2) werden die angeschalteten Bits von Scannzeile 48 so weit wie möglich relativ zu der Scannzeile 36 versetzt. Nach Regel 1) wird ein Sechstel-Bitting in den Scannzeilen 38, 50 durchgeführt, wobei ein Bit in jedem Sechsbitteil angeschaltet wird. In Anbetracht von Regel 3 ist das angeschaltete Bit der Scannzeile 38 in entweder dem ersten, dritten oder fünften Bit jedes Sechsbitteils positioniert. In der dargestellten Ausführungsform von Fig. 2 wird das erste Pixel in jedem Sechsbitteil der Scannzeile 38 willkürlich als das anzuschaltende Pixel gewählt. Nach Regel 2) und 3) sollte das angeschaltete Bit der Scannzeile 50 im vierten Bit jedes Sechsbitteils positioniert werden.
  • Nach Regel 1) wird ein Zweisechstel-Bitting in den Scannzeilen 40, 52 durchgeführt, wobei zwei Bits in jeweils sechs Bits angeschaltet werden. In Anbetracht von Regel 3 werden in jedem Sechsbitteil der Scannzeile 40 die angeschalteten Bits im ersten Bit und im dritten oder fünften Bit positioniert. In der dargestellten Ausführungsform von Fig. 2 wird das dritte Pixel in jedem Sechsbitteil der Scannzeile 40 willkürlich als das anzuschaltende Pixel ausgewählt. Nach Regel 2) und 3) sollen die angeschalteten Bits der Scannzeile 52 im vierten und sechsten Bit jedes Sechsbitteils positioniert werden. Da ein Halbes-Bitting in den Scann zeilen 36, 48 erreicht wird, wird ein Viersechstel-Bitting direkt nach dem Zweisechstel-Bitting durchgeführt. Das Viersechstel-Bitting wird in Übereinstimmung mit Regel 4) durchgeführt. Insbesondere ist das Viersechstel-Muster in Scannzeile 42 das Komplement des Zweisechstelmusters in Scannzeile 40. Die Fünfsechstel-Muster der Scannzeilen 44, 56 werden unter Verwendung von Regel 4) erhalten, weil die Scannzeile 44 das Komplement von Scannzeile 38 ist und die Scannzeile 56 das Komplement der Scannzeile 50 ist. In einem Beispiel werden in den Scannzeilen 46, 58 Sechssechstel-Bitting-Muster anstelle von Nullsechstel- Bitting-Mustern entwickelt.
  • Nach dieser Erläuterung der Technik zum Entwickeln von Kantenmustern, kann die Verwendung der Kantenmuster zum Erstellen von Teilpixelgrenzen besser verstanden werden. Insbesondere können die Kantenmuster im Speicher gespeichert werden und auf die Kante eines Objektes oder Polygons automatisch angewendet werden. Zum Beispiel kann beim Erstellen des Objektes 10 die Schablonen-Scannzeile 48 verwendet werden, um die Bodenkante zu bilden, während die Schablonen-Scannzeile 36 verwendet werden kann, um die Oberkante zu bilden.
  • Fig. 3 zeigt ein Flußdiagramm 62 zum Erstellen von Objekten oder Polygonen wie etwa dem Objekt 10. Das beispielhafte Flußdiagramm 62 ist in drei Zeichenroutinen 64, 66 und 68 unterteilt, wobei Entscheidungen zum Anschalten von Pixeln entlang einer Kante mit einem q-Prädikat gemacht werden. Die Eigenschaften eines gegebenen Prädikats variieren in Abhängigkeit von dem bestimmten Typ des durchgeführten nth-Bittings.
  • Die Zeichenroutine 64, welche das Zeichnen der Bodenkante des Objektes erlaubt, umfaßt eine Anfangsindexsetzroutine 70, eine Endindexsetzroutine 72 und eine Pixelsetzroutine 74. In den Subroutinen 70 und 72 wird die Prädikatfunktion selektiv auf rechte und linke Punkte der Bodenkante angewendet. In der Subroutine 74 wird eine Limitprüfung auf den Entscheidungsblock 76 angewendet, wird eine Bewertung im Entscheidungsblock 78 durchgeführt und wird entweder in Block 80 ein Pixel gesetzt oder in Block 82 die Subroutine inkrementiert. In einem Beispiel bedeutet das Setzen eines Pixel das Setzen eines Pixels mit einem bestimmten Grauwert oder einer bestimmten Farbe.
  • Die Zeichenroutine 66, welche das Zeichnen des Objektkörpers erlaubt, umfaßt einen Inkrementierblock 86, eine Limitprüfung 88 und die Subroutinen 70, 72. Außerdem umfaßt die Zeichenroutine eine Pixelsetzsubroutine 90, wobei die Subroutine 90 die Limitprüfung 76, den Pixelsetzblock 80 und den Inkrementierblock 82 umfaßt. Wie dem Fachmann deutlich sein sollte, erlaubt die Verwendung der Subroutinen 70, 72 das nth-Bitting der linken und der rechten Kante des Objektes während des Zeichnens des Objektkörpers. Die Zeichenroutine 68 verwende dasselbe Konzept wie die Zeichenroutine 64, um die Oberkante des Objektes zu zeichnen. In der dargestellten Ausführungsform des Flußdiagramms 62 sind dieselben Koordinaten für ein Pixel in der Oberkante wie in der Unterkante gegeben, so daß entgegengesetzte Entscheidungen darüber getroffen werden, ob ein Pixel angeschaltet werden soll oder nicht.
  • Fig. 4 zeigt eine Implementierung 98 des q-Prädikats für einen Viertel-Bitting-Fall. Jedes in dem Objekt gezeichnete Pixel kann durch eine Adresse wiedergegeben werden, welche eine x-Ganzzahlkomponente (x1) und eine y-Bruchkomponente (yf) umfaßt. Der Wert von x, gibt die Position des Pixels an und yf gibt den Typ des Bittings an, das durchgeführt wird. Für den Viertel-Bitting-Fall kann x1 durch zwei niedrigwertige Bits wiedergegeben werden, die als xlo bezeichnet werden, und kann yf unter Verwendung von zwei Bits ausgedrückt werden. Für die Implementierung 98 wird eine Eins als Ausgabe erzeugt, wenn keine der folgenden Bedingungen wahr ist:
  • (yf = 1) (xlo = 0)
  • (yf = 2) (gerade(xlo))
  • (yf = 3) (xlo+3)
  • Die Implementierung 98 kann verwendet werden, um Bits entlang einer Kante wie folgt anzuschalten:
  • wenn die y-Koordinate einen 0-Bruchteil aufweist, resultieren alle Wert von x in einer 1;
  • wenn die y-Koordinate einen 1/4-Bruchteil aufweist, resultieren alle Werte von x mit Ausnahme der durch 4 teilbaren in einer 1,
  • wenn die y-Koordinate einen 1/2-Bruchteil aufweist, resultieren die ungeraden Werte von x in einer 1; und
  • wenn die y-Koordinate einen 3/4-Bruchteil aufweist, resultieren nur die Werte von x in einer 1, die bei der Teilung durch 4 einen Rest 3 ergeben.
  • Für eine weitere gegenüberliegende Kante, in welcher ein entgegengesetztes Schema erforderlich ist, werden die oben genannten Ergebnisse einfach komplementiert. Der oben genannte Ansatz kann auf Ober-/Unterkanten und/oder rechte/linke Kanten angewendet werden.
  • Dem Fachmann sollte deutlich sein, daß die Implementierung 98 für ein Viertel-Bitting vorgesehen ist, wobei jedoch unter Verwendung des der Implementierung 98 zugrundeliegenden Konzepts andere logische Implementierungen erhalten werden können. Wie das Flußdiagramm 62 zeigt, können also einfache Hardwarekomponenten wie UND/NICHT-UND-Gatter, ODERINICHT-ODER-Gatter und Inverter in geeigneter Weise angeordnet werden, um ein Prädikat für einen gewünschten Fall des nth-Bitting zu erhalten.
  • Bei der Verwendung von Graphiken ist es häufig vorteilhaft nth-Bitting-verarbeitete Kanten zu verwenden. Dies ermöglicht es, daß Objekte über Teilpixelgrenzen aneinander stoßen. Mit Bezug Fig. 5A und 5B wird deutlich, daß optimale Ergebnisse in der Verschränkung nur dann erreicht werden, wenn die Verschränkung in einer bestimmten Weise durchgeführt wird. Insbesondere stellt Fig. 5A das Verbinden einer ersten (z. B. oberen) Halbes-Bittingverarbeiteten Kante eines ersten farbigen Objekts 100 und einer zweiten (z. B. unteren) Halbes-Bitting-verarbeiteten Kante eines zweiten farbigen Objekts 102 vor einem Hintergrund 104 dar, während Fig. 58 die resultierende Teilpixelgrenze darstellt. Da die angeschalteten Pixel jeder Kante nicht in Übereinstimmung mit der vorliegenden Erfindung versetzt wurden, tritt eine unerwünschte Überlappung der Farben entlang der Teilpixelgrenze zwischen den Objekten 100 und 102 auf, wobei in unvorteilhafter Weise der Hintergrund 104 durch resultierende Löcher 106 zu sehen ist.
  • Mit Bezug auf Fig. 6 bis 8 wird ein vorzuziehender Ansatz für das Verschränken ausführlicher erläutert. Insbesondere ist ein erstes farbiges Objekt 100 gezeigt, dessen Halbes- Bitting-Kante die Halbes-Bitting-Kante eines zweiten farbigen Objektes 112 überlappt. Beide Objekte 100 und 112 sind vor dem Hintergrund 104 positioniert. In der dargestellten Ausführungsform 6, ist die Kante des Objektes 100 mit der Schablonen-Scannzeile 36 (Fig. 2) und der Kante des Objektes 112 mit der Schablonen-Scannzeile 48 gebildet. Wenn folglich die Kanten der Objekte 100 und 112 verschränkt werden, scheinen die Objekte 100, 112 an einer durch das Bezugszeichen 114 angegebenen Linie aneinanderzustoßen. Da beide Kanten Halbes-Bitting-verarbeitet sind, erscheint die Linie 114 mit einer Hälfte zwischen den Objekten 110, 112 vorgesehen zu sein. Außerdem erscheint keine Mischung zwischen den Farben und dem Hintergrund 104 an der Grenze.
  • In der dargestellten Ausführungsform von Fig. 7 ist ein erstes farbiges Objekt 116 gezeigt, dessen Einsechstel-Bitting-verarbeitete Kante die Fünfsechstel-Bitting-verarbeiteten Kante eines zweiten farbigen Objektes 118 überlappt. Beide Objekte 116 und 118 sind vor dem Hintergrund 104 positioniert. In der dargestellten Ausführungsform von Fig. 7 ist die Kante des Objektes 116 mit der Schablonen-Scannzeile 38 (Fig. 2) gebildet und ist die Kante des Objektes 118 mit der Schablonen-Scannzeile 56 gebildet. Wenn folglich die Kanten der Objekte 116 und 118 verschränkt sind, dann scheinen die Objekte 116, 118 an einer durch das Bezugszeichen 120 angegebenen Linie aneinanderzustoßen. Da eine Kante Sechstel- Bitting-verarbeitet ist und die andere Kante Fünfsechstel-Bitting-verarbeitet ist, scheint die Kante des Objekts 116 eine Breite von 1/6 Pixel aufzuweisen, während die Kante des Objektes 118 eine Breite von 5/6 Pixel aufzuweisen scheint. Außerdem tritt keine Mischung zwischen den Farben auf und scheint der Hintergrund 104 nicht an der Grenze durch. Dabei ist zu beachten, daß die dargestellten Ausführungsformen von Fig. 6 und 7 auf den Sechstel- Bitting-Fall bezug nehmen, wobei die oben angeführten Erläuterungen jedoch genauso für eine beliebige nth-Bitting-Situation gelten, in welcher Vordergrundobjekte verschränkt sind.
  • Die dargestellten Ausführungsformen von Fig. 6 und 7 zeigen farbige Objekte, welche aneinanderstoßen, wobei es jedoch vorteilhaft sein kann, Kanten derart zu konfigurieren, daß ein Zwischenraum entlang der Grenze der verschränkten Objekte bleibt. Wie in Fig. 8 gezeigt, werden erste und zweite nth-Bitting-verarbeitete farbige Objekte jeweils durch die Bezugszeichen 122 und 124 angegeben, während ein den Objekten zugrundeliegender Hintergrund durch das Bezugszeichen 126 angegeben wird. Da das Objekt 122 Viertel-Bitting-verarbeitet ist und das Objekt 124 Halbes-Bitting-verarbeitet ist, ist ein Zwischenraum 128 sichtbar, wenn die Objekte 122, 124 in einer Anzeige als Teil von vielen anderen Pixeln gesehen werden. Bei der Betrachtung in der Anzeige erscheint die Kante des Objektes 122 eine Breite von 1/4 Pixel aufzuweisen, scheint die Kante des Objektes 124 1/2 Pixel breit zu sein und scheint eine Mischung in dem Zwischenraum 128 aufzutreten. Diese Mischung kann dazu dienen, eine Grenze zwischen zwei Farben zu bilden, und ist besonders nützlich, um benachbarten Objekte mit ähnlichen Farben voneinander abzugrenzen.
  • Eine geneigte Kante mit einer sich linear ändernden Neigung zum Beispiel kann mit einer bekannten Routine gezeichnet werden, bei welcher Rechtecke verschiedener Größe nebeneinander angeordnet sind. Das derartige Zeichnen von Linien kann jedoch zu der Bildung von "Zacken" führen, was gewöhnlich als Aliasing bezeichnet wird. Das resultierende Aliasing kann teilweise durch ein rechenaufwendiges Verfahren reduziert werden, in welchem jedes Pixel, durch welches eine Kante hindurchgeht, mit einer sehr hohen Auflösung gerendert wird. In diesem Verfahren wird die Kante mit einer vierfach höheren Auflösung als der Rest des Bildes gerendert, und der Bruch der das Pixels bedeckenden Kante wird unter Verwendung einer 4 · 4-Bitmap berechnet. In jeder Bitmap werden 4, 6, 12 oder 16 Bits angeschaltet, um die Kante zu bilden, und es müssen bis zu sechzehn Pixel angeschaltet werden, um die Positionierunggenauigkeit um einen Faktor von vier zu erhöhen.
  • Um im Stand der Technik eine Kante zu glätten, die relativ zu der Horizontalen oder Vertikalen geneigt ist, werden Pixelspannen mit einem der oben genannten Bitwerte angeschaltet, wobei der Übergang zwischen einer Spanne mit einem Bitwert und einer Spanne mit einem anderen Bitwert gemacht wird, indem ein Pixel mit einem Zwischenbitwert eingefügt wird. Wie in Fig. 9A gezeigt, kann zum Beispiel ein Zwischenwertpixel 132 mit sechs angeschalteten Teilpixeln zwischen dem Pixel 134 mit vier angeschalteten Teilpixeln und dem Pixel 136 mit 8 angeschalteten Teilpixeln positioniert werden. Gewöhnlich verwenden die Ansätze aus dem Stand der Technik höchstens ein einziges Zwischenwertpixel, um Übergänge zwischen Pixelspannen vorzusehen. Fig. 10B zeigt mit dem Ansatz aus dem Stand der Technik gezeichnete Linien. Es ist deutlich, daß der Ansatz aus dem Stand der Technik es nicht schafft, die Zacken wesentlich zu beseitigen.
  • Die oben mit Bezug auf den Stand der Technik erläuterte Veröffentlichung von Schilling gibt einen Ansatz zum Entwickeln von mehr als einem Zwischenwertpixel an, ist jedoch relativ komplex zu implementieren. Mit Bezug auf Fig. 9B wird ein Ansatz in Übereinstimmung mit der vorliegenden Erfindung, der relativ einfach mit dem oben erläuterten nth-Bitting-Verfahren implementiert werden kann, ausführlicher erläutert. In dem dargestellten Ansatz von Fig. 9B werden drei distinkte Zwischenwertpixel 138, 140 und 142 zwischen die Pixel 134 und 136 eingefügt. Jedes der Pixel 138, 140 und 142 wird entwickelt, indem die vier unteren Teilpixel angeschaltet werden und dann die resultierende durch die vier Teilpixel gebildete Kante Viertel-Bitting-verarbeitet wird. Das Viertel-Bitting jedes Pixels kann automatisch durchgeführt werden, indem entsprechend ein Teil einer in einem Speicher gespeicherten Schablonen-Scannzeile angewendet wird. Zum Beispiel kann das Viertel-Bitting mit der in Fig. 3 und 4 gezeigten und in dem darauf Bezug nehmenden Text erläuterten Implementierung durchgeführt werden. Dem Fachmann sollte deutlich sein, daß Bitmaps mit Dimensionen von mehr als 4 · 4 verwendet werden können, um die geneigte Kante zu bilden, wobei in diesem Fall ein geeignetes nth-Bitting verwendet werden kann, um die Kante zu verbessern. Fig. 10A zeigt in Übereinstimmung mit der vorliegenden Erfindung gezeichnete Kanten. Es ist deutlich, daß der Ansatz in Übereinstimmung mit der vorliegenden Erfindung in effizienter Weise Zacken minimiert.
  • Dem Fachmann sollten die oben beschriebenen verschiedenen Merkmale des Verfahrens in Übereinstimmung mit der vorliegenden Erfindung deutlich sein. Erstens können einfach Teilbitgrenzen unter Verwendung von zuvor entwickelten im Speicher gespeicherten Schablonen-Scannzeilen gebildet werden. Zweitens kann unter Verwendung der nth-Bitting-verarbeiteten Kanten eine Teilpixelgrenze zwischen zwei farbigen Objekten gebildet werden, ohne eine nicht erwünschte Farbmischung oder Zwischenräume zu erzeugen. Alternativ dazu kann eine Farbmischung in einem Zwischenraum vorgesehen werden, um eine sichtbare Grenze zwischen zwei Objekten mit ähnlicher Farbe vorzusehen. Schließlich können nth- Bitting-verarbeitete Muster verwendet werden, um eine glatte geneigte Kante zu bilden, so daß gewöhnliche Aliasing-Probleme vermieden werden.

Claims (10)

1. Verfahren zum Erstellen einer ersten Gruppe von Schablonen-Scannzeilen (36 bis 46) für die Verwendung an einer ersten Kante in einem Bild und einer zweiten Gruppe von Schablonen-Scannzeilen (48 bis 58) für die Verwendung an einer zweiten gegenüberliegenden Kante in dem Bild, wobei jede Schablonen-Scannzeile in einer Gruppe von Schablonen-Scannzeilen eine Vielzahl von Pixeln umfaßt, wobei jedes der Pixel einen ausgewählten von wenigstens einem ersten Ausgabezustand bzw. Ausschaltzustand oder zweiten Ausgabezustand bzw. Anschaltzustand aufweist, wobei das Pixelmuster der Vielzahl von Pixeln in sich wiederholende Sequenzen von identischen Teilmustern von Pixeln unterteilt ist, wobei das Verfahren folgende Schritte umfaßt:
Vorsehen von ersten äußeren und zweiten inneren Schablonen-Scannzeilen für die erste Gruppe von Schablonen-Scannzeilen und von dritten äußeren und vierten inneren Schablonen-Scannzeilen für die zweite Gruppe von Schablonen-Scannzeüen, Setzen einer ersten ausgewählten Anzahl von Pixeln in der ersten Schablonen- Scannzeile auf den zweiten Ausgabezustand,
Setzen einer ersten ausgewählten Anzahl von Pixeln in der dritten Schablonen- Scannzeile auf den zweiten Ausgabezustand, wobei die Pixel mit dem zweiten Ausgabezustand in der ersten Scannzeile relativ zu den Pixeln mit dem zweiten Ausgabezustand in der dritten Scannzeile versetzt sind,
Setzen einer zweiten ausgewählten Anzahl von Pixeln in der zweiten Schablonen- Scannzeile auf den zweiten Ausgabezustand, und
Setzen einer zweiten ausgewählten Anzahl von Pixeln in der vierten Schablonen- Scannzeile auf den zweiten Ausgabezustand, wobei die zweite ausgewählte Anzahl von Pixeln sich von der ersten ausgewählten Anzahl von Pixeln unterscheidet.
2. Verfahren nach Anspruch 1, wobei für den Schritt zum Setzen einer ersten ausgewählten Anzahl von Pixeln in der ersten Schablonen-Scannzeile c aus jeweils n Pixeln den zweiten Ausgabezustand aufweisen, und wobei für den Schritt zum Setzen einer zweiten ausgewählten Anzahl von Pixeln in der vierten Schablonen-Scannzeile (n-c) aus jeweils n Pixeln den zweiten Ausgabezustand aufweisen.
3. Verfahren nach Anspruch 1 oder 2, wobei für den Schritt zum Setzen einer zweiten ausgewählten Anzahl von Pixeln in der zweiten Schablonen-Scannzeile c auf jeweils n Pixeln den zweiten Ausgabezustand aufweisen, und wobei für den Schritt zum Setzen einer ersten ausgewählten Anzahl von Pixeln in der dritten Schablonen-Scannzeile (n-c) von jeweils n Pixeln den zweiten Ausgabezustand aufweisen.
4. Verfahren zum wenigstens teilweisen Überlagern eine Kante eines ersten Objekts (100) mit der Kante eines zweiten Objekts (112) in einem System zum Anzeigen von wenigstens dem ersten und dem zweiten Objekt vor einem Hintergrund (104), wobei die Objekte und der Hintergrund durch eine Vielzahl von Pixeln definiert sind, wobei jedes Pixel einen ausgewählten von wenigstens einem ersten Ausgabezustand oder zweiten Ausgabezustand aufweist, wobei das Verfahren folgende Schritte umfaßt:
Setzen eines ersten Satzes von verteilten Pixeln, welche entlang der Kante des ersten Objektes verteilt sind, auf den zweiten Ausgabezustand,
Setzen eines zweiten Satzes von verteilten Pixeln, welche entlang der Kante des zweiten Graphikobjektes angeordnet sind, auf den zweiten Ausgabezustand, und Überlagern der Kante des ersten Objekts mit der Kante des zweiten Objekts, so daß der erste Satz von Pixeln mit dem zweiten Satz von Pixeln verschränkt wird, um eine Teilpixelgrenze (114) zwischen dem ersten Objekt und der zweiten Grenze zu bilden.
5. Verfahren nach Anspruch 4, wobei jede Kante in Teile von n Pixeln unterteilt ist, für den Schritt zum Setzen eines ersten Satzes von verteilten Pixeln, c Pixel aus jeweils n Pixeln auf den zweiten Ausgabezustand gesetzt werden, und für den Schritt zum Setzen eines zweiten Satzes von verteilten Pixeln, (n-c) Pixel aus jeweils n Pixeln auf den zweiten Ausgabezustand gesetzt werden.
6. Verfahren nach Anspruch 4, wobei jede Kante in Teile von n Pixeln unterteilt ist, für wenigstens einen der Setzschritte c Pixel aus jeweils n Pixeln auf den zweiten Ausgabezustand gesetzt werden, und
c < (n/2).
7. Verfahren nach Anspruch 4, wobei
jede Kante in Teile von n Pixeln unterteilt ist,
für den Schritt zum Setzen eines ersten Satzes von verteilten Pixeln, j Pixeln aus jeweils n Pixeln auf den zweiten Ausgabezustand gesetzt werden,
für den Schritt zum Setzen eines zweiten Satzes von verteilten Pixeln k Pixel aus jeweils n Pixeln auf den zweiten Ausgabezustand gesetzt werden, und
(j + k) < n.
8. Verfahren nach Anspruch 7, wobei für den Schritt zum Überlagern der Kante des ersten Objektes mit der Kante des zweiten Objektes
das erste Objekt eine erste Farbe und das zweite Objekt eine zweite Farbe aufweist, und
ein Zwischenraum zwischen dem ersten und dem zweite Objekt gebildet wird, wenn deren entsprechende Kanten wenigstens teilweise überlagert sind, wodurch die Farben in dem Zwischenraum gemischt erscheinen, wenn die überlagerten Kanten auf einer Anzeige betrachtet werden.
9. Verfahren zum Reduzieren des Aliasing entlang einer Kante eines Objektes, wobei die Kante ein erstes, zweites und drittes Pixel (134, 140, 136) umfaßt, welche im wesentlichen einander benachbart entlang einer gemeinsamen Achse angeordnet sind, wobei das Verfahren folgende Schritte umfaßt:
Unterteilen des ersten, zweiten und dritten Pixels in ein jeweils entsprechendes erstes, zweites und drittes Raster, wobei jedes der Raster eine Matrix von n · n Teilpixeln umfaßt, wobei jedes Teilpixel einen ausgewählten von wenigstens einem ersten Ausgabezustand oder zweiten Ausgabezustand aufweist,
Vorsehen einer Schablonen-Scannzeile aus n Teilpixeln, wobei c der n Teilpixel in der Schablonen-Scannzeile auf den zweiten Ausgabezustand gesetzt sind, Setzen von d Teilpixeln in dem ersten und dem zweiten Raster auf den zweiten Ausgabezustand, so daß entsprechende Kanten durch die d Teilpixel in dem ersten und dem zweiten Raster gebildet werden,
Setzen von e Teilpixeln in dem dritten Raster auf den zweiten Ausgabezustand, und Verwenden der Schablonen-Scannzeile zum Setzen von c Teilpixeln entlang der Kante in dem zweiten Raster auf den zweiten Ausgabezustand, so daß das zweite Pixel als ein Übergangspixel zwischen dem ersten und dem dritten Pixel dient, um das Antialiasing zu vereinfachen.
10. Verfahren nach Anspruch 9, welches weiterhin folgende Schritte umfaßt:
Einfügen eines vierten Pixels (138) zwischen dem zweiten und dem dritten Pixel, Unterteilen des vierten Pixels in ein viertes Raster, wobei das vierte Raster eine Matrix aus n · n Teilpixeln umfaßt, wobei jedes Teilpixel einen ausgewählten von wenigstens einem ersten Ausgabezustand oder einem zweiten Ausgabezustand aufweist,
Vorsehen einer zweiten Schablonen-Scannzeile aus n Teilpixeln, wobei f der n Teilpixel in der Schablonen-Scannzeile auf den zweiten Ausgabezustand gesetzt werden, Setzen von d Teilxpieln in dem vierten Raster auf den zweiten Ausgabezustand, so daß eine Kante in dem vierten Raster durch die d Teilpixel gebildet wird, und
Verwenden der zweiten Schablonen-Scannzeile zum Setzen von f Teilpixeln entlang der Kante in dem vierten Raster auf den zweiten Ausgabezustand, so daß das vierte Pixel als ein zweites Übergangspixel zwischen dem ersten Pixel und dem zweiten Pixel dient.
DE69327262T 1992-03-02 1993-02-26 Verfahren zur Phasenausgleichung bei graphischen Anwendungen mit Hilfe von Einkerbungen n-ter Ordnung Expired - Fee Related DE69327262T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/844,096 US5333249A (en) 1992-03-02 1992-03-02 Method for phase aligned nth bitting of graphics applications

Publications (2)

Publication Number Publication Date
DE69327262D1 DE69327262D1 (de) 2000-01-20
DE69327262T2 true DE69327262T2 (de) 2000-05-11

Family

ID=25291810

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69327262T Expired - Fee Related DE69327262T2 (de) 1992-03-02 1993-02-26 Verfahren zur Phasenausgleichung bei graphischen Anwendungen mit Hilfe von Einkerbungen n-ter Ordnung

Country Status (4)

Country Link
US (1) US5333249A (de)
EP (1) EP0559393B1 (de)
JP (1) JPH05297861A (de)
DE (1) DE69327262T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU679027B2 (en) * 1993-03-08 1997-06-19 Canon Kabushiki Kaisha Softstroking of edges for computer graphics
US5737455A (en) * 1994-12-12 1998-04-07 Xerox Corporation Antialiasing with grey masking techniques
US5701365A (en) * 1996-06-21 1997-12-23 Xerox Corporation Subpixel character positioning with antialiasing with grey masking techniques
JP3780103B2 (ja) * 1997-09-03 2006-05-31 キヤノン株式会社 情報処理装置、情報処理方法、記憶媒体、及び、印刷システム
US6483521B1 (en) * 1998-02-02 2002-11-19 Matsushita Electric Industrial Co., Ltd. Image composition method, image composition apparatus, and data recording media
US6591020B1 (en) 1998-12-23 2003-07-08 Xerox Corporation Antialiazed high-resolution frame buffer architecture
US6781720B1 (en) 1999-11-30 2004-08-24 Xerox Corporation Gradient-based trapping using patterned trap zones

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4808988A (en) * 1984-04-13 1989-02-28 Megatek Corporation Digital vector generator for a graphic display system
IE852259L (en) * 1985-09-13 1987-03-13 Scottish & Newcastle Breweries A method and apparatus for constructing, storing and¹displaying characters
US4808984A (en) * 1986-05-05 1989-02-28 Sony Corporation Gamma corrected anti-aliased graphic display apparatus
US4873515A (en) * 1987-10-16 1989-10-10 Evans & Sutherland Computer Corporation Computer graphics pixel processing system
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
US5123085A (en) * 1990-03-19 1992-06-16 Sun Microsystems, Inc. Method and apparatus for rendering anti-aliased polygons

Also Published As

Publication number Publication date
DE69327262D1 (de) 2000-01-20
EP0559393B1 (de) 1999-12-15
US5333249A (en) 1994-07-26
JPH05297861A (ja) 1993-11-12
EP0559393A1 (de) 1993-09-08

Similar Documents

Publication Publication Date Title
DE3687668T2 (de) Verfahren und einrichtung zur verbesserung der bildqualitaet in einem nach dem rasterverfahren arbeitenden anzeigegeraet.
DE60023814T2 (de) Verfahren und Gerät zur Grafikdarstellung mit Subpixel-Antialiasing
DE3806223C2 (de) Verfahren zur Erzeugung von Zeichenmustern
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE60031337T2 (de) Geräteabhängige Darstellung von Zeichen
DE69517605T2 (de) Verfahren zur Schriftdarstellung mit Anwendung von Grauwertverarbeitung von gitterangepassten Schriftarten
DE60122835T2 (de) Anzeigeeinrichtung und -Verfahren, und Datenträger der ein Computerprogramm zur Ansteuerung einer Anzeige mit unterteilten Bildelementen beinhaltet
DE69516411T2 (de) Verdünnte halbtonpunktmuster für farbstrahldrucken
DE69214506T2 (de) Methode zur schnellen Punktvervielfachung für einen Rasterbilderzeuger und sich ergebende Datenstruktur für das Punktbild
DE69622961T2 (de) Verfahren und Vorrichtung zur Darstellung von Zeichen
DE69133044T2 (de) Punktgrössensteuerverfahren bei digitaler Halbtonrasterung mit mehrzelligen Schwellenmatrix
DE3315148C2 (de)
DE68928557T2 (de) Bildverarbeitungsgerät und -methode
DE3342947C2 (de) System zur Verarbeitung eines grafischen Musters
DE3518416A1 (de) Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige
EP0026378A1 (de) Verfahren zur Hervorhebung eines Bildbereiches innerhalb eines Bildes, das auf einem Bildschirm dargestellt wird
DE3339178A1 (de) Graphisches anzeigesystem
DE3935574A1 (de) Verfahren zur minimierung der visuellen beeintraechtigung eines schriftbilds
DE2750770A1 (de) Verfahren und vorrichtung zum darstellen eines symbols auf einem sichtgeraet
DE69330900T2 (de) Verfahren zum Ausfüllen der Bildpunkte innerhalb eines Polygons
DE69025706T2 (de) Verfahren zur Erzeugung gerasterter Halbtonbilder
DE3751035T2 (de) Videosignalverarbeitungssysteme.
DE69327262T2 (de) Verfahren zur Phasenausgleichung bei graphischen Anwendungen mit Hilfe von Einkerbungen n-ter Ordnung
DE3875428T2 (de) Farbbild-abzeigesystem mit einem matrix-bildschirm.
DE69212071T2 (de) Videoverarbeitung von Bildern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee