PatentDe  


Dokumentenidentifikation DE69132214T2 26.10.2000
EP-Veröffentlichungsnummer 0775971
Titel Rampengenerator
Anmelder Canon K.K., Tokio/Tokyo, JP;
Canon Information Systems Research Australia Pty. Ltd., North Ryde, AU
Erfinder Silverbrook, Kim, Wollahra, New South Wales 2035, AU;
Metcalf, James Robert, Collaroy Plateau, New South Wales 2098, AU
Vertreter Tiedtke, Bühling, Kinne & Partner, 80336 München
DE-Aktenzeichen 69132214
Vertragsstaaten DE, FR, GB, IT
Sprache des Dokument EN
EP-Anmeldetag 04.07.1991
EP-Aktenzeichen 972000343
EP-Offenlegungsdatum 28.05.1997
EP date of grant 17.05.2000
Veröffentlichungstag im Patentblatt 26.10.2000
IPC-Hauptklasse G06T 1/20

Beschreibung[de]

Die vorliegende Erfindung betrifft computerisierte Graphiksysteme und insbesondere eine Graphikeinheit, die eine neuartige Rampenerzeugungsanordnung aufweist, die für eine Manipulation bzw. Bearbeitung von Bilddaten sorgt.

Desktop-Publishing-Systeme sind nach dem Stand der Technik bekannt, die es einem Benutzer ermöglichen, visuelle Bilddaten zur Erzeugung oder Änderung eines visuellen Bilds in einer Weise zu bearbeiten.

Bekannte Systeme weisen im allgemeinen die Fähigkeit auf, schwarze und weiße Bilder zu erzeugen, die entweder auf einer Monochromanzeige oder unter Verwendung eines Schwarz- Weiß-Laserdruckers ausgegeben werden können.

Jedoch besteht eine Nachfrage nach Desktop-Publishing- Systemen, die in Vollfarbe arbeiten und vergleichbar zu vorhandenen Monochromsystemen sowohl hinsichtlich Geschwindigkeit und Funktion auf der einen Seite als auch Qualität auf der anderen Seite leistungsfähig sind. Jedoch ist für Farbsysteme die Menge der zur Verarbeitung erforderlichen Daten im allgemeinen das 24-fache der des Schwarz-Weiß- Systems. Entsprechend sind unter Verwendung vorhandener Technologien die Verarbeitungszeiten entsprechend größer.

Heard et al. (New Electronics, 1. März 1989, Seiten 59/60, XP000106162) offenbaren eine Bilderfassungs- und verarbeitungsleiterplatte, die drei Grafik-Prozessorchips verwendet. Ferner offenbaren Kyung-il Bang et al. (Proceedings on the International Symposium on Circuits and Systems, New Orleans, 1.-3. Mai 1990, Band 1 von 4, 1. Mai 1990, In stitute of Electrical and Electronics Engineers, Seiten 73-76, XP000166725) eine Hardware-Architektur zur Bilderzeugung.

Armitage et al. (US 4,504,741) offenbaren ein digitales Gerät, das einen D/A-Wandler aufweist, der ein variables Wort empfängt und Änderungen in demselben in Rampen mit positiver oder negativer Steigung umwandelt. Ferner offenbaren Mantione et al. (US 4,328,554) einen Basis-Akkumulator, der einen Eingangssignalspeicher bzw. Eingangs-Latch, einen Addierer, einen Ausgangssignalspeicher bzw. Ausgangs-Latch sowie einen Taktoszillator umfaßt. Der Basis-Akkumulator nach Mantione et al. addiert den Wert des Eingangssignalspeichers zu dem vorherigen Wert des Ausgangssignalspeichers.

Diese Anordnungen sind zur Bereitstellung einer Rampe variabler Länge zwischen einem variablen Startpunkt und einem variablen Endpunkt ungeeignet. Mögliche Lösungen für das Problem können eine Verwendung eines Addierers mit großem Bereich für ein Aufwärts- und Abwärtszählen umfassen, wohingegen andere Lösungen ein ROM mit großer Kapazität zum Zwecke einer Nachschlagtabelle verwenden. Beide Verfähren sind jedoch bezüglich der Hardware uneffektiv.

Erfindungsgemäß ist ein Rampengenerator bereitgestellt mit:

einer Einrichtung zum Speichern einer Zahl als eine Vielzahl von Informationsbits und

einer Akkumulatoreinrichtung zur Erzeugung eines Rampenausgangssignals des Rampengenerators zwischen einem vorbestimmten Minimum und einem vorbestimmten Maximum, und

gekennzeichnet durch

eine Einrichtung zur Überprüfung des höchstwertigen der Bits zur Veranlassung der Akkumulatoreinrichtung, entweder in einer Stufen-Betriebsart oder einer Sprung- Betriebsart zu arbeiten, wodurch in der Stufen-Betriebsart das Rampenausgangssignal mit einer Rate ansteigt, die klei ner ist als die Rate, bei der das Rampenausgangssignal in der Sprung-Betriebsart ansteigt, wobei der Wert der Zahl eine Echtzeit bestimmt, die für das Rampenausgangssignal zum Durchlaufen zwischen dem Minimum und dem Maximum verwendet wird.

Die vorliegende Erfindung stellt ebenso Graphikeinheit bereit zur Bearbeitung von Farbbilddaten auf einer Bildelement-für-Bildelement-Grundlage, mit

einem parallelen Datenweg für jede von drei Grundfarben der Bilddaten, wobei jeder der Datenwege einen Interpolator und eine Mischeinrichtung aufweist, die in Reihe geschaltet sind, und die Datenwege zu einem Lichtdurchlässigkeitsinterpolator und einer Mattheitskombinationseinrichtung, die in Reihe geschaltet sind, parallel geschaltet sind, wobei jeder der Farbinterpolatoren Farbvariationsbefehle empfängt, jede der Mischeinrichtungen wiederum Farbeingangsdaten für jedes der Bildelemente empfängt und die Mischeinrichtungen die Farbeingangsdaten entsprechend einer vorbestimmten Funktion transformieren, deren Ausgang sowohl von den Eingangsfarbdaten als auch von einem Interpolator- Variationsbefehl abhängig ist, und wobei der Lichtdurchlässigkeitsinterpolator Lichtdurchlässigkeitsvariationsbefehle empfängt, die Mattheitskombinationseinrichtung Eingangsmattheitsfelddaten für jedes der Bildelemente empfängt und die Kombinationseinrichtung einen Farbmischungswert und einen Ausgangsmattheitswert für jedes Bildelement durch Transformation der Eingangsmattheitsfelddaten entsprechend den Lichtdurchlässigkeitsvariationsbefehlen erzeugt, wobei die Ausgangssignale der Graphikeinheit Farbbilddaten sind, die gleichzeitig als Farbe, Lichtdurchlässigkeit und Mattheit verarbeitet werden, wobei die Farbvariationsbefehle einen Startwert und einen Endwert aufweisen, wobei die Eingangsfarbdaten zwischen dem Startwert und dem Endwert für eine spezifische Dauer interpoliert werden, die durch den Farbvariationsbefehl bestimmt ist, und

einem Rampengenerator wie vorstehend definiert.

Die vorliegende Erfindung stellt ferner, eine Graphikeinheit bereit zur Verarbeitung von Farbbilddaten auf einer Bildelement-für-Bildelement-Grundlage, mit

einem parallelen Datenweg für jede von drei Grundfarben der Bilddaten, wobei jeder der Datenwege einen Interpolator und eine Mischeinrichtung aufweist, die in Reihe geschaltet sind, und die Datenwege zu einem Lichtdurchlässigkeitsinterpolator und einer Mattheitskombinationseinrichtung, die in Reihe geschaltet sind, parallel geschaltet sind, wobei jeder der Farbinterpolatoren Farbvariationsbefehle empfängt, jede der Mischeinrichtungen wiederum Farbeingangsdaten für jedes der Bildelemente empfängt und die Mischeinrichtungen die Farbeingangsdaten entsprechend einer vorbestimmten Funktion transformieren, deren Ausgang sowohl von den Eingangsfarbdaten als auch von einem Interpolator- Variationsbefehl abhängig ist, und wobei der Lichtdurchlässigkeitsinterpolator Lichtdurchlässigkeitsvariationsbefehle empfängt, die Mattheitskombinationseinrichtung Eingangsmattheitsfelddaten für jedes der Bildelemente empfängt und die Kombinationseinrichtung einen Farbmischungswert und einen Ausgangsmattheitswert für jedes Bildelement durch Transformation der Eingangsmattheitsfelddaten entsprechend den Lichtdurchlässigkeitsvariationsbefehlen erzeugt, wobei die Ausgangssignale der Graphikeinheit Farbbilddaten sind, die gleichzeitig als Farbe, Lichtdurchlässigkeit und Mattheit verarbeitet werden, wobei die Lichtdurchlässigkeitsvariationsbefehle einen Startwert und einen Endwert aufweisen, wobei die Eingangsmattheitsdaten zwischen dem Startwert und dem Endwert für eine spezifische Dauer interpoliert werden, die durch die Lichtdurchlässigkeitsvariationsbefehle bestimmt ist, und

einem Rampengenerator wie vorstehend definiert.

Nachstehend werden Ausführungsbeispiele der vorliegenden Erfindung unter Bezugnahme auf die beigefügte Zeichnung beschrieben.

Fig. 1A-1F zeigen schematische Blockschaltbilder von eine Graphikeinheit aufweisenden herkömmlichen Bildverarbeitungssystemen.

Fig. 2 zeigt ein schematisches Blockschaltbild gemäß dem bevorzugten Ausführungsbeispiel der Graphikeinheit.

Fig. 3 zeigt ein schematisches Blockschaltbild der Render- Prozessor-(RP-) Schnittstelle von Fig. 2.

Fig. 4 zeigt ein schematisches Blockschaltbild des Zuerst- Hinein-Zuerst-Hinaus-(FIFO-) Registers von Fig. 3.

Fig. 5 zeigt ein Flußdiagramm von verschiedenen Zuständen der Leseadressenerzeugungseinrichtung von Fig. 4.

Fig. 6 zeigt ein schematisches Blockschaltbild der Steuerungseinheit von Fig. 2.

Fig. 7 zeigt ein schematisches Blockschaltbild der Laufsteuereinrichtung von Fig. 2.

Fig. 8 zeigt ein schematisches Blockschaltbild des Lauflängen-(RL-) Registers von Fig. 7.

Fig. 9 zeigt ein schematisches Blockschaltbild des Lauflängen-(RL-) Zählers von Fig. 7.

Fig. 10 zeigt ein schematisches Blockschaltbild der Rampensignalerzeugungseinrichtung von Fig. 7.

Fig. 11A und B veranschaulichen die Erzeugung des Rampensignals der Erzeugungseinrichtung von Fig. 10.

Fig. 12 zeigt ein schematisches Blockschaltbild eines der Farbinterpolatoren von Fig. 2.

Fig. 13 zeigt eine schematisches Blockschaltbild des Interpolators A von Fig. 12.

Fig. 14 zeigt ein schematisches Blockschaltbild des Interpolators B von Fig. 12.

Fig. 15 zeigt ein schematisches Blockschaltbild einer der Farbmischeinrichtungen von Fig. 2.

Fig. 16 zeigt ein schematisches Blockschaltbild der Mischeinrichtung A von Fig. 15.

Fig. 17 zeigt ein schematisches Blockschaltbild der Mischeinrichtung B von Fig. 15.

Fig. 18 zeigt ein schematisches Blockschaltbild des Lichtdurchlässigkeitsinterpolators von Fig. 2.

Fig. 19 zeigt ein schematisches Blockschaltbild der Lichtdurchlässigkeitsinterpolator-Synchronisationseinrichtung von Fig. 18.

Fig. 20 zeigt ein schematisches Blockschaltbild des Lichtdurchlässigkeitsinterpolators A von Fig. 18.

Fig. 21 zeigt ein schematisches Blockschaltbild des Lichtdurchlässigkeitsinterpolators B von Fig. 18.

Fig. 22 zeigt ein schematisches Blockschaltbild der Mattheitskombinationseinrichtung von Fig. 2.

Fig. 23 zeigt ein schematisches Blockschaltbild der Mattheits-Sychronchronisationseinrichtung von Fig. 22.

Fig. 24 zeigt ein schematisches Blockschaltbild der Mattheitsverzögerungseinrichtung von Fig. 22 und

Fig. 25 zeigt ein schematisches Blockschaltbild der Mattheitsberechnungseinrichtung von Fig. 22.

Wie es aus Fig. 1A ersichtlich ist, weist ein einfaches Bildverarbeitungssystem einen Allzweckcomputer 1, eine Graphikeinheit 10, einen Arbeitsbildschirm-(WS-) Speicher 30 mit typischerweise maximalen 3 Mbytes und einen zur Hochauflösung geeigneten Bildschirm oder Monitor 3 auf. In diesem System können in dem Computer 1 gespeicherte Bilder auf dem Monitor 3 angezeigt und über die Graphikeinheit 10 und die (nicht dargestellte) dem Monitor 3 zugeordnete Tastatur verarbeitet werden.

Ein in Fig. 1B gezeigter weiterer Typ eines Bildverarbeitungssystems ist einem Farblaserkopierer 5 zugeordnet, der vorzugsweise der CANON CLC500 FARBLASERKOPIERER (eingetragene Marke) ist. Der Kopierer 5 weist eine Abtasteinrichtung 6 und einen Drucker 7 auf, die an einen Seitenspeicher oder Speicher 4 angeschlossen sind. Der Seitenspeicher 4 weist typischerweise maximal 96 Mbytes für ein gesamtes Bild der Größe A3 bei 400 dpi (Punkte pro Zoll) auf. Die Datenrate dieses Kopierers beträgt 13,35 MHz, welche im wesentlichen dieselbe wie eine Standardvideorundfunkdatenrate von 13,5 M Bildelementen/Sekunde ist. Der Computer 1 und die Graphikeinheit 10 sind im wesentlichen wie die vorherigen aufgebaut.

Wie es in Fig. 1C angezeigt ist, ist es möglich durch Bereitstellung eines Datenbusses 26, der die Graphikeinheit 10, den Arbeitsbildschirm-(WS-) Speicher 30 und den Seitenspeicher 4 miteinander verbindet, beide der vorstehend beschriebenen Systeme zu kombinieren. Mit dieser Konfiguration kann ein durch die Abtasteinrichtung 6 gelesenes Bild verarbeitet werden, während es auf dem Monitor 3 angezeigt und dann unter Verwendung des Druckers 7 ausgedruckt wird.

Fig. 1D veranschaulicht ein ähnliches System, das sicherstellt, daß eine Kameranachführung/Zoom-Einheit 9 zwischen dem Datenbus 26 und dem Arbeitsbildschirmspeicher 30 zur weiteren Verbesserung der Beschaffenheit der ausführbaren Bilddatenverarbeitungen bereitgestellt ist.

Das System von Fig. 15 betrifft im wesentlichen Videobilder, die entweder Stehvideobilder oder Zeilen eines Livevideobilds für den Rundfunk oder andere Zwecke sein können. Hier stellt die Graphikeinheit 10 einen Ausgang (nur) zu einem Zeilenspeicher 40 bereit, der nach dem FIFO-("First In First Out") Prinzip arbeitet und der Reihe nach das notwendige Ausgangsvideosignals zu einem Dreifach-Digital- Analog-Wandler (DAC) 41 ausgibt.

Zuletzt weist, wie es aus Fig. 1F ersichtlich ist, ein interaktives Videobildverarbeitungssystem den Computer 1 und die Graphikeinheit 10 auf, wie es vorstehend beschrieben wurde, jedoch gibt die Graphikeinheit 10 Daten zu einem doppelt gepufferten Vollbildspeicher 42 aus, und sie empfängt Daten von diesem. Der Vollbildspeicher ist zum Empfang von Videodaten von einer Videobildquelle 43 und zur Ausgabe von Videodaten zu einem Videoziel 44 geeignet.

In Anbetracht der vorstehend beschriebenen Anwendungen wird nun mit Bezug auf Fig. 2 und mit allgemeinem Bezug auf ein Bildverarbeitungssystem des allgemeinen in Fig. 1D dargestellten Typs das bevorzugte erfindungsgemäße Ausführungsbeispiel der Graphikeinheit 10 nachstehend beschrieben.

Es ist aus Fig. 2 ersichtlich, daß die Graphikeinheit 10 einen einen Videoeingang bereitstellenden Eingangsdatenbus 11 und einen Ausgangsvideodatenbus 19 aufweist. Ebenfalls in der Graphikeinheit 10 ist eine Render-Prozessor-(RP-) Schnittstelle 100, eine Lauflängensteuereinrichtung 200 und eine Steuerungseinheit 300 enthalten. Ein Datenweg umfaßt Interpolatoren 400 für rot, grün und blau, einen Licht durchlässigkeitsinterpolator 600 wie auch Mischeinrichtungen 500 für rot, grün und blau und eine Mattheitskombinationseinrichtung 700. Eine Adressenerzeugungseinrichtung 800 und eine Schreibsteuereinrichtung 900 sind ebenfalls bereitgestellt.

Befehle treten über die Render-Prozessor-(RP-) Schnittstelle 100 und sowohl den RP-Daten bereitstellenden Bus 12 als auch den die RP-Steuerung bereitstellenden Bus 13 in die Graphikeinheit 10 ein. Signalleitungen 14 stellen die direkte Speicherzugriffs-(DMA-) Steuerung bereit. Die Steuerungseinheit 300 nimmt zwei Taktsignale 15 entgegen, die einen typischerweise bei 13,35 MHz arbeitenden Bildelementtakt aufweisen. Die Steuerungseinheit 300 liest Daten von der Render-Prozessor-(RP-) Schnittstelle 100, interpretiert diese empfangenen Befehle und überträgt die Befehlsoperanden zu der Laufsteuereinrichtung 200 und zu dem die Interpolatoren 400 aufweisenden Datenweg. Die Befehlsoperanden werden ebenfalls zu der Adressenerzeugungseinrichtung 800 und zu der Schreibsteuereinrichtung 900 übertragen. Die Steuerungseinheit 300 ist ebenfalls für die Dekodierung des Mikorcodes von diesen Befehlen verantwortlich, der nachfolgend durch jeweilige Ausführungsvorrichtungen in der Einheit 10 verwendet wird.

Die Laufsteuereinrichtung 200 ist mit der Lauflänge des speziellen Graphikbefehls durch die Steuerungseinheit 300 initialisiert und erzeugt eine linear ansteigende Zahl in Form eines Rampensignals von 0 bis 255 für die Dauer des Laufs. Dieses Rampensignal wird von den Interpolatoren 400 zur Steuerung des Mischungsverhältnisses in Mischungsbefehlen verwendet.

Die Graphikeinheit 10 ist zum Betrieb mit Rot-, Grün-, Blau- und Mattheits-(RGBM-) Informationen aufgebaut, was dem Industriestandard entspricht. Der Farbdatenweg der Rot- , Grün- und Blau- Interpolatoren 400 wird in dem allgemeinen Fall eines Mischungsbefehls durch die Steuerungseinheit 300 mit einer Startfarbe und einer Endfarbe initialisiert. Der Farbdatenweg erzeugt eine Mischung zwischen diesen beiden Farben und setzt dann das Ergebnis einschließlich eines Prozentsatzes der derzeitigen Farbe in dem Bildelementspeicher (Arbeitsbildschirm-(WS-) Speicher 30 oder Seitenspeicher 4) über den RGBM-Ausgabebus 19 zusammen. Der Lichtdurchlässigkeitsdatenweg weist einen Lichtdurchlässigkeitsinterpolator 600 und eine Mattheitskombinationseinrichtung 700 auf. In dem einfachen Fall eines Lichtdurchlässigkeitsmischungsbefehls wird der Lichtdurchlässigkeitsdatenweg durch die Steuerungseinheit 300 mit einer Startlichtdurchlässigkeit und einer Endlichtdurchlässigkeit initialisiert. Der Lichtdurchlässigkeitsdatenweg erzeugt eine Mischung zwischen diesen beiden Werten, wobei das Ergebnis zur Steuerung der Zusammensetzungsverhältnisse in den Farbbestandteilen verwendet wird. Die Lichtdurchlässigkeitsmischung kann ebenfalls mit dem Mattheitsfeld in dem Bildelementspeicher geschrieben oder zusammengesetzt werden.

Die Adressenerzeugungseinrichtung 800 stellt die Lese- und Schreibadressen für den Bildelementspeicher 4,30 bereit. Die Adressen für den Seitenspeicher 4 werden unabhängig von denen des Arbeitsbildschirm-(WS-) Speichers 30 beibehalten, was das Lesen von dem über Puffer mit den Bussen 11 und 19 verbundenen Seitenspeicher 4 ermöglicht, damit dieses parallel zu dem Schreiben in den Arbeitsbildschirmspeicher 30 auftritt und umgekehrt.

Die Schreibsteuereinrichtung 900 stellt synchronisierte Lese- und Schreibsignale dem Bildelementspeicher 4,30 bereit. Zur Synchronisation der Kameranachführung/Zoom-Einheit 9 stellt die Schreibsteuereinrichtung 900 ein ANHALTEN-Signal zur Abstellung des Betriebs in allen Ausführungseinheiten der Einheit 10 beim Warten auf den Abschluß des Lese- oder Schreibzugriffs auf den Arbeitsbildschirm-(WS-) Speicher 30 bereit. Die Schreibsteuereinrichtung 900 behält ebenfalls eine Pipeline von Betriebszustandssignalen bei, die den bei anderen Ausführungseinheiten verwendeten Mikrocode enthält.

Der vorstehend beschriebene Datenweg weist einen in drei Bestandteilfarben Rot, Grün und Blau aufgeteilten Farbabschnitt auf. Jeder Farbbestandteil ist in zwei Stufen mit einem Interpolator 400 und einer Zusammensetzungs- bzw. Mischeinrichtung 500 getrennt. Die Interpolatoren 400 sind für die Erzeugung der gemischten Farben verantwortlich und die Mischeinrichtungen 500 sind für die Zusammensetzung der Mischung mit dem Bildelementspeicher verantwortlich.

Der Lichtdurchlässigkeitsabschnitt des Datenwegs weist ebenfalls einen Interpolator 600, aber keine Mischeinrichtung auf. Bei der Zusammensetzung in das Mattheitfeld wird die Grünmischeinrichtung 400 verwendet. Die Mattheitskombinationseinrichtung 700 stellt der Farbmischeinrichtung 500 das Mischungsverhältnis bereit, welches sie aus einer von mehreren möglichen Lichtdurchlässigkeitsquellen auswählt. Der Mattheitsausgang ist ebenfalls der Rotmischeinrichtung 500 zugeführt, die den Daten, die in das Mattheitsfeld geschrieben würden, ermöglicht, stattdessen in das Rotfeld geschrieben zu werden.

Nachdem der Aufbau der Graphikeinheit 10 vorgestellt wurde, wird nun nachstehend die Steuerung der verschiedenen Bestandteile davon in weiteren Einzelheiten beschrieben.

Die Steuerungseinheit 300 ladet vorab eine Einstellungsstufe eines Graphikbefehls in die Ausführungseinheiten, selbst falls der vorherige Befehl noch ausgeführt wird. Sind alle Befehlsparameter geladen und ist der vorherige Befehl abgeschlossen, wird die Graphikanweisung mit einem "START"- Signal eingeleitet. Der Datenweg 400/500 und die Adressenerzeugungseinrichtung 800 fahren parallel fort und senden das erste Bildelement nach einem Minimum von sechs Taktperioden bzw. Taktdauern des Bildelementtaktsignals PXCLK 15. Ein neues Bildelement wird danach alle Taktzyklen für die Dauer der Anweisung ausgesendet, wenn dies nicht durch eine an die Einheit 10 angeschlossene periphere Vorrichtung an gehalten wird. Die ganze Zeit der Anweisung führt eine (in Verbindung mit Fig. 10 nachstehend beschriebene) Rampensignalerzeugungseinrichtung 250 in der Laufsteuerungseinrichtung 200 eine linear ansteigende Zahl von 0 bis 255 der Steuereinrichtung 300 zu und zeigt diese Zahl der Steuereinrichtung 300 an, wenn die Anweisung über ein "LETZTES"- Signal abgeschlossen ist. Die Schreibsteuereinrichtung 900 dient über den Bus 21 als Schnittstelle zu dem Bildelementspeicher 4,30 oder dem Vollbildspeicher 2 auf. Die Schreibsteuereinrichtung 900 dient ebenfalls als Schnittstelle zu einem weiteren Bus 20, der der Kameranachführung/Zoom- Einheit 9 und dem Arbeitsbildschirm-(WS-) Speicher 30 zugeführt ist, und hält die Spur wann und wo Bildelemente zu lesen und zu schreiben sind.

Es gibt drei Arten von durch die Graphikeinheit 10 ausgeführten Befehlen. Diese sind: Mischungs- bzw Zusammensetzungsbefehle, Konfigurationsbefehle und Synchronisationsbefehle. Zusammensetzungsbefehle gehören zu dem am meisten gebräuchlichen Art von zu der Einheit 10 gegebenen Anweisungen, wobei sie dem Computer 1 ermöglichen, über den Arbeitsbildschirm-(WS-) Speicher 30 lineare Vollfarbenmischvorgänge in dem Seitenspeicher 4 und auf dem Bildschirm 3 auszuführen. Konfigurationsbefehle werden zur Einstellung interner oder externer Hardwareanschlüsse vor der Ausführung von Zusammensetzungsbefehlen verwendet. Synchronisationsbefehle werden zum Halten der Graphikeinheit 10 synchron zu internen oder externen Hardwareereignissen verwendet. Tabelle 1 zeigt die drei Anweisungsarten und ihre jeweiligen Anweisungscodes.

Die Quelle und das Ziel von Mischungsvorgängen können entweder der Mischungs- bzw. Zusammensetzungsseitenspeicher 4 (CM) oder der Arbeitsbildschirm 3 (WS) sein. Entsprechend gibt es vier Arten von Mischungs- bzw. Zusammensetzungsbefehlen: Zusammensetzung in dem Mischungs- bzw. Zusammensetzungsspeicher 4, Zusammensetzung in dem Arbeitsbildschirmspeicher 30, Zusammensetzung aus dem Zusammensetzungsspei cher 4 in den Arbeitsbildschirmspeicher 30 und Zusammensetzung aus dem Arbeitsbildschirmspeicher 30 in den Zusammensetzungsspeicher 4. Während der Zusammensetzungsseitenspeicher-(CM-)-zu-Zusammensetzungsseitenspeicher-(CM-) Zusammensetzung wird ein Bildelement alle Bildelementtaktdauern (75 ns) gelesen und geschrieben. Lesen wird während der ersten Hälfte der Bildelementtaktdauern und Schreiben während der zweiten Hälfte ausgeführt. Die Graphikeinheit 10 verwendet ein Pipeline-Verzögerungssystem, bei dem Daten zwischen verschiedenen Vorrichtungen in der Einheit 10 aufeinanderfolgend übertragen werden. Entsprechend besteht eine Verzögerung zwischen dem Lesen des "alten" Werts eines Bildelements und dem Schreiben des "neuen" Wertes des Bildelements. Aus diesem Grund verändert sich die Adresse des Zusammensetzungsspeichers 4 zwischen den ersten und zweiten Hälften der Bildelementtaktdauer.

Infolge von zeitlichen Abhängigkeitsverhältnissen in dem Zusammensetzungsspeicher 4 liegt eine Bildelementtaktdauerverzögerung zwischen Ausgeben einer Leseadresse und Lesen der Daten unter dieser Adresse vor. Diese Verzögerung wird durch Justierung der Position in der Pipeline der Graphikeinheit 10 kompensiert, wo die gelesenen Daten empfangen werden. Der Zusammensetzungsspeicher 4 weist beim Schreiben von Bildelementdaten ebenfalls eine Eintaktverzögerung auf, aber dies beeinflußt den internen Betrieb der Graphikeinheit 10 nicht.

Während der Arbeitsbildschirm-(WS-) zu Arbeitsbildschirm(WS-) Zusammensetzung wird ein Maximum eines Bildelements in jeder Bildelementtaktdauer (75n) gelesen oder geschrieben. Lesen wird in einer Bildelementtaktdauer angefordert und Schreiben in einer anderen. Wegen den Pipelineverzögerungen in der Graphikeinheit 10 verändert sich aus denselben wie vorstehend beschriebenen Gründen die Adresse des Arbeitsbildschirm-(WS-) Speichers 30 zwischen aufeinanderfolgenden Lese- und Schreibanforderungen.

Infolge von zeitlichen Abhängigkeitsverhältnissen in dem Arbeitsbildschirm-(WS-) Speicher 30 kann eine Verzögerung zwischen der Ausgabe einer Leseanforderung und Lesen der Daten unter dieser Adresse vorliegen. Handshakesignale von der Kameranachführung/Zoom-Einheit 9 zeigen an, wenn die Daten bereit sind. Diese Verzögerung wird durch Anhalten der Pipeline der Graphikeinheit 10 bis die gelesenen Daten empfangen wurden kompensiert. Die Graphikeinheit 10 ließt die Daten von dem Monitor oder Arbeitsbildschirm 3 in der Taktdauer nachdem das Lesebestätigungshandshakesignal von der Kameranachführung/Zoom-Einheit 98e 8 empfangen wurde, um mit der Eintaktverzögerung in dem Zusammensetzungsspeicher 4 kompatibel zu sein. (Nicht dargestellte und zu der vorstehend beschriebenen Graphikeinheit externe) Signalspeicher (Latches) halten die Daten während dieser Verzögerung. Der Arbeitsbildschirm-(WS-) Speicher 30 kann ebenfalls eine Verzögerung beim Schreiben von Bildelementdaten aufweisen. Typischerweise wird das erste geschriebene Bildelement nicht verzögert sein, da die Schreibanforderung "festgehalten" und in aufeinanderfolgenden Taktdauern ausgeführt wird. Das Kameranachführung/Zoom-Verhältnis muß auf 1 : 1 für die Arbeitsbildschirm-(WS-) zu Arbeitsbildschirm- (WS-) Zusammensetzung eingestellt sein, wie es für den Fachmann verständlich ist.

Die Zusammensetzungsseitenspeicher-(CM-) zu Arbeitsbildschirm-(WS-) Zusammensetzung wird zur Übertragung von Bildelementdaten von dem Zusammensetzungsspeicher 4 zu dem Arbeitsbildschirmspeicher 30 verwendet. Während der Zusammensetzungsseitenspeicher-(CM-) zu Arbeitsbildschirm-(WS-) Zusammensetzung wird ein Maximum von einem Bildelement in jeder Bildelementtaktdauer gelesen und geschrieben. Lesen wird von dem Zusammensetzungsspeicher 4 in der ersten Hälfte der Bildelementtaktdauer angefordert. Schreiben wird von dem Arbeitsbildschirm-(WS-) Speicher 30 während der gesamten Bildelementtaktdauer angefordert, aber die Adresse und die Daten sind nur in der zweiten Hälfte der Bildelementtaktdauer verfügbar. Getrennte Adressen werden für die Ar beitsbildschirmadresse und die Adresse des Zusammensetzungsspeichers 4 beibehalten.

Infolge von zeitlichen Abhängigkeitsverhältnissen in dem Mischungs- bzw. Zusammensetzungsspeicher 3 liegt eine Einbildelementtaktdauerverzögerung zwischen der Ausgabe einer Leseadresse und Lesen der Daten unter dieser Adresse vor. Diese Verzögerung wird durch Justierung der Position in der Pipeline der Grahikeinheit 10 kompensiert, wo die gelesenen Daten empfangen werden. Infolge zeitlicher Abhängigkeitsverhältnisse in dem Arbeitsbildschirm-(WS-) Speicher 30 kann eine Verzögerung zwischen der Ausgabe der Schreibanforderung und dem Empfang des entsprechenden Handshakesignals von der Kameranachführung/Zoom-Einheit 9 vorliegen, das anzeigt, daß die Daten akzeptiert wurden. Diese Verzögerung wird durch Anhalten der Graphikeinheitpipeline, bis das Handshakesignal empfangen wurde, kompensiert. Die Schreibadresse und die Daten werden noch einmal in der zweiten Hälfte der nächsten Taktdauer präsentiert, bis das Handshakesignal empfangen wird. Typischerweise wird das erste geschriebenen Bildelement nicht verzögert, da die Schreibanforderung festgehalten und in nachfolgenden Taktperioden ausgeführt wird.

Die Zusammensetzungsseitenspeicher-(CM-) zu Arbeitsbildschirm-(WS-) Zusammensetzung kann zusammen mit einem Verringerungszoomverhältnis zur Verringerung der Größe des Arbeitsbildschirm-(WS-) Bilds verwendet werden. Bei einer Verringerungsbetriebsart verringert die Kameranachführung/Zoom-Einheit 9 Bildelemente von der Graphikeinheit 10 und schreibt nur jedes "N-TE" Bildelement. Dies ist für den Betrieb der Graphikeinheit 10 offenkundig, da der einzige Unterschied, den sie wahrnimmt, der ist, daß das Schreiben schneller abgeschlossen zu sein scheint.

Die Zusammensetzungsseitenspeicher-(CM-) zu Arbeitsbildschirm-(WS-) Zusammensetzung kann ebenfalls zusammen mit einem Vergrößerungszoomverhältnis zur Erhöhung der Größe des Arbeitsbildschirm-(WS-) Bilds verwendet werden. In der Ausweitungsbetriebsart liest die Kameranachführung/Zoom- Einheit 9 ein Bildelement von der Graphikeinheit 10 und schriebt die nächsten "N · N" Bildelemente mit demselben Wert. Dies ist ebenfalls für den Betrieb der Graphikeinheit 10 offenkundig, da der einzige wahrgenommene Unterschied der ist, daß das Schreiben zum Abschließen länger zu dauern scheint. Es wird angemerkt, daß nur die erste Bildelementadresse in einem Lauf durch die Kameranachführung/Zoom- Einheit 9 verwendet wird. Die Graphikeinheit 10 erzeugt Adressen für nachfolgendefolgende Bildelemente, aber diese Adressen sind nicht für die derzeitige Verwirklichung der Kameranachführung/Zoom-Einheit 9 erforderlich.

Die Arbeitsbildschirm-(WS-) zu Zusammensetzungsseitenspeicher-(CM-) Zusammensetzung wird zur Übertragung von Bildelementdaten von dem Arbeitsbildschirm-(WS-) Speicher 30 zu dem Zusammensetzungsspeicher 4 verwendet. Während der Arbeitsbildschirm-(WS-) zu Zusammensetzungsseitenspeicher- (CM-) Zusammensetzung wird ein Maximum von einem Bildelement in jeder Bildelementtaktdauer gelesen und geschrieben. Lesen wird von dem Arbeitsbildschirmspeicher 30 in der ersten Hälfte der Bildelementtaktdauer angefordert und Schreiben wird auf dem Zusammensetzungsspeicher 4 in der zweiten Hälfte der Bildelementtaktdauer ausgeführt. Wurde das Arbeitsbildschirmlesen durch das Ende der Bildelementaktdauer nicht bestätigt, wird die Pipeline angehalten. Die Leseanforderung wird anstehend verbleiben und das Schreiben in den Zusammensetzungsspeicher 4 wird unter derselben Adresse wiederholt. Getrennte Adressen werden für die Adressen des Arbeitsbildschirm-(WS-) Speichers 30 und die Adressen des Mischungs- bzw. Zusammensetzungsspeichers 4 beibehalten.

Infolge zeitlicher Abhängigkeitsverhältnisse in dem Arbeitsbildschirm-(WS-) Speicher 30, kann eine Verzögerung zwischen der Ausgabe einer Leseanforderung und Lesen der Daten unter dieser Adresse vorliegen. Noch einmal zeigen Handshakesignale von der Kameranachführung/Zoomeinheit 9 an, wenn die Daten bereit sind. Diese Verzögerung wird durch Anhalten der Graphikeinheitpipeline 10, welches andauert bis die gelesenen Daten empfangen wurden, kompensiert. Der Zusammensetzungsspeicher 4 weist eine Eintaktverzögerung beim Schreiben der Bildelementdaten auf, aber dies beeinflußt den Anfangsbetrieb der Graphikeinheit 10 nicht.

Die Arbeitsbildschirm-(WS-) zu Zusammensetzungsseitenspeicher-(CM-) Zusammensetzung kann zusammen mit einem Verringerungs- Verhältnis zur Erhöhung der Größe des Bilds verwendet werden, da dieses in den Zusammensetzungsspeicher 4 kopiert wird. In dieser Betriebsart initialisiert die Kameranachführung/Zoom-Einheit 9 eine Arbeitsbildschirm-(WS-) Adresse während des ersten Bildelements in einem Lauf, aber sie erhöht diese Adresse nur nach allen "N" Bildelementleseanforderungen von der Graphikeinheit 10. Dies hat die Wirkung der Ausweitung jedes Bildelements, aber dies ist für den Betrieb der Graphikeinheit 10 offenkundig. Es wird bemerkt, daß nur die erste Bildelementadresse in einem Lauf durch die Kameranachführung/Zoom-Einheit 9 verwendet wird. Die Graphikeinheit 10 erzeugt Adressen für nachfolgende Bildelemente, aber diese Adressen berücksichtigen das Verringerungsverhältnis nicht.

Die Arbeitsbildschirm-(WS-) zu Zusammensetzungsseitenspeicher-(CM-) Zusammensetzung darf nicht zusammen mit einem Ausweitungszoomverhältnis in der Kameranachführung/Zoom- Einheit 9 verwendet werden.

Konfigurationsbefehle werden zur Einstellung interner und externer Hardware vor der Ausführung von Zusammensetzungsbefehlen verwendet. Die Befehle können zwischen Zusammensetzungsbefehlen zur Ermöglichung von auszubildenden langen Anweisungsfolgen ausgeführt werden.

Ein Ladezoomverhältnisbefehl übertragt über den Arbeitsbildschirm-(WS-) Adressenbus ein der Anweisung folgendes Parameterwort zu der Kameranachführung/Zoom-Einheit 9. Der Ausweitungsfaktor tritt in den Bits 3 bis 0 des Parameters auf und der Verringerungsfaktor tritt in den Bits 7 bis 4 auf. Der Zeitverlauf für die Übertragung ist die gleiche wie für einen Arbeitsbildschirm-(WS-) Schreibbefehl, wobei keine Bildelemente geschrieben werden. Das "Lauflängen"- Feld des Ladezoomverhältnisbefehls wird auf eins eingestellt. Tabelle 2 zeigt die Ladezoomverhältnisparameter.

Ein Konfigurationsbefehl einer Ladegrahikeinheit (GE) ermöglicht verschiedene in der Graphikeinheit 10 einzustellende Betriebsarten. Idealerweise sind diese Betriebsarten in jeder Graphikanweisung enthalten. Eine begrenzte Anzahl von Bits in dem Anweisungswort jedoch verhindert diese Möglichkeit. Tabelle 3 zeigt die Ladegrahikeinheit-(GE-) Konfigurationsparameter.

Bits 6 bis 4 der der Ladegrahikeinheit-(GE-) Konfigurationsanweisung folgenden Parameter stellen die "Mattheit für Rot", die "Mattheit für Grün" bzw. die "Mattheit für Blau"- Betriebsarten dar. Bits 3 bis 0 der Parameter stellen "Schreibfreigaben" für die R-, G-, B- und M-Felder des Arbeitsbildschirm-(WS-) Speicher 30 dar. Diese Schreibfreigaben stellen einen Weg zur Blockierung des Schreibens in einzelne Felder in den Arbeitsbildschirm-(WS-) Speicher 30 bereit. Das Schreiben des Zusammensetzungsspeichers 4 wird durch diese Bits nicht beeinflußt. Bild- und Mattheits- Schreibfreigaben in Graphikanweisungen können ebenfalls das Schreiben blockieren, aber nicht zu einzelnen Feldern. Bits 6 bis 0 werden zur Ermöglichung verwendet, daß normal in das Mattheitsfeld geschriebene Daten in das Rotfeld geschrieben werden. Bits 10 bis 7 ermöglichen, daß Bildschirmzusammensetzungsvorgänge unter bestimmten Bedingungen beschleunigt werden. Werden "Bitmasken"-Anweisungen verwendet und ist das Zoomverhältnis 1 : 1, können diese drei Bits eingestellt werden. Das SBR-(skip bit matte reads) Bit gibt die Betriebsart des "Auslassens des Bitmattheitslesens" frei. In dieser Betriebsart wird ein Bildschirmlesen von dem Arbeitsbildschirm (WS) nicht angefordert, falls das geeignete Bit in der Bitmaske das nachfolgende Bildschirmschreiben blockiert hat. Falls das Lesen "ausgelassen" wurde, wird das Bildelement nur eine Bildelementtaktdauer anstelle der drei oder mehreren benötigen, die bei der derzeitigen Verwirklichung der Kameranachführung/Zoom-Einheit 9 erforderlich sind. Ein Text enthält typischerweise einen großen Prozentsatz eines "weißen Platzs", so daß die möglichen Zeiteinsparungen wesentlich sind.

Das SBW-Bit gibt eine Betriebsart des "Auslassens des Bitmattheitsschreibens" frei. Diese Betriebsart blockiert Bildschirmschreibanforderungen, wenn das geeignete Bit in der Bitmaske 0 ist, und zwar eher als eine einfache Blockierung der Bildschirmfeldschreibfreigaben. Um zu ermöglichen, daß die Betriebsarten des Auslassen des Bitmattheitslesens oder -schreibens mit der derzeitigen Verwirklichung der Kameranachführung/Zoom-Einheit 9 richtig funktionieren, ist es notwendig eine Leitung des Steuerungsbusses 21 des Mischungs- bzw. Zusammensetzungsspeichers 4 in jedem Lese- oder Schreibzyklus zum Übergehen der automatischen Adressenberechnungen der Kameranachführungs/Zoom-Einheit bereitzustellen. Die SER- und SEW-Bits geben den Start jeder Lese- oder den Start jeder Schreibfunktion an. Das "Lauflängen"-Feld des Ladungskonfigurationsbefehls sollte auf eins eingestellt sein.

Ein Laderegisterbefehl ermöglicht den meisten der internen Register der Graphikeinheit 10 einzeln oder gemeinsam geladen zu werden. Die Konfiguration der Ladungsregisteranweisung wird in Tabelle 4 gezeigt. Dieser Befehl wird zusammen mit der "Mikrocodeausführung"-Anweisung zu Testzwecken verwendet. Bits 27 bis 0 der Anweisung bestimmen, welches interne Register zu laden ist. Der der Anweisung folgende Parameter wird dann in das bestimmte Register geladen. Mehr als ein Register kann mit dem Parameter geladen werden. Zum Beispiel können wie in Tabelle 4 definierte Register 0 bis 3 gleichzeitig geladen werden, da jedes Register unter schiedliche Bits von dem Parameter verwendet. Typischerweise würde das "Mikrocode"-Register ebenfalls geladen werden, bevor die "Mikrocodeausführung"-Anweisung ausgegeben wird.

(Nachstehend zu beschreibende) Lauflängen- und Texturversatzregister können unter Verwendung des Registerladebefehls nicht geladen werden. Getrennte "Lauflängen"- und "Texturversatz"-Register genannte Register können jedoch geladen werden. Die Graphikpipeline verwendet diese Register anstelle der gewöhnlichen Register, wenn die "Mikrocodeausführung"-Anweisung ausgeführt wird. Tabelle 5 stellt eine Beschreibung verschiedener in der Graphikeinheit 10 ausgebildeter Register bereit.

Synchronistationsbefehle werden zum Beibehalten der Graphikeinheit 10 sychron zu internen und externen Hardwareereignisse verwendet. Es gibt zwei Synchronisationsbefehle, nämlich "kein Betrieb" (NOP) und WARTEN.

Die NOP-Anweisung hat keine andere Auswirkung auf die Graphikpipeline, als ein Wort und einen Taktzyklus zu verbrauchen. Es ist beabsichtigt sie am Ende einer Anweisungsfolge zu verwenden, so daß die Länge der Folge ein Vielfaches von vier 32-Bit-Wörtern ist. Dies stellt sicher, daß die DMA- Steuereinrichtung, die entlang des Busses 14 in Fig. 2 bereitgestellt ist und die Daten in Übertragungsblöcken von vier Wörtern überträgt, immer den letzten Befehl senden wird.

Die WARTEN-Anweisung hindert die Graphikeinheit 10 an der Ausführung neuer Anweisungen bis eines von drei Ereignissen eintritt. Diese Ereignisse sind: ein Signal des erneuten Startens der Hardware wird empfangen, ein Signal des erneuten Startens der Software wird empfangen oder die Graphikpipeline wird leer. Entsprechend den Wahlmöglichkeiten der Anweisungen wird ausgewählt, welches der Ereignisse eine Anweisungsausführung erneut starten wird. Bildelemente von der vorherigen Anweisung, die noch in der Graphikpipeline vorhanden sind, werden durch diese Anweisung nicht beeinflußt.

Die Wahlmöglichkeit des erneuten Startens der Hardware ermöglicht der Anweisungsausführung der Graphikeinheit 10, synchron zu externen "Echtzeit"-Ereignissen zu sein. Dies ist bei der Ausführung einer "Testabtastung" erforderlich, bei der die Graphikeinheit 10 zum Kopieren eines Bilds von dem Zusammensetzungsspeicher 4 zu dem Arbeitsbildschirm (WS) 3 verwendet wird, während die Abtasteinrichtung 6 gleichzeitig in den Seitenspeicher 4 schreibt. Die Graphikeinheit 10 und die Abtasteinrichtung 6 arbeiten an entgegengesetzten Hälften des Seitenspeichers 4 und verarbeiten (swap over) alle acht Zeilen. Die der Graphikeinheit präsentierte Anweisungsfolge ist in Mehrfachstreifen von acht. Zeilen getrennt. Eine einzelne WARTEN-Anweisung wird zwischen den Zusammensetzungsbefehlen für jeden Streifen eingefügt. Dies zwingt die Graphikeinheit 10 zum Warten auf die Abtasteinrichtung, damit diese die Graphikeinheit 10 "einholt", bevor zu dem nächsten Schritt fortgefahren wird.

Die Wahlmöglichkeit eines erneuten Startens der Software ermöglicht dem Computer 1 synchronisiert zu der Anweisungsausführung der Graphikeinheit zu sein. Falls der Computer 1 bestimmte Aufgaben zwischen Gruppen von Graphikanweisungen ausführen muß, kann eine WARTEN-Anweisung zwischen diesen Gruppen eingefügt werden. Erreicht die Graphikeinheit 10 die WARTEN-Anweisung, wird eine Unterbrechung wahlfrei erzeugt, wobei die Ausführung der neuen Anweisungen außer Kraft gesetzte wird bis der Computer 1 mit der Biteinstellung des ERNEUTEN STARTENS in ein STEUERUNGS-Register schreibt, wie es nachstehend beschrieben wird.

Die Wahlmöglichkeit des erneuten Startens der leeren Pipeline ermöglicht der Graphikeinheit 10 zu warten bis die vorherige Anweisung vollständig abgeschlossen wurde, bevor eine neue Anweisung begonnen wird. Diese Anweisung ist im allgemeinen beim normalen Betrieb nicht erforderlich. Sie ist nur erforderlich, falls ein Entwurfsfehler aufeinanderfolgenden Anweisungen ermöglicht hat, einander zu beeinflussen. Tabelle 6 zeigt die Bitbeziehung der Anweisung WARTEN.

Zusätzlich zu für den DMA-Bus 14 in Fig. 2 bereitgestellten Registern sind Register ebenfalls für den Computer 1 zum Dienen als Schnittstelle mit der Graphikeinheit 10 verfügbar. Tabelle 7 listet interne Register der Graphikeinheit 10 auf und zeigt die relative Adresse, die Größe und, ob die jeweilige Adresse lesbar oder schreibbar ist. Das BE- FEHLS-Register stellt einen wechselnden Mechanismus zum Schreiben von Graphikbefehlen in die Graphikeinheit 10 bereit. Schreiben in das BEFEHLS-Register plaziert die eingegebenen Daten auf der oberen Seite eines FIFO-(first in first out-) Registers 150 in der Render-Prozessor-(RP-) Schnittstelle 100, und ist effektiv dasselbe wie Schreiben über den DMA-Bus 14. Vor dem Schreiben in das BEFEHLS- Register sollte der Betriebszustand des FIFO-Registers 150 von dem BETRIEBSZUSTANDS-Register zur Sicherstellung gelesen werden, daß das FIFO-Register 150 nicht voll ist. Das Schreiben von Graphikbefehlen über das BEFEHLS-Register ist relativ langsam, da nicht erwartet wird, daß es beim normalen Betrieb Anwendung findet. Es stellt jedoch ein Mittel von "einzelnem schrittweisen Vorgehen" der Graphikeinheit 10 zur Fehlerbeseitigung und Selbsttestzwecken bereit. Das FIFO-Register 150 kann ebenfalls jeweils mit einem Wort beschrieben werden. Die Steuerungseinheit 300 jedoch ließt das FIFO-Register 150 nicht, bis dieser zumindest vier Wörter enthält. Tabelle 8 zeigt die Anordnung des Befehlsregisters.

Das STEUERUNGS-Register wird zur Einstellung von Unterbrechungsmasken, Löschunterbrechungen und zur Freigabe verschiedener Testbetriebsarten verwendet und weist eine wie in Tabelle 9 gezeigte Bitkonfiguration auf.

Das HIE-Bit betrifft die Hardwareunterbrechungsfreigabe. Falls es auf 1 eingestellt wird, wird der Computer 1 eine Unterbrechung empfangen, wenn bei Freigabe der Wahlmöglichkeit "erneutes Starten der Hardware" die Graphikeinheit 10 einen WARTEN-Befehl empfängt. Diese Unterbrechung wird durch Schreiben einer 1 in das CHI-Bit gelöscht (selbst falls die Graphikeinheit 10 gestoppt wurde). Die Einstellung des HIE-Bits kann aus dem BETRIEBSZUSTANDS-Register gelesen werden.

Das EIE-Bit betrifft die "FEHLER"-Unterbrechungsfreigabe. Falls es auf 1 eingestellt wurde, wird der Computer 1 eine Unterbrechung empfangen, wenn die Graphikeinheit 10 einen Fehlerzustand erfaßt. Diese Unterbrechung wird durch Schreiben einer 1 in das CEI-Bit gelöscht, bis ein neuer Fehler erfaßt wird. Ein Fehler wird erfaßt, falls eine Anweisung des erneuten Startens der Hardware oder eine Anweisung des erneuten Startens der Software empfangen wurde, wenn sich die Graphikeinheit 10 nicht in dem GESTOPPTEN Zustand befindet. In dem Fall eines erneuten Startens der Hardware zeigt dieses einen Verlust der Synchronisation zu dem externen Echtzeitereignis an. Die derzeitige Einstellung des EIE-Bits kann aus dem BETRIEBSZUSTANDS-Register gelesen werden.

Das RST-Bit wird zum erneuten Starten der Graphikpipeline verwendet. Verändert sich dieses Bit von einer 0 in eine 1, wird die Graphikpipeline erneut gestartet.

Das SWR-Bit wird zur Erzeugung eines erneuten Startens der Software verwendet. Wird es auf eine 1 eingestellt, wird die gesamte Graphikeinheit 10 auf den Leistungsversorgung- Ein-Rücksetzzustand zurückgesetzt. Das SWR-Bit braucht nicht durch einen Programmierer gelöscht werden, da das STEUERUNGS-Register ebenfalls zurückgesetzt wurde.

Das SEE-Bit betrifft die "Stoppen bei Fehler"-Freigabe. Falls es auf eine 1 gesetzt wurde, wird die Graphikeinheit 10 bei Erfassung eines Fehlers in den GESTOPPTEN Zustand eintreten.

Sechs mit TMn festgelegte Bits werden zu Freigabe von Testbetriebsarten in Blöcken in der Graphikeinheit 10 verwendet. TM0 wird zum Versetzen des Lauflängenzählers 220 in eine Testbetriebsart verwendet, wie es nachstehend beschrieben wird. TM1 wird zum Versetzen von Seiten- und Bildschirmadressenzählern in der Adressenerzeugungseinrichtung 800 in eine Testbetriebsart verwendet, wie es ebenfalls nachstehend beschrieben wird.

Das BETRIEBSZUSTANDS-Register wird zur Überwachung der Unterbrechungsflags und des Betriebszustands des FIFO- Registers 150, zum Lesen der Ausführungsnummer und zum Lesen der Betriebszustände der verschiedenen Testmodule verwendet. Tabelle 9 zeigt die Konfiguration des Betriebszustandsregisters.

Die HIE-, SIE- und EIE-Bits geben den Zustand der in dem STEUERUNGS-Register eingestellten Unterbrechungsmasken wieder. Die HIF-, SIF- und EIF-Bits sind Unterbrechungsflags. Falls diese Flags gesetzt sind und ihr entsprechendes Unterbrechungsfreigabebit eingestellt ist, wird eine Unterbrechung erzeugt.

Das HIF-Bit wird gesetzt, wenn die Graphikeinheit 10 einen WARTEN-Befehl mit der Wahlmöglichkeitsfreigabe "erneuten Startens der Hardware" empfängt. Dieses Bit wird durch Schreiben einer 1 in das CHI-Bit in dem STEUERUNGS-Register gelöscht.

Das SIF-Bit wird gesetzt, wenn die Graphikeinheit 10 einen WARTEN-Befehl mit der Wahlmöglichkeitsfreigabe "erneuten Startens der Software" empfängt. Dieses Bit wird durch Schreiben einer 1 in das CSI-Bit in dem STEUERUNGS-Register gelöscht.

Das EIE-Bit wird bei Erfassung eines Fehlerzustands gesetzt. Diese Unterbrechung wird durch Schreiben einer 1 in das CEI-Bit in dem STEUERUNGS-Register gelöscht.

Das FFF-Bit wird gesetzt, wenn das FIFO-Register 150 voll ist, was anzeigt, daß das BEFEHLS-Register nicht beschrieben werden soll.

Das GR-Bit wird gesetzt, wenn die Graphikeinheit 10 arbeitet. Arbeiten wird als "nicht wartend bei nicht leerem FI- FO-Register 150" definiert (d. h., wenn die Graphikeinheit 10 eine Anweisung ausführt).

Das DOE-Bit wird gesetzt, wenn eine DMA-Steuereinrichtung mit der Render-Prozessor-(RP-) Steuereinrichtung 120 einen Überlaufzustand in dem FIFO-Register 150 erfaßt. Die TSn Bits geben den Pegel einer Anzahl interner Betriebsarten wieder, die während des Testens durch den Vorrichtungshersteller bei der Herstellung der Graphikeinheit 10 unter Verwendung der LSI-Technologie verwendet wurden. Die Vn Bits enthalten die Ausführungsnummer des integrierten Schaltungs-(LSI-) Chips.

Die Eingangssignale und Ausgangssignale der Graphikeinheit 10 können in vier Kategorien eingeteilt werden:

1. Schnittstellensignale mit dem Computer 1, wobei gemäß dem bevorzugten Ausführungsbeispiel der Computer ein bei 33 MHz arbeitender i960-Prozessor ist.

2. Schnittstellensignale des Seitenspeichers 4.

3. Kameranachführung/Zoom-Schnittstellensignale, und

4. weitere Zusammenschaltungssignale.

Tabelle 10 stellt eine Liste jeder dieser Signale bereit.

Der Computer 1 (i960) kann auf die Graphikeinheit 10 auf drei Arten zugreifen: durch DMA-Schreiben, Registerlesen und Registerschreiben. Die DMA-Schnittstelle 14 wird zur Übertragung von Graphikbefehlen aus dem Speicher des Computers 1 mit hoher Geschwindigkeit verwendet. Registerschreiben wird zur Konfiguration der Graphikeinheit 10 und Registerlesen wird zur Überwachung des Betriebszustands der Graphikeinheit 10 verwendet. Registerlesen und -schreiben werden ebenfalls in Test- und Fehlerbeseitigungsbetriebsarten verwendet.

DMA-Zugriffe mit hoher Geschwindigkeit sind zur Übertragung von großen Bildern zu der Graphikeinheit 10 ohne Beeinträchtigung des Betriebs des in Fig. 1 dargestellten Graphiksystems erforderlich. Die Graphikeinheit 10 weist ein internes FIFO-Register 150 auf, das vier aufeinanderfolgende 32-Bit-Wörter aus der DMA-Steuereinrichtung des Computers 1 bei einer einzelnen DMA-Übertragung annimmt. Diese Art der Übertragung ist als eine "Vierfachwortübertragungsblock-Flyby"-DMA-Übertragung bekannt. Eine DMA-Anforderung wird durch die Graphikeinheit 10 ausgegeben, immer dann, wenn das FIFO-Register 150 Platz für zumindest vier 32-Bit- Wörtern aufweist. Die DMA-Steuereinrichtung des Computers 1 bestätigt nachfolgend die Anforderung und schreibt vier 32- Bit-Worte von Daten bei einer einzelnen Übertragungsblockübertragung. Die Zeit zur Vervollständigung der Übertragung wird durch die Zugriffszeit des Speichers (gewöhnlich ein dynamischer Speicher mit wahlfreiem Zugriff RAM) des Computers 1 bestimmt. Die Zeit zwischen Zugriffen wird durch die verfügbare Bandbreite des den Computer 1 mit der Graphikeinheit 10 verbindenden Busses bestimmt. Falls keine weiteren DMA-Kanäle arbeiten, wird gewährleistet, daß der Graphikeinheit 10 zumindest ein 50%iger Zugriff auf diesen Bus möglich ist. Unter der Annahme, daß die meisten Zugriffe auf den Computer 1 Übertragungsblockzugriffe sind, ist die Spitzenwertübertragungsrate zu der Graphikeinheit 10 annähernd 432-Bit-Worte alle 26 Prozessortaktzyklen. Dies entspricht fünf Millionen Vollfarbenbildelementen pro Sekunde oder 20 MBytes pro Sekunde bei 33 MHz unter Verwendung des i960-Prozessors.

Register werden durch den Computer 1 unter Verwendung des 32-Bit-Datenbusses 12, einer Adressenleitung, eines Lese- /Schreib-Signals und eines Chips beschrieben, wie er durch den Bus 13 in Fig. 2 angezeigt ausgewählt ist.

Die Schnittstelle zwischen der Graphikeinheit 10 und dem Zusammensetzungsseitenspeicher 4 weist vorzugsweise eine Bandbreite von annähernd 100 MBytes pro Sekunde auf. Ein 32-Bit-Bildelement wird alle Bildelementtaktdauern (75 ns) gelesen und geschrieben. Lesen wird in der ersten Hälfte der Bildelementtaktdauern und Schreiben in der zweiten Hälfte ausgeführt. Der Datenbus 19 verändert die Richtung zweimal in jeder Bildelementtaktdauer. Da die Breite des Datenbusses 19 hoch ist (32 Bits) muß sichergestellt werden, daß keine Konkurrenz zwischen der Graphikeinheit 10 und dem Zusammensetzungsspeicher 4 vorliegt, wenn der Bus 19 vom Eingeben zum Ausgeben und vom Ausgeben zum Eingeben geschaltet wird.

Der Zusammensetzungsspeicher 4 verwendet Chips mit statischen Speichern mit wahlfreiem Zugriff (RAM) mit einer Zugriffszeit von 25 ns. Zur Lockerung zeitlicher Abhängigkeitsverhältnisse der Graphikeinheit 10 wird eine Taktverzögerung zwischen der Ausgabe einer Leseadresse und Lesen der Daten unter dieser Adresse eingefügt. Diese Verzögerung wird durch Justierung der Position in der Graphikpipeline der Einheit 10 kompensiert, bei der die Daten angenommen werden.

Ferner wird zur Lockerung zeitlicher Abhängigkeitsverhältnisse der Graphikeinheit eine Eintaktverzögerung zwischen einer Ausgabe einer Schreibanweisung und tatsächlicher Ausführung des Schreibens eingefügt. Diese Verzögerung ist für den Betrieb der Graphikeinheit 10 offenkundig.

Die Schnittstelle zwischen der Graphikeinheit 10 und dem Arbeitsbildschirm 3 verwendet denselben Adressen- und Datenbus, wie er zum Lesen aus und Schreiben in den Zusammensetzungsspeicher 4 verwendet wird. Der Arbeitsbildschirmspeicher 30 wird zwischen einer S-Bus-Vorrichtung, einer Anzeigeauffrischung, und Lesen aus und Schreiben in die Graphikeinheit 10 über die Kameranachführung/Zoom-Einheit 9 aufgeteilt. Folglich liegt eine Verzögerung zwischen der Ausgabe einer Leseanforderung und dem Lesen der Daten unter dieser Adresse vor. Handshakesignale von der Kameranachführung/Zoom-Einheit 9 zeigen an, wenn die Daten bereit sind. Diese Verzögerung wird durch Anhalten der Pipeline der Graphikeinheit 10 berücksichtigt, bis die gelesenen Daten empfangen werden. Der Arbeitsbildschirmspeicher 30 kann beim Schreiben von Bildelementdaten ebenfalls eine Verzögerung aufweisen. Typischerweise wird das erste geschriebene Bildelement nicht verzögert, da die Schreibanforderung festgehalten und in nachfolgenden Taktdauern ausgeführt wird.

Die bevorzugte Hardwareverwirklichung der Graphikeinheit 10 kann nun beschrieben werden, nachdem verschiedene Steuerungsfunktionen eingeführt wurden, die die Graphikeinheit 10 bereitstellt. Nicht alle Hardwarebestandteile werden ausführlich beschrieben, da einige Funktionen ausführen, die leicht von ihrem Namen identifizierbar sind, und folglich leicht von dem Fachmann verstanden werden.

Wenn es nicht anders ausgegeben ist, verwenden alle Signalspeicher (Latches) und Flip-Flops, auf die Bezug genommen wird, das (bei 13,35 MHz arbeitende) Hauptbildelementtaktsignal PXCLK. Freigabesignale takten diese Vorrichtungen nicht direkt oder tasten den Takt nicht auf, sondern wählen neue Daten einfach über einen Vorderende-Multiplexer aus, der andernfalls alte Daten erneut zirkulieren würde. Die verschiedenen Module von Fig. 2 können nachstehend beschrieben werden.

Die Render-Prozessor-(RP-) Schnittstelle 100 von Fig. 3 ist für die Steuerung und Überwachung des Betriebszustands der Graphikpipeline der Einheit 10 von dem Computer 1 verantwortlich, der vorzugsweise ein i960-Prozessor ist. Alle Steuerungssignale zwischen der Graphikeinheit 10 und dem Computer 1 sind zu dem Computertakt HCLK synchron. Die Render-Prozessor-(RP-) Schnittstelle 100 synchronisiert die Signale erneut zu dem Bildelementtaktsignal (PXCLK), das durch den Rest der Graphikeinheit 10 verwendet wird. Die RP-Schnittstelle 100 ist in einen Steuerungsblock 120 und ein Zuerst-Hinein-Zuerst-Hinaus-(FIFO-) Schieberegister 150 aufgeteilt.

Die RP-Steuereinrichtung 120 ist nicht ausführlich gezeigt, sondern weist im allgemeinen einen Adressendekodierer, ein Steuerungsregister, ein Betriebszustandsregister, eine Unterbrechungssteuereinrichtung und eine DMA-Steuereinrichtung auf. Der Adressendekodierer erzeugt Registerauswahlsignale für das Steuerungsregister, das Betriebszustandsregister und das Befehlsregister. Wird das Steuerungsregister durch den Adressendekodierer ausgewählt, wird es mit Daten von dem Computer 1 geladen, der zur Konfigurierung der vorstehend definierten Unterbrechungs-, Synchronisations- und Testbetriebsarten verwendet wird. Das Steuerungsregister enthält Flip-Flops für die erneute Synchronisation zur Synchronisation zu dem Bildelementtaktsignal PXCLK. Das Betriebszustandsregister ermöglicht dem Computer 1 Unterbrechungsflags, den Betriebszustand des FIFO-Registers 150 und weitere interne Zustände, wie sie vorstehend definiert wurden, zu überwachen. Das Betriebszustandsregister enthält ebenfalls eine Schaltung zur erneuten Erzeugung von synchronisierten Zurücksetzsignalen und Betriebszustandsausgangssignalen. Die Unterbrechungssteuereinrichtung kombiniert Unterbrechungsflags von dem Betriebszustandsregister mit den Unterbrechungsfreigabesignalen von dem Steuerungsregister zur Erzeugung des Ausgangssignals INT der Schnittstelle 100. Die DMA-Steuereinrichtung erzeugt eine DMA- Anforderung, wenn das in Fig. 3 dargestellte Signal ROOM_44 anzeigt, daß das FIFO-Register 150 Platz für vier weitere Wörter von dem Computer 1 aufweist. Wenn der Computer 1 einen DMA-Zyklus über das DACK-Signal gewährt, wird ein neues Wort in das FIFO-Register 150 bei jeder Prozessortaktdauer geschrieben, wo NÄCHSTES ausgegeben wird. Wird eine DMA- Bestätigung empfangen, wenn kein DMA-Zyklus angefordert wurde, wird ein Fehlerzustand erzeugt. Es wird ein SCHREIBFF-Signal für jedes gültige DMA-Wort ausgegeben.

Das in Fig. 4 dargestellte FIFO-Register 150 verwendet einen Acht-Wort-32-Bit-Dual-Port-RAM 170 als Schnittstelle zwischen dem Computer 1 und der Bildelementpipeline in der Einheit 10. Eine zu dem Prozessortaktsignal PLCK synchronisierte Schreibadressenerzeugungseinrichtung 155 dient als Schnittstelle zwischen dem Computer 1 und dem RAM 170. Eine zu dem Bildelementtaktsignal PXCLK synchronisierte Leseadressenerzeugungseinrichtung 160 dient als Schnittstelle zwischen dem RAM 170 und der Bildelementpipeline. Handshakesignale zwischen den beiden Adressenerzeugungseinrichtungen sind in jeder ihrer jeweiligen Empfangsschaltungen synchronisiert.

Die Schreibadressenerzeugungseinrichtung 155 arbeitet synchron zu dem Prozessortaktsignal PCLK zur Erzeugung einer Adresse und eines Schreibimpulses in den RAM 170. Die Erzeugungseinrichtung 155 erzeugt ebenfalls ein Signal zur Anzeige, wenn Platz für vier weitere Wörter vorliegt, und zwei Signale zur Anzeige, wenn die beiden Hälften des FIFO- Registers 150 gültige Daten enthalten. Der FFMT-Ausgang stellt über das Betriebszustandsregister der Render- Prozessor-(RP-) Steuereinrichtung 120 dem Computer 1 eine Anzeige bereit, daß das BEFEHLS-Register nicht beschrieben werden soll.

Die Erzeugungseinrichtung 155 ist mit einem Drei-Bit-Zähler verwirklicht, der auf 0 zurückgesetzt wird, wenn das RP_RÜCKSETZ-Signal ausgegeben wird. Der Zähler zählt hoch, wenn das SCHREIB_FF-Signal ausgegeben wird.

Die Leseadressenerzeugungseinrichtung 160 arbeitet zu dem Bildelementtaktsignal PXCLK zur Erzeugung einer Adresse zu dem RAM 170 synchron. Die Erzeugungseinrichtung 160 stellt ein Signal zur Anzeige bereit, wenn das FIFO-Register 150 leer ist, und zwei Signale zur Anzeige, wenn die beiden Hälften des FIFO-Registers 150 gelesen wurden. Die Erzegungseinrichtung 160 ist mit einem Gerät des Vier-Bit- Zustands verwirklicht, das initialisiert wird, wenn das PX_RÜCKSETZ-Signal ausgegeben wird.

Fig. 5 zeigt eine Zustandsübergangsdarstellung, die veranschaulicht, wie das Adressen- und das "Leer"-Signal (MT) in der Leseadressenerzeugungseinrichtung 160 erzeugt werden.

Die in Fig. 6 gezeigte Steuerungseinheit 300 dient als Schnittstelle zwischen dem Render-Prozessor-(RP-) FIFO- Register 150 und der Grahikpipeline. Die Einheit 300 besteht aus Anweisungs- und Mikrocoderegistern 305 und 310, einem Anweisungsinterpretierer 320 und einem Anweisungsdekodierer 350. Der Anweisungsinterpretierer 320 analysiert hereinkommende Anweisungen und Parameter, die die Register 305 und 310 entsprechend dem empfangenen Befehl laden. Der Anweisungsdekodierer 350 verwendet das Anweisungsregister 310 zur Erzeugung eines Betriebszustandsworts, das zu der Graphikpipeline übertragen wird. Wird eine "EX_UCODE"- Anweisung erfaßt, wird der normale Anweisungsdekodierer von den Daten in dem Mikrocoderegister 305 umgangen. Dieser Code wird zu Test- und Fehlerbeseitigungszwecken verwendet.

Der Aufbau und Betrieb des Anweisungsinterpretierers 320 und des Anweisungsdekodierers 350 wird für den Fachmann auf dem Gebiet der Entwicklung anwendungsspezifischer Mikrocontroller und Prozessoren offensichtlich. Bei der Entwicklung jedes neuen Mikrocontrollers muß eine neue oder abgeänderte Anweisungseinstellung entwickelt werden, die beim Datenlesen die Interpretation und Dekodierung verschiedener Befehle umfassen muß.

Die in Fig. 7 dargestellte Laufsteuereinrichtung 200 schaltet die Render-Prozessor-(RP-) Schnittstelle 100 mit dem Interpolatoren 400 und Zusammensetzungs- bzw. Mischeinrichtungen 500 aufweisenden Datenweg zusammen. Die Laufsteuereinrichtung 200 führt zwei Aufgaben aus, nämlich die Erzeugung eines Interpolationsrampensignals und das Anzeigen, wenn das letzte Bildelement in einem Lauf zusammengesetzt wurde. Zur Ausführung dieser Funktionen ist es erforderlich, daß die Laufsteuereinrichtung 200 mit der Lauflänge, einem Startimpuls, einem gültigen Indikator und einem Anhalteindikator geladen wird. Die Lauflänge wird von der Datenbasis des FIFO-Registers 150 geladen, wenn dies durch den Anweisungsinterpretierer 320 der Steuerungseinheit 300 angewiesen wurde. Die Start- und gültigen Signale kommen ebenfalls von dem Anweisungsinterpretierer 320, wohingegen das Anhaltesignal von der Schreibsteuereinrichtung 900 kommt. Wie es in Fig. 7 gezeigt ist, weist die Laufsteuereinrichtung 200 ein Lauflängenregister 210, einen Lauflängenzähler 220 und eine Rampensignalerzeugungseinrichtung 250 auf.

Das ausführlicher in Fig. 8 gezeigte Lauflängenregister 210 weist Signalspeicher (Latches) 212 und 214 und einen Multiplexer 216 auf. Der Signalspeicher 212 enthält die Lauflänge des nächsten Graphikbefehls. Der derzeitige Graphikbefehl kann noch abgearbeitet werden, wenn der Signalspeicher 212 geladen wird. Der Signalspeicher 214 enthält eine wechselnde Lauflänge, die bei der Angabe eines USE_ALT-Signals verwendet wird.

Der ausführlich in Fig. 9 dargestellte Lauflängenzähler 220 weist einen Multiplexer 222, einen herunterzählenden Zähler 224, ein Gatter 226, einen Signalspeicher (Latch) 228 und eine Logikeinheit 230 auf. Der Lauflängenzähler 220 zählt die Anzahl zusammengesetzter Bildelemente und zeigt an, wenn das letzte Bildelement in Arbeit ist. Der Zähler 220 wird mit einem um eins gegenüber dem Wert des Lauflängenre gisters 210 verringerten Wert initialisiert, wenn das START-Signal ausgegeben wird. Der Zähler 220 zählt in allen Zyklen herunter, einschließlich des Startzykluses, außer ANHALTEN wird ausgegeben oder GÜLTIG wird verneint, wobei in diesem Fall der Zähler den derzeitigen Wert hält. Erreicht der Zähler 0, wird das LETZTES-Signal ausgegeben. Der Minimalwert für die Lauflänge ist 1. In diesem Fall wird das LETZTES-Signal in demselben Zustand ausgegeben, wie das START-Signal ausgegeben wird.

Die in Fig. 10 dargestellte Rampensignalerzeugungseinrichtung 250 erzeugt eine linear ansteigende Zahl von 0 bis 255 über die Echtzeitdauer der ausgeführten Graphikanweisung. Die Erzeugungseinrichtung 250 wird mit dem Wert in dem Lauflängenregister 210 initialisiert, wenn das START-Signal ausgegeben wurde. Die Erzeugungseinrichtung 250 wird in allen Zyklen aktualisiert, wenn nicht das ANHALTEN-Signal ausgegeben wurde.

Die Rampensignalerzeugungseinrichtung 250 weist einen Eingangssignalspeicher 252 auf, der an einen durch das START- Signal ausgewählten Multiplexerschalter 254 angeschlossen ist. Der Multiplexer 254 gibt das die Lauflänge (RL) darstellende 13-Bit-Datenwort zu vier einzelnen Einheiten aus, die ausgewählte Bits des Worts bearbeiten. Die acht niedrigstwertigen Bits werden einem Festspeicher (ROM) 260 zugeführt, der eine Nachschlagetabelle aufweist, die einen 255/(RL-1) entsprechenden Wert ausgibt. Alle 13 Bits des Worts werden einem Subtrahierer CONST1 zugeführt, der den Wert (511 - RL) berechnet. Gleichermaßen werden alle 13 Bits ebenfalls einem weiteren Subtrahierer CONST2 270 zugeführt, der (512 - 2RL) berechnet. Die fünf höchstwertigen Bits werden einer Betriebsarterfassungsschaltung 275 zugeführt, die ein ODER-Gatter mit fünf Eingängen darstellt, welches ein Sprungsignal bereitstellt. Die Ausgänge des ROM 260, des CONST1 265 und CONST2 270 sind an drei Multiplexerschalter 284, 280 bzw. 282 angeschlossen. Die Multiplexer 280 und 284 werden geschaltet, wenn das Sprungaus gangssignal der Betriebsarterfassungsschaltung 275 ausgegeben wurde. Der Multiplexer 282 wird geschaltet, wenn das von dem Akkumulator-D-Flip-Flop 292 ausgegebene höchstwertige Bit ausgegeben wurde. Die Erzeugungseinrichtung 250 weist ebenfalls einen Addierer 290, weitere Multiplexer 286 und 288, ein Flip-Flop 294 und einen Signalspeicher 296 auf. Es ist aus Fig. 10 ersichtlich, daß der Ausgang des Akkumulator-Flip-Flops 292 derart aufteilt, daß alle 16 Bits zu dem Addierer 290 zurückgeführt und die acht höchstwertigen Bits zu dem Multiplexer 288 ausgegeben werden. Wie es vorstehend beschrieben wurde, wird das höchstwertige Bit, das Bit 15, zum Schalten des Multiplexers 282 zurückgeführt, wie auch zu einem Eingang des Flip- Flops 294 zugeführt.

Fig. 11A und B zeigen die beiden Arten, mit der das Rampenausgangssignal der Erzeugungseinrichtung 250 ausgebildet wird. Es wird darauf hingewiesen, daß eine Aktualisierung der Erzeugungseinrichtung 250 nicht notwendigerweise impliziert, daß der Rampenausgangssignalwert verändert wird (wie in dem Fall, wenn die Lauflänge (RL) größer als 255 ist). Die Erzeugungseinrichtung 250 arbeitet in zwei Betriebsarten. Zuerst in einer "Sprung"-Betriebsart, wenn die Lauflänge (RL) kleiner oder gleich 255 ist, und in einer "Stufen"-Betriebsart, wenn die Lauflänge (RL) größer als 255 ist. Die Betriebsart wird durch eine Prüfung der fünf höchstwertigen der Lauflänge (RL) bestimmt. In der Sprungbetriebsart wird der Rampenwert zumindest um eins in jeder Taktdauer ansteigen. In der Stufenbetriebsart steigt der Rampenwert um einen Maximalwert von eins in jeder Taktdauer an.

In der Sprungbetriebsart wird der Ausgabewert des ROM 260 zu dem Akkumulator-Flip-Flop 292 addiert, das durch das START-Signal auf null initialisiert wurde. Die höchstwertigen Bits des Akkumulator-Flip-Flops 292 bilden das Rampenausgangssignal, wie es aus Fig. 10 ersichtlich ist.

In der Stufenbetriebsart wendet die Erzeugungseinrichtung 250 einen zu Bresenhams Linienziehalgorithmus (line drawing algorithm), der für den Fachmann auf dem Gebiet der Computergraphiken bekannt ist, ähnlichen Algorithmus an. Das Ackumulator-Flip-Flop 292 wird mit der Konstanten (511 - RL) initialisiert und der Rampenzähler wird auf null initialisiert. Bei nachfolgenden Taktsignalen wird eine von zwei Konstanten zu dem Akkumulator-Flip-Flop 292 addiert: -510, falls der Wert des Akkumulator-Flip-Flops 292 negativ ist, oder (512 - 2RL), falls der Wert des Akkumulator-Flip-Flops 292 positiv ist. Der Wert des Rampenzählers (Flip-Flops 294) wird bei jedem Takt erhöht, bei dem der Wert des Akkumulator-Flip-Flops 292 positiv ist. Es wird bemerkt, daß die Stufenbetriebsart den Multiplexer 254 zur Umgehung des Signalspeichers (Latch) 252 während des START-Zykluses benötigt. Dies ermöglicht es, den neuen Wert in dem CONST1- Modul 265 in das Akkumulator-Flip-Flop 292 in dem START- Zyklus zu laden. Die Multiplexer 280 und 282 sind nur zum Zweck der Klarheit in Fig. 10 gezeigt. Eine einfachere Verwirklichung des Multiplexers 280 ist eine Folge von UND- Gattern. Gleichermaßen kann der Multiplexer 282 als eine Folge von ODER-Gattern für die neun niedrigstwertigen Bits und eine Folge von UND-Gattern für die höchstwertigen Bits verwirklicht werden.

Der Farbbestandteildatenweg der Graphikeinheit 10 besteht aus drei Acht-Bit-Datenwegen. Jeder Acht-Bit-Pfad enthält einen Interpolator 400, der ebenfalls eine Farbkorrektur ausführt, und eine Zusammensetzungs- bzw Mischeinrichtung 500. Die Rot-, Grün- und Blau- Interpolatoren sind identisch. Die drei Mischeinrichtungen jedoch sind leicht unterschiedlich. Die Grünmischeinrichtung wird durch den Mattheitskanal bei einigen Anweisungen verwendet und die sich ergebenden Unterschiede in dem Grünkanal werden nachstehend in dieser Beschreibung dargestellt. Die Farbinterpolatoren 400 weisen drei Module auf: ein Synchronisationsmodul 410, ein Phasen-A-Interpolationsmodul 420 und ein Phasen-B-Interpolationsmodul 450. Das Synchronisationsmodul 410 erstreckt sich über Stufen 0 und 1 der Graphikpipeline und hält Operanden für die derzeitige Anweisung und Anweisungsoperanden für die nächste Anweisung. Die Phasen-A- und Phasen-B- Interpolationsmodule (420 und 450) führen Mischungen und Farbkorrekturen aus. Die beiden Phasen sind zum Beibehalten eines Bildelements pro Taktzyklus erforderlich. Das Phasen-A-Interpolationsmodul (420) befindet sich in einer Stufe 2 der Pipeline und das Phasen-B- Interpolationsmodul (450) befindet sich in Stufe 3.

Das Synchronisationsmodul 410 ist nicht ausführlich dargestellt, aber es weist jedoch Signalspeicher (Latches) und Flip-Flops auf, die die Startfarbe, die Endfarbe und den Bildelementwert bereitstellen.

Das Phasen-A-Interpolationsmodul 420 ist in Fig. 13 dargestellt, und sie führt zwei Arten von Berechnungen, entweder Mischungen oder Farbkorrekturen aus. Der Fachmann wird schätzen, daß Farbläufe einfach ein vereinfachter Fall einer Mischung sind, wenn die Start- und Endfarben dieselben sind. Das Phasen-A-Interpolationsmodul 420 führt Berechnungen für den ersten Teil beider Arten aus, nämlich

für Mischungen, C_MULT = (END-START) · RAMP/256,

für eine Farbkorrektur, C_MULT = (END · BILDELEMENT/256).

Das Phasen-A-Interpolationsmodul 420 weist einen Addierer 422 auf, der den START-Wert von dem END-Wert subtrahiert. Die Multiplexer 424 und 426 verändern jeweils die Eingänge in den Multiplizierer 430. Für Mischungsbefehle weist der Addierer 422 einen Neun-Bit-Zweierkomplementausgang auf, der dem Multiplizierer 430 zugeführt ist. Für Farbkorrekturbefehle wird der END-Wert (der ebenfalls dem CONTRAST entspricht) dem Multiplizierer 430 zugeführt, wenn das Vorzeichenbit auf positiv gesetzt ist. Bei Mischungsbefehlen kommt das zweite Eingangssignal in den Multiplizierer 430 von der Rampenerzeugungseinrichtung 250 von Fig. 10, wobei dieses die Aufgabe der Steuerung des Mischungsverhältnisses hat. Bei Farbkorrekturbefehlen kommt das zweite Eingangssignal in den Multiplizierer 430 von der Befehlsbildelementfolge. Ein neues farbzukorrigierendes Bildelement wird alle Dauern des nicht-angehaltenen Takts geladen. Es sind nur die oberen neun Bits und das Vorzeichen des Multipliziererausgangssignals erforderlich. Das Ausgangssignal ist eine Zehn-Bit-Zweierkomplementzahl. Ein Runden wird nicht ausgeführt, da ein Fehler von einem niedrigwertigsten Bit als annehmbar betrachtet wird.

Das START_D-Ausgangssignal enthält eine verzögerte Ausführung des START-Werts für die nächste Phase des Interpolators. In der Farbkorrekturbetriebsart entspricht der START- Wert der HELLIGKEIT.

Das Phasen-B-Interpolationsmodul 450 des Interpolators 400 führt den zweiten Teil sowohl der Mischungen als auch der Farbkorrekturberechnungen aus, nämlich

für Mischungen, D_OUT = C_MULT + START_D

= ((END-START) · RAMP/256) + START,

für Farbkorrektur,

D_OUT = (C_MULT · 2) + START_D = ((END-START) · RAMP/128) + START.

Es wird darauf hingewiesen, daß die durch den Multiplizierer 430 des Phasen-A-Interpolationsmoduls 420 eingeführten- Rundungsfehler zu einem Fehler von eins in dem Endwert der Mischung führen. Das heißt:

für END-START> 0, D_OUT(ENDE) = END-1

für END-START< 0, D_OUT(ENDE) = END+1.

Das Phasen-B-Interpolationsmodul 450 weist zwei Multiplexer 452 und 454 auf, deren Ausgänge beide einem Addierer 458 zugeführt sind. Der Addierer 458 ist an einen Begrenzer 460 angeschlossen, der dann wieder über einen Signalspeicher 462 an den Ausgang angeschlossen ist. Der Multiplexer 452 verändert die Eingänge in den Addierer 458 zur Ausführung der Multiplikation mit 2 für die Farbkorrekturfunktion. Die höchstwertigen Bits durchqueren den Addierer 458. Für Michungsbefehle hat dies die Wirkung der Vorzeichenerweiterung von Bit 8 um eine Position.

Der Multiplexer 454 führt zusätzliche zwei Eingänge dem Addierer 458 zur Ausführung einer Vorzeichenerweiterung für die Farbkorrekturfunktion zu, die ein 8-Bit-Format mit Vorzeichen für die HELLIGKEIT verwendet. Für Mischungsbefehle werden diese beiden Bits auf 0 gesetzt, da der START-Wert ohne Vorzeichen ist. Der Addierer 458 addiert die beiden vorzeichenbehafteten 10-Bit Zahlen, die von den Multiplexern 452 und 454 ausgeben wurden, zur Erzeugung eines vorzeichenbehafteten 10-Bit-Ergebnisses und eines positiven Überlaufindikators (POV). Ein negativer Oberlauf ist weder bei Mischungs- noch bei Farbkorrekturbetriebsarten möglich. In der Mischungsbetriebsart ist immer der Startwert positiv und in der Farbkorrekturbetriebsart ist immer der MULT-Wert positiv.

Die Ausgänge des Addierers 458 werden zu dem Begrenzer 460 geführt, der zur Umwandlung von Werten größer als 255 in 255 und von Werten kleiner als 0 in 0 verwendet wird. Diese Funktion kann durch ein Signal EFFECTS blockiert werden, das von dem FARBQUELLEN-Feld in dem Befehl kommt. Der Begrenzer 460 weist keine Wirkung in Lauf- oder Mischungsbefehlen auf, da das Ausgangssignal des Addierers 458 immer in dem Bereich 0 ... 255 liegt. Das Ausgangssignal von dem Begrenzer 460 wir in jeder Dauer des nicht-angehaltenen Takts in Bereitschaft für die nächste Pipelinestufe gespeichert (in Signalspeicher 462).

Der Begrenzer 460 ist nicht ausführlich dargestellt, da seine Konfiguration leicht aus der vorstehenden Beschreibung hergeleitet werden kann. Der Begrenzer 460 hat einen Eingangsbusbereich von -128 bis 638.

Fig. 15 zeigt eine Farbzusammensetzungs- bzw. Farbmischeinrichtung 500, die vier Module mit einem Synchronisationsmodul 520, einem Phasen-A-Mischeinrichtungsmodul 540, einem Phasen-B-Mischeinrichtungsmodul 560 und einem Mattheitsmultiplexer 580 aufweist. Das Synchronisationsmodul 520 befindet sich in Stufe 4 der Graphikpipeline. Es speichert die RGBM-Daten aus dem externen Zusammensetzungs- oder Arbeitsbildschirmspeicher (28 oder 30) und synchronisiert diese zu der Bildelementpipeline. Phasen-A-Mischeinrichtungsmodul 540 und Phasen-B-Mischeinrichtungsmodul 560 führen eine Mischung zwischen dem ursprünglichen Wert in dem externen Speicher und dem neuen Wert von dem entsprechenden Interpolator 400 durch. Das Verhältnis zwischen dem ursprünglichen und neuen Wert wird durch den MISCHUNGS- bzw. BLEND-Bus gesteuert, der von der Mattheitskombinationseinrichtung 700 kommt. Es sind noch einmal zwei Phasen zum Beibehalten eines Bildelements pro Taktzyklusphase erforderlich. Das Phasen-A-Mischeinrichtungsmodul 540 befindet sich in Stufe 5 der Graphikpipeline und das Phasen-B-Mischeinrichtungsmodul 560 in Stufe 6. Der Mattheitsmultiplexer 580 ermöglicht den Daten von dem Mattheitskanal auf einem oder mehreren der Farbfelder (bzw. Farbebenen) ausgegeben zu werden. Dies wird in Stufe 7 der Pipeline ausgeführt. Der G_OUT-Bus ist angedeutet dargestellt, da er nur in dem Grünkanal zur Verwendung mit der Mattheitskombinationseinrichtung 700 vorhanden ist.

Das Synchronisationsmodul 520 ist nicht ausführlich dargestellt, da es lediglich Daten von externen Speichern zur Bereitstellung dieser Daten synchron zu dem Phasen-A- Mischeinrichtungsmodul 540 speichert. Das ANHALTEN-Signal wird in diesem Modul um eine Taktdauer zur Kompensation der vorstehend angeführten Eintaktverzögerung beim Lesen aus dem Zusammensetzungs- oder Arbeitsbildschirmspeicher 28 oder 30 verzögert.

Das in Fig. 16 dargestellte Phasen-A-Mischeinrichtungsmodul 540 der Mischeinrichtung 500 führt die folgende Berechnung aus:

C-MULT = (C_URSPR - C_NEU) · BLEND/256.

Das Phasen-A-Mischeinrichtungsmodul 540 weist einen Addierer 542, einen Multiplizierer 546 und Ausgangsignalspeicher (Latches) 548 und 550 auf. Alle Befehle verwenden dasselbe Format mit 8-Bit-Werten ohne Vorzeichen bei jedem der NEU-, URSPR- und BLEND-Eingangssignale. Das Ausgangssignal von dem eine invertierende Eingangsfunktion als Subtrahierer aufweisenden Addierer 542 ist eine 9-Bit-Zweierkomplementzahl, die dem Multiplizierer 546 zugeführt wird. Das zweite Eingangssignal zu dem Multiplizierer 546 kommt von der Mattheitskombinationseinrichtung 700 und hat die Aufgabe der Steuerung des Mischungsverhältnisses. Ein Wert von 0 stellt eine vollständig lichtundurchlässige Zusammensetzung dar. Es sind nur die oberen 8 Bits und das Vorzeichen des Ausgangssignals des Multiplizierers 545 erforderlich. Das Ausgangssignal ist eine 9-Bit-Zweierkomplementzahl. Runden wird erneut nicht ausgeführt, da ein Fehler von einem niedrigstwertigen Bit als annehmbar betrachtet wird. Das NEU_D-Ausgangssignal enthält eine verzögerte Ausführung des NEU-Werts für das nächste Phasen-B-Mischeinrichtungsmodul (560) der Mischeinrichtung 500.

Das in Fig. 17 dargestellte Phasen-B-Mischeinrichtungsmodul 560 der Mischeinrichtung 500 führt die folgende Berechnung aus:

D_MULT = C_MULT + C_NEU_D

=((URSPR-NEU) · BLEND/256) + C_NEU.

Es wird bemerkt, daß durch den Multiplizierer 546 in dem Phasen-A-Mischeinrichtungsmodul 540 eingeführte Rundungsfehler zu einem Fehler von zumindest eins für eine lichtdurchlässige Zusammensetzung führt. Beispielsweise ist, wenn URSPR-NEU> 0,

D_OUT (vollständig lichtdurchlässig) = URSPR-1, und wenn URSPR-NEU< 0,

D_OUT (vollständig lichtdurchlässig) = URSPR+1.

Eine vollständig lichtundurchlässige Zusammensetzung wird immer den genauen NEU-Wert erzeugen. Das heißt:

D_OUT (vollständig lichtundurchlässig) = NEU.

Das Phasen-B-Mischeinrichtungsmodul 560 weist einen Addierer 562 auf, der die 9-Bit-Zahl mit Vorzeichen von dem Multiplizierer 546 in dem Phasen-A-Mischeinrichtungsmodul 540 mit dem 8-Bit-Wert ohne Vorzeichen von dem URSPR- Verzögerungs-Flip-Flop 550 ebenfalls in dem Phasen-A- Mischeinrichtungsmodul 540 addiert. Das Ergebnis liegt immer in dem Bereich von 0 bis 255, da die Mischeinrichtung 500 nur Zahlen zwischen den Werten URSPR und NEU erzeugen kann. Das Ausgangssignal von dem Addierer 562 wird durch einen Signalspeicher (Latch) 564 in jeder Dauer des nicht- angehaltenen Takts in Bereitschaft für die Ausgangsstufe der Pipeline angenommen.

Der in Fig. 2 dargestellte Lichtdurchlässigkeitsdatenweg weist einen Lichtdurchlässigkeitsinterpolator 600 und eine Mattheitkombinationseinrichtung 700 auf. Der Datenweg führt zwei Hauptfunktionen aus, zuerst die Erzeugung einer Lichtdurchlässigkeitsmischung durch Interpolation zwischen einer START- und einer END-Lichtdurchlässigkeit, und die Kombination der Lichtdurchlässigkeitsmischung mit dem Mattheitsfeld.

Der in Fig. 18 gezeigte Lichtdurchlässigkeitsinterpolator 600 weist drei Module einschließlich eines Synchronisationsmoduls 610, eines Phasen-A-Interpolationsmoduls 640 und eines Phasen-B-Interpolationsmoduls 670 auf. Das Synchronsisationsmodul 610 erstreckt sich über Stufen 0 und 1 der Pipeline. Es hält Operanden für die derzeitige Anweisung und speichert Operanden für die nächste Anweisung. Das Phasen-A-Interpolationsmodul 640 und das Phasen-B- Interpolationsmodul 670 führen Lichtdurchlässigkeitsmischungen und eine Texturierung aus. Erneut sind zwei Phasen zum Beibehalten eines Bildelements pro Taktzyklus erforderlich. Das Phasen-A-Interpolationsmodul 640 befindet sich in Stufe 2 der Pipeline und das Phasen-B-Interpolationsmodul in Stufe 3.

Fig. 19 zeigt die verschiedenen Bestandteile in dem Synchronisationsmodul 610. Signalspeicher (Latches) 612 und 614 halten die START- und END- Lichtdurchlässigkeitsparameter für die nächste Anweisung. Dies entspricht der Stufe 0 der Pipeline. Flip-Flops 620 und 622 laden diese Werte, wenn das START-Signal anzeigt, daß das erste Bildelement einer neuen Anweisung in Arbeit ist. Ein dritter Signalspeicher (Latch) 616 hält den Texturstartparameter für die nächste Anweisung. Dieser ist ein 2-Bit-Parameter, der den Byteversatz in das Anfangstexturwort für Texturlauf- und Mischungsbefehlen bestimmt. Er wird über ein nächstes Versatzmodul 618 in ein drittes Flip-Flop 624 geladen, wenn das START-Signal anzeigt, daß das erste Bildelement einer neuen Anweisung in Arbeit ist. Ein viertes Flip-Flop 626 hält die Textur für bis zu vier Bildelementen in Texturlauf- und Mischungsbefehlen. Das Flip-Flop 626 wird von dem Datenbus D_IN jede vierte Dauer des nicht-angehaltenen Takts geladen. Ein fünftes Flip-Flop 628 hält den Lichtdurchlässigkeitswert für jeden Bildelementwert in Bildelementfolgebefehlen, und wird von dem Datenbus in jeder Dauer des nicht-angehaltenen Takts geladen.

Das nächste Versatzmodul 618 wird zur Steuerung des Texturbyteversatzes und des Texturwort-Flip-Flops 626 verwendet. Für Texturlauf- und Mischungsbefehle wird der Texturbyteversatz initialisiert, wenn das START-Signal ausgegeben wird, und zählt in weiteren Dauern des nicht-angehaltenen Takts um eins. Ist der Versatz gleich 3, wird das LASTT- Signal ausgegeben. Das Freigabesignal des Texturwort-Flip- Flops 626 wird dabei ebenfalls ausgegeben wie auch während des Startzykluses.

Das Phasen-A-Interpolationsmodul 640 des Interpolators 600 ist in Fig. 20 gezeigt und führt folgende Berechnung aus:

T_MULT = (T_END-T_START) · RAMP/256.

Das Phasen-A-Interpolationsmodul 640 weist einen zur Subtraktion zweier Eingangsdatenbytes konfigurierten Addierer 642 auf. Das Ausgangssignal des Addierers 642 ist ein 9- Bit-Zweierkomplementausgangssignal, das einem Multiplizierer 644 zugeführt wird. Das zweite Eingangssignal des Multiplizierers 644 kommt von der Rampensignalerzeugungseinrichtung 150 von Fig. 10 und hat die Aufgabe der Steuerung des Mischungsverhältnisses zwischen den Start- und den Endwerten. Es sind nur die oberen acht Bits und das Vorzeichen des Ausgangssignals des Multiplizierers 644 erforderlich. Das Ausgangssignal ist eine 9-Bit-Zweierkomplementzahl. Erneut wird Runden nicht ausgeführt, da ein Fehler eines niedrigstwertigen Bits als annehmbar betrachtet wird. Das Phasen-A-Interpolationsmodul 640 weist ebenfalls ein T_START_D-Ausgangssignal auf, das eine verzögerte Ausführung des T_START-Werts enthält und durch einen Signalspeicher (Latch) 652 für die nächste Phase des Interpolators 600 bereitgestellt wird. Ein Multiplexer 646 verwendet das T_OFF-Signal von dem Synchronisationsmodul 610 zur Auswahl eines der vier Texturbytes in dem T_BILDELEMENTE- Eingangssignal. In Texturlauf- und Mischungsbefehlen wird ein unterschiedliches Byte in jeder Dauer des Bildelementtakts PXCLK ausgewählt. In Bildelementfolgebefehlen wird der Lichtdurchlässigkeitswert über einen zweiten Multiplexer 648 aus dem T-BILDELEMENTE-Eingangssignal ausgewählt. Der Texturwert wird zur Beibehaltung der Synchronisation zu der Pipelinestufe 2 gespeichert (654).

Das Phasen-B-Interpolationsmodul 670 des Interplators 600 ist in Fig. 21 dargestellt und führt den zweiten Teil von Mischungsberechnungen aus, nämlich:

TR_OUT = T_MULT + T_START_D

= ((T_END-T_START) · RAMP/256+T-START.

Es wird bemerkt, daß durch den Multiplizierer 644 in dem Phasen-A-Interpolationsmodul 640 eingeführte Rundungsfehler zu einem Fehler von eins in dem Endwert einer Mischung führen. Das heißt:

für T_END-T_START> 0,TR_OUT(ENDE) = T-END-1

für T_END-T_START< 0,TR_OUT(ENDE) = T_END+1.

In Fig. 21 addiert ein Addierer 672 den 9-Bit-Wert mit Vorzeichen von dem Multiplizierer 644 in Fig. 20 mit dem 8- Bit-Startwert. Das Ergebnis ist immer ein positiver 8-Bit- Wert, da es in dem Bereich T_START ... T_END liegen muß. Ein Multiplexer 676 wählt das Ausgangssignal des Addierers 672 für Lauf- und Mischungsbefehle oder das Texturbyte für andere Befehle aus. In Bitmaskenbefehlen und Befehlen ohne nachfolgende Worte wird das Lichtundurchlässigkeitssignal ausgegeben. Dies zeigt die Wirkung, daß der Texturwert auf 255 (lichtundurchlässig) gezwungen wird.

Das Ausgangssignal von dem Multiplexer 676 wird in jeder Dauer des nicht-angehaltenen Takts in Bereitschaft für die nächste Pipelinestufe gespeichert (678). Der Lichtdurchlässigkeitswert von dem Ausgang des "Lichtundurchlässigkeits"- Moduls wird ebenfalls gespeichert (640) und wird getrennt zu der Mattheitskombinationseinrichtung 700 übertragen. Die Mattheitskombinationseinrichtung 700 verwendet diesen Wert, wenn die Wahlmöglichkeit "Mattheitsquelle = nachfolgend" durch die Anweisungseinstellung bestimmt wurde.

Die Mattheitskombinationseinrichtung 700 ist in Fig. 22 dargestellt und weist vier Module einschließlich eines Mattheitssynchronisationsmoduls 710, einer Mattheitsberechnungseinrichtung bzw. eines Mattheitsberechnungsmoduls 730, eines Mattheitsverzögerungsmoduls 720 und eines Grünmultiplexermoduls 790 auf.

Das Synchronisationsmodul 710 befindet sich in Stufe 4 der Pipeline. Es speichert das Mattheitsfeld der RGBM-Daten aus dem externen Mischungs- bzw. Zusammensetzungsspeicher 4 oder Arbeitsbildschirmspeicher 30 in der ersten Hälfte der Bildelementtaktdauer. Beruhend auf diesem Wert und dem Lichtdurchlässigkeitswert von dem Lichtdurchlässigkeitsinterpolator 600 erzeugt das Mattheitsberechnungsmodul 730 einen Mischungswert für die Farbmischeinrichtungen 500 und einen neuen Mattheitswert für den Mischungs- bzw. Zusammensetzungsspeicher 28. Mattheitsberechnungen werden in Stufe 4 der Pipeline ausgeführt. Das Mattheitsverzögerungsmodul 720 überträgt den Mattheitswert unverändert zu dem Grünmultiplexermodul 790 zur Synchronisation zu den in Stufen 5 und 6 berechneten Farbbestandteilen. Das Grünmultiplexermodul 790 ermöglicht den Daten aus dem Grünkanal (400, 500: Fig. 2), auf dem Mattheitsfeld des Zusammensetzungsspeichers 4 ausgegeben zu werden. Dies wird in Stufe 7 der Pipeline ausgeführt.

Fig. 23 zeigt die Bestandteile in dem Mattheitssynchronisationsmodul 710. Ein Signalspeicher (Latch) 712 erzeugt eine verzögerte Ausführung des ANHALTEN-Signals zur Kompensation der Eintaktverzögerung in dem Zusammensetzungsspeicher 28. Die Eingangsdaten aus dem externen Speicher sind zu dem internen Bildelementhaupttaktsignal PXCLK asynchron. Sie sind jedoch zu dem Signal CLK 2 synchron, das zur Herleitung des Bildelementtaktsignals über ein NAND-Gatter 714 verwendet wird, so daß die Phase festgelegt ist. Diese Daten werden in der ersten Hälfte der Pipelinestufe 4 gespeichert (Signalspeicher 716).

Das in Fig. 25 dargestellte Mattheitsberechnungsmodul 730 führt zwei Berechnungen aus:

BLEND = BEGRENZUNG (TR_IN-M_SYNCD)

M_OUT = BEGRENZUNG (M_SYNCD-TR_IN),

wobei BEGRENZUNG (a-b) = 0 ist, falls a - b < 0.

Sowohl die TR_IN- als auch die M_SYNCD-Eingangssignale sind 8-Bit-Werte ohne Vorzeichen. Die Bestandteile in der oberen Hälfte von Fig. 25 berechnen das MISCHUNGS- bzw. BLEND- Ausgangssignal, das zur Steuerung des Mischungsverhältnisses in den Farbmischeinrichtungen 500 verwendet wird. Ein Eingangsignal in diesen Block mit einem Wert 0 stellt eine vollständig lichtdurchlässige Zusammensetzung dar. Ein Ausgabewert von 0 stellt jedoch eine vollständig lichtundurchlässige Zusammensetzung dar. Der MISCHUNGS- bzw. BLEND-Wert wird durch Subtraktion unter Verwendung eines Addierers 734 der Mattheitsdaten in dem Zusammensetzungs- (oder Arbeitsbildschirm-) Speicher 28 von dem Lichtdurchlässigkeitswert berechnet, der entweder einen Lauf-, einen Mischungs- oder einen Texturwert aufweist. Ein Begrenzer 738 wandelt diesen Wert in 0 um, falls das Ergebnis negativ ist, wie es durch das Übertragsbit von dem Addierer 734 angezeigt wird. Ein Multiplexer 742 kann diese Berechnung umgehen und den Eingangslichtdurchlässigkeitswert auswählen, falls das T_MINUS_M-Eingangssignal nicht ausgegeben wurde (das T_MINUS_M-Signal wird von dem Befehlswort in der Steuerungseinheit 300 dekodiert). Zur Kompensation der unterschiedlichen Eingangssignal- und Ausgangssignalerfassungswerte der Lichtdurchlässigkeit wird das Ausgangssignal des Multiplexers 742 normalerweise durch einen Block 750 mit einer exklusiven ODER-Funktion invertiert oder über einen Signalspeicher (Latch) 752 zu dem Ausgang übertragen, wenn das Signal T_INV ausgegeben wurde.

Die Bestandteile in der unteren Hälfte von Fig. 25 berechnen das Ausgangssignal M_OUT, das in das Mattheitsfeld geschrieben wird. Dieser Wert wird durch Subtraktion unter Verwendung eines Addierers 736 des Lichtdurchlässigkeits werts von den Mattheitsdaten in dem Zusammensetzungs- (oder Arbeitsbildschirm-) Speicher 4, 30 berechnet. Ein weiterer Begrenzer 740 wandelt diesen Wert in 0 um, falls das Ergebnis negativ ist, wie es durch einen Übertrag von dem Addierer 736 angezeigt wird. Ein nachfolgender Multiplexer 746 kann diese Berechnung umgehen und den Eingangslichtdurchlässigkeitswert auswählen, falls das Eingangssignal M_MINUS_T nicht ausgegeben wurde. Ein weiterer Multiplexer 748 wählt den Wert SUBS_T aus, falls das Mattheitsquellenfeld (matte source field) der Anweisung "nachfolgend" bestimmt. Beide BLEND-M_OUT-WERTE werden zur Synchronisation zu Stufe 4 der Pipeline gespeichert.

Das in Fig. 24 gezeigte Mattheitsverzögerungsmodul 720 überträgt den Mattheitswert unverändert zu dem Grünmultiplexermodul 790 zur Synchronisation zu den in Stufe 5 und 6 berechneten Bestandteilen. Ein Flip-Flop 722 synchronisiert zu Stufe 5 und ein zweites Flip-Flop-754 synchronisiert zu Stufe 6.

Der Adressenerzeugungsblock 800 von Fig. 2 ist für die Bereitstellung von Lese- und Schreibadressen für den Zusammensetzungsspeicher 4 und dem Arbeitsbildschirmspeicher 30 verantwortlich. Ein Lesezyklus und ein Schreibzyklus werden in jeder Bildelementtaktdauer ausgeführt. Adressen des Zusammensetzungsspeichers 4 werden durch eine Seitenadressenerzeugungseinrichtung in der Adressenerzeugungseinrichtung 800 bereitgestellt und Arbeitbildschirmadressen werden durch eine Bildschirmadressenerzeugungseinrichtung bereitgestellt, die sich ebenfalls in der Erzeugungseinrichtung 800 befindet. Die Adressenerzeugungseinrichtung 800 arbeitet in einer für den Fachmann bekannten Weise, bei der Auswahl geeigneter Adressen in den Arbeitsbildschirm- und Zusammensetzungsspeichern. Nachdem die geeignete Adresse ausgewählt wurde, werden entweder die Seiten- oder Bildschirmadressen wie durch Lese- und Schreibsignale bestimmt gemultiplext. Die Schreibadressen werden über eine Fünfstufen verzögerung zur Kompensation von Verzögerungen über die Farb- und Lichtdurchlässigkeitsdatenwege übertragen.

Die Schreibsteuereinrichtung 900 von Fig. 2 führt drei Hauptaufgaben aus, nämlich:

1. Die Implementierung zusätzlicher für "Bitmasken- Betriebsart"-Anweisungen erforderlicher Funktionen.

2. Die Bereitstellung geeigneter Pipelineverzögerungen von Schreibsteuerungs- und weiteren Betriebszustandsinformationen.

3. Das Bilden einer Schnittstelle des Zusammensetzungsspeichers 28 und der Kameranachführung/Zoom-Einheit 9 zu Handshakesignalen.

Wie die Adressenerzeugungseinrichtung 800 führt die Schreibsteuereinrichtung 900 für den Fachmann bekannte Funktionen aus, wobei eine ausführliche Beschreibung in dieser Beschreibung nicht erforderlich ist. Im wesentlichen weist die Schreibsteuereinrichtung 900 drei Stufen mit einer Bitmaskenverschiebung, einer Betriebszustandsverzögerung und einer Ein/Aus-(I/O-) Steuerungseinheit auf. In Bitmaskenbetriebsartanweisungen wird ein einzelnes 32-Bit- Wort zur Freigabe oder Blockierung des Schreibens von bis zu 32 aufeinanderfolgenden Bildelementen verwendet. Das Betriebszustandsverzögerungsmodul stellt geeignete Pipelineverzögerungen von Schreibsteuerungs- und weiteren Betriebszustandsinformationen bereit. Es enthält ebenfalls einen Block, der zur Erfassung, daß die Pipeline leer ist, verwendet wird. Die I10-Steuereinrichtung bildet eine Schnittstelle des Zusammensetzungsspeichers 4 und der Kameranachführung/Zoom-Einheit 9 zu Handshakesignalen.

Die vorstehende Beschreibung stellt eine Architektur vor, durch die eine Graphikeinheit 10 zum Erzielen von Farbdesktoppublishing-Funktionen hergestellt werden kann.

Gemäß dem bevorzugten Ausführungsbeispiel der Graphikeinheit ist es möglich, einen weiten Bereich von Befehlen zur Bilddatenverarbeitung zu verwirklichen. Fünf derartige Befehle, die als CANVAS RUN, CANVAS BLEND, CANVAS BILDELEMEN- TE, CANVAS TEXTUR bzw. CANVAS TEXTUR BLEND bekannt sind, werden nachstehend beschrieben.

Die CANVAS RUN-Funktion setzt einen Lauf von Farben mit dem Bild zusammen, wobei die Zusammensetzung durch die Lichtdurchlässigkeit und das Mattheitsfeld gesteuert wird. Dieser Befehl simuliert die Interaktion von Farbe mit Leinen (canvas) oder anderen texturierten Materialien, da sich texturierte Einbeulungen im Hintergrund zunehmend mit "Farbe" "auffüllen". Der Leinenlauf-(canvas run) Befehl setzt die Lauflängenzahl von Bildelementen einer Farbe der Startfarbe gleich, die unter der Seitenadresse beginnt. Die Intensität der Zusammensetzung wird durch die Differenz zwischen dem Lichtdurchlässigkeitslauf und dem Mattheitsfeld des Bilds gesteuert. Das Mattheitsfeld wird zu der Differenz zwischen dem Mattheitswert und der Lauflichtdurchlässigkeit verändert.

Die Berechnung ist für n = 0 bis Lauf_Länge-1 (=Run_length-1) wie folgt:

RGB(Bild) [Adresse+n] = ((T(Start).Mattheit(Bild) [Adresse+n] · RGB(Start) + (256-(T(Start).Mattheit(Bild) [Adresse+n])) · RGB (Bild) [Adresse+n])/256

Mattheit(Bild) [Adresse+n] = Mattheit (Bild) [Adresse+n].T (Start), wobei eine Subtraktionsberechnung mit einer Bereichsunterschreitungsbegrenzung darstellt.

Der Leinen-Lauf-(canvas run) Befehl wird zur Zusammensetzung von "Pinselstrichen" aus konstanter objektberuhender Farbe auf einem texturierten Hintergrund verwendet, wobei die Simulation der sich addierenden Interaktion zwischen Farbe und einem texturierten Hintergrund erwünscht ist. Um diese Wirkung zu erzielen, sollte die Seitenmattheit ein der Textur des Hintergrunds entsprechendes Bild enthalten.

Die CANVAS BLEND-Funktion setzt eine Farbenmischung mit dem Bild zusammen, wobei die Zusammensetzung durch die Mischungslichtdurchlässigkeit und das Mattheitsfeld gesteuert wird. Dieser Befehl simuliert die Interaktion von Farbe mit Leinen oder anderen texturierten Materialien, da sich texturierte Einbeulungen im Hintergrund zunehmend mit "Farbe" "auffüllen".

Der Leinen-Mischungs-(canvas blend) Befehl setzt die Lauflängenzahl von Bildelementen einer sich stetig von der Startfarbe zu der Endfarbe verändernden Farbe mit dem Bild, beginnend mit der Seitenadresse, zusammen. Die Intensität der Zusammensetzung wird durch die Differenz zwischen der gemischten Lichtdurchlässigkeit und dem, Mattheitsfeld des Bilds gesteuert. Das Mattheitsfeld wird zu der Differenz zwischen dem Mattheitswert und der Mischungslichtdurchlässigkeit verändert.

Die Berechnung für n = 0 bis Lauf_Länge-1 (=run_length-1) wie folgt:

Interpolation[n] = n/(Lauf_Länge-1)

T[n] = Interpolation[n] · T (End) + (1-Interpolation[n]) · T(Start)

RGB[n] = Interpolation[n] · RGB (End) + (1-Interpolation[n]) · RGB (Start)

RGB(Bild) [Adresse+n] = ((T[n].Mattheit (Bild) [addresse+n] · RGB[n] + (256-(T[n].Mattheit(Bild) [Adresse+n])) · RGB (Bild) [Adresse+n])/256

Mattheit(Bild) [Adresse+n] = Mattheit (Bild) [Adresse+n].T[n],

wobei . eine Subtraktionsberechnung mit Bereichsunterschreitungsbegrenzung darstellt.

Der Leinen-Mischungs-(canvas blend) Befehl wird zur Zusammensetzung von "Pinselstrichen" mit objektberuhend gemischter Farbe auf einem texturierten Hintergrund verwendet, wobei die Simulation der sich addierenden Interaktion zwischen Farbe und einem texturierten Hintergrund erwünscht ist. Um diese Wirkung zu erzielen, sollte die Seitenmattheit ein der Textur des Hintergrunds entsprechendes Bild enthalten.

Die CANVAS BILDELEMENTE-(LEINEN-BILDELEMENTE) Funktion setzt einen Lauf von Bildelementen mit dem Bild zusammen, wobei die Zusammensetzung durch die Bildelementlichtdurchlässigkeit und das Mattheitsfeld gesteuert wird. Dieser Befehl simuliert die Interaktion von Farbe mit Leinen oder anderen texturierten Materialien, da sich texturierte Einbeulungen im Hintergrund zunehmend mit "Farbe" "auffüllen".

Der Leinenbildelemente-(canvas pixels) Befehl setzt die Lauflängenzahl von Bildelementen mit dem Bild, beginnend mit der Seitenadresse, zusammen. Die Intensität der Zusammensetzung wird durch die Differenz zwischen der Bildelementlichtdurchlässigkeit und dem Mattheitsfeld des Bilds gesteuert. Das Mattheitsfeld wird zu der Differenz zwischen dem Mattheitswert und der Bildelementlichtdurchlässigkeit verändert.

Die Berechnung ist für n = 0 bis Lauf_Länge-1 wie folgt:

RGB (farbkorrigiert) [n] = Begrenzung((RGB(Kontrast) · RGB(Bildelement)[n])/256 + RGB(hell))

RGB(Bild) [Adresse+n] = ((T(Bildelement).Mattheit(Bild) [Adresse+n]) · RGB(farbkorrigiert) [n] + (256-(T(Bildelement).Mattheit(Bild) [Adresse+n])) · RGB (Bild) [Adresse+n])/256

Mattheit(Bild) [Adresse+n] = Mattheit(Bild) [Adresse = n].T(Bildelement),

wobei . eine Subtraktionsberechnung mit Bereichsunterschreitungsbegrenzung darstellt.

Der Leinen-Bildelemente(canvas pixels) Befehl wird zur Zusammensetzung von auf Bildelementen beruhenden "Pinselstrichen" auf einem texturierten Hintergrund verwendet, wobei die Simulation einer sich addierenden Interaktion zwischen Farbe und dem texturierten Hintergrund erwünscht ist. Um diese Wirkung zu erzielen, sollte die Seitenmattheit ein der Textur des Hintergrunds entsprechendes Bild enthalten. Dieser Befehl kann ebenfalls zur Simulation von Bildschirmdrucken eines natürlichen Bilds auf einem texturierten Hintergrund verwendet werden.

Die LEINEN-TEXTUR-LAUF-(CANVAS TEXTURE RUN) Funktion setzt eine Lauf von Farben mit dem Bild zusammen, wobei die Zusammensetzung durch die Textur und das Mattheitsfeld gesteuert wird. Dieser Befehl simuliert die Interaktion des texturierten Pinselstrichs mit Leinen oder anderen texturierten Materialien, da sich texturierte Einbeulungen im Hintergrund zunehmend mit "Farbe" "auffüllen".

Der Leinen-Lauf-(canvas run) Befehl setzt die Lauflängenzahl von Bildelementen einer Farbe der Startfarbe, mit der Seitenadresse beginnend, gleich. Die Intensität der Zusammensetzung wird durch die Differenz zwischen den nachfolgenden Texturbytes und dem Mattheitsfeld des Bilds gesteu ert. Das Mattheitsfeld wird in die Differenz zwischen dem Mattheitswert und den Texturbytes verändert.

Die Berechnung für n = 0 bis Lauf_ Länge-1 ist wie folgt:

RGB(Bild) [Adresse+n] = ((Textur[n].Mattheit (Bild) [Adresse+n]) · RGB (Start) + (256-(Textur[n].Mattheit (Bild) [Adresse+n])) *RGB(Bild) [Adresse+n])/256

Mattheit(Bild) [Adresse+n] = Mattheit (Bild) [Adresse+n].Textur[n],

wobei . eine Subtraktionsberechung mit Bereichsunterschreitungsbegrenzung darstellt.

Der Leinentexturlauf-((canvas texture run) Befehl wird zur Zusammensetzung texturierter objektberuhender "Pinselstriche" konstanter Farbe auf einem texturierten Hintergrund verwendet, wobei die Simulation der sich addierenden Interaktion zwischen Farbe und einem texturierten Hintergrund erwünscht ist. Um diese Wirkung zu erzielen, sollte die Seitenmattheit, ein der Textur des Hintergrunds entsprechendes Bild enthalten, und die nachfolgenden Texturbytes sollten eine Textur enthalten, die sich auf die Textur des Farbmediums bezieht.

Die LEINEN-TEXTUR-MISCHUNGS-(CANVAS TEXTUR BLEND) Funktion setzt eine Mischung von Farben mit dem Bild zusammen, wobei die Zusammensetzung durch die Textur und das Mattheitsfeld gesteuert werden. Dieser Befehl simuliert die Interaktion texturierter Pinselstriche mit Leinen oder anderen texturierten Materialien, da sich texturierte Einbeulungen im Hintergrund zunehmend mit "Farbe" "auffüllen".

Der Leinenmischungs-(canvas blend) Befehl setzt die Lauflängenzahl von Bildelementen einer sich stetig von der Startfarbe zu der Endfarbe verändernden Farbe mit dem Bild zusammen. Die Intensität der Zusammensetzung wird durch die Differenz zwischen den nachfolgenden Texturbytes und dem Mattheitsfeld des Bilds gesteuert. Die Lichtdurchlässigkeitswerte der Start- und der Endfarbe werden ignoriert. Das Mattheitsfeld wird zu der Differenz zwischen dem Mattheitswert und den Texturbytes verändert.

Die Berechnung ist für n = 0 bis Blend_Länge-1 lautet wie folgt:

Interpolation[n] = n/(Lauf_Länge-1)

RGB[n] = Interpolation[n] · RGB (End) + (1-Interpolation[n]) · RGB (Start)

RGB(Bild) [Adresse+n] = ((Textur[n].Mattheit(Bild) [Adresse+n]) · RGB[n] + (256- (Textur[n].Mattheit (Bild) [Adresse+n])) · RGB (Bild) [Adresse+n])/256

Mattheit(Bild) [Adresse+n] = Mattheit (Bild) [Adresse+n].Textur[n],

wobei . eine Subtraktionsberechnung mit Bereichsunterschreitungsbegrenzung darstellt.

Der Leinentexturmischungs-(canvas texture blend) Befehl wird zur Zusammensetzung texturierter objektberuhender "Pinselstriche" konstanter Farbe auf einem texturierten Hintergrund verwendet, wobei die Simulation der sich addierenden Interaktion zwischen Farbe und einem texturierten Hintergrund erwünscht ist. Um diese Wirkung zu erzielen, sollte die Seitenmattheit ein der Textur des Hintergrunds entsprechendes Bild enthalten, und die nachfolgenden Texturbytes sollten eine Textur enthalten, die sich auf die Textur des Farbmediums bezieht.

Es wird für den Fachmann offensichtlich, daß die vorstehend beschriebenen Funktionen in dem Mattheitsfeld resultieren, das entweder durch die Farbinformationen (Lichtdurchlässigkeit) des Bildes oder durch die Texturinformationen des Bilds verändert wurde. Nachfolgende Verarbeitungen beruhen auf dem veränderten Mattheitsfeld.

Das Vorstehende beschreibt nur ein Ausführungsbeispiel der Erfindung, wobei für den Fachmann selbstverständliche Abänderungen dazu ausgeführt werden können.

Zum Beispiel weisen viele der einzelnen beschriebenen Aufbaublöcke einen Signalspeicher (Latch) oder Signalspeicher (Latches) auf, die zur Zwischenspeicherung (buffer) von Daten aus dieser jeweiligen Einheit verwendet werden. Diese Signalspeicher werden gemäß diesem Ausführungsbeispiel nur zur Ermöglichung der Synchronisation überall in den verschiedenen Pipelinestufen der Graphikeinheit 10 verwendet. Mit zum Arbeiten bei viel höheren Geschwindigkeiten geeigneter Hardware werden die Verarbeitungsverzögerungen in den verschiedenen Hardwareeinheiten bedeutungslos, wobei die Erfordernis für die Signalspeicher nicht länger notwendig ist.

TABELLE 1
TABELLE 2
TABELLE 3
TABELLE 4
TABELLE 5
TABELLE 6
TABELLE 7
TABELLE 8
TABELLE 9
TABELLE 10
TABELLE 11


Anspruch[de]

1. Rampengenerator (250) mit:

einer Einrichtung (252) zum Speichern einer Zahl als eine Vielzahl von Informationsbits und

einer Akkumulatoreinrichtung (260, 265, 270, 280, 282, 284, 286, 288, 290, 292, 294, 296) zur Erzeugung eines Rampenausgangssignals des Rampengenerators zwischen einem vorbestimmten Minimum und einem vorbestimmten Maximum,

gekennzeichnet durch

eine Einrichtung (275) zur Überprüfung des höchstwertigen der Bits zur Veranlassung der Akkumulatoreinrichtung, entweder in einer Stufen- Betriebsart oder einer Sprung-Betriebsart zu arbeiten, wodurch in der Stufen-Betriebsart das Rampenausgangssignal mit einer Rate ansteigt, die kleiner ist als die Rate, bei der das Rampenausgangssignal in der Sprung-Betriebsart ansteigt, wobei der Wert der Zahl eine Echtzeit bestimmt, die für das Rampenausgangssignal zum Durchlaufen zwischen dem Minimum und dem Maximum verwendet wird.

2. Rampengenerator nach Anspruch 1, dadurch gekennzeichnet, daß in der Stufen-Betriebsart das Rampenausgangssignal mit einer Rate kleiner als 1 : 1 ansteigt, und in der Sprung-Betriebsart das Rampenausgangssignal mit einer Rate größer oder gleich 1 : 1 ansteigt.

3. Rampengenerator nach Anspruch 1, dadurch gekennzeichnet, daß die Zahl die Lauflänge einer Grafikanweisung darstellt, das vorbestimmte Minimum 0% des Interpolationsbereichs und das vorbestimmte Maximum 100% des Interpolationsbereichs beträgt.

4. Rampengenerator nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß die Zahl zumindest 8 Bits umfaßt und die Einrichtung zur Überprüfung die Stufen-Betriebsart, falls die Zahl größer als 255 ist, oder die Sprung- Betriebsart herstellt, falls die Zahl kleiner oder gleich 255 ist.

5. Rampengenerator nach Anspruch 1, 2, 3 oder 4, dadurch gekennzeichnet, daß die Akkumulatoreinrichtung ein erstes Modul (260) zur Berechnung von 255/(N-1), ein zweites Modul (265) zur Berechnung von (511-N) sowie ein drittes Modul (270) zur Berechnung von (512-2N) aufweist, wobei ein erster Multiplexer (280), der an einen Null-Wert- Anschluß und einen Ausgangsanschluß des zweiten Moduls angeschlossen ist, ein zweiter Multiplexer (282), der an einen Konstantwert-Anschluß (510) und einen Ausgangsanschluß des dritten Moduls angeschlossen ist, ein dritter Multiplexer (284) mit Eingangsanschlüssen, die an einen Ausgangsanschluß des ersten Moduls und einen Ausgangsanschluß des zweiten Multiplexers angeschlossen sind, ein Addierer (290) mit einem Eingangsanschluß, der von einem Ausgangsanschluß des dritten Multiplexers versorgt wird, wobei der Addierer ein Ausgangssignal zu einem ersten Eingangsanschluß eines vierten Multiplexers (286) zuführt, wobei ein zweiter Eingangsanschluß des vierten Multiplexers an einen Ausgangsanschluß des ersten Multiplexers angeschlossen ist, und ein Flip-Flop (292) vorhanden sind, das an einen Ausgangsanschluß des vierten Multiplexers angeschlossen ist, wobei ein Ausgangssignal des Flip-Flops als ein Ausgangssignal des Rampengenerators abgeführt sowie dem Addierer an einem zweiten Eingangsanschluß zugeführt wird.

6. Rampengenerator nach Anspruch 5, mit einer Zähleinrichtung (294), die an den Ausgangsanschluß des Flip-Flops angeschlossen ist und einen hierdurch erhöhten Zählwert aufweist, und einem fünften Multiplexer (288) mit einem ersten Eingangsanschluß, der an einen Zählwert- Ausgangsanschluß der Zähleinrichtung angeschlossen ist, und einem zweiten Eingangsanschluß, der an den Ausgangsanschluß des vierten Multiplexers angeschlossen ist, wobei ein Ausgangssignal des fünften Multiplexers umschaltbar ist zwischen dem Zählwert zur Bereitstellung eines Stufen-Betriebsart-Rampenausgangssignals und alternativ dem Ausgangssignal des vierten Multiplexers zur Bereitstellung eines wechselnden Sprung-Betriebsart- Ausgangssignals.

7. Graphikeinheit zur Verarbeitung von Farbbilddaten auf der Grundlage einer Bildelement · Bildelement-Anordnung, mit

einem parallelen Datenweg für jede von drei Grundfarben der Bilddaten, wobei jeder der Datenwege einen Interpolator und eine Mischeinrichtung aufweist, die in Reihe geschaltet sind, und die Datenwege zu einem Lichtdurchlässigkeitsinterpolator und einer Mattheitskombinationseinrichtung, die in Reihe geschaltet sind, parallel geschaltet sind, wobei jeder der Farbinterpolatoren Farbvariationsbefehle empfängt, jede der Mischeinrichtungen wiederum Farbeingangsdaten für jedes der Bildelemente empfängt und die Mischeinrichtungen die Farbeingangsdaten entsprechend einer vorbestimmten Funktion transformieren, deren Ausgang sowohl von den Eingangsfarbdaten als auch von einem Interpolator-Variationsbefehl abhängig ist, und wobei der Lichtdurchlässigkeitsinterpolator Lichtdurchlässigkeitsvariationsbefehle empfängt, die Mattheitskombinationseinrichtung Eingangsmattheitsfelddaten für jedes der Bildelemente empfängt und die Kombinationseinrichtung einen Farbmischungswert und einen Ausgangsmattheitswert für jedes Bildelement durch Transformation der Eingangsmattheitsfelddaten entsprechend den Lichtdurchlässigkeitsvariationsbefehlen erzeugt, wobei die Ausgangssignale der Graphikeinheit Farbbilddaten sind, die gleichzeitig als Farbe, Lichtdurchlässigkeit und Mattheit verarbeitet werden, wobei die Farbvariationsbefehle einen Startwert und einen Endwert aufweisen, wobei die Eingangsfarbdaten zwischen dem Startwert und dem Endwert für eine spezifische Dauer interpoliert werden, die durch den Farbvariationsbefehl bestimmt ist, und

einem Rampengenerator nach Patentanspruch 1.

8. Graphikeinheit zur Verarbeitung von Farbbilddaten auf der Grundlage einer Bildelement x Bildelement-Anordnung, mit

einem parallelen Datenweg für jede von drei Grundfarben der Bilddaten, wobei jeder der Datenwege einen Interpolator und eine Mischeinrichtung aufweist, die in Reihe geschaltet sind, und die Datenwege zu einem Lichtdurchlässigkeitsinterpolator und einer Mattheitskombinationseinrichtung, die in Reihe geschaltet sind, parallel geschaltet sind, wobei jeder der Farbinterpolatoren Farbvariationsbefehle empfängt, jede der Mischeinrichtungen wiederum Farbeingangsdaten für jedes der Bildelemente empfängt und die Mischeinrichtungen die Farbeingangsdaten entsprechend einer vorbestimmten Funktion transformieren, deren Ausgang sowohl von den Eingangsfarbdaten als auch von einem Interpolator-Variationsbefehl abhängig ist, und wobei der Lichtdurchlässigkeitsinterpolator Lichtdurchlässigkeitsvariationsbefehle empfängt, die Mattheitskombinationseinrichtung Eingangsmattheitsfelddaten für jedes der Bildelemente empfängt und die Kombinationseinrichtung einen Farbmischungswert und einen Ausgangsmattheitswert für jedes Bildelement durch Transformation der Eingangsmattheitsfelddaten entsprechend den Lichtdurchlässigkeitsvariationsbefehlen erzeugt, wobei die Ausgangssignale der Graphikeinheit Farbbilddaten sind, die gleichzeitig als Farbe, Lichtdurchlässigkeit und Mattheit verarbeitet werden, wobei die Lichtdurchlässigkeitsvariationsbefehle einen Startwert und einen Endwert aufweisen, wobei die Eingangsmattheitsdaten zwischen dem Startwert und dem Endwert für eine spezifische Dauer interpoliert werden, die durch die Lichtdurchlässigkeitsvariationsbefehle bestimmt ist, und

einem Rampengenerator nach Patentanspruch 1.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com