DE69730923T2 - Verfahren und Gerät zur Bilderzeugung - Google Patents

Verfahren und Gerät zur Bilderzeugung Download PDF

Info

Publication number
DE69730923T2
DE69730923T2 DE69730923T DE69730923T DE69730923T2 DE 69730923 T2 DE69730923 T2 DE 69730923T2 DE 69730923 T DE69730923 T DE 69730923T DE 69730923 T DE69730923 T DE 69730923T DE 69730923 T2 DE69730923 T2 DE 69730923T2
Authority
DE
Germany
Prior art keywords
data
unit
memory
texture data
texture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69730923T
Other languages
English (en)
Other versions
DE69730923D1 (de
Inventor
Yuji Shinagawa-ku Yamaguchi
Masaharu Shinagawa-ku Yoshimori
Hiroyuki Shinagawa-ku Osawa
Ryohei Shinagawa-ku Iida
Kazuo Shinagawa-ku Taniguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE69730923D1 publication Critical patent/DE69730923D1/de
Application granted granted Critical
Publication of DE69730923T2 publication Critical patent/DE69730923T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Description

  • Die vorliegende Erfindung betrifft Verfahren und Geräte zur Erzeugung von Bildern.
  • In den zurückliegenden Jahren haben sich die Anwendungsfelder für dreidimensionale Computergrafik-(3DCG)-Systeme drastisch erweitert. 3DCG-Systeme wurden nicht nur für CAD-Systeme sondern auch für Kinos, für die Bildproduktion, für Videospiele und dgl. benutzt. Derartige 3DCG-Systeme sollen nicht nur in der Lage sein, ein Objekt in dreidimensionaler Form auf einem zweidimensionalen Bildschirm anzuzeigen sondern auch ein Bild mit einem sehr viel höheren Realitätsgrad zu liefern. Als Verfahren zur Verbesserung der Ausdruckskraft von Grafiken sind im Stand der Technik Texturabbildungsverfahren bekannt. Bei derartigen Texturabbildungsverfahren wird ein Bild, ein Muster oder dgl. für ein Objekt eingebettet. Das Objekt wird aus einer Vielzahl von Polygonen, wie Dreiecken oder Rechtecken, zusammengesetzt. Die Texturabbildung wird für alle Polygoneinheiten durchgeführt. In einigen 3DCG-Systemen wird das Texturabbildungsverfahren mit Hilfe von Hardware durchgeführt.
  • In der Struktur konventioneller Bilderzeugungsgeräte ist dann typischerweise eine (im folgenden als DDA-(digitaler Differential-)-Analysierer bezeichnete) Interpolationseinheit vorgesehen, die einen Farbwert und einen Koordinatenwert linear interpoliert. Eine (im folgenden als TBUF-Einheit bezeichnete) Texturspeichereinheit liefert den Speicher für Texturdaten. Eine (im folgenden als ZBUF-Einheit bezeichnete) Z-Koordinaten-Speichereinheit liefert einen Speicher für einen Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird. Eine (im folgenden als FBUF-Einheit bezeichnete) Zeichnungsdaten-Speichereinheit liefert einen Speicher für Zeichnungsdaten. Eine (im folgenden als TMAP-Einheit bezeichnete) Texturabbildungseinheit wandelt Texturkoordinaten, die den einzelnen von der DDA-Einheit gewonnenen Zeichnungspixeln entsprechen, in eine physikalische Adresse der TBUF-Einheit um und bildet die Texturdaten ab. Eine (im folgenden als MEMIF-Einheit bezeichnete) Speicherinterface-Einheit liest/schreibt einen Z-Koordinatenwert aus der bzw. in die ZBUF-Einheit und liest/schreibt Zeichnungsdaten aus der bzw. in die FBUF-Einheit.
  • Es sind außerdem eine Signalleitung zum Einstellen eines Parameters und zum Laden von Texturdaten, ferner Signalleitungen zum Senden von Daten an die nächste Stufe, eine Signalleitung zum Senden von Anzeigedaten an ein Anzeigesystem, ein Bus zum Laden und Lesen von Texturdaten, ein Bus zum Lesen/Schreiben eines Z-Koordinatenwerts sowie ein Bus zum Lesen/Schreiben von Zeichnungsdaten vorgesehen.
  • Der Arbeitsweise des oben beschriebenen konventionellen bilderzeugenden Geräts entsprechend werden in der DDA-Einheit die Parameter eingestellt, die für das lineare Interpolieren von Bildschirmkoordinaten, eines Farbwerts und von einem Grundelement, wie einem Dreieck, entsprechenden Texturkoordinaten benötigt werden. Die DDA-Einheit führt mit solchen Parametern eine lineare Interpolation von Bildschirmkoordinaten, eines Farbwerts und von Texturkoordinaten durch, um für jedes Zeichnungspixel Bildschirmkoordinaten, den Farbwert und Texturkoordinaten zu berechnen. Die TMAP-Einheit wandelt die von der DDA-Einheit gewonnenen Texturkoordinaten in eine physikalische Adresse der TMUF-Einheit um, liest die Texturdaten aus der TBUF-Einheit aus und bildet die Texturdaten für jedes Zeichnungspixel ab.
  • Die MEMIF-Einheit liest typischerweise einen Z-Koordinatenwert aus, der in der ZBUF-Einheit mit den (X, Y)-Koordinaten des Zeichnungspixels gespeichert ist, dessen Texturdaten von der TMAP-Einheit abgebildet werden, und vergleicht den Z-Koordinatenwert mit demjenigen des Zeichnungspixels. Wenn sie übereinstimmen, schreibt die MEMIF-Einheit den Z-Koordinatenwert in die ZBUF-Einheit zurück. An diesem Punkt werden, falls nötig, die in der FBUF-Einheit gespeicherten Zeichnungsdaten mit den (X, Y)-Koordinaten des Zeichnungspixels ausgelesen. Die Zeichnungsdaten und der Koordinatenwert des Zeichnungspixels werden logisch verarbeitet. Der resultierende Farbwert wird in die FBUF-Einheit eingeschrieben. Wenn Daten angezeigt werden, liest die MEMIF-Einheit sukzessiv Zeichnungsdaten aus der FBUF-Einheit aus und sendet die Zeichnungsdaten über die Signalleitung D4 an das Anzeigesystem.
  • In einem anderen konventionellen Bilderzeugungsgerät können die Texturdaten in freien Bereichen einer ZBUF-Einheit gespeichert werden, die einen Z-Koordinatenwert speichert, und in freien Bereichen einer FBUF-Einheit, die Zeichnungsdaten speichert. Darüber hinaus enthält die TMAP-Einheit, die die Texturdaten der einzelnen Zeichnungspixel abbildet, eine (im folgenden als TCACHE-Einheit bezeichnete) Textur-Cache-Einheit, die einen Teil der Texturdaten speichert. Es ist eine Signalleitung vorgesehen, um Texturdaten, die aus der ZBUF-Einheit und der FBUF-Einheit ausgelesen wurden, an die TCACHE-Einheit zu senden.
  • Mit Ausnahme der Texturabbildungsoperation ist die Arbeitsweise des vorangehend beschriebenen zweiten konventionellen Bilderzeugungsgeräts die gleiche wie die es ersten konventionellen Geräts, das zuvor beschrieben wurde.
  • In diesem Zusammenhang werden die Texturdaten in einen rechteckigen Bereich unterteilt, dessen Größe einer TCACHE-Einheit entspricht. Da die TCACHE-Einheit aus einem SRAM besteht, ist ihre Speicherkapazität relativ klein. Die Texturdaten werden in freien Bereichen der ZBUF-Einheit und der FBUF-Einheit gespeichert. Wenn in der TCACHE-Einheit die ei nem Zeichnungspixel entsprechenden Texturdaten vorhanden sind, liest die TMAP-Einheit die Texturdaten aus der TCACHE-Einheit aus und bildet die Texturdaten für das Zeichnungspixel ab. Wenn in der TCACHE-Einheit keine Texturdaten vorhanden sind, die dem Zeichnungspixel entsprechen, liest die TMAP-Einheit sukzessiv rechteckige Bereiche der Texturdaten aus der ZBUF-Einheit oder der FBUF-Einheit aus, lädt die rechteckigen Bereiche in die TCACHE-Position und bildet dann die Texturdaten des Zeichnungspixels ab.
  • In einem dritten konventionellen Bilderzeugungsgerät werden Texturdaten parallel verarbeitet. Eine DDA-Einheit interpoliert einen Farbwert und einen Koordinatenwert linear. TBUF-Einheiten bilden Speicher für Texturdaten. ZBUF-Einheiten bilden Speicher für Z-Koordinatenwerte, die zum Entfernen einer verborgenen Fläche benutzt werden. FBUF-Einheiten bilden Speicher für Zeichnungsdaten. TMAP-Einheiten wandeln Texturkoordinaten der einzelnen Zeichnungspixel, die von der DDA-Einheit gewonnen werden, in physikalische Adressen der DDA-Einheiten um. MEMIF-Einheiten lesen/schreiben Z-Koordinatenwerte aus den bzw. in die ZBUF-Einheiten und lesen/schreiben Zeichnungsdaten aus den bzw. in die FBUF-Einheiten.
  • Es ist eine Signalleitung für das Einstellen eines Parameters und zum Laden von Texturdaten vorgesehen. Es sind ferner Signalleitungen für das Senden von Daten an die nächste Stufe vorgesehen. Zusätzlich gibt es eine Signalleitung zum Senden von Anzeigedaten an das Anzeigesystem. Ferner sind Busse zum Laden und Lesen von Texturdaten, Busse zum Lesen/Schreiben von Z-Koordinatenwerten und Busse zum Lesen/Schreiben von Zeichnungsdaten vorgesehen.
  • Der Arbeitsweise des oben beschriebenen dritten konventionellen bilderzeugenden Geräts entsprechend werden in der DDA-Einheit die Parameter eingestellt, die für das lineare Interpolieren der Bildschirmkoordinaten, eines Farbwerts und der einem Grundelement, wie einem Dreieck, entsprechenden Texturkoordinaten benötigt werden. Die DDA-Einheit führt mit solchen Parametern eine lineare Interpolation von Bildschirmkoordinaten, eines Farbwerts und von Texturkoordinaten durch. An diesem Punkt ist der Y-Koordinatenwert der Bildschirmkoordinaten ein geradzahliger Wert. Mit anderen Worten, Zeichnungspixel von geradzahligen Abtastzeilen und die Y-Koordinatenwerte der Bildschirmkoordinaten sind ungeradzahlige Werte. Zeichnungspixel von ungeradzahligen Abtastzeilen werden gleichzeitig verarbeitet, um die Bildschirmkoordinaten, den Farbwert und Texturkoordinaten jedes Zeichnungspixels zu berechnen.
  • Die TMAP-Einheit wandelt Texturkoordinaten von Zeichnungspixeln geradzahliger Abtastzeilen, die von der DDA-Einheit gewonnen werden, in physikalische Adressen der TBUF-Einheit um, liest Texturdaten aus der TBUF-Einheit aus und bildet die Texturdaten der Zeich nungspixel ab. Die TMAP-Einheit wandelt Texturkoordinaten von Zeichnungspixeln ungeradzahliger Abtastzeilen, die von der DDA-Einheit gewonnen werden, in physikalische Adressen der TBUF-Einheit um, liest Texturdaten aus der TBUF-Einheit aus und bildet die Texturdaten des Zeichnungspixels ab.
  • Die MEMIF-Einheit liest einen Z-Koordinatenwert aus, der in der ZBUF-Einheit mit den (X, Y)-Koordinaten jedes Zeichnungspixels der geradzahligen Abtastzeilen gespeichert ist, dessen Texturdaten von der TMAP-Einheit abgebildet wurden, und vergleicht die Koordinatenwerte mit denjenigen des Zeichnungspixels. Wenn sie übereinstimmen, schreibt die MEMIF-Einheit den Z-Koordinatenwert des Zeichnungspixels in die ZBUF-Einheit zurück. An diesem Punkt werden, falls notwendig, der mit den (X, Y)-Koordinaten der Zeichnungspixel ausgelesen, die in der FBUF-Einheit gespeichert sind. Die Zeichnungsdaten und der Farbwert des Zeichnungspixels werden logisch verarbeitet. Anschließend wird der resultierende Farbwert in die FBUF-Einheit eingeschrieben.
  • Die MEMIF-Einheit liest den Z-Koordinatenwert aus, der in der ZBUF-Einheit mit den (X, Y)-Koordinaten jedes Zeichnungspixels der ungeradzahligen Abtastzeilen gespeichert ist, dessen Texturdaten von der TMAP-Einheit abgebildet wurden, und vergleicht den Z-Koordinatenwert mit demjenigen des Zeichnungspixels. Wenn sie übereinstimmen, schreibt die MEMIF-Einheit den Z-Koordinatenwert des Zeichnungspixels in die ZBUF-Einheit zurück. An diesem Punkt werden, falls notwendig, die Zeichnungsdaten mit den (X, Y)-Koordinaten des Zeichnungspixels aus der FBUF-Einheit ausgelesen. Die Zeichnungsdaten und der Farbwert des Zeichnungspixels werden logisch verarbeitet. Der resultierende Farbwert wird in die FBUF-Einheit eingeschrieben. Wenn Daten angezeigt werden, lesen die MEMIF-Einheiten sukzessiv Daten aus den FBUF-Einheiten aus und senden die Zeichnungsdaten über eine Signalleitung an das Anzeigesystem.
  • Wie oben beschrieben wurde, speichern die ZBUF-Einheiten Daten von geradzahligen Abtastzeilen. Die ZBUF-Einheiten speichern Daten von ungeradzahligen Abtastzeilen.
  • In den TBUF-Einheiten sind Texturdaten gespeichert. Wenn man die Beziehung zwischen Bildschirmkoordinaten und Texturkoordinaten betrachtet, ändern sich sowohl die U- als auch die V-Koordinaten, wenn nur die X-Koordinate und nicht die Y-Koordinate in den Bildschirmkoordinaten variiert wird. Darüber hinaus sind die Änderungsbeträge der U- und V-Koordinaten nicht konstant. Da Texturdaten nicht als Zeichnungspixeln von geradzahligen Abtastzeilen und ungeradzahligen Abtastzeilen kategorisiert werden können, werden somit in den TBUF-Einheiten die gleichen Texturdaten redundant gespeichert.
  • In dem oben beschriebenen ersten konventionellen Bilderzeugungsgerät werden Texturdaten also in einem dedizierten Nurlesespeicher gespeichert. Somit können bei einer Anwendung, die nicht das Z-Pufferverfahren benutzt, bei einer Anwendung, die ein Bild mit einem einzigen Puffer zeichnet, oder bei einer Anwendung mit kleiner Anzeigefläche Texturdaten selbst dann nicht flexibel gespeichert werden, wenn ein Speicher, der einen Z-Koordinatenwert speichert, und ein Speicher, der Zeichnungsdaten speichert, freie Bereiche haben.
  • Obwohl in dem zweiten der oben beschriebenen konventionellen Bilderzeugungsgeräte Daten flexibel gespeichert werden können, können die Texturdaten nicht abgebildet werden, wenn die gewünschten Texturdaten nicht in der TCACHE-Einheit vorhanden sind, falls nicht ein rechteckiger Bereich von gewünschten Texturdaten von der ZBUF-Einheit an die TCACHE-Einheit gesendet wird.
  • Außerdem wird während dieser Periode die Leistung des Geräts beeinträchtigt, da nicht auf die ZBUF-Einheit zugegriffen wird.
  • Das dritte der oben beschriebenen konventionellen Bilderzeugungsgeräte verursacht höhere Kosten, da die gleichen Texturdaten redundant gespeichert werden.
  • EP 0 613 098-A offenbart ein Bildverarbeitungssystem mit einem Bildspeicher, der eine Doppelpufferstruktur besitzt, bei der mit jedem Puffer eine Adressenleitung, eine Datenleitung und eine Speichersteuerleitung individuell verbunden sind. Eine der beiden Puffer wird für Texturdaten benutzt, während der andere für ein Zeichnungsergebnis benutzt wird.
  • Dementsprechend bestand schon lange ein Bedürfnis nach einer verbesserten Bilddatenverarbeitung, die die Probleme der konventionellen Bilderzeugungsgeräte nach dem Stand der Technik löst und ein Bilderzeugungsgerät zur Verfügung stellt, das Texturdaten mit einer relativ kostengünstigen Struktur flexibel und mit hoher Geschwindigkeit abbilden kann. Die vorliegende Erfindung befriedigt dieses Bedürfnis offensichtlich.
  • Verschiedene Aspekte und Merkmale der Erfindung sind in den anliegenden Ansprüchen definiert.
  • Kurz und allgemein gesprochen stellen Ausführungsbeispiele der vorliegenden Erfindung ein neues und verbessertes Verfahren und Gerät für die Verarbeitung von Bilddaten zur Verfügung, die eine schnellere und kostengünstigere Abbildung von Texturdaten ermöglichen.
  • Ausführungsbeispiele der vorliegenden Erfindung liefern exemplarisch und nicht notwendigerweise einschränkend ein Gerät zur Bilderzeugung mit einem Speicher, der einen Lese-/ Schreib-Port und einen dedizierten Lese-Port aufweist sowie eine Koordinatenumwandlungseinrichtung zum Berechnen einer physikalischen Adresse von Texturdaten mit Texturkoordinaten, die einem Zeichnungspixel entsprechen, wobei die Texturdaten und Zeichnungsdaten, die an eine Anzeigeeinheit ausgegeben werden, oder ein Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird, gleichzeitig in dem Speicher gespeichert und aufbewahrt werden, wobei die Zeichnungsdaten oder der Z-Koordinatenwert über den Lese-/Schreib-Port gelesen oder eingeschrieben werden, und wobei die Koordinatenumwandlungseinrichtung die Texturdaten über den dedizierten Lese-Port ausliest. Deshalb können der dedizierte Lese-Port und der Lese-/Schreib-Port parallel arbeiten und reduzieren so die Belastung an dem Lese-/Schreib-Port, so daß die Stillstandperioden reduziert und dadurch die effektive Geschwindigkeit vergrößert wird.
  • Darüber hinaus liefern Ausführungsbeispiele der vorliegenden Erfindung auch ein Bilderzeugungsverfahren mit den Verfahrensschritten, daß Texturdaten und Zeichnungsdaten, die an eine Anzeigeeinheit ausgegeben werden, oder ein Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird, koexistent in einem Speicher gespeichert werden, der einen Lese-/Schreib-Port und einen dedizierten Lese-Port besitzt, daß Zeichnungsdaten oder ein Z-Koordinatenwert über den Lese-/Schreib-Port gelesen oder eingeschrieben werden und daß eine physikalische Adresse von Texturdaten mit Texturkoordinaten berechnet wird, die einem Zeichnungspixel entsprechen, und die Texturdaten über den dedizierten Lese-Port ausgelesen werden.
  • Der Speicher kann eine DRAM-Einheit enthalten, auf die mit einer Zeilenadresse und einer Spaltenadresse zugegriffen wird, und einen Hilfsspeicher für das temporäre Speichern eines Teils der Daten der DRAM-Einheit, wobei die Koordinatenumwandlungseinrichtung die Texturdaten, die einem Zeichnungspixel entsprechen, über den dedizierten Lese-Port aus dem Hilfsspeicher ausliest, wenn in dem Hilfsspeicher gewünschte Texturdaten vorhanden sind, und wobei die Koordinatenumwandlungseinrichtung Daten aller oder eines Teils einer Zeile von Texturdaten in den Hilfsspeicher einschreibt und die gewünschten Texturdaten über den dedizierten Lese-Port aus dem Hilfsspeicher ausliest, wenn die gewünschten Texturdaten nicht in dem Hilfsspeicher vorhanden sind.
  • Wenn für die Parallelverarbeitung von Texturdaten mehrere Koordinatenumwandlungseinrichtungen vorgesehen sind, werden vorzugsweise mehrere Speicher bereitgestellt, die der Mehrzahl von Koordinatenumwandlungseinrichtungen entsprechen. Alternativ besitzt der Hilfsspeicher vorzugsweise mehrere Lese-Ports, die der Mehrzahl von Koordinatenumwandlungseinrichtungen entsprechen. So lesen die mehreren Koordinatenumwandlungseinrichtungen die Texturdaten gleichzeitig aus dem Speicher aus.
  • In Ausführungsbeispielen der vorliegenden Erfindung können Texturdaten in freien Bereichen des Speichers für einen Z-Koordinatenwert und des Speichers für Zeichnungsdaten gespeichert werden. Somit können die Speicher flexibel und effektiv genutzt werden. Darüber hinaus können Texturdaten mit hoher Geschwindigkeit abgebildet werden. Wenn Texturdaten parallel verarbeitet werden, ist es nicht notwendig, die gleichen Texturdaten redundant zu speichern, wodurch die Kosten des Geräts reduziert werden.
  • Ein lange vorhandener Bedarf an einer verbesserten Bilddatenverarbeitung für die Bilderzeugung, die Texturdaten flexibel und mit höhere Geschwindigkeit und geringeren Kosten abbilden kann, wird somit durch Ausführungsbeispiele der vorliegenden Erfindung befriedigt oder befördert.
  • Die Erfindung wird nun beispielhaft beschrieben, wobei auf die anliegenden Zeichnungen Bezug genommen wird, in denen gleiche Teile durchgehend mit gleichen Bezugszeichen versehen sind.
  • 1 zeigt ein Blockdiagramm, in dem die Struktur eines Geräts zur Bilderzeugung nach einem ersten Ausführungsbeispiel der Erfindung dargestellt ist,
  • 2 zeigt ein Blockdiagramm der inneren Struktur eines Speichers des Bilderzeugungsgeräts, der für die Verwendung mit dem in 1 dargestellten Ausführungsbeispiel der Erfindung geeignet ist,
  • 3 zeigt ein Blockdiagramm der Struktur eines Bilderzeugungsgeräts nach einem zweiten Ausführungsbeispiel der Erfindung,
  • 4 zeigt ein Blockdiagramm der Struktur eines Bilderzeugungsgeräts nach einem dritten Ausführungsbeispiel der Erfindung,
  • 5 zeigt ein Blockdiagramm der Struktur eines Bilderzeugungsgeräts nach einem vierten Ausführungsbeispiel der Erfindung,
  • 6 zeigt ein Blockdiagramm der inneren Struktur eines Speichers des Bilderzeugungsgeräts, der für die Verwendung mit dem in 5 dargestellten vierten Ausführungsbeispiel der Erfindung geeignet ist,
  • 7 zeigt ein Blockdiagramm eines weiteren Beispiels der inneren Struktur eines Speichers des Bilderzeugungsgeräts, der für die Verwendung mit dem in 5 dargestellten vierten Ausführungsbeispiel der Erfindung geeignet ist,
  • 8 zeigt ein Blockdiagramm eines weiteren Beispiels der inneren Struktur eines Speichers des Bilderzeugungsgeräts, der für die Verwendung mit dem in 5 dargestellten vierten Ausführungsbeispiel der Erfindung geeignet ist,
  • 9 zeigt ein Blockdiagramm der Struktur eines konventionellen Bilderzeugungsgeräts,
  • 10 zeigt ein Blockdiagramm der Struktur eines anderen konventionellen Bilderzeugungsgeräts,
  • 11 zeigt ein Blockdiagramm der Struktur eines zusätzlichen konventionellen Bilderzeugungsgeräts,
  • 12 zeigt ein schematisches Diagramm zur Erläuterung der Beziehung zwischen Bildschirmkoordinaten und Texturkoordinaten,
  • 13 zeigt ein Flußdiagramm, aus dem die Arbeitsweise der in 1, 3 und 4 dargestellten TMAP- und MEMIF-Einheiten hervorgeht, die die Speicherstruktur von 2 verwenden,
  • 14 zeigt ein Flußdiagramm, aus dem die Arbeitsweise der in 5 dargestellten TMAP- und MEMIF-Einheiten hervorgeht, die die Speicherstruktur von 6 benutzen,
  • 15 zeigt ein Flußdiagramm, aus dem die Arbeitsweise der in 5 dargestellten TMAP- und MEMIF-Einheiten hervorgeht, die die Speicherstruktur von 7 verwenden,
  • 16 zeigt ein Flußdiagramm, aus dem die Arbeitsweise der in 5 dargestellten TMAP- und MEMIF-Einheiten hervorgeht, die die Speicherstruktur von 8 verwenden.
  • Es sei nun auf die Zeichnungen Bezug genommen, in denen gleiche oder einander entsprechende Teile durchgehend mit gleichen Bezugszeichen versehen sind.
  • 9 zeigt ein Beispiel für die Struktur eines konventionellen Bilderzeugungsgeräts, in dem eine (im folgenden als DDA-(digitale Differential-Analysier)-Einheit bezeichnete) Interpolationseinheit 101 Farbwerte, Koordinaten und Texturkoordinaten von Eckpunkten des Polygons aufnimmt und einen Farbwert, einen Koordinatenwert und einen Texturkoordinatenwert in dem Polygon jeder Polygoneinheit linear interpoliert. Eine (im folgenden als TBUF-Einheit bezeichnete) Textur-Speichereinheit 303 bildet einen Speicher für Texturdaten. Eine (im folgenden als ZBUF-Einheit bezeichnete) Z-Koordinaten-Speichereinheit 304-1 bildet einen Speicher für einen Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird. Eine (im folgenden als FBUF-Einheit bezeichnete) Zeichnungsdaten-Speichereinheit 304-2 bildet einen Speicher für Zeichnungsdaten. Eine (im folgenden als TMAP-Einheit bezeichnete) Texturabbildungseinheit 301 wandelt den einzelnen von der DDA-Einheit 101 gewonnenen Zeichnungspixeln entsprechende Texturkoordinaten in eine physikalische Adresse der TBUF-Einheit 303 um und bildet die Texturdaten ab. Eine (im folgenden als MEMIF-Einheit bezeichnete) Speicherinterface-Einheit 302 liest/schreibt einen Z-Koordinatenwert aus der bzw. in die ZBUF-Einheit 304-1 und liest/schreibt Zeichnungsdaten aus der bzw. in die FBUF-Einheit 304-2.
  • Eine Signalleitung D1 ist vorgesehen, um in der DDA-Einheit 101 einen Parameter einzustellen und Texturdaten in die TBUF 303 zu laden. Signalleitungen D2 und D3 senden Daten an die nächste Stufe. Eine Signalleitung D4 sendet Anzeigedaten an ein Anzeigesystem. Ein Bus B3X dient zum Laden und Lesen von Texturdaten. Ein Bus B1X dient zum Lesen/Schreiben eines Z-Koordinatenwerts. Ein Bus B2X dient zum Lesen/Schreiben von Zeichnungsdaten.
  • Als Nächstes wird die Arbeitsweise des oben beschriebenen konventionellen Bilderzeugungsgeräts erläutert. In der DDA-Einheit 101 werden eingestellt, die für das lineare Interpolieren von Bildschirmkoordinaten, eines Farbwerts und Texturkoordinaten für jedes Grundelement (d. h. für jedes Polygon), wie ein Dreieck, benötigt werden. Für jedes Polygon werden Farbwerte, Bildschirmkoordinaten und Texturkoordinaten von Eckpunkten des Polygons als Parameter über die Signalleitung D1 an die DDA-Einheit 101 geliefert. Die DDA-Einheit 101 interpoliert die Bildschirmkoordinaten, die Z-Koordinaten, einen Farbwert und Texturkoordinaten in dem Polygon mit solchen Parametern linear, um für jedes Zeichnungspixel Bildschirmkoordinaten, einen Farbwert und Texturkoordinaten zu berechnen. Die berechneten Bildschirmkoordinaten, der Farbwert und die Texturkoordinaten für jedes Zeichnungspixel werden über die Signalleitung D2 der TMAP-Einheit 301 zugeführt. Die TMAP-Einheit 301 wandelt die von der DDA-Einheit 101 gewonnenen Texturdaten in eine physikalische Adresse der TBUF-Einheit 303 um, liest die Texturdaten entsprechend der physikalischen Adresse aus der TBUF-Einheit 303 aus und bildet die Texturdaten für jedes Zeichnungspixel ab.
  • Die Bildschirmkoordinaten, der Farbwert und die abgebildeten Texturdaten des Pixels werden der MEMIF-Einheit 302 zugeführt. Die MEMIF-Einheit 302 liest einen in der ZBUF-Einheit 304-1 gespeicherten Z-Koordinatenwert mit (X, Y)-Koordinaten des Bildschirms des Zeichnungspixels aus, dessen Texturdaten von der TMAP-Einheit 301 abgebildet wurden, und vergleicht den Z-Koordinatenwert mit demjenigen des Zeichnungspixels. Wenn sie übereinstimmen, wird das Zeichnungspixel gezeichnet, und die MEMIF-Einheit 302 schreibt den Z-Koordinatenwert des Zeichnungspixels in die ZBUF-Einheit 304-1 zurück. An diesem Punkt werden die in der FBUF-Einheit 304-2 gespeicherten Zeichnungsdaten, falls erforderlich, mit den (X, Y)-Koordinaten der Bildschirmkoordinaten des Zeichnungspixels ausgelesen. Die Zeichnungsdaten und der Farbwert des Zeichnungspixels werden logisch verarbeitet, um eine passende Mischung herzustellen. Der resultierende Farbwert wird in die FBUF-Einheit 304-2 eingeschrieben. Wenn Daten angezeigt werden, liest die MEMIF-Einheit 302 sukzessiv Zeichnungsdaten aus der FBUF-Einheit 304-2 aus und sendet die Zeichnungsdaten über die Signalleitung D4 an das Anzeigesystem. Die Texturdaten werden über die Leitung D1 angeliefert und über die DDA-Einheit 101 und die TMAP-Einheit 301 in die TBUF-Einheit 303 geladen.
  • 10 zeigt ein Blockdiagramm der Struktur eines anderen konventionellen Bilderzeugungsgeräts. Bei der Anordnung von 10 werden Texturdaten in freie Bereiche einer ZBUF-Einheit 304-1, die einen Z-Koordinatenwert speichert, und einer FBUF-Einheit 304-2 eingelesen, die Zeichnungsdaten speichert. Darüber hinaus enthält die TMAP-Einheit 305, die Texturdaten der einzelnen Zeichnungspixel abbildet, eine (im folgenden als TCACHE-Einheit bezeichnete) Textur-Cache-Einheit 307, die einen Teil der Texturdaten speichert. Mit D7 ist eine Signalleitung bezeichnet, die die aus der ZBUF-Einheit 304-1 und der FBUF-Einheit 304-2 ausgelesenen Texturdaten an die TCACHE-Einheit 307 sendet.
  • Mit Ausnahme der Texturabbildungsoperation ist die Arbeitsweise des in 10 dargestellten zweiten konventionellen Bilderzeugungsgeräts die gleiche wie die Arbeitsweise des in 9 dargestellten ersten konventionellen Bilderzeugungsgeräts. Deshalb wird im folgenden nur die Texturabbildungsinformation des Bilderzeugungsgeräts von 10 beschrieben. Da die TCACHE-Einheit 307 aus einem SRAM besteht, ist ihre Speicherkapazität relativ klein.
  • Texturdaten wurden in einen quadratischen oder rechteckigen Bereich unterteilt, dessen Größe der TCACHE-Einheit 307 entspricht. Die Texturdaten werden in freien Bereichen der ZBUF-Einheit 304-1 und der FBUF-Einheit 304-2 gespeichert. Wenn in der TCACHE-Einheit 307 einem Zeichnungspixel entsprechende Texturdaten vorhanden sind, liest die TMAP-Einheit 305 die Texturdaten aus der TCACHE-Einheit 307 aus und bildet die Texturdaten für das Zeichnungspixel ab. Wenn in der TCACHE-Einheit 307 keine dem Zeichnungspixel entsprechenden Texturdaten vorhanden sind, liest die TMAP-Einheit 305 sukzessiv die quadratischen oder rechteckigen Bereiche der Texturdaten aus der ZBUF-Einheit 304-1 oder der FBUF-Einheit 304-2 aus, lädt die quadratischen oder rechteckigen Bereiche in die TCACHE-Einheit 307 und bildet dann die Texturdaten des Zeichnungspixels ab.
  • 11 zeigt ein Blockdiagramm der Struktur eines dritten konventionellen Bilderzeugungsgeräts, das Texturdaten parallel verarbeitet. In 11 empfängt eine DDA-Einheit 101 Farbwerte, Koordinaten und Texturkoordinaten von Eckpunkten des Polygons und interpoliert in dem Polygon jeder Polygoneinheit einen Farbwert, einen Koordinatenwert und eine Texturkoordinate linear. Die TBUF-Einheiten 303a und 303b sind Speicher für Texturdaten. Die ZBUF-Einheiten 307-1 und 307-3 sind Speicher für Z-Koordinatenwerte, die zum Entfernen einer verborgenen Fläche benutzt werden. Die FBUF-Einheiten 307-2 und 307-4 sind Speicher für Zeichnungsdaten. Mit 301a und 301b sind TMAP-Einheiten bezeichnet, die Texturkoordinaten jedes Zeichnungspixels, die von der DDA-Einheit 101 gewonnen werden, in physikalische Adressen der TBUF-Einheiten 303a und 303b umwandeln. Die MEMIF-Einheiten 302a und 302b lesen/schreiben Z-Koordinatenwerte aus den bzw. in die ZBUF-Einheiten 307-1 und 307-3 und lesen/schreiben Zeichnungsdaten aus den bzw. in die FBUF-Einheiten 307-2 und 307-4.
  • Eine Signalleitung D10 dient zum Einstellen eines Parameters und zum Laden von Texturdaten. Signalleitungen D20a, D20b, D30a und D30b werden für das Senden von Daten an die nächste Stufe benutzt. Eine Signalleitung D40 wird für das Senden von Anzeigedaten an das Anzeigesystem benutzt. Busse B3Xa und B3Xb werden zum Laden und Lesen von Texturdaten benutzt. Busse B1Xa und B1Xb werden für das Lesen/Schreiben von Z-Koordinatenwerten benutzt. Busse B2Xa und B2Xb werden für das Lesen/Schreiben von Zeichnungsdaten benutzt.
  • Als Nächstes wird die Arbeitsweise des oben beschriebenen dritten konventionellen Bilderzeugungsgeräts erläutert. In der DDA-Einheit 101 werden Parameter eingestellt, die für das lineare Interpolieren von Bildschirmkoordinaten, eines Farbwerts und von Texturkoordinaten für jedes Grundelement (d. h. für jedes Polygon), wie eines Dreiecks, benötigt werden. Für jedes Polygon werden der DDA-Einheit 101 über die Signalleitung D1 Farbwerte, Bildschirmkoordinaten und Texturkoordinaten von Eckpunkten des Polygons als Parameter zugeführt. Die DDA-Einheit 101 interpoliert linear Bildschirmkoordinaten, Z-Koordinaten, einen Farbwert und Texturkoordinaten in dem Polygon mit den Parametern. Dabei werden die Zeichnungspixel, für die der Y-Koordinatenwert der Bildschirmkoordinaten ein geradzahliger Wert ist, d. h. die Zeichnungspixel, die zu geradzahligen Abtastzeilen gehören, zur gleichen Zeit verarbeitet, in der die Zeichnungspixel für den Y-Koordinatenwert der Bildschirmkoordinaten ungeradzahlige Werte sind, d. h. die Zeichnungspixel, die zu ungeradzahligen Abtastzeilen gehören, verarbeitet werden. Dadurch werden die Bildschirmkoordinaten, der Farbwert und die Texturkoordinaten für jedes Zeichnungspixel jeder Zeile berechnet.
  • Die berechneten Bildschirmkoordinaten, der Farbwert und die Texturkoordinaten für jedes Zeichnungspixel der geradzahligen Abtastzeilen werden über die Signalleitung D20a der TMAP-Einheit 301a zugeführt. Die TMAP-Einheit 301a wandelt die Texturkoordinaten von Zeichnungspixeln geradzahliger Abtastzeilen, die von der DDA-Einheit 101 gewonnen werden, in physikalische Adressen der TBUF-Einheit 303a um, liest der physikalischen Adresse entsprechende Texturdaten aus der TBUF-Einheit 303a aus und bildet die Texturdaten der Zeichnungspixel ab. Die berechneten Bildschirmkoordinaten, der Farbwert und die Texturkoordinaten für jedes Zeichnungspixel der geradzahligen Abtastzeilen werden über die Signalleitung D20b der TMAP-Einheit 301b zugeführt. Die TMAP-Einheit 301b wandelt die Texturkoordinaten der Zeichnungspixel von ungeradzahligen Abtastzeilen, die von der DDA-Einheit 101a gewonnen werden, in physikalische Adressen der TBUF-Einheit 303b um, liest der physikalischen Adresse entsprechende Texturdaten aus der TBUF-Einheit 303b aus und bildet die Texturdaten der Zeichnungspixel ab.
  • Die MEMIF-Einheit 302a liest einen Z-Koordinatenwert aus, der in der ZBUF-Einheit 307-1 mit den (X, Y)-Koordinaten der Bildschirmkoordinaten jedes Zeichnungspixels der geradzahligen Abtastzeilen gespeichert ist, deren Texturdaten von der TMAP-Einheit 301a abgebildet wurden, und vergleicht die Z-Koordinatenwerte mit denjenigen des Zeichnungspixels. Wenn sie übereinstimmen, wird das Zeichnungspixel gezeichnet und die MEMIF-Einheit 302a schreibt den Z-Koordinatenwert des Zeichnungspixels in die ZBUF-Einheit 307-1 zurück. An diesem Punkt werden mit den (X, Y)-Koordinaten der Bildschirmkoordinaten des Zeichnungspixels, falls notwendig, Zeichnungsdaten ausgelesen, die in der FBUF-Einheit 307-2 gespeichert sind. Die Zeichnungsdaten und der Farbwert des Zeichnungspixels werden logisch verarbeitet. Anschließend wird der resultierende Farbwert in die FBUF-Einheit 307-2 eingeschrieben.
  • Die MEMIF-Einheit 302b liest den Z-Koordinatenwert aus, der in der ZBUF-Einheit 307-3 mit den (X, Y)-Koordinaten der Bildschirmkoordinaten jedes Zeichnungspixels der ungeradzahligen Abtastzeilen gespeichert ist, deren Texturdaten von der TMAP-Einheit 301b abgebildet wurden, und vergleicht den Z-Koordinatenwert mit demjenigen des Zeichnungspixels. Wenn sie übereinstimmen, wird das Zeichnungspixel gezeichnet, die MEMIF-Einheit 302b schreibt den Z-Koordinatenwert des Zeichnungspixels in die ZBUF-Einheit 307-3 zurück. An diesem Punkt werden mit den (X, Y)-Koordinaten des Zeichnungspixels, falls notwendig, die Zeichnungsdaten aus der FBUF-Einheit 307-4 ausgelesen. Die Zeichnungsdaten und der Farbwert des Zeichnungspixels werden logisch verarbeitet. Der resultierende Farbwert wird in die FBUF-Einheit 307-4 eingeschrieben. Wenn Daten angezeigt werden, lesen die MEMIF-Einheiten 302a und 302b sukzessiv Daten aus den FBUF-Einheiten 307-2 und 307-4 aus und senden die Zeichnungsdaten über die Signalleitung D40 an das Anzeigesystem.
  • Wie oben beschrieben wurde, speichern die ZBUF-Einheiten 307-1 und 307-2 Daten von geradzahligen Abtastzeilen. Die ZBUF-Einheiten 307-3 und 307-4 speichern Daten von ungeradzahligen Abtastzeilen.
  • Als Nächstes werden die in den TBUF-Einheiten 303a und 303b gespeicherten Texturdaten beschrieben. 12 zeigt die Beziehung zwischen Bildschirmkoordinaten und Texturkoordinaten. Wenn nur die X-Koordinate, nicht jedoch die Y-Koordinate in den Bildschirmkoordinaten geändert wird, ändern sich sowohl die U- als auch die V-Koordinaten, wie dies in 12 dargestellt ist. Darüber hinaus sind die Änderungsbeträge der U- und V-Koordinaten nicht konstant. Da Texturdaten nicht als Zeichnungspixel von geradzahligen Abtastzeilen und ungeradzahligen Abtastzeilen kategorisiert werden können, werden so die gleichen Texturdaten in den TBUF-Einheiten 303a und 303b redundant gespeichert.
  • Bei dem in 9 dargestellten ersten konventionellen Bilderzeugungsgerät werden Texturdaten in einem dedizierten Texturspeicher gespeichert. Somit können bei einer Anwendung, die nicht das Z-Pufferverfahren benutzt, bei einer Anwendung, die ein Bild mit einem einzigen Puffer zeichnet, oder bei einer Anwendung mit kleiner Anzeigefläche Texturdaten selbst dann nicht flexibel gespeichert werden, wenn ein Speicher, der einen Z-Koordinatenwert speichert, und ein Speicher, der Zeichnungsdaten speichert, freie Bereiche haben.
  • In dem in 10 dargestellten zweiten konventionellen Bilderzeugungsgerät können Daten zwar flexibel gespeichert werden, die Texturdaten können jedoch nicht abgebildet werden, wenn die gewünschten Texturdaten in der TCACHE-Einheit 307 nicht vorhanden sind, es sei denn daß der TCACHE-Einheit 307 aus der ZBUF-Einheit 304-1 oder 304-2 ein quadratischer Bereich von gewünschten Texturdaten zugeführt wird. Außerdem verschlechtert sich während dieser Periode die Leistung des Geräts, da auf die ZBUF-Einheit 304-1 oder 304-2 nicht zugegriffen wird.
  • Da in dem dritten konventionellen Bilderzeugungsgerät die gleichen Texturdaten redundant gespeichert werden sollten, werden seine Kosten größer.
  • Als Nächstes werden anhand der anliegenden Zeichnungen verschiedene Ausführungsbeispiele der vorliegenden Erfindung beschrieben, die ausdrücklich den Zweck verfolgen, die vorangehend beschriebenen Schwierigkeiten der verschiedenen konventionellen Bilderzeugungssysteme des Standes der Technik zu lösen oder zumindest anzugehen.
  • 1 zeigt ein Blockdiagramm der Struktur eines Bilderzeugungsgeräts nach einem ersten Ausführungsbeispiel der vorliegenden Erfindung. In der Anordnung von 1 ist eine DDA-Einheit 101 vorgesehen, die einen Farbwert, einen Koordinatenwert und Texturkoordinaten in dem Polygon für jede Polygoneinheit linear interpoliert. Eine ZBUF-Einheit 104-1 bildet einen Speicher für einen Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird. Eine FBUF-Einheit 104-2 bildet einen Speicher für Zeichnungsdaten. Texturdaten werden in freien Bereichen der ZBUF-Einheit 104-1 und der FBUF-Einheit 104-2 gespeichert.
  • Die berechneten Bildschirmkoordinaten, der Farbwert und die Texturkoordinaten für jedes Zeichnungspixel werden über die Signalleitung D2 der TMAP-Einheit 102 zugeführt. Die TMAP-Einheit 102 wandelt Texturkoordinaten jedes Zeichnungspixels, die von der DDA-Einheit 101 gewonnen werden, in physikalische Adressen der ZBUF-Einheit 104-1 und der FBUF-Einheit 104-2 um. Eine MEMIF-Einheit 103 liest/schreibt einen Z-Koordinatenwert aus der bzw. in die ZBUF-Einheit 104-1 und liest/schreibt Zeichnungsdaten aus der bzw. in die FBUF-Einheit 104-2. Eine Signalleitung D1 dient zum Einstellen eines Parameters und zum Laden von Texturdaten. Signalleitungen D2 und D3 senden Daten an die nächste Stufe. Die Signalleitung D4 dient zum Senden von Anzeigedaten an ein Anzeigesystem. Ein Bus B1 dient zum Lesen/Schreiben eines Z-Koordinatenwerts. Ein Bus B2 dient zum Lesen/Schreiben von Zeichnungsdaten.
  • Die berechneten Bildschirmkoordinaten, der Farbwert und die Texturkoordinaten für jedes Zeichnungspixel werden über die Signalleitung D2 der TMAP-Einheit 102 zugeführt. Als Nächstes wird die Arbeitsweise des Bilderzeugungsgeräts nach dem ersten Ausführungsbeispiel der Erfindung erläutert. Da die Arbeitsweise der DDA-Einheit 101 die gleiche ist wie diejenige der DDA-Einheit der in 9 und 10 dargestellten konventionellen Bilderzeugungsgeräte, wird ihre Beschreibung hier weggelassen. Zunächst werden über die DDA-Einheit 101 und die TMAP-Einheit 102 Texturdaten an die MEMIF-Einheit 103 gesendet. Die TMAP-Einheit 102 wandelt die von der DDA-Einheit 101 gewonnenen Texturdaten in eine physikalische Adresse der ZBUF-Einheit 104-1 oder der FBUF-Einheit 104-2 um, liest Texturdaten von dedizierten Lese-Ports der ZBUF-Einheit 104-1 und der FBUF-Einheit 104-2 über den Bus B3 aus und bildet die Texturdaten ab.
  • Die MEMIF-Einheit 103 vergleicht die Z-Koordinatenwerte mit Hilfe der ZBUF-Einheit 104-1 und speichert Zeichnungsdaten in der FBUF-Einheit 104-2 in der gleichen Weise wie die MEMIF-Einheit der in 9 und 10 dargestellten konventionellen Bilderzeugungsgeräte.
  • Als Nächstes wird die Texturabbildungsoperation näher erläutert. 2 zeigt die interne Struktur eines Speichers in der ZBUF-Einheit 104-1 und in der FBUF-Einheit 104-2. In 2 ist ein bidirektionaler Puffer 201 dargestellt. Auf eine DRAM-Einheit 202 wird mit einer Zeilenadresse und einer Spaltenadresse zugegriffen. Ein (im folgenden als AUXMEM-Einheit bezeichneter) Hilfsspeicher 203 speichert temporär einen Teil der in der DRAM-Einheit 202 gespeicherten Daten. Ein Lesepuffer 204 ist mit dem Bus B3 verbunden. Im Fall der ZBUF-Einheit ist der bidirektionale Puffer 201 mit dem Bus B1 verbunden. Im Fall der FBUF-Einheit ist der bidirektionale Puffer 201 mit dem Bus B2 verbunden. Über den bidirektionalen Puffer 201 werden ein Z-Koordinatenwert oder Zeichnungsdaten ausgelesen/eingeschrieben. Texturdaten werden über den Puffer 204 ausgelesen, jedoch werden Texturdaten über den Puffer 201 eingeschrieben.
  • Wenn in der AUXMEM-Einheit 203 der ZBUF-Einheit 104-1 oder der FBUF-Einheit 104-2 gewünschte Texturdaten vorhanden sind, decodiert die TMAP-Einheit 102 eine von der TMAP-Einheit 102 berechnete physikalische Adresse, wählt die gewünschten Texturdaten aus der AUXMEM-Einheit 203 aus, aktiviert den Puffer 204, der die gewünschten Texturdaten speichert, liest die gewünschten Texturdaten über den Bus B3 aus und bildet die Texturdaten ab.
  • Wenn die gewünschten Texturdaten hingegen nicht in den AUXMEM-Einheiten der ZBUF-Einheit 104-1 und der FBUF-Einheit 104-2 vorhanden sind, sendet die TMAP-Einheit 102 eine physikalische Adresse der gewünschten Texturdaten über eine Signalleitung ADR (Adresse) an die MEMIF-Einheit 103 und veranlaßt, daß ein Signalleitungs-REQ (Anforderung) aktiv wird. Die MEMIF-Einheit 103 veranlaßt, daß eine Zeile von gewünschten Texturdaten in der DRAM-Einheit 202 der ZBUF-Einheit 104-1 oder FBUF-Einheit 104-2 aktiv wird und sendet die Daten der gesamten Zeile an die AUXMEM-Einheit 203. Anschließend veranlaßt die MEMIF-Einheit 103, daß ein Signal RDY (bereit) aktiv wird und so anzeigt, daß die Daten gesendet wurden. Wenn das Signal RDY aktiv wird, liest die TMAP-Einheit 102 Texturdaten in der Weise aus, daß die gewünschten Texturdaten in der AUXMEM-Einheit 203 der ZBUF-Einheit 104-1 oder der FBUF-Einheit 104-2 vorhanden sind, und bildet die Texturdaten ab.
  • Ein Speicher (ZBUF-Einheit) für einen Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird, und ein Speicher (FBUF-Einheit) für Zeichnungsdaten, die an eine Anzeigeeinheit ausgegeben werden, verfügen, wie oben beschrieben, jeweils über eine DRAM-Einheit und einen Hilfsspeicher. Die Daten einer Zeile der DRAM-Einheit werden gleichzeitig an den Hilfsspeicher gesendet. Somit ist es bei der Anordnung gemäß vorliegender Erfindung kein großer Nachteil, wenn gewünschte Texturdaten nicht in dem Hilfsspeicher vorhanden sind. Darüber hinaus können gemäß vorliegender Erfindung mit der Struktur, bei der beide Speicher jeweils einen dedizierten Lese-Port haben, und bei der zur gleichen Zeit Zeichnungsdaten und ein Z-Koordinatenwert ausgelesen und eingeschrieben und Texturdaten ausgelesen werden, Texturdaten flexibel in freien Bereichen beider Speicher gespeichert werden. Außerdem können Texturdaten mit hoher Geschwindigkeit abgebildet werden.
  • 3 zeigt ein Blockdiagramm der Struktur eines Bilderzeugungsgeräts nach einem zweiten Ausführungsbeispiel der Erfindung. In 3 entsprechen die DDA-Einheit 101, die TMAP-Einheit 102 und die MEMIF-Einheit 103 jeweils den gleichen Komponenten wie bei dem in 1 dargestellten ersten Ausführungsbeispiel. Außerdem sind die Signalleitungen D1, D2, D3, D4, ADR, REQ und RDY die gleichen wie bei dem ersten Ausführungsbeispiel von 1. Speichereinheiten 105-1 bis 105-4 (die im folgenden als MEM-Einheiten bezeichnet werden) sind für Zeichnungsdaten, einen Z-Koordinatenwert und Texturdaten vorgesehen. Die innere Struktur der MEM-Einheiten ist die gleiche, wie sie in 2 dargestellt ist.
  • Ein Bus B10 dient zum Lesen/Schreiben eines Z-Koordinatenwerts. Ein Bus B20 dient zum Lesen/Schreiben von Zeichnungsdaten. Busse B41 bis B44 sind mit entsprechenden RWBUFs 201 der MEM-Einheiten 105-1 bis 105-4 verbunden. Ein Bus B30 dient zum Lesen von Texturdaten. Der Bus B30 ist mit einer RBUF-Einheit 204 der MEM-Einheit verbunden. Außerdem sind bidirektionale Puffer 106-1 bis 106-7 vorgesehen (die im folgenden als BBs bezeichnet werden).
  • Bei dem in 1 dargestellten ersten Ausführungsbeispiel sind der Bus für das Lesen/-Schreiben eines Z-Koordinatenwerts und der für das Lesen/Schreiben von Zeichnungsdaten benutzte Bus/Speicher fest angeordnet. Somit sind der Speicher für den Z-Koordinatenwert und der Speicher für die Zeichnungsdaten klar getrennt. In dem in 3 dargestellten zweiten Ausführungsbeispiel werden hingegen Zeichnungsdaten, der Z-Koordinatenwert und Texturdaten koexistent in den MEM-Einheiten 105-1 bis 105-4 gespeichert. Bei der in 3 dargestellten Struktur können die Verbindungen zwischen dem Bus zum Lesen/Schreiben des Z-Koordinatenwerts und dem Bus/Speicher zum Lesen/Schreiben von Zeichnungsdaten frei variiert werden. Dadurch wird die Flexibilität des Geräts verbessert. Bei einer Anwendung, die nicht das Z-Pufferverfahren benutzt, können z. B. alle MEM-Einheiten 105-1 bis 105-4 zum Speichern von Zeichnungsdaten und Texturdaten benutzt werden. Somit läßt sich das Gerät für ein Anzeigesystem mit hoher Anzeigeauflösung einsetzen. Wenn die MEM-Einheiten 105-1 und 105-2 hingegen als Speicher für den Z-Koordinatenwert und die MEM-Einheiten 105-3 und 105-4 als Speicher zum Speichern von Zeichnungsdaten benutzt werden, können die Daten mit höherer Geschwindigkeit abgezogen werden als bei anderen Strukturen, da der Z-Koordinatenwert und die Zeichnungsdaten jeweils in zwei Speicherbänken gespeichert sind.
  • 4 zeigt ein Blockdiagramm der Struktur eines Bilderzeugungsgeräts nach einem dritten Ausführungsbeispiel der Erfindung. In 4 lädt eine (im folgenden als IMLD-Einheit bezeichnete) Bildeingabeeinrichtung 401 Bilddaten. In Wirklichkeit ist die IMLD-Einheit ein Interface für eine externe Videoeinheit oder eine externe Speichereinheit. Die IMLD-Einheit behandelt das Handshake von Video- oder Texturdaten und eine Zeitsteuerung für die Übertragung von Video- oder Texturdaten zwischen der externen Videoeinheit oder der externen Speichereinheit und der MEMIF-Einheit. Eine (im folgenden als IBUF-Einheit bezeichnete) Speichereinheit 402 speichert Bilddaten und Texturdaten. Signalleitungen D5 und D6 dienen zum Laden von Bilddaten. Ein Bus B4 dient zum Laden von Bilddaten und zum Auslesen von Bilddaten, die angezeigt werden sollen. Die übrige Struktur des dritten Ausführungsbeispiels ist die gleiche wie bei dem in 1 dargestellten Ausführungsbeispiel.
  • Als Nächstes wird die Arbeitsweise des Bilderzeugungsgeräts nach dem dritten Ausführungsbeispiel beschrieben. Wie bei dem ersten Ausführungsbeispiel werden Texturdaten, die häufig benutzt werden und deshalb resident in einem Speicher vorhanden sein sollten, über eine DDA-Einheit 101 und eine TMAP-Einheit 102 einer MEMIF-Einheit 103 zugeführt und dann in freie Bereiche einer ZBUF-Einheit 104-1 und einer FBUF-Einheit 104-2 geladen.
  • Auf der anderen Seite werden Texturdaten, die nicht häufig benutzt werden und häufig geändert werden sollten, aus einer externen Speichereinheit ausgelesen und über die Signalleitung D5 der IMLD-Einheit 401 zugeführt.
  • Die IMLD-Einheit 401 sendet die Texturdaten über die Signalleitung D6 an die MEMIF-Einheit 103. Die MEMIF-Einheit 103 lädt die Texturdaten über den Bus B4 in die IBUF-Einheit 402. Bewegtbilddaten, wie Videobilddaten, die 30 bis 60 Mal pro Sekunde zurückgeschrieben werden sollen, werden über den gleichen Weg in die IBUF-Einheit 402 geladen. Die interne Struktur der IBUF-Einheit 402 ist die gleiche, wie die der ZBUF-Einheit 104-1 und der FBUF-Einheit 104-2. Die Texturdaten oder Bewegtbilddaten, die in die IBUF-Einheit 402 geladen werden, werden aus dem dedizierten Lese-Port der IBUF-Einheit 402 über den Bus B3 in der gleichen Weise ausgelesen wie bei dem ersten Ausführungsbeispiel und dann abgebildet.
  • Wie oben beschrieben wurde, besitzt das Gerät nach dem dritten Ausführungsbeispiel der Erfindung die IMLD-Einheit 401, die eine Bildeingabeeinrichtung darstellt. Es werden zur gleichen Zeit Zeichnungsdaten und ein Z-Koordinatenwert ausgelesen oder eingeschrieben, Texturdaten gelesen und Texturdaten und Bewegtbilddaten geladen. Bei einer Anwendung, die viele Texturen benutzt, die die Speicherkapazität eines lokalen Speichers überschreiten, kann auf diese Weise eine Leistungsverringerung durch die Änderungen von Texturdaten minimiert werden. Darüber hinaus können Texturdaten von Bewegtbilddaten abgebildet werden.
  • 13 zeigt ein Flußdiagramm, das die Arbeitsweise der in 1, 3 und 4 dargestellten TMAP- und MEMIF-Einheiten beschreibt, die die in 2 dargestellte Speicherstruktur benutzen. Der einschlägige Fachmann erkennt, daß dieses Flußdiagramm für die Operationssequenz, die unter Verwendung der in den Ausführungsbeispielen von 1 bis 4 offenbarten Hardwarestruktur durchgeführt wird, selbsterklärend ist.
  • 5 zeigt ein Blockdiagramm der Struktur eines Bilderzeugungsgeräts nach einem vierten Ausführungsbeispiel der Erfindung. In 5 interpoliert eine DDA-Einheit 101a einen Farbwert und einen Koordinatenwert linear. Die ZBUF-Einheiten 107-1 und 107-3 sind Speicher für Z-Koordinatenwerte, die zum Entfernen einer verborgenen Fläche benutzt werden. Die FBUF-Einheiten 107-2 und 107-4 sind Speicher für Zeichnungsdaten. Die TMAP-Einheiten 102a und 102b wandeln Texturkoordinaten der einzelnen Zeichnungspixel, die von der DDA-Einheit 101a gewonnen werden, in physikalische Adressen der ZBUF-Einheiten 107-1 und 107-3 und der FBUF-Einheiten 107-2 und 107-4 um und bilden die Texturdaten des Zeichnungspixels ab. Die MEMIF-Einheiten 103a und 103b lesen/schreiben Z-Koordinatenwerte aus den bzw. in die ZBUF-Einheiten 107-1 und 107-3 und lesen/schreiben Zeichnungsdaten aus den bzw. in die FBUF-Einheiten 107-2 und 107-4.
  • Die Signalleitungen D10, D20a, D20b, D30a, D30b und D40 dienen wie bei dem in 11 dargestellten dritten Ausführungsbeispiel zum Senden von Signalen. Busse B3a und B3b dienen zum Auslesen von Texturdaten. Busse B1a und B1b dienen zum Lesen/Schreiben von Z-Koordinatenwerten. Busse B2a und B2b dienen zum Lesen/Schreiben von Zeichnungsdaten.
  • Als Nächstes wird die Arbeitsweise des Bilderzeugungsgeräts nach dem vierten Ausführungsbeispiel der Erfindung beschrieben. Mit Ausnahme der Texturabbildungsoperation entspricht die Arbeitsweise des vierten Ausführungsbeispiels derjenigen des dritten konventionellen Geräts von 11. Deshalb wird nur die Texturabbildungsoperation des vierten Ausführungsbeispiels beschrieben. 6 zeigt die interne Struktur eines Speichers in jeder der ZBUF-Einheiten 107-1 und 107-3 und der FBUF-Einheiten 107-2 und 107-4.
  • Wie bei dem ersten Ausführungsbeispiel von 2 bezeichnen in 6 die Bezugszeichen 201 und 202 einen bidirektionalen Puffer bzw. eine DRAM-Einheit. Hilfsspeicher 203a und 203b (AUXMEM-Einheiten) speichern Daten der DRAM-Einheit 202 temporär. Es sind außerdem Lesepuffer 204a und 204b vorgesehen. Die RBUF-Einheit 204a ist mit dem Bus B3a verbunden. Die RBUF-Einheit 204b ist mit dem Bus B3b verbunden.
  • Im Fall der ZBUF-Einheit 107-1 ist der bidirektionale Puffer 201 mit dem Bus B1a verbunden. Im Fall der ZBUF-Einheit 107-3 ist der bidirektionale Puffer 201 mit dem Bus B1b verbunden. Im Fall der FBUF-Einheit 107-2 ist der bidirektionale Puffer 201 mit dem Bus B2b verbunden. Im Fall der FBUF-Einheit 107-4 ist der bidirektionale Puffer 201 mit dem Bus B2b verbunden.
  • Über den bidirektionalen Puffer 201 werden ein Z-Koordinatenwert oder Zeichnungsdaten ausgelesen und eingeschrieben. Texturdaten werden über den Puffer 204a oder 204b ausgelesen. Wenn gewünschte Texturdaten in der AUXMEM-Einheit 203a der ZBUF-Einheit 107-1 oder 107-3 oder der FBUF-Einheit 107-2 oder 107-4 vorhanden sind, decodiert die TMAP-Einheit 102a eine von der TMAP-Einheit 102 berechnete physikalische Adresse, wählt die gewünschten Texturdaten aus der AUXMEM-Einheit 203a aus, aktiviert den Puffer 204a des Speichers, der die gewünschten Texturdaten speichert, liest die gewünschten Texturdaten über den Bus B3a aus dem Puffer 204a aus und bildet die Texturdaten ab.
  • Wenn hingegen die gewünschten Texturdaten nicht in der AUXMEM-Einheit 203a jeder der ZBUF-Einheiten 107-1 und 107-3 und der FBUF-Einheiten 107-2 und 107-4 vorhanden sind, und falls der Speicher, der die gewünschten Texturdaten speichert, mit der MEMIF-Einheit 103 verbunden ist, bewirkt die TMAP-Einheit 102a, daß ein Signal REQaa aktiv wird. Wenn der Speicher mit der MEMIF-Einheit 103b verbunden ist, bewirkt die TMAP-Einheit 102a, daß ein Signal REQab aktiv wird. Darüber hinaus liefert die TMAP-Einheit 102a über eine Signalleitung ADRa die physikalische Adresse der gewünschten Texturdaten.
  • Wenn die Signale REQaa und REQab aktiv werden, aktivieren die MEMIF-Einheiten 103a und 103b eine Zeile der gewünschten Texturdaten in der DRAM-Einheit 202 der ZBUF-Einheit 107-1, der FBUF-Einheit 107-2, der ZBUF-Einheit 107-3 oder FBUF-Einheit 107-4 mit der aus der TMAP-Einheit 102a zugeführten physikalischen Adresse, sendet die Daten der gesamten Zeile an die AUXMEM-Einheit 203a und veranlaßt, daß die Signale RDYaa und RDYab aktiv werden, und so darüber informieren, daß die Daten der ganzen Zeile gesendet wurden.
  • Wenn das Signal RDYaa oder das Signal RDYab aktiv wird, liest die TMAP-Einheit 102a Texturdaten so aus, daß die gewünschten Texturdaten in der AUXMEM-Einheit 203a der ZBUF-Einheit 107-1 oder 107-3 oder in der FBUF-Einheit 107-2 oder 107-4 vorhanden sind, und bildet die Texturdaten ab. Diese Operation gilt auch für die Arbeitsweise der TMAP-Einheit 102b.
  • 14 ist ein selbsterklärendes Flußdiagramm, das die Arbeitsweise der TMAP- und MEMIF-Einheiten von 5 betrifft, die die in 6 dargestellte Speicherstruktur verwenden.
  • 7 zeigt ein weiteres Beispiel für die innere Struktur des Speichers in jeder der ZBUF-Einheiten 107-1 und 107-3 und der FBUF-Einheiten 107-2 und 107-4. Wie bei der in 6 dargestellten Struktur sind in 7 ein bidirektionaler Puffer 201, eine DRAM-Einheit 202 und Lesepuffer 204a und 204b vorgesehen. Der Hilfsspeicher 205 (AUXMEM-Einheit) speichert einen Teil der Daten der DRAM-Einheit 202 temporär. Die AUXMEM-Einheit 205 hat zwei Lese-Ports. Die AUXMEM-Einheit 205 kann verschiedene Texturdaten, die von den TMAP-Einheiten 102a und 102b angefordert werden, zur gleichen Zeit auslesen. Die Arbeitsweise des Speichers mit der in 7 dargestellten inneren Struktur ist die gleiche wie diejenige des Speichers mit der inneren Struktur von 6.
  • 15 zeigt ein selbsterklärendes Flußdiagramm, das die Arbeitsweise der in 5 dargestellten TMAP- und MEMIF-Einheiten beschreibt, die die in 7 dargestellte Speicherstruktur benutzen.
  • 8 zeigt ein weiteres Beispiel für die innere Struktur des Speichers jeder der ZBUF-Einheiten 107-1 und 107-3 und der FBUF-Einheiten 107-2 und 107-4. In 8 wählt eine Schaltereinheit 206 die Verbindungen zwischen den Eingangssignalen D203 und D204 und den Ausgangssignalen D205 und D206 aus. Eine Signalleitung D201 dient zum Senden von Daten einer Zeile der DRAM-Einheit 202 an die AUXMEM-Einheit 203a. Eine Signalleitung D202 dient zum Senden alter in der AUXMEM-Einheit 203a gespeicherten Daten an die AUXMEM-Einheit 203b. Eine Signalleitung D203 dient zum Senden der ausgewählten Daten aus der AUXMEM-Einheit 203 an die Schaltereinheit 206. Eine Signalleitung D204 dient zum Senden der ausgewählten Daten aus der AUXMEM-Einheit 203b an die Schaltereinheit 206. Signalleitungen D205 und D206 verbinden das Ausgangssignal der Schaltereinheit 206 mit den RBUF-Einheiten 204a und 204b.
  • Die übrige Struktur ist die gleiche wie die in 6 dargestellte. Bei der in 6 dargestellten inneren Struktur sind die AUXMEM-Einheiten 203a und 203b allerdings parallel angeordnet. Bei der in 8 dargestellten inneren Struktur sind die AUXMEM-Einheiten 203a und 203b hingegen in Reihe angeordnet. Außerdem gibt es keinen Pfad, um Daten aus der DRAM-Einheit 202 direkt an die AUXMEM-Einheit 203b zu senden. Auf diese Weise vereinfachen sich die Struktur der AUXMEM-Einheit und die Verbindung zwischen der DRAM-Einheit und der AUXMEM-Einheit. Infolgedessen wird die Größe des Speichers von 8 kleiner als die des Speichers von 6.
  • Als Nächstes wird die Arbeitsweise des Speichers mit der in 8 dargestellten inneren Struktur beschrieben. Bei der in 6 dargestellten inneren Struktur beziehen sich die TMAP-Einheiten 102a und 102b fest auf die Inhalte der AUXMEM-Einheiten 203a bzw. 203b. Im Fall von 8 beziehen sich die TMAP-Einheiten 102a und 102b hingegen nicht fest auf solche Inhalte.
  • Es sei angenommen, daß die TMAP-Einheiten 102a und 102b sich auf die AUXMEM-Einheiten 203a bzw. 203b beziehen. Wenn Texturdaten, die von der TMAP-Einheit 102b angefordert werden, in der AUXMEM-Einheit 203b nicht vorhanden sind, werden alle in der AUXMEM-Einheit 203a gespeicherten Daten über die Signalleitung D202 an die AUXMEM-Einheit 203b gesendet. Die Zeile der Texturdaten, die die TMAP-Einheit 102b anfordert, wird aktiv, und die Daten der ganzen Zeile werden an die AUXMEM-Einheit 203a gesendet.
  • Die Schaltereinheit 206 verbindet die Signalleitungen D203 und D204 mit den Signalleitungen D206 bzw. D205. Nachdem die Daten gesendet wurden, wählt die TMAP-Einheit 102b die gewünschten Texturdaten aus der AUXMEM-Einheit 203a aus. Die ausgewählten Texturdaten werden über den Pfad der Signalleitungen D203 und D206 und den Bus B3b ausgelesen. Auf der anderen Seite sei angenommen, daß die TMAP-Einheiten 102a und 102b sich auf die AUXMEM-Einheiten 203a bzw. 203b beziehen. Wenn von der TMAP-Einheit 102b angeforderte Texturdaten in der AUXMEM-Einheit 203a nicht vorhanden sind, werden die Texturdaten von der DRAM-Einheit 202 an die AUXMEM-Einheit 203a gesendet. In diesem Fall werden die Texturdaten jedoch nicht von der AUXMEM-Einheit 203a an die AUXMEM-Einheit 203b gesendet. Außerdem ändert die Schaltereinheit 206 die Verbindungen der Signalleitungen nicht.
  • 16 zeigt ein selbsterläuterndes Flußdiagramm, das die Arbeitsweise der in 5 dargestellten TMAP- und MEMIF-Einheiten beschreibt, die die in 8 dargestellte Speicherstruktur benutzen.
  • Wie oben beschrieben wurde, besitzen bei dem vierten Ausführungsbeispiel der Speicher (ZBUF-Einheit) für einen Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird, und der Speicher (FBUF-Einheit) für Zeichnungsdaten, die an die Anzeigeeinheit ausgegeben werden, jeweils eine DRAM-Einheit und einen Hilfsspeicher. Dem Parallelverarbeitungsverhältnis entsprechend sind mehrere Hilfsspeicher vorgesehen. Alternativ kann der Hilfsspeicher mehrere Lese-Ports besitzen. Bei dem vierten Ausführungsbeispiel der Erfindung können die mehreren TMAP-Einheiten Texturdaten gleichzeitig auslesen. Die Texturdaten werden flexibel in freien Bereichen beider Speicher gespeichert. Somit ist es nicht notwendig, die gleichen Texturdaten redundant zu speichern. Infolgedessen können Texturdaten mit hoher Geschwindigkeit und mit einer relativ kostengünstigen Struktur abgebildet werden.
  • Bei dem in 4 dargestellten dritten Ausführungsbeispiel sind ein Bus zum Lesen/Schreiben eines Z-Koordinatenwerts, ein Bus zum Lesen/Schreiben von Zeichnungsdaten und ein Bus/Speicher zum Laden von Bilddaten fest angeordnet. Bei dem in 3 dargestellten zweiten Ausführungsbeispiel, das über einen bidirektionalen Puffer verfügt, können die Verbindungen eines Busses und eines Speichers hingegen frei variiert werden. Auf diese Weise kann die Flexibilität des Geräts verbessert werden. Darüber hinaus können bei dem in 4 dargestellten dritten Ausführungsbeispiel, wie bei dem in 3 dargestellten zweiten Ausführungsbeispiel, Daten mit höherer Geschwindigkeit abgezogen werden als bei den anderen Strukturen, wenn jeder Speicher mit mehreren Bänken strukturiert ist und das Speicherverschachtelungsverfahren benutzt wird.
  • Bei dem in 5 dargestellten vierten Ausführungsbeispiel sind der Bus zum Lesen/Schreiben eines Z-Koordinatenwerts und der Bus/Speicher zum Lesen/Schreiben von Zeichnungsdaten fest angeordnet. Wie bei dem in 3 dargestellten zweiten Ausführungsbeispiel kann die Flexibilität jedoch weiter verbessert werden, wenn die Verbindungen der Busse und Speicher mit bidirektionalen Puffern frei variiert werden. Bei dem in 5 dargestellten vierten Ausführungsbeispiel können, wie bei dem in 3 dargestellten zweiten Ausführungsbeispiel, Bilddaten mit höherer Geschwindigkeit abgezogen werden, wenn jeder Speicher mit mehreren Bänken strukturiert ist und das Speicherverschachtelungsverfahren benutzt wird.
  • Bei dem in 5 dargestellten vierten Ausführungsbeispiel kann, wie bei dem in 4 dargestellten dritten Ausführungsbeispiel, eine Leistungsminderung, die auf Änderungen der Texturdaten zurückzuführen ist, minimiert werden, wenn eine Bildeingabevorrichtung vorgesehen ist. Darüber hinaus können Texturdaten von Bewegtbilddaten abgebildet werden.
  • Wie oben beschrieben wurde, umfaßt das Gerät einen Speicher für an eine Anzeigeeinheit auszugebende Zeichnungsdaten oder für einen Z-Koordinatenwert, der zum Entfernen einer verborgenen Fläche benutzt wird, sowie eine Koordinatenumwandlungseinrichtung zum Berechnen einer physikalischen Adresse von Texturdaten mit Texturkoordinaten, die einem Zeichnungspixel entsprechen. Der Speicher besitzt eine DRAM-Einheit und einen Hilfsspeicher. Ein Teil der oder alle Daten einer Zeile der DRAM-Einheit werden gleichzeitig an den Hilfsspeicher gesendet. Deshalb ist der Nachteil für den Fall, daß gewünschte Daten nicht in dem Hilfsspeicher vorhanden sind, gering. Mit der Struktur, bei der der Speicher einen dedizierten Lese-Port besitzt und gleichzeitig Zeichnungsdaten und einen Z-Koordinatenwert ausgelesen oder eingeschrieben und Texturdaten gelesen werden, können Texturdaten flexibel in freien Bereichen beider Speicher gespeichert werden. Darüber hinaus können Texturdaten mit hoher Geschwindigkeit abgebildet werden.
  • Wenn mehrere Koordinatenumwandlungseinrichtungen für die parallele Verarbeitung von Texturdaten vorgesehen sind, ist eine dem Parallelverarbeitungsverhältnis entsprechende Anzahl von Hilfsspeichern vorgesehen. Wenn der Hilfsspeicher eine Mehrzahl von Lese-Ports besitzt, können die mehreren Koordinatenumwandlungseinrichtungen Texturdaten gleichzeitig lesen. Somit ist es nicht notwendig, die gleichen Texturdaten redundant zu speichern. Infolgedessen können Texturdaten mit hoher Geschwindigkeit und mit einer relativ kostengünstigen Struktur abgebildet werden.
  • Mit der Struktur, bei der eine Bildeingabeeinrichtung vorgesehen ist und bei der zur gleichen Zeit Zeichnungsdaten und ein Z-Koordinatenwert ausgelesen oder eingeschrieben, Texturdaten gelesen und Texturdaten und Bewegtbilddaten geladen werden, kann die Leistungsminderung auf Grund von Änderungen der Texturdaten auch dann minimiert werden, wenn eine Anwendung viele Texturen benutzt, die die Speicherkapazität eines lokalen Speichers überschreiten. Darüber hinaus können Texturdaten von Bewegtbilddaten abgebildet werden.
  • Somit widmen die vorliegenden Ausführungsbeispiele einem lange existierenden Bedürfnis nach einer verbesserten Bilddatenverarbeitung für die Bilderzeugung, die Texturdaten mit höherer Geschwindigkeit und niedrigeren Kosten abbilden kann.
  • Vorangehend wurden spezielle Formen der Erfindung dargestellt und beschrieben, wobei es jedoch offensichtlich ist, daß verschiedene Modifizierungen vorgenommen werden können, ohne daß damit der Bereich der Erfindung verlassen wird. Deshalb wird der Rahmen der Erfindung nur durch die anliegenden Ansprüche begrenzt.

Claims (24)

  1. Gerät zur Bilderzeugung mit einem Speicher-Subsystem zum Speichern von Bilderzeugungsdaten, mit einem Lese-/Schreib-Port (201) für das Speicher-Subsystem, mit einem dedizierten Nurlese-Port (204) für das Speicher-Subsystem und mit Mitteln (101, 103, B1, B2, B3) zum Auslesen/Einschreiben bestimmter ausgewählter Abschnitte von Bilderzeugungsdaten und Zeichnungsdaten für anzuzeigende Pixel und von z-Koordinatenwerten zum Entfernen von verborgenen Flächen durch den genannten Lese-/Schreib-Port und zum Auslesen anderer ausgewählter Abschnitte der Bilderzeugungsdaten durch den dedizierten Nurlese-Port.
  2. Gerät nach Anspruch 1, bei dem die anderen ausgewählten Abschnitte der Bilderzeugungsdaten nur Texturdaten enthalten.
  3. Gerät nach Anspruch 2, bei dem die bestimmten ausgewählten Abschnitte der Bilderzeugungsdaten andere Daten als Texturdaten enthalten.
  4. Gerät nach Anspruch 1 oder 2, bei dem das Speicher-Subsystem so betreibbar ist, daß es Texturdaten und Zeichnungsdaten, die an eine Anzeigeeinheit ausgegeben werden, sowie z-Koordinatenwerte, die zum Entfernen von verborgenen Flächen benutzt werden, koexistent speichert, wobei das Gerät eine Koordinaten-Umwandlungseinrichtung (102) aufweist zum Berechnen einer physikalischen Adresse von Texturdaten mit Textur-Koordinaten, die den einzelnen Zeichnungspixeln entsprechen.
  5. Gerät nach Anspruch 4, bei dem das Speicher-Subsystem einen Hauptspeicher (202) aufweist, auf den mit einer Zeilenadresse und einer Spaltenadresse zugegriffen wird.
  6. Gerät nach Anspruch 5, das ferner aufweist: einen Hilfsspeicher (203) zum temporären Speichern eines Teils der Daten des Hauptspeichers (202), wobei die genannte Umwandlungseinrichtung (102) dem Zeichnungspixel entsprechende Texturdaten durch den dedizierten Lese-Port aus dem Hilfsspeicher ausliest, wenn ge wünschte Texturdaten in dem Hilfsspeicher (203) vorhanden sind, und wobei dann, wenn gewünschte Texturdaten in dem Hilfsspeicher (203) nicht vorhanden sind, Daten aller oder eines Teils der gewünschten Texturdaten in den Hilfsspeicher (203) übertragen werden, so daß die Umwandlungseinrichtung anschließend aus dem Hilfsspeicher (203) durch den dedizierten Lese-Port Texturdaten auslesen kann, die dem Zeichnungspixel entsprechen.
  7. Gerät nach einem der Ansprüche 1 bis 4, bei dem das Speicher-Subsystem mehrere Hilfsspeicher (203a, 203b) aufweist.
  8. Gerät nach Anspruch 6, bei dem der Hilfsspeicher (203) mehrere dedizierte Lese-Ports (204a, 204b) aufweist.
  9. Gerät nach einem der Ansprüche 1 bis 5, bei dem das Speicher-Subsystem einen Hauptspeicher (202) und mehrere Hilfsspeicher (203a, 203b) aufweist, die in Reihe angeordnet sind, bei dem der Hauptspeicher (202) mit einem der mehreren Hilfsspeicher (203a, 203b) verbunden ist und bei dem die in den Hilfsspeichern (203a, 203b) gespeicherten Daten sukzessiv in den Hauptspeicher (202) der nächsten Stufe übertragen werden, um die Daten aus dem Hauptspeicher (202) in einen Hilfsspeicher (203a, 203b) zu übertragen.
  10. Gerät nach einem der Ansprüche 1 bis 9, bei dem Speicher-Subsystem einen dynamischen Speicher (202) mit wahlfreiem Zugriff aufweist.
  11. Gerät nach einem der Ansprüche 1 bis 9, das ferner aufweist: Mittel (401, 402) zum Empfangen von Texturdaten, die nicht häufig benutzt werden und häufig geändert sollen, und zum Senden von solchen Daten an den Speicher.
  12. Gerät nach einem der Ansprüche 1 bis 9, das ferner aufweist: Mittel (401) zum Empfangen von Bewegtbild-Videodaten und zum Senden dieser Videodaten an den Speicher (402).
  13. Gerät nach einem der Ansprüche 1 bis 4, das ferner aufweist: eine Bildeingabeeinrichtung zum Laden von Texturdaten durch den Lese-/Schreib-Port des Speichers, wobei Texturdaten ausgelesen werden, die Texturdaten geladen werden und die Zeichnungsdaten oder der z-Koordinatenwert parallel ausgelesen oder eingeschrieben werden.
  14. Gerät nach einem der Ansprüche 1 bis 4, bei dem das Speicher-Subsystem ein DRAM enthält, auf das mit einer Zeilenadresse und einer Spaltenadresse zugegriffen wird, sowie eine Hilfsspeichereinrichtung zum temporären Speichern eines Teils der Daten der DRAM-Einheit.
  15. Gerät nach Anspruch 4, bei dem das Speicher-Subsystem ein DRAM (202) enthält, auf das- mit einer Zeilenadresse und einer Spaltenadresse zugegriffen wird, sowie eine Hilfsspeichereinrichtung (205) zum temporären Speichern eines Teils der Daten des DRAMs, bei dem die Koordinaten-Umwandlungseinrichtung (102) einem Zeichnungspixel entsprechende Texturdaten aus der Hilfsspeichereinrichtung (205) durch den dedizierten Lese-Port (204) ausliest, wenn in der Hilfsspeichereinrichtung (205) gewünschte Texturdaten vorhanden sind, und bei dem die Koordinaten-Umwandlungseinrichtung (102) Daten aller oder eines Teils eine Zeile von Texturdaten in die Hilfsspeichereinrichtung (203) einschreibt und die gewünschten Texturdaten aus der Hilfsspeichereinrichtung durch den dedizierten Lese-Port (203) ausliest, wenn die gewünschten Texturdaten in der Hilfsspeichereinrichtung (203) nicht vorhanden sind.
  16. Gerät nach Anspruch 15, bei dem das Speicher-Subsystem (202) mehrere Hilfsspeichereinrichtungen (203a, 203b) ausweist.
  17. Gerät nach Anspruch 15, bei dem die Hilfsspeichereinrichtung (203a, 203b) mehrere Lese-Ports (204a, 204b) besitzt.
  18. Gerät nach Anspruch 15, bei dem das Speicher-Subsystem mehrere Hilfsspeichereinrichtungen (203a, 203b) aufweist, diese mehreren Hilfsspeichereinrichtungen (203a, 203b) in Reihe angeordnet sind, das genannte DRAM (202) und eine der mehreren Hilfsspeichereinrichtungen (203a, 203b) miteinander verbunden sind und in dem DRAM (202) gespeicherte Daten sukzessiv an die mehreren Hilfsspeichereinrichtungen (203a, 203b) gesendet werden.
  19. Gerät nach Anspruch 15, bei dem das Speicher-Subsystem mehrere Hilfsspeichereinrichtungen (203a, 203b) aufweist, diese mehreren Hilfsspeichereinrichtungen (203a, 203b) in Reihe angeordnet sind, das genannte DRAM (202) und eine der mehreren Hilfsspeichereinrichtungen miteinander verbunden sind und in dem DRAM (202) gespeicherte Daten sukzessiv einer festgelegten Hilfsspeichereinrichtung zugeführt werden.
  20. Gerät nach Anspruch 7, bei dem Texturdaten aus den Hilfsspeichereinrichtungen (203a, 203b) parallel ausgelesen werden.
  21. Gerät nach einem der Ansprüche 1 bis 5 mit einem direkten Differential-Analysierer (101) zum linearen Interpolieren von Bilddaten, die Texturdaten, Zeichnungsdaten und z-Koordinatenwerten zum Entfernen von verborgenen Flächen enthalten, mit einer Textur-Abbildungseinheit (102) zum Umwandeln von Texturdaten-Koordinaten jedes Zeichnungspixels in eine physikalische Adresse in einer der genannten Speichereinheiten und mit einem Speicher-Interface (103) zum Weiterleiten von Texturdaten durch den Analysierer und die Textur-Zuordnungseinheit an das Speicher-Subsystem, wobei das Speicher-Subsystem eine Zeichnungsdaten-Speichereinheit und eine Koordinaten-Speichereinheit enthält und die Texturdaten in verfügbaren freien Bereichen dieser beiden Speichereinheiten gespeichert werden.
  22. Verfahren zur Bilderzeugung mit den Verfahrensschritten: Speichern von Bilderzeugungsdaten in einem Speicher-Subsystem, Auslesen/Einschreiben von bestimmten ausgewählten Abschnitten der Bilderzeugungsdaten, Zeichnungsdaten für anzuzeigende Pixel und z-Koordinatenwerte zum Entfernen von verborgenen Flächen enthalten, durch den genannten Lese-/Schreib-Port für das Speicher-Subsystem und Auslesen anderer ausgewählter Abschnitte der Bilderzeugungsdaten über einen dedizierten Nurlese-Port für das Speicher-Subsystem.
  23. Verfahren nach Anspruch 22, bei dem der Verfahrensschritt des Speicherns der Bilderzeugungsdaten in dem Speicher-Subsystem das koexistente Speichern von Texturdaten und Zeichnungsdaten umfaßt, die an eine Anzeigeeinheit ausgegeben werden, oder eines z-Koordinatenwerts, der zum Entfernen einer verborgenen Fläche benutzt wird, und wobei der Verfahrensschritt des Auslesens anderer ausgewählter Abschnitts der Bilderzeugungsdaten das Auslesen von Texturdaten durch den dedizierten Nurlese-Port für das Speicher-Subsystem umfaßt.
  24. Verfahren nach Anspruch 23 mit dem Verfahrensschritt: Berechnen einer physikalische Adresse von Texturdaten mit Textur-Koordinaten, die einem Zeichnungspixel entsprechen.
DE69730923T 1996-07-31 1997-07-25 Verfahren und Gerät zur Bilderzeugung Expired - Lifetime DE69730923T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP21777496 1996-07-31
JP21777496 1996-07-31

Publications (2)

Publication Number Publication Date
DE69730923D1 DE69730923D1 (de) 2004-11-04
DE69730923T2 true DE69730923T2 (de) 2005-08-25

Family

ID=16709528

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69730923T Expired - Lifetime DE69730923T2 (de) 1996-07-31 1997-07-25 Verfahren und Gerät zur Bilderzeugung

Country Status (5)

Country Link
US (1) US6040844A (de)
EP (1) EP0822520B1 (de)
KR (1) KR100701804B1 (de)
DE (1) DE69730923T2 (de)
MY (1) MY119610A (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6300958B1 (en) * 1998-07-17 2001-10-09 T-Surf Corp. Global constrained parameterization of triangulated surfaces
US6731296B2 (en) * 1999-05-07 2004-05-04 Broadcom Corporation Method and system for providing programmable texture processing
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6980218B1 (en) * 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7576748B2 (en) * 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6937245B1 (en) * 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4639890A (en) * 1983-12-30 1987-01-27 Texas Instruments Incorporated Video display system using memory with parallel and serial access employing selectable cascaded serial shift registers
US4935879A (en) * 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US4945495A (en) * 1987-10-21 1990-07-31 Daikin Industries, Ltd. Image memory write control apparatus and texture mapping apparatus
JP2512250B2 (ja) * 1991-09-13 1996-07-03 松下電器産業株式会社 動画表示ワ―クステ―ション
JP3107452B2 (ja) * 1992-04-28 2000-11-06 株式会社日立製作所 テクスチャマッピング方法およびその装置
JPH06251166A (ja) * 1993-02-25 1994-09-09 Toshiba Corp 画像処理装置
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
JPH1064256A (ja) * 1996-08-20 1998-03-06 Sony Corp 半導体記憶装置

Also Published As

Publication number Publication date
KR980010878A (ko) 1998-04-30
MY119610A (en) 2005-06-30
EP0822520A2 (de) 1998-02-04
KR100701804B1 (ko) 2007-11-09
DE69730923D1 (de) 2004-11-04
EP0822520B1 (de) 2004-09-29
EP0822520A3 (de) 2000-06-14
US6040844A (en) 2000-03-21

Similar Documents

Publication Publication Date Title
DE69724512T2 (de) Texturabbildungssystem -medium und -verfahren
DE69333508T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
EP1175663B1 (de) Verfahren zur rasterisierung eines graphikgrundelements
DE69836924T2 (de) Block- und bandorientierter durchlauf in dreidimensionaler dreieckswiedergabe
DE69736611T2 (de) Reorganisation von Speicherreferenzen für Pixel in einer seitenorientierten Speicherarchitektur
DE69730923T2 (de) Verfahren und Gerät zur Bilderzeugung
DE69918022T2 (de) Keine blockierung erforderndes textur-cache-system
DE69722862T2 (de) Bilderzeugungsvorrichtung zur Erzeugung von Pixeldaten für eine Bildanzeige
EP0038411B1 (de) Einrichtung zur Speicherung und Darstellung graphischer Information
DE69535231T2 (de) VERFAHREN ZUR INTEGRATION EINES Bildtextursignalspeicher UND INTERPOLATIONSLOGIK
DE69633477T2 (de) Bildspeicher für graphische Daten
DE4231158C2 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE69728002T2 (de) Steuerprozessor für einen drei-dimensionalen Beschleuniger, der die Fähigkeit geometrischer Dekompression besitzt und Verfahren zur Bearbeitung von geometrischen Daten in diesem Beschleuniger
DE10053439A1 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE60015213T2 (de) Paralelle Wiedergabevorrichtung
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE102006022062A1 (de) Verfahren und Vorrichtung zur effizienten Bilddrehung
DE10101073A1 (de) Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür
DE69722535T2 (de) Verfahren und Gerät zum Schaffen von Texturdaten
DE3713627C2 (de)
DE60033589T2 (de) Bildverarbeitung
DE19653438A1 (de) Bildanzeige-Steuerungsvorrichtung
DE69912034T2 (de) Bildverarbeitungsgerät
DE69721736T2 (de) Verfahren zum Füllen einer Polygone und Bildverarbeitungssystem
DE3343348A1 (de) Anordnung zur datenuebertragung zwischen mehreren prozessoren und einem speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition