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 OrdnungInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 239000003086 colorant Substances 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000013459 approach Methods 0.000 description 14
- 230000000295 complement effect Effects 0.000 description 5
- 238000002156 mixing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, 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:
- Erste Kante Zweite (gegenüberliegende) Kante 1/2 : 10101010... 01010101...
- 1/4 : 10001000... 00010001...
- 3/4 : 11101110... 01110111...
- 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...
- 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.
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)
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)
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 |
-
1992
- 1992-03-02 US US07/844,096 patent/US5333249A/en not_active Expired - Lifetime
-
1993
- 1993-02-23 JP JP5033449A patent/JPH05297861A/ja active Pending
- 1993-02-26 DE DE69327262T patent/DE69327262T2/de not_active Expired - Fee Related
- 1993-02-26 EP EP93301475A patent/EP0559393B1/de not_active Expired - Lifetime
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 |