DE69325739T2 - Grafisches System mit Anwendung von quadratischen Polynomelementen - Google Patents

Grafisches System mit Anwendung von quadratischen Polynomelementen

Info

Publication number
DE69325739T2
DE69325739T2 DE69325739T DE69325739T DE69325739T2 DE 69325739 T2 DE69325739 T2 DE 69325739T2 DE 69325739 T DE69325739 T DE 69325739T DE 69325739 T DE69325739 T DE 69325739T DE 69325739 T2 DE69325739 T2 DE 69325739T2
Authority
DE
Germany
Prior art keywords
row
image
curve
line
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69325739T
Other languages
English (en)
Other versions
DE69325739D1 (de
Inventor
David William Funk
Kia Silverbrook
Simon Robert Walmsley
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.)
Canon Information Systems Research Australia Pty Ltd
Original Assignee
Canon Information Systems Research Australia Pty Ltd
Canon Inc
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 Canon Information Systems Research Australia Pty Ltd, Canon Inc filed Critical Canon Information Systems Research Australia Pty Ltd
Publication of DE69325739D1 publication Critical patent/DE69325739D1/de
Application granted granted Critical
Publication of DE69325739T2 publication Critical patent/DE69325739T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft ein Graphiksystem beispielsweise mit einer Einrichtung, durch die Objekte beschrieben und manipuliert werden können, indem jedes Objekt in eine Anzahl von Fragmenten geteilt wird, und jedes Fragment durch ein quadratisches Polynom mathematisch beschrieben wird.
  • Die meisten Objektgraphiksysteme verwenden einen Vollbildspeicher, um ein auf Bildelementen basierendes Bild der Seite oder des Bildschirms zu halten. Die Umrisse von einzelnen Objekten werden berechnet, gefüllt und in den Vollbildspeicher geschrieben. Für zweidimensionale Graphiken werden Objekte, die vor anderen Objekten erscheinen, einfach nach dem Hintergrundobjekt in den Vollbildspeicher geschrieben, wodurch der Hintergrund Bildelement für Bildelement ersetzt wird. Derartige Systeme sind normalerweise hinsichtlich der Hardware und der Zeit zum Erzeugen eines ganzseitigen Bildes kostspielig.
  • Eine Echtzeit-Bilderzeugung für Rasteranzeigen kann durch Berechnen des Bildes in Rasterordnung erreicht werden. Dieses bedeutet, daß jede Abtastzeile berechnet werden muß, wenn sie angetroffen wird. Dieses erfordert, daß die Kreuzungspunkte jeder Abtastzeile mit jedem Objektumriß berechnet und dann gefüllt werden.
  • Üblicherweise wird die Berechnung von Kreuzungen von Umrissen unter Verwendung von geraden Linien oder Splineformaten durchgeführt. Die populärsten Splineformate sind verschiedene Formen von parametrischen, kubischen Polynomen wie Bezier-Kurven.
  • Wenn kubische Bezier-Splines verwendet werden, beinhaltet eine Kreuzungsberechnung ein Berechnen der Wurzeln von kubischen Polynomen bei einer speziellen Abtastzeile, um die parametrischen Positionen der Kreuzungen zu erhalten, und Einsetzen dieser in das Polynom, um die aktuellen Bildelementkreuzungen zu erhalten. Obwohl es möglich ist, Hardware zu bauen, um diese Funktionen in Echtzeit durchzuführen, ist eine derartige Hardware hoch komplex und ungeeignet für kostengünstige Ausrüstungen für Verbraucher.
  • "Automatic Curve Fitting with Quadratic B-Spline Functions and its Applications to Computer-Assisted Animation" von Yang et al. in Computer Vision, Graphics, and Image Processing 33, Seiten 346 bis 363 (1986) offenbart ein Verfahren zum automatischen Anpassen von quadratischen B- Splinefunktionen an digitalisierte Kurven, wobei eine Anzahl von Parabeln an eine Kurve angepaßt werden. Die Gleichung für jede angepaßte Parabel ist durch folgende Gleichung gegeben:
  • (x + By)² + Dx + Ex + F = 0
  • Die Druckschrift DE-A-40 00 021 offenbart ein Verfahren und ein Gerät für die Darstellung einer Kurve der Form F(x,y) = 0 in einem zweidimensionalen Array von Bildelementen. Gemäß dem offenbarten Verfahren werden Koordinaten x&sub0;, y&sub0; so gewählt, daß:
  • F: = F(x&sub0;,y&sub0;)
  • und
  • d(x)id(y)j: = d(x)i(y)j(x&sub0;,y&sub0;) ist.
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Alternative zu dem Vorstehenden durch Bereitstellung eines anderen Formats zur Darstellung von Objektumrißdaten bereitzustellen, die in einem objektbasierten Graphiksystem manipuliert werden können.
  • Gemäß der vorliegenden Erfindung wird ein rechnergesteuertes, objektbasiertes Graphikgerät bereitgestellt, wie es in Anspruch 1 dargelegt ist.
  • Die Erfindung stellt ebenfalls ein Verfahren zur objektbasierten Graphikbildverarbeitung bereit, wie es in Anspruch 8 dargelegt ist.
  • Zusätzliche Merkmale sind in Ansprüchen 2 bis 7 und 9 bis 14 dargelegt.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung umfaßt ein objektbasiertes Graphiksystem, in dem jedes Objekt in eine Vielzahl von Kurvenfragmenten geteilt wird, wobei jedes durch einen Startbildelement-Ort, einen ΔBildelement-Wert, einen ΔΔBildelement-Wert, eine Startzeile und eine Endzeile definiert ist, wobei der Bildelementort des Kurvenfragments auf jeder Zeile(n) des angezeigten Bildes gegeben ist durch:
  • Bildelement (Zeile n+1) = Bildelement (Zeile n) + ΔBildelement(Zeile n)
  • Bildelement(Zeile n+1) = ΔBildelement(Zeile n) + ΔBildelement,
  • mit
  • Bildelement(Zeile n = Startzeile) = Startbildelement, und ΔBildelement(Zeilen n = Startzeile) ΔBildelement
  • In einem Ausführungsbeispiel der vorliegenden Erfindung wird ein objektbasiertes Graphiksystem bereitgestellt, in dem jede Kreuzung zwischen einem Objektumriß und einer Abtastzeile durch zwei mathematische Operationen berech net werden kann, wenn die vorherige Kreuzung bekannt ist. Vorzugsweise sind die mathematischen Operationen Additionen.
  • Ausführungsbeispiele der vorliegenden Erfindung sind nachstehend unter Bezugnahme auf die Zeichnung beschrieben.
  • Es zeigen:
  • Fig. 1 ein einziges quadratisches Polynomfragment (QPF),
  • Fig. 2 ein Objekt, das aus zwei QPFs ausgebildet ist,
  • Fig. 3 ein Objekt, das aus vier QPFs ausgebildet ist,
  • Fig. 4 ein Objekt, das auf sechs QPFs ausgebildet ist,
  • Fig. 5 ein Objekt, das aus fünf QPFs ausgebildet ist,
  • Fig. 6 ein Objekt, das aus acht QPFs ausgebildet,
  • Fig. 7 ein Objekt, das aus acht QPFs ausgebildet ist,
  • Fig. 8 eine schematische Blockschaltbilddarstellung eines objektbasierten Graphiksystems, das QPFS verwendet,
  • Fig. 9 ein Datenflußdiagramm des Echtzeitobjekt- Prozessors (RTO-Prozessors) von Fig. 8, der die an den QPFs auftretenden Operationen anzeigt,
  • Fig. 10 eine Objektliste und die Anordnung von QPFs für jedes Objekt in der Liste,
  • Fig. 11 und 12 das Objekt und QPF-Datenwortformate der Liste von Fig. 10,
  • Fig. 13 die Organisation des QPF-Speichers von Fig. 8 und 9,
  • Fig. 14 das Datenformat eines einzelnen QPFs in dem QPF- Speicher von Fig. 8 und 9, und
  • Fig. 15 und 19 Beispiele einer QPF-Ausbildung für ein einzelnes Objekt,
  • In Fig. 1 ist ein quadratisches Polynomfragment QPF veranschaulicht, das einen Teil eines Objektumrisses ausbildet und sich von einer Anfangszeile zu einer Endzeile in einer Rasteranzeige erstreckt. Das QPF ist eine Kurve, die durch eine konstante Änderung der Steigung der Linie gekennzeichnet ist, und auf diese Weise kann jedes Fragment jedes Objektumrisses unter Verwendung eines quadratischen Polynoms beschrieben werden.
  • Weil jedes QPF seine Steigung auf eine konstante Weise entlang seiner Länge ändert, kann jedes QPF durch eine Anzahl von Parametern leicht definiert werden.
  • Der erste dieser Parameter ist die Startzeile, die die erste Zeile in Rasterordnung bestimmt, worauf das QPF erscheint.
  • Der nächste Parameter ist das Startbildelement, das den Bildelementwert (d. h. den Ort) des QPFs auf der Startzeile bestimmt.
  • Der nächste Parameter ist ΔBildelement, der die Steigung der Linie bestimmt. ΔBildelement wird zu dem Startbildelement für jede Rasterzeile auf der Anzeige addiert.
  • Der nächste Parameter ist ΔΔBildelement, der die Krümmung der Linie bestimmt. ΔΔBildelement wird zu ΔBildelement für jede Rasterzeile addiert.
  • Der letzte Parameter ist die Endzeile, die die letzte Zeile bestimmt, worauf das QPF erscheint.
  • Die Bildelementorte auf jeder der Abtastzeilen (Rasterzeilen) des QPFs können mit den vorstehenden Parametern auf die folgende Weise bestimmt werden:
  • Bildelement (Zeile n+1) = Bildelement (Zeile n) + ΔBildelement(Zeile n)
  • ΔBildelement(Zeile n+1) = ΔBildelement(Zeile n) + ΔΔBildelement
  • mit
  • Bildelement (Zeile n = Startzeile) = Startbildelement, und ΔBildelement (Zeilen = Startzeile) = ΔBildelement.
  • In Fig. 2 bis 7 sind eine Anzahl von einzelnen Objekten gezeigt, von denen jedes durch eine Vielzahl von QPFs definiert ist.
  • In Fig. 2 ist eine quadratisches Objekt gezeigt, das durch zwei QPFs definiert ist, die jeweils die linken und rechten Seiten des Quadrats definieren. Jedes QPF beginnt auf einer gemeinsamen Startzeile und endet auf einer gemeinsam Endzeile. Auf diese Weise definieren die QPFs des Quadrats die Grenzen, bei denen ein spezieller Bildelementwert (wie ein Farbe) erklärt werden kann, um das Quadrat anzuzeigen.
  • In Fig. 3 ist ein rautenförmiges Objekt gezeigt, das durch vier QPFs definiert ist, wobei die Endzeile für ein QPF die Startzeile des nächsten, benachbarten QPFs darstellt.
  • Es ist anhand von Fig. 2 und 3 offenbar, das es für ein QPF nicht möglich ist, an einer Abtastzeile ausgerichtet zu sein, was beispielsweise in dem in Fig. 1 gezeigten Ausführungsbeispiel eine unendliche Steigung implizieren würde.
  • Fig. 4 zeigt ein alternatives Objekt, das aus sechs QPFs ausgebildet ist. Diejenigen Objekte, die vertikal (senkrecht zu den Abtastzeilen) erscheinen, weisen ΔBildelement = 0 und ΔΔBildelement = 0 auf. Wo ein QPF eine konstante (lineare) Steigung aufweist, ist ΔBildelement ungleich null und ΔΔBildelement gleich 0.
  • Das hierin beschriebene QPF-Format hat eine spezielle Anwendung bei Echtzeit-Objektgraphiken und ist in einem System wie demjenigen nützlich, das in der Druckschrift EP-A-1568359 offenbart ist.
  • In Fig. 8 ist ein derartiges Echtzeitobjekt-Graphiksystem (RTO-Graphiksystem) gezeigt, das einen steuernden Prozessor 11 aufweist, der über einen Prozessorbus 17 mit einem Prozessorspeicher 12 verbunden ist, der ein ROM und ein RAM aufweist. Der Prozessor 11 arbeitet, um eine Seitenanzeigeliste von Objekten auszubilden, die zur Ausbildung eines Bildes verwendet werden. Die Seitenanzeigeliste ist in dem RAM-Abschnitt des Prozessorspeichers 12 gespeichert, in dem die Objekte von dem ROM-Abschnitt des Prozessorspeichers 12 hergeleitet werden können oder alternativ über eine bekannte, externe Einrichtung wie ein Laufwerk, ein Digitalisiertablett einer Graphikarbeitsstation oder dergleichen in das System 10 eingegeben werden können.
  • Mit dem Prozessorbus 17 ist ein RTO-Prozessor 13 verbunden, der QPFs von Objekten in der Seitenanzeigeliste manipuliert, um gerasterte Bilddaten zu einer Farbnachschlagetabelle 15 auszugeben, um auf einer Anzeige 16 wie einer Videoanzeigeeinheit oder einem Drucker wiedergegeben bzw. reproduziert zu werden. Der RTO-Prozessor 13 ist auch über einen QPF-Bus 18 mit einem QPF-Speicher 14 verbunden, der aus einem statischen RAM ausgebildet ist, der zur Speicherung von QPFs verwendet wird, während der Prozessor 13 die Bilddaten berechnet.
  • Weil der Prozessor 13 nur QPFs akzeptieren kann, müssen dementsprechend die Objekte, die die von dem Prozessor 11 erzeugte Seitenanzeigeliste ausbilden, als QPFs beschrieben werden.
  • Wo der Prozessor 11 und vorformatierte Objekte unter Verwendung kubischer Polynome wie Bezier-Splines konfiguriert werden, können diese Polynome auf dieselbe Weise in QPFs umgewandelt werden, die in der veröffentlichten Australischen Patentanmeldung AU-A-38239/93 beschrieben ist.
  • In Fig. 9 zeigt das Datenflußdiagramm des RTO-Prozessors 13 eine Bildholeinheit 20, die über den Bus 17 mit dem Prozessorspeicher 12 verbunden ist. Objekte und ihre QPFs werden von der Einheit 20 von dem Speicher 12 geholt und zu einem QPF-FIFO-Register (engl. QPF First In First Out Register) 21 ausgegeben, das vier Worte tief ist. Daten in dem FIFO 21 sind als Objekt oder QPF-Daten bezüglich der Formate von Fig. 11 und 12 gekennzeichnet, was später zu beschreiben ist. Das FIFO 21 wird zur Entkopplung des Holens von einer Datenverarbeitung verwendet, um die Zugriffseffizienz zu dem Prozessorbus 17 und die berechnete Effizienz zu verbessern.
  • Daten werden von dem FIFO 21 in eine vorverarbeitende Pipeline 22 ausgegeben, die eine Serie von Berechnungen an den Daten durchführt, bevor sie in dem QPF-RAM 14 gespeichert werden. Diese Operationen sind:
  • - (23) Anwenden von Skalierungs- und Translationsfaktoren für das aktuelle Objekt auf jedes QPF,
  • - (24) Filtern von QPFs, die die Anzeige nicht beeinflussen werden,
  • - (25) iterativ Wiederberechnen der Werte in einem QPF, die vor der ersten Zeile der Anzeige anfangen, um ein auf der ersten Zeile der Anzeige anfangendes QPF hervorzubringen, und
  • - (26) Anwenden einer Korrektur auf das QPF- Rendering, wenn das Bild zu verschachteln ist (wie beispielsweise bei einer Fernsehanzeige).
  • Die QPFs von der vorverarbeitenden Pipeline 22 werden in dem QPF-Speicher 14 gespeichert. Die QPF-Daten werden als eine Reihe von verknüpften Listen, einer für jede Zeile in dem auszubildenden Bild, gespeichert. Nachdem alle QPFs in dem Bild geholt und in dem Speicher 14 gespeichert worden sind, wird die verknüpfte Liste für jede Zeile von dem Sortierer 28 in der Ordnung der Bildelementwerte (d. h. Position) sortiert, um ein Rendering des Bildes auf der Anzeige 16 vorzubereiten.
  • Bei Videoanwendungen tritt eine Bildvorbereitung des neuen Bildes in einer Hälfte eines doppelt gepufferten QPF-Speichers auf, während die andere Hälfte zum Rendering verwendet wird. Der QPF-Speicher 14 weist jedoch einen einzelnen Anschluß auf, so daß die Bildvorbereitungs- und Bildrenderingabschnitte des Prozessors 13 um den Zugriff auf den Bus 18 konkurrieren müssen.
  • Ein Bildrendering wird in Synchronisation mit der Anzeige 16 begonnen. Ein Rendering umfaßt ein Berechnen der Kreuzung von QPFs mit jeder Zeile auf der Anzeige 16, wo diese Kreuzungen die Kanten von Objekten definieren. Jede Kante (oder Kreuzung) wird bei der Berechnung des Niveaus verwendet, das an einer speziellen Bildelementposition auf der Abtastzeile anzuzeigen ist.
  • Für jede Zeile in dem Bild, schreitet die Renderingverarbeitung durch die Liste von QPFs für diese Zeile und führt die folgenden Schritte durch:
  • Kopieren der Bildelementwerte (Ort), Bildelementniveaus (Farbe) und Bringen von Informationen in ein Bildelement-FIFO 30, um zur Füllerzeugung und Berechnung geholt zu werden,
  • Berechnen der Werte der QPF-Kreuzung für die nächste Zeile, oder verwerfen von QPFs, die auf der nächsten Zeile enden, und
  • Aufgeben des wiederberechneten QPFs in die Liste der QPFs angefangen mit der nächsten Zeile.
  • Rendering und Wiederberechnung haben die höchste Priorität auf dem QPF-Bus 18, der Bus 18 ist jedoch vom Speichern oder Sortierzugriff befreit, jedesmal wenn das Bildelement-FIFO 30 gefüllt ist oder alle QPFs für die aktuelle Zeile verarbeitet worden sind.
  • Daten werden aus dem Bildelement-FIFO 30, das sechzehn Worte tief ist, gesteuert von eine Bildelementzähler sequentiell angeordnet, der von jedem, von der Anzeige 16 hergeleiteten Bildelement-Taktzyklus inkrementiert wird. Die Füllerzeugungseinrichtung 31 entscheidet die Prioritätsniveaus der Objekte in der Anzeige und gibt das höchste sichtbare Niveau an jeder Bildelementposition an die Farbnachschlagetabelle 15 vor der Anzeige aus. Die Füllerzeugungseinrichtung kann durch einen Effektblock 32 modifiziert werden, um visuelle Effekte wie Transparenz zu implementieren.
  • Die Organisation der Daten, die ein Bild ausmachen, in dem Prozessorspeicher 12 ist in Fig. 10 gezeigt. Diese zeigt eine Objektliste, obwohl es viele derartiger Listen geben kann, die jeweils in dem gezeigten Format sind.
  • In dem vorliegenden Ausführungsbeispiel des Graphiksystems 10 werden die Objekte in der Liste in dem Speicher angrenzend untergebracht, wobei jedes Objekt (Objekt 1, Objekt 2, ...) neun 16-Bit-Orte besetzt. Die letzten zwei Worte jedes Objekts sind *Qliste(tief) und *Qliste(hoch), die einen Zeiger zu dem Start der QPF-Liste für dieses spezielle Objekt bilden. Die QPF-Liste kann irgendwo in dem Speicher 12 sein. Der Rest der Objektbeschreibung besteht aus Skalierungs- und Translationsfaktoren (LSkala, PSkala, ΔPSkala, ΔΔPSkala, LOffset und POffset), den Objektniveaus (6 Bits) und Effektbits (2 Bits) (Niveau) und einer Acht-Bit-Objektidentifizierung (Id).
  • LOffsets stellt eine Palette von Farben dar, deren Niveau die tatsächliche Farbe des Objekts auswählt. Auf diese Weise können Niveau und LOffset 24-Bitfarbdaten adressieren, was über 16 Millionen anzuzeigende Farben unter Verwendung des Systems 10 erlaubt. Obwohl der RTO- Prozessor nur ein Niveau manipuliert, hat die Farbnachschlagetabelle 15 auch Zugriff auf den Prozessorbus 17, wodurch der Prozessor 11 die spezielle Palette anpassen kann, indem in die Farbnachschlagetabelle 15 geschrieben wird, um die geeignete Farbe für das Objekt anzuzeigen.
  • POffset stellt einen Bildelement-Translationsbetrag (X- Translation für eine Videoanzeige) dar.
  • LOffset stellt einen Zeilentranslationsbetrag (Y- Translation für Video) dar.
  • LScale stellt einen Zeilenskalierungsfaktor (bezogen auf die Y-Größe) dar.
  • PScale stellt einen Bildelement-Skalierungsfaktor (bezogen auf die X-Größe) dar.
  • ΔPScale stellt einen vorberechneten Faktor zur Skalierung von ΔBildelement dar, um eine äquivalente X-Größe als PSCale zu geben.
  • ΔΔPSkala stellt einen vorberechneten Faktor zur Skalierung von ΔΔBildelement dar, um eine äquivalente X-Größe als PScale zu geben.
  • Für jedes Objekt werden die QPFs in dem Speicher angrenzend aufgelistet, wobei jedes QPF aus 16-Bit-Worten besteht. Diese sind wie vorstehend beschrieben (in Reihenfolge) die Startzeile, die Endzeile, das Startbildelement, das ΔBildelement und das ΔΔBildelement. Sowohl Objekt- als auch QPF-Listen in dem Prozessorspeicher 12 müssen zumindest einen Gegenstand enthalten, da es keine Bereitstellung für eine Null-Liste gibt.
  • Die Datentypen der unterschiedlichen Objekte und QPF- Komponenten sind angezeigt, und ihre genauen Formate sind in Fig. 11 und 12 gezeigt. Zusätzlich zu den Bilddaten enthalten einige der Objekte und QPF-Komponenten Prüfbits und Beendigungsbits.
  • Prüfbits besetzten das oberste Bit der vier Skalenfaktoren (LScale, PScale, ΔPScale, ΔΔPScale) in einer Objektbeschreibung und die Startzeile-Komponente einer QPF- Beschreibung. In der Objektliste muß das Prüfbit auf null gesetzt sein. In dem Startzeilen-Feld muß das Prüfbit gleich dem Vorzeichenbit sein. Wenn eines dieser Bits inkorrekt ist, wird der RTO-Prozessor 13 dieses erfassen und die Bilderzeugung abbrechen.
  • Das unterste Bit des *Qlist(tief)-Wortes jedes Objekts wird als Beendigungsmarkierung für die Objektliste verwendet. Dieses Bit wird nur für das letzte Objekt in der Liste auf 1 gesetzt. Das oberste Bit des Endzeilenwortes jedes QPFs wird als Beendigungsmarkierung für die QPF-Liste verwendet. Für alle QPFs außer dem letzten muß es dasselbe wie das Endzeilen-Vorzeichenbit sein. Für das letzte QPF muß es das Gegenteil des Vorzeichenbits sein.
  • Die durch Fig. 10, 11 und 12 bereitgestellten Formatierungen erlauben dem RTO-Prozessor 13, QPFs für ein Bild erfolgreich zu lesen und diejenigen in der vorverarbeitenden Pipeline 22 zu manipulieren. Nach dem Vorverarbeiten ist es für die QPFs notwendig, im dem Speicher 14 gespeichert zu werden, wodurch unter Verwendung der Speicherschnittstelle 27 der Fig. 9 ein Zugriff erhalten wird.
  • Der QPF-Speicher 14 ist auf die in Fig. 13 gezeigte Weise organisiert. Fig. 13 zeigt eine Bank 33 des QPF-Speichers 14 und zeigt, ob mehr als eine Bank verwendet wird, wobei jede Bank auf eine identische Art organisiert ist. Die Bank 33 ist in vier Bereiche geteilt, die eine Zeilentabelle 34 und eine Bildelementtabelle 35, eine Bittabelle 36 und einen QPF-Bereich 37 aufweisen. Die Zeilentabelle 34, die ein Wort für jede Zeile der Anzeige aufweist, wird zur Speicherung des Starts der Zeilenzeiger verwendet und besetzt immer den untersten Teil des QPF- Speichers 14. Die Bildelementtabelle 35 ist ein temporärer Speicherbereich, der zur Sortierung von Bildelementen verwendet wird, die von der Sortiereinheit 28 durchgeführt wird. Der Basisort wird durch ein Register PTBA gesetzt, und die Größe ist ein Wort für jedes in einer Zeile angezeigte Bildelement plus zwei zusätzliche Worte. Die Bittabelle 36 ist ein weiterer, temporärer Speicherbereich, der bei der Bildelementsortierung verwendet wird. Der Basisort wird von einem Register PTBA gesetzt, und die Größe der Bittabelle 36 ist die Größe der Bildelementtabelle 35 geteilt durch 32 und auf das nächste, ganze Wort aufgerundet. Der QPF-Bereich 37 enthält alle QPF-Daten. Dieser besetzt immer den obersten Teil des QPF-Speichers 14, in dem die unterste Adresse von einem Register QRBA gesetzt wird, während die oberste Adresse, die auch die oberste Adresse der Bank 33 ist, von einem Register MBTA gesetzt wird.
  • Das Format der in der Speicherbank 33 gespeicherten QPF- Komponenten ist in Fig. 14 gezeigt. In der vorverarbeitenden Pipeline 22 sind die Objektskala und Offsetfaktoren auf jedes QPF angewendet worden, woraus Bildelement-, ΔBildelement- und ΔΔBildelement-Werte resultieren, die einen größeren Bereich und/oder größere Präzision im Vergleich zu den Originalformaten in dem Prozessorspeicher 12 aufweisen. Auch das Objektniveau, Effekte und Identifizierungsbits wurden vereinigt und mit jedem QPF gespeichert. Das Startzeilenfeld muß nicht mehr mit dem QPF gespeichert werden, da die QPF-Listen auf der Startzeile basieren. Es gibt keine Prüfbits und das Ende jeder verknüpften Liste ist durch einen Nullzeiger angezeigt.
  • Dieser Aufbau ist in Fig. 13 gezeigt, in der zwei verknüpfte Listen für Linien null und eins des Bildes in dem QPF-Bereich 37 gezeigt sind. Die verknüpfte Liste für Linie null beginnt mit einem QPF 40, das auf ein QPF 41 zeigt, das in Folge auf ein QPF 42 am Ende der Liste zeigt. Die verknüpfte Liste für Linie 1 des Bildes beginnt mit einem QPF 43, der auf ein End-QPF 44 zeigt.
  • Die tatsächliche Ausbildung und Berechnung von QPF-Daten kann nun beispielhaft unter Verwendung eines einfachen Objekts beschrieben werden.
  • Fig. 15 zeigt ein Objekt mit der Form des Buchstabens "B". Dieses Objekt kann durch QPFs auf die in Fig. 16 gezeigte Weise dargestellt werden.
  • Fig. 17 zeigt ein Bezier-Objekt für den Buchstaben "B", das unter Verwendung des in der veröffentlichten Australischen Patentanmeldung AU-A-38239/93 offenbarten Verfahrens in ein QPF-Objekt umgewandelt werden kann.
  • In Fig. 18 ist eine spezielle Bezier-Kurve des Objekts in Fig. 17 in einem 4-Punkt-Format gezeigt. Diese wird in zwei QPFs umgewandelt, wie es in Fig. 19 gezeigt ist.

Claims (14)

1. Rechnergesteuertes objektbasiertes Graphikgerät mit einer Renderingeinrichtung (13, 14) zur Verarbeitung von den Umriß eines Graphikobjekts definierenden Signalen auf einer Abtastzeilenbasis, um Daten zu erzeugen, die beim Anzeigen eines Bildes des Objekts verwendet werden, dadurch gekennzeichnet, daß die Renderingeinrichtung (13, 14) angeordnet ist, den Umriß als Vielzahl von Kurvenfragmenten zu verarbeiten, wobei jedes Kurvenfragment durch ein quadratisches Polynom mit einer Konstanten Änderungsrate der Steigung hinsichtlich einer fixierten Abtastrichtung der Renderingeinrichtung definiert ist.
2. Gerät nach Anspruch 1, wobei die Renderingeinrichtung angeordnet ist, die Kurvenfragmente zu verarbeiten, um Daten zur Verwendung in einer gerasterten Anzeige des Bildes auf einer Anzeigevorrichtung (16) mit einer Vielzahl von Abtastzeilen zu erzeugen, auf denen jeweils eine Vielzahl von Bildelementen reproduzierbar sind, und wobei die Renderingeinrichtung (13, 14, 15) angeordnet ist, jede nachfolgende Kreuzung zwischen dem Umriß und einer der Abtastzeilen unter Verwendung zweier mathematischer Operationen zu berechnen, wenn eine erste Kreuzung zwischen dem Umriß und einer der Abtastzeilen bekannt ist.
3. Gerät nach Anspruch 2, wobei die mathematischen Operationen Additionen aufweisen.
4. Gerät nach Anspruch 3, wobei jedes Kurvenfragment durch einen Anfangsbildelement-Ortswert, Start- Bildelement, einen Steigungswert in der fixierten Abtastrichtung der Renderingeinrichtung, ΔBildelement, einen Steigungsveränderungswert, ΔΔBildelement, einen Anfangsabtastzeilenwert, Startzeile, und einen Endabtastzeilenwert, Endzeile, definiert ist, und wobei die Renderingeinrichtung angeordnet ist, den Bildelementort eines Kurvenfragmentes auf jeder Abtastzeile, Zeile n+1, eines gerasterten Bildes durch eine Berechnung zu bestimmen:
Bildelement (Zeile n+1) = Bildelement (Zeile n) + ΔBildelement (Zeile)
ΔBildelement (Zeile n+1) = ΔBildelement (Zeile n) + ΔΔBildelement,
mit
Bildelement (Zeile n = Startzeile) = Startbildelement, und ΔBildelement (Zeile n = Startzeile) = ΔBildelement.
5. Gerät nach einem der vorstehenden Ansprüche, wobei die Renderingeinrichtung angeordnet ist, jedes Kurvenfragment gemäß einem Skalierungsfaktor, einem Translationsfaktor, oder einem Skalierungsfaktor und einem Translationsfaktor zu verarbeiten.
6. Gerät nach einem der vorstehenden Ansprüche, wobei die Renderingeinrichtung angeordnet ist, jedes Kurvenfragment gemäß einem Farbniveauwert und Versatzinformationen zu verarbeiten.
7. Gerät nach einem der vorstehenden Ansprüche, das ferner eine Anzeigevorrichtung (16) zum Anzeigen eines Bildes des Objektes unter Verwendung der Daten von der Renderingeinrichtung aufweist.
8. Verfahren zur objektbasierten Graphikbildverarbeitung mit dem Schritt eines Verarbeitens von den Umriß eines Graphikobjektes definierenden Signalen auf einer Abtastzeilenbasis, um Daten zur Verwendung beim Anzeigen eines Bildes des Objektes zu erzeugen, dadurch gekennzeichnet, daß der Umriß als Vielzahl von Kurvenfragmenten verarbeitet wird, wobei jedes Kurvenfragment durch ein quadratisches Polynom mit einer konstanten Änderungsrate der Steigung hinsichtlich einer fixierten Abtastrichtung definiert ist.
9. Verfahren nach Anspruch 8, wobei die Kurvenfragmente verarbeitet werden, um Daten zur Verwendung in einer gerasterten Anzeige des Bildes auf einer Anzeigevorrichtung (16) mit einer Vielzahl von Abtastzeilen zu erzeugen, auf denen jeweils ein Vielzahl von Bildelementen reproduzierbar sind, und wobei jede nachfolgende Kreuzung zwischen dem Umriß und einer der Abtastzeilen unter Verwendung zweier mathematischer Operationen berechnet wird, wenn eine erste Kreuzung zwischen dem Umriß und einer der Abtastzeilen bekannt ist.
10. Verfahren nach Anspruch 9, wobei die mathematischen Operationen Additionen aufweisen.
11. Verfahren nach Anspruch 10, wobei jedes Kurvenfragment durch einen Anfangsbildelement-Ortswert, Start- Bildelement, einen Steigungswert in der fixierten Abtastrichtung, ΔBildelement, einen Steigungsveränderungswert, ΔΔBildelement, einen Anfangsabtastzeilenwert, Anfangszeile, und einen Endabtastzeilenwert, Endzeile, definiert ist, und wobei der Bildelementort eines Kurvenfragmentes auf jeder Abtastzeile, Zeile n+1, eines gerasterten Bildes durch eine Berechnung bestimmt wird:
Bildelement (Zeile n+1) = Bildelement (Zeile n) + ΔBildelement (Zeilen)
ΔBildelement (Zeile n+1) = ΔBildelement (Zeile n) + ΔΔBildelement,
mit
Bildelement (Zeile n = Startzeile) = Startbildelement, und ΔBildelement (Zeile n = Startzeile) ΔBildelement.
12. Verfahren nach einem der Ansprüche 8 bis 11, wobei jedes Kurvenfragment gemäß einem Skalierungsfaktor, einem Translationsfaktor, oder einem Skalierungsfaktor und einem Translationsfaktor verarbeitet wird.
13. Verfahren nach einem der Ansprüche 8 bis 12, wobei jedes Kurvenfragment gemäß einem Farbniveauwert und Versatzinformationen verarbeitet wird.
14. Verfahren nach einem der Ansprüche 8 bis 13, das ferner den Schritt eines Anzeigens eines Bildes des Objektes unter Verwendung der erzeugten Daten aufweist.
DE69325739T 1992-04-29 1993-04-28 Grafisches System mit Anwendung von quadratischen Polynomelementen Expired - Lifetime DE69325739T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AUPL215092 1992-04-29

Publications (2)

Publication Number Publication Date
DE69325739D1 DE69325739D1 (de) 1999-09-02
DE69325739T2 true DE69325739T2 (de) 1999-12-23

Family

ID=3776126

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69325739T Expired - Lifetime DE69325739T2 (de) 1992-04-29 1993-04-28 Grafisches System mit Anwendung von quadratischen Polynomelementen

Country Status (6)

Country Link
US (1) US6124863A (de)
EP (1) EP0568360B1 (de)
JP (1) JPH06203169A (de)
DE (1) DE69325739T2 (de)
HK (1) HK1013694A1 (de)
SG (1) SG49154A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4244462A1 (de) * 1992-12-24 1994-06-30 Equicon Software Gmbh Jena Verfahren zur Generierung von ebenen technischen Kurven oder Konturen
JP4343344B2 (ja) 1998-09-11 2009-10-14 キヤノン株式会社 ラスタ形式のグラフィックオブジェクトを用いたイメージの高速レンダリング方法
JP3966832B2 (ja) 2003-04-28 2007-08-29 株式会社東芝 描画処理装置、及び、描画処理方法
AU2005200948B2 (en) * 2004-03-09 2008-03-06 Canon Kabushiki Kaisha Compositing list caching for a raster image processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949281A (en) * 1987-04-23 1990-08-14 H. Berthold Ag Method and apparatus for generating and producing two-dimensional graphic object by polynominal parametric curves
JP2790815B2 (ja) * 1988-08-10 1998-08-27 株式会社リコー 画像データ圧縮方法
DE4000021A1 (de) * 1990-01-02 1991-07-04 Computer Applic Technics Ag Verfahren und vorrichtung zur darstellung von kurven in einem zweidimensionalen raster von bildelementen

Also Published As

Publication number Publication date
DE69325739D1 (de) 1999-09-02
HK1013694A1 (en) 1999-09-03
EP0568360A2 (de) 1993-11-03
US6124863A (en) 2000-09-26
SG49154A1 (en) 1998-05-18
EP0568360B1 (de) 1999-07-28
JPH06203169A (ja) 1994-07-22
EP0568360A3 (en) 1994-05-11

Similar Documents

Publication Publication Date Title
DE3854543T2 (de) Prioritätsverwaltung eines Tiefendatenpuffers für Echtzeitrechnersysteme zur Bilderzeugung.
DE3855231T2 (de) Prioritätsauflösungssystem zwischen Polygonen mit Antialiasing
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE69122557T2 (de) Bilderzeugung
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE69130123T2 (de) Anzeigegerät und Verfahren zum Betreiben eines solchen Geräts
DE3650129T2 (de) Verfahren zur Kantenglättung für Rechnerbilderzeugungssystem.
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE3689271T2 (de) Verfahren zur Bildanzeige.
DE10053439B4 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE69128731T2 (de) Schaltungsanordnung für die Konvertierung von pyramidenförmigen Texturkoordinaten und diese enthaltendes Anzeigegerät
DE69428491T2 (de) Bildlinse
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE69413035T2 (de) Antialiasing-verfahren und -vorrichtung mit automatischer justierung von horizontalen und vertikalen rändern an einem zielgitter
DE3315148C2 (de)
DE19917092A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE69330900T2 (de) Verfahren zum Ausfüllen der Bildpunkte innerhalb eines Polygons
DE3518416A1 (de) Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige
DE19619288A1 (de) System und Verfahren zur Dreieck-Rasterung mit in zwei Dimensionen verschachtelten Rahmenpuffern
DE69329940T2 (de) Grafisches System
DE69606177T2 (de) Verfahren und gerät zur texturabbildung
DE60122333T2 (de) Verfahren und System zur kachelweisen Bildwiedergabe
EP0862141A2 (de) Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY.