-
Die
vorliegende Erfindung bezieht sich auf Bilderzeugung zum Erzeugen
beispielsweise eines Bilds in einem dreidimensionalen Grafiksystem
durch Umsetzen von Bildern (Texturbildern), die vorher vorbereitet
wurden, in Polygone, die durch einen Zeichnungsbetrieb erzeugt wurden,
mit einer Helligkeit, die für
jedes Polygon berechnet wird.
-
In
einem dreidimensionalen Grafiksystem wird beispielsweise ein Objekt
als eine Anhäufung von
einer Vielzahl von Polygonen angezeigt, und jedes der Polygone kann
durch ein Texturbild, welches vorher vorbereitet wurde, modifiziert
werden. Eine derartige Modifikation von Polygonen wird durch Durchführen eines
Verfahrens erreicht, welches als Textur-Umsetzen bezeichnet wird, bei dem Texturbilder
bei Polygonen angewandt werden. Während eines derartigen Textur-Umsetzens
wird, um dem angezeigten Objekt eine dreidimensionale Erscheinungsform
zu verleihen, ein so genannter Schattierprozess ausgeführt, bei
dem die Position einer virtuellen Lichtquelle festgelegt wird und
jedes Polygon in bezug auf die Lichtquelle schattiert wird. Dieses Schattieren
wird durch Zuordnen einer Schattierkonstante K = 1 (d. h., der Helligkeit
des ursprünglichen Texturbilds)
zur Helligkeit des Polygons in der Position, wo die höchste Helligkeit
von der virtuellen Lichtquelle erhalten wird, und durch Festlegen
der Schattierfaktoren K für
Polygone, die dunkler sind als diese, auf Werte, die kleiner sind
als 1 und davon abhängen,
wie dunkel sie sind, ausgeführt.
-
Vor
einiger Zeit wurden Texturbilder, die für die Texturumsetzung vorbereitet
wurden, unter Verwendung des gesamten dynamischen Bereichs aufbereitet,
um die Helligkeit der Bildanzeigeeinrichtung zu zeigen. Als Ergebnis
kann die Helligkeit von Polygonen lediglich in der Richtung festgelegt
werden, in welcher diese während
der Texturumsetzung reduziert wird. Folglich war es nicht möglich, die
Texturumsetzung so durchzuführen,
dass Texturbilder mit einer Helligkeit abgebildet werden, die höher ist
als die von deren ursprünglicher
Farbe.
-
Wenn
man die Notwendigkeit in Erwägung zieht,
ein Bild mit einer Helligkeit aufzubereiten, die höher ist
als die ursprüngliche
normale Helligkeit, wie man dies beim Aufbereiten der Szene einer
Explosion begegnet, war es notwendig, Texturbilder mit einer höheren Helligkeit
als der Normalhelligkeit vorzubereiten. Ein Bild, welches eine normale
Erscheinungsform hat (Bild, welches eine normale Helligkeit hat) wurde
dadurch erzeugt, dass Texturbilder einer höheren Helligkeit umgesetzt
wurden, wie oben beschrieben wurde, so dass die Helligkeit reduziert wird.
-
Die
Anmelderin hat die folgenden japanischen Patentanmeldungen angemeldet,
die auf die Zeichnungseinrichtung gemäß dieser Anmeldung bezogen
sind:
05-190 763 (angemeldet am 30. Juni 1993), veröffentlicht
als JP-A 07/085 308
05-190 764 (angemeldet am 2. Juli 1993),
aufgegeben, jedoch als Priorität
für die
Japanische Patentanmeldung 06-076 526, verwendet, welche als JP-A 07/073
333 veröffentlicht
wurde
05-258 625 (angemeldet am 15. Oktober 1993), veröffentlicht
als JP-A 07/114 654
06-027 405 (angemeldet am 31. Januar 1994),
veröffentlicht
als JP-A 07/219 894.
-
Jede
der obigen Anmeldungen ist in Besitz des Bevollmächtigten der vorliegenden Erfindung. (Anmeldungen
für das
US-Patent entsprechend diesen vier japanischen Patentanmeldungen
sind anhängig).
-
Wie
oben beschrieben wurden vor der Texturumsetzung Texturbilder, die
eine Helligkeit haben, die höher
ist als eine normale Helligkeit, vorher gebildet, um ein Bild mit
einer vergrößerten Helligkeit
aufzubereiten. Daher ist es nicht möglich, Texturbilder, welche
eine normale Erscheinungsform haben, zu bilden. Dies hat eine Schwierigkeit
beim Bilden von Texturbildern zur Folge. Es gibt ein weiteres Problem dahingehend,
dass das Bilden von Texturbildern eine große Zeit in Anspruch nimmt.
-
Beispielsweise
wird ein Bild, welches eine normale Helligkeit hat, welches unter
Verwendung von Texturumsetzung gebildet wird, dadurch erzeugt, dass
die Helligkeit der Texturbilder einer höheren Helligkeit, die vorher
vorbereitet wurde, reduziert wird. Dies erschwert es, ein Bild mit
einer natürlichen normalen
Helligkeit aufzubereiten, da ein derartiges Verfahren sogar ein
Bild aufbereitet, welches eine normale Helligkeit mit einer dunkleren
Erscheinungsform hat.
-
Die
EP-A 0 488 578 offenbart ein computer-unterstütztes Design-Schattierungsverfahren. (CAD).
Bei diesem Verfahren wird eine Fläche wie folgt schattiert. Das
Designsystem erzeugt Polygone, um die Fläche anzunähern. Durch Schattieren jedes Polygons
gemäß der Normalen
zur Fläche
jedes Scheitels des Polygons wird die schattierte Fläche passend
angezeigt. Um ein Polygon zu schattieren, bereitet das System ein
Farbtabelle zum Schattieren vor und berechnet die Intensität jedes
Scheitels des Polygons. Der Algorithmus zum Vorbereiten der Farbtabelle
umfasst zwei logische Schritte. Im ersten Schritt werden die Farbwerte
rot, grün
und blau separat linear interpoliert. Im zweiten Schritt verwendet der
Al gorithmus eine Kosinusfunktion am Anfang des Ergebnisses des ersten
Schritts, um den Bereich der Schattierungsfarben zu erweitern.
-
Gemäß einem
ersten Merkmal der Erfindung wird ein Verfahren zum Erzeugen von
Bildern in einem System zum Umsetzen von Texturbildern bereitgestellt,
die vorher vorbereitet wurden, auf Polygonflächen, die durch einen Zeichnungsprozess
erhalten wurden, mit Helligkeit, die für jede der Polygonflächen berechnet
wurde, wobei ein Helligkeitspegel niedriger als der maximale Helligkeitspegel,
der durch das System aufbereitet werden kann, als maximaler Helligkeitspegel
der Texturbilder, die vorher vorbereitet wurden, verwendet wird
und wobei das Aufbereiten von Helligkeit während des Umsetzens der Texturbilder
auf die Polygonflächen
mit einer Helligkeit höher
als die ursprüngliche
Helligkeit der Texturbilder durchgeführt werden kann.
-
Gemäß einem
zweiten Merkmal der Erfindung wird ein Bildwiedergabegerät zum Umsetzen von
Texturbildern, die vorher vorbereitet wurden, auf Polygonflächen, die
durch einen Zeichnungsprozess erhalten wurden, mit Helligkeit, die
für jede
der Polygonflächen
berechnet wurde, bereitgestellt, wobei das Gerät aufweist:
eine erste
Umsetzungseinrichtung, um das Umsetzen so durchzuführen, dass
ein Helligkeitspegel M niedriger als der maximale Helligkeitspegel,
der durch das Gerät
aufbereitet werden kann, als maximaler Helligkeitspegel der Texturbilder,
die vorher vorbereitet wurden, verwendet wird; und
eine zweite
Umsetzungseinrichtung, um die Texturbilder so umzusetzen, dass sie
mit einem Helligkeitspegel, der höher ist als der Helligkeitspegel
M, aufbereitet werden können.
-
Die
Ausführungsformen
der vorliegenden Erfindung liefern ein Verfahren und ein Gerät zum Erzeugen
eines Bilds, die es ermöglichen,
Texturbilder einer normalen Helligkeit vorzubereiten und ein textur-umgesetztes
Bild als ein Bild zu erzeugen, welches heller ist als die ursprünglichen
Texturbilder.
-
Bei
Ausführungsformen
der vorliegenden Erfindung, die den oben beschriebenen Aufbau haben, wird
der maximale Helligkeitspegel der Texturbilder, die für das Texturumsetzen
vorbereitet werden, auf einen Helligkeitspegel festgelegt, der höher ist
als der maximale Helligkeitspegel, der durch das System aufbereitet
werden kann, um das Texturumsetzen durchzuführen. Als Ergebnis ist es möglich, Bilder aufzubereiten,
die eine Helligkeit haben, die gleich oder niedriger ist als die
Helligkeit der Ursprungsfarbe der vorbereiteten Texturbilder, wobei
der dynamische Bereich einer Helligkeit gleich oder niedriger als der
oben beschriebene niedrige Helligkeitspegel verwendet wird.
-
Bilder,
die heller sind als die vorbereiteten Texturbilder, können mit
einer Helligkeit aufbereitet werden, die zwischen dem maximalen
Helligkeitspegel, der durch das System aufbereitet werden kann, und
dem oben beschriebenen niedrigeren Helligkeitspegel liegt.
-
Da
Bilder, die heller sind als die vorbereiteten Texturbilder, die
somit aufbereitet werden können, können die
Texturbilder mit einer normalen Helligkeit vorbereitet werden, die
eine natürliche
Erscheinungsform ergibt. Da außerdem
Bilder, die heller sind als die vorbereiteten Texturbilder, leicht
erhalten werden können,
können
Muster von Explosionen und sogenannten gebleichten Bildern, die
auf Spielmaschinen und dgl. auftreten, leicht von den vorbereiteten Texturbildern,
die eine normale Erscheinungsform haben, erzeugt werden.
-
Wie
oben beschrieben können
bei den Ausführungsformen
der vorliegenden Erfindung Bilder, die unter Verwendung von Texturumsetzung
gebildet werden, mit einer Helligkeit aufbereitet werden, die höher ist
als die der ursprünglichen
Farbe von Texturbildern, die vorher vorbereitet sind. Dies ermöglicht es,
zu ermöglichen,
dass Bilder, welche unter Verwendung von Texturumsetzung gebildet
sind, blitzen, und um den sogenannten Weißwerdungseffekt zu erzielen.
-
Da
es außerdem
nicht notwendig ist, die Texturbilder, die vorher vorbereitet sind,
mit der höchstmöglichen
Helligkeit vorzubereiten, können
im Gegensatz zu den früheren
Systemen die Texturbilder so gebildet werden, dass sie eine normale
Erscheinungsform haben. Als Ergebnis kann die Belastung der Bildung
von Anwendungsprogrammen reduziert werden, und die textur-umgesetzten
Bilder können mit
natürlicher
Erscheinungsform ohne Unnatürlichkeit
beispielsweise einem zu dunklen Ton aufbereitet werden.
-
Ausführungsformen
der Erfindung werden nun beispielhaft mit Hilfe der beiliegenden
Zeichnungen beschrieben, in denen:
-
1 ein
Blockdiagramm einer Ausführungsform
eines Hauptteils eines Bilderzeugungsgeräts nach der vorliegenden Erfindung
ist;
-
2 eine
Ausführungsform
eines Verfahrens zum Erzeugen von Bildern gemäß der vorliegenden Erfindung
zeigt;
-
3 eine Arbeitsweise der Ausführungsform,
welche in 1 gezeigt ist, zeigt;
-
4 ein
Blockdiagramm ist, welches ein Bilderzeugungsgerät nach der vorliegenden Erfindung
insgesamt zeigt;
-
5 einen
Speicherbereich eines Rahmenspeichers bei einer Ausführungsform
eines Bilderzeugungsgeräts
gemäß der vorliegenden
Erfindung zeigt;
-
6 ein
Beispiel eines Polygonzeichnungsbefehls bei einer Ausführungsform
des Bilderzeugungsgeräts
nach der vorliegenden Erfindung zeigt;
-
7 die
Reihenfolge zeigt, mit der Polygone gezeichnet und angezeigt werden,
bei einer Ausführungsform
des Bilderzeugungsgeräts
gemäß der vorliegenden
Erfindung; und
-
8 die
Texturumsetzung zeigt.
-
4 zeigt
ein Beispiel eines Aufbaus eines Bilderzeugungsgeräts gemäß einer
Ausführungsform der
vorliegenden Erfindung. Dies ist ein Beispiel einer Durchführung der
Erfindung in einer Spielmaschine, die eine 3D-Grafikfunktion und
eine dynamische Bildwiedergabefunktion hat.
-
In 4 bezeichnet
das Bezugszeichen 41 einen Systembus (Hauptbus). Eine CPU 42,
ein Hauptspeicher 43 und eine Sortierungssteuerung 45 sind
mit dem Systembus 41 verbunden.
-
Ein
Bilddekompressions-Einrichtungsbereich 51 ist ebenfalls
mit dem Systembus 41 über
einen FIFO-Pufferspeicher 54 zur Eingabe (anschließend wird
der FIFO-Pufferspeicher einfach als FIFO-Puffer bezeichnet) und
einen FIFO-Puffer 55 zur Ausgabe verbunden. Außerdem sind
ein CD-ROM-Decoder 52 und ein Zeichnungseinrichtungsbereich 61 ebenfalls
mit dem Systembus 41 über
einen FIFO-Puffer 56 bzw. einen FIFO-Puffer 62 verbunden.
-
Das
Bezugszeichen zeigt eine kleine Steuerungstastatur 71 als
Steuerungseingabeeinrichtung, die ebenfalls mit dem Systembus 41 über eine Schnittstelle 72 verbunden
ist. Zusätzlich
ist ein Boot-ROM 73 mit dem Systembus 41 verbunden,
in welchem ein Programm zum Starten der Spielmaschine gespeichert
ist.
-
Der
CD-ROM-Decoder ist mit einer CD-ROM-Ansteuerung 53 verbunden
und decodiert ein Anwendungsprogramm (beispielsweise das Programm
eines Spiels) und Daten, die auf einer CD-ROM aufgezeichnet sind,
welche in die CD-ROM-Ansteuerung 53 geladen ist. Beispielsweise
speichert eine CD-ROM Bilddaten für dynamische Bilder und Standbilder,
welche einer Bildkompression unter Verwendung der diskreten Kosinus-Transformation
(DCT) unterworfen wurden, und Bilddaten für Texturbilder zum Modifizieren
von Polygonen. Das Anwendungsprogramm in der CD-ROM-Platte umfasst
Polygonzeichenbefehle. Der FIFO-Puffer 56 besitzt eine
Kapazität,
einen Sektor der Daten, die auf der CD-ROM aufgezeichnet sind, zu
speichern.
-
Die
CPU 42 verarbeitet das System insgesamt. Die CPU 42 führt außerdem einen
Teil eines Verfahrens zum Zeichnen eines Objekts als Anhäufung von
einer Vielzahl von Polygonen aus. Insbesondere erzeugt die CPU 42 eine
Folge von Zeichnungsbefehlen, um Bilder zu erzeugen, die einen Bildschirm
bilden, auf dem Hauptspeicher 43, wie später beschrieben
wird.
-
Die
CPU 42 besitzt auch einen Cache-Speicher 46, der
erlaubt, dass einige der CPU-Instruktionen ohne diese über den
Systembus 41 hereinzuholen ausgeführt werden können. Außerdem ist
die CPU 42 mit einem Koordinatenberechnungsbereich 44 als
internen Coprozessor der CPU ausgerüstet, der Berechnungen durchführt, um
die Koordinaten der Polygone, wenn Zeichnungsbefehle gebildet werden,
umzusetzen. Der Koordinatenberechnungsbereich 44 führt Berechnungen
für die
dreidimensionale Koordinatenumsetzung und die Umsetzung von drei Dimensionen
in zwei Dimensionen auf einem Anzeigebildschirm durch.
-
Da
die CPU 42 den Befehls-Cache 46 und den Koordinatenberechnungsbereich 44 wie
oben beschrieben enthält,
können
die Verarbeitungen in der CPU 42 ohne Verwendung des Systembusses 41 bis
zu einem gewissen Ausmaß durchgeführt werden,
wodurch die Möglichkeiten
vergrößert werden, den
Systembus 41 unbelastet zu lassen.
-
Der
Bilddekompressions-Einrichtungsbereich 41 dekomprimiert
komprimierte Bilddaten, welche von der CD-ROM reproduziert werden,
und umfasst Hardware für
einen Decoder zum Decodieren von Huffinan-Codes, eine inverse Quantisierungsschaltung
und eine inverse diskrete Kosinus-Transformationsschaltung. Das
Verfahren im Teil des Huffman-Decoders kann durch die CPU 42 auf
Software-Basis durchgeführt
werden.
-
Bei
dieser Ausführungsform
unterteilt der Bilddekompressions-Einrichtungsbereich 51 ein
Bild (eine Rahmen des Bilds) in kleine Bereiche, die beispielsweise
jeweils aus 16 × 16
Pixeln bestehen (anschließend
wird ein solcher Bereich als Makro-Block bezeichnet) und führt eine
Bilddekompressions-Decodierung für
jeden Makro-Block durch. Die Daten werden zwischen diesem Bereich
und dem Hauptspeicher 43 auf Makro-Blockbasis übertragen.
Daher haben die FIFO-Puffer 54 und 55 eine Kapazität, einen
Makro-Block zu speichern.
-
Ein
Rahmenspeicher 63 ist mit dem Zeichnungseinrichtungsbereich 61 über einen
lokalen Bus 11 verbunden. Der Zeichnungseinrichtungsbereich 61 führt Zeichnungsbefehle
durch, die zu ihm über den
Hauptspeicher 43 über
den FIFO-Puffer 62 übertragen
werden und schreibt das Ergebnis in den Rahmenspeicher 63.
Der FIFO-Puffer 62 hat eine Speicherkapazität, um einen
Zeichnungsbefehl zu speichern.
-
Der
Rahmenspeicher 63 weist einen Bildspeicherbereich auf,
um gezeichnete Bilder zu speichern, einen Texturbereich, um Texturbilder
zu speichern, und einen Tabellenspeicherbereich, um eine Farbnachschlagetabelle
(oder Farbumsetzungstabelle) CLUT zu speichern.
-
5 zeigt
den Speicherplatz des Rahmenspeichers 63. Der Rahmenspeicher
wird unter Verwendung von zweidimensionalen Adressen, d. h., Spalten-
und Reihenadressen adressiert. In diesem zweidimensionalen Adressenplatz
wird ein Flächen-AT
als Texturbereich verwendet. Mehrere Arten von Texturmustern können in
diesem Texturbereich AT vorgesehen sein. AC zeigt einen Tabellenspeicherbereich
für die
Farbumsetzungstabelle CLUT.
-
Wie
später
ausführlich
beschrieben wird, werden die Daten in der Farbumsetzungstabelle CLUT
durch die Sortierungssteuerung 45 von der CD-ROM-Platte
zum Rahmenspeicher 63 über
den CD-ROM-Decoder 52 übertragen.
Die Daten der Texturbilder in der CD-ROM-Platte werden einer Datendekompression
im Bilddekompressions-Einrichtungsbereich 51 unterworfen
und zum Rahmenspeicher 63 über den Hauptspeicher 43 übertragen.
-
In 5 zeigt
AD einen Bildspeicherbereich, der zwei Rahmenpufferbereiche aufweist,
d. h., einen Bereich zum Zeichnen und einen Bereich zur Anzeige.
In dieser Ausführungsform
wird der Rahmenpufferbereich, der aktuell zur Anzeige verwendet
wird, als Anzeigepuffer bezeichnet, und der Bereich, in welchem
das Zeichnen ausgeführt
wird, wird als Zeichnungspuffer bezeichnet. Während das Zeichnen unter Verwendung
einer der Bereiche als Zeichnungspuffer durchgeführt wird, wird in diesem Fall der
andere als Anzeigepuffer verwendet. Wenn das Zeichnen beendet ist,
werden die Funktionen dieser Puffer umgeschaltet. Das Umschalten
des Zeichnens und der Anzeigepuffer wird simultan mit der vertikalen
Synchronisation durchgeführt,
wenn das Zeichnen beendet wird.
-
Die
Bilddaten, welche vom Anzeigepuffer des Rahmenspeichers 63 gelesen
werden, werden über
einen D-A-Umsetzer 64 zu einer Bildmonitoreinrichtung 65 ausgegeben,
wo sie auf einem Bildschirm angezeigt werden.
-
Die
Sortierungssteuerung 45 besitzt Funktionen, die ähnlich denjenigen
der sogenannten DMA-Steuerung sind und bildet eine Übertragungseinrichtung,
um Bilddaten zwischen dem Hauptspeicher 43 und dem Bilddekompressions-Einrichtungsbereich 51 zu übertragen
und um eine Folge von Zeichnungsbefehlen vom Hauptspeicher 43 zum Zeichnungseinrichtungsbereich 61 zu übertragen. Die
Sortiersteuerung 45 führt
die oben beschriebenen Übertragungsverarbeitungen
durch, wobei der Vorteil der Zeitintervalle in Anspruch genommen wird,
wenn der Systembus 41 nicht durch andere Einrichtungen
belegt wird, beispielsweise der CPU 42 und die kleine Tastatursteuerung 41 ohne
Intervention der CPU 42. In diesem Fall kann eine Anordnung so
ausgeführt
werden, dass die CPU 42 die Sortierungssteuerung 45 über den
nicht belegten Zustand des Systembusses 41 informiert,
oder dass die Sortierungssteuerung 45 die CPU 42 zwingend
anfragt, den Bus freizumachen.
-
Um
die Bilddaten von dynamischen Bildern und Standbildern zu speichern,
besitzt der Hauptspeicher 43 einen Speicherbereich für komprimierte Bilddaten
und einen Speicherbereich für
dekomprimierte Bilddaten, die der Dekompressions-Decodierung unterworfen
wurden. Der Hauptspeicher 43 besitzt außerdem einen Speicherbereich
für Grafikdaten,
beispielsweise eine Folge von Zeichnungsbefehlen (beispielsweise
einen Bereich, der anschließend als
Paketpuffer bezeichnet wird).
-
Der
Paketpuffer wird dazu verwendet, um eine Zeichnungsbefehlsfolge,
die durch die CPU 42 durchgeführt wird, einzustellen, und
um die Zeichnungsbefehlsfolge zum Zeichnungseinrichtungsbereich
zu übertragen,
und wird durch die CPU 42 und den Zeichnungseinrichtungsbereich 41 anteilig
genutzt. Um eine parallele Verarbeitung zwischen der CPU 42 und
dem Zeichnungseinrichtungsbereich 61 zuzulassen, sind bei
dieser Ausführungsform
zwei Paketpuffer, d. h., ein Paketpuffer zum Einstellen der Zeichnungsbefehlsfolge
und (anschließend
als Einstellpaketpuffer bezeichnet) und ein Paketpuffer zur Übertragung
(anschließend
als Ausführungspaketpuffer
bezeichnet) vorgesehen. Wenn einer der Puffer als Einstellungspaketpuffer
verwendet wird, wird der andere als Ausführungspaketpuffer verwendet, und,
wenn die Ausführung
unter Verwendung des Ausführungspaketpuffers
beendet ist, werden die Funktionen der beiden Paketpuffer umgeschaltet. Die
Verarbeitung in dieser Einrichtung wird anschließend beschrieben.
-
Datenholen von der CD-ROM
-
Wenn
die Einrichtung (Spielmaschine) bei dieser Ausführungsform in 4 eingeschaltet
wird und eine CD-ROM geladen ist, führt die CPU 42 ein Programm
für einen
sogenannten Initialisierungsprozess zur Vorbereitung für die Ausführung des
Spiels im Boot-ROM 73 durch.
Die Daten, welche auf der CD-ROM aufgezeichnet sind, werden dann
geholt. In diesem Zeitpunkt wird das Decodieren von Benutzerdaten
auf der Basis der Identifikations-Informations-ID durchgeführt, welche
in den Benutzerdaten in jedem Sektor der CD-ROM enthalten sind,
um die Daten zu prüfen.
Auf der Basis dieser Prüfung
führt die
CPU 42 eine Verarbeitung gemäß den Wiedergabedaten des Inhalts,
der durch jede ID angezeigt wird, durch.
-
Insbesondere
werden komprimierte Bilddaten, Zeichnungsbefehle und Programme,
die durch die CPU 42 auszuführen sind, von der CD-ROM über die
CD-ROM-Ansteuerung 53 und den CD-ROM-Decoder 52 gelesen
und in den Hauptspeicher 43 durch die Sortierungssteuerung 45 geladen.
Unter den geladenen Daten wird die Information der Farbumsetzungstabelle
zum Bereich CLUT des Rahmenspeichers 63 übertragen.
-
Dekompression und Übertragung
von komprimierten Bilddaten
-
Unter
den Daten, die dem Hauptspeicher 43 zugeführt werden,
werden die komprimierten Bilddaten einer Huffman-Code-Decodierung
unterworfen, die durch die CPU 42 durchgeführt wird,
und danach in den Hauptspeicher 43 durch die CPU 42 umgeschrieben.
Die Sortierungssteuerung 45 überträgt die Bilddaten, die der Huffman-Code-Decodierung
vom Hauptspeicher 43 unterworfen wird, zum Bilddekompressions-Einrichtungsbereich 51 über den FIFO-Puffer 54.
Der Bilddekompressions-Einrichtungsbereich 51 führt einen
Dekompressions-Decodier-Prozess in Bezug auf die Bilddaten über einen inversen
Quantisierungsprozess und einen inversen DCT-Prozess durch.
-
Die
dekomprimierten Bilddaten werden durch die Sortierungssteuerung 45 über den FIFO-Puffer 55 zum
Hauptspeicher 43 übertragen. Der
Bilddekompressions-Einrichtungsbereich 51 dekomprimiert
die Bilddaten auf Makro-Block-Basis, wie oben beschrieben. Als Ergebnis
werden die komprimierten Daten auf Makro-Block-Basis durch die Sortierungssteuerung 45 vom
Hauptspeicher 43 zum Eingangs-FIFO-Puffer 54 übertragen.
Nach Beendigung der Dekompressions-Decodierung eines Makro-Blocks
führt der
Bilddekompressions-Einrichtungsbereich 51 die
resultierenden dekomprimierten Bilddaten im FIFO-Puffer 55 zur
Ausgabe zu und holt die komprimierten Daten des nächsten Makro-Blocks vom
Eingangs-FIFO-Puffer 54,
um diese dekompressions-zu-decodieren.
-
Wenn
der Systembus 41 nicht belegt ist und der Ausgangs-FIFO-Puffer 55 des
Bilddekompressions-Einrichtungsbereichs 51 nicht leer ist, überträgt die Sortierungssteuerung 45 die
dekomprimierten Bilddaten für
einen Makro-Block zum Hauptspeicher 43 und überträgt die komprimierten
Bilddaten für
den nächsten
Makro-Block vom Hauptspeicher 43 zum Eingangs-FIFO-Puffer 54 der
Bilddekompressionseinrichtung 51.
-
Wenn
eine vorher festgelegte Anzahl von Makro-Blöcken von dekomprimierten Bilddaten
im Hauptspeicher 43 angesammelt ist, überträgt die CPU 42 die
dekomprimierten Daten über
den Zeichnungseinrichtungsbereich 61 zum Rahmenspeicher 63.
Wenn die dekomprimierten Daten zum Bildspeicherbereich AD des Rahmenspeichers 63 übertragen
werden, werden sie unverändert
auf dem Bildmonitor 65 als dynamisches Hintergrundbild
angezeigt. Alternativ können
die Daten zum Texturbereich AT des Rahmenspeichers 63 übertragen
werden. Die Bilddaten im Texturbereich AT werden als Bilddaten zum
Modifizieren eines Polygons verwendet.
-
Verarbeitung und Übertragung
der Zeichnungsbefehlsfolge
-
Polygone,
die Bilder eines Objekts bilden, können in der Reihenfolge von
abnehmenden Tiefen gemäß Z-Daten
gezeichnet werden, welche Information auf dreidimensionalen Tiefen
sind, um ein Bild, welches eine dreidimensionale Erscheinungsform hat,
auf einer zweidimensionalen Bildanzeigefläche anzuzeigen. Die CPU 42 bildet
eine Folge von Zeichnungsbefehlen im Hauptspeicher 43,
der veranlasst, dass der Zeichnungseinrichtungsbereich 61 Polygone
in der Reihenfolge von abnehmenden Tiefen wie oben beschrieben zeichnet.
-
Bei
Computergrafik wird das sogenannte Z-Puffer-Verfahren angewendet,
wo die Prioritäten für die Anzeige
von Polygonen auf der Basis von Z-Daten entschieden werden, die
für jedes
Pixel gespeichert sind. Gemäß dem Z-Puffer-Verfahren
ist jedoch ein Speicher, der eine große Kapazität hat, erforderlich, um die
Z-Daten zu speichern. Um dies zu lösen, führt gemäß dieser Ausführungsform
die CPU 42 den Prozess zum Entscheiden der Prioritäten für die Anzeige
von Polygonen wie folgt aus.
-
Für diesen
Zweck hat ein Polygonzeichnungs-Befehls-IP bei dieser Ausführungsform
eine Struktur, wie mit A in 6 gezeigt
ist. Insbesondere hat der Polygonzeichnungsbefehl IP einen Datenkopf,
der Polygonzeichnungsdaten PD vorhergeht. Der Datenkopfbereich umfasst
ein Kennzeichen TG und einen Befehlsidentifikationscode CODE.
-
Die
Adresse im Hauptspeicher 43, wo der nächste Zeichnungsbefehl gespeichert
wird, wird in das Kennzeichen TG geschrieben. Der Befehlsidentifikationscode
CODE umfasst Identifikationsdaten IDP, die den Inhalt des Zeichnungsbefehls
identifizieren, und weitere Information, welche für den Zeichnungsbefehl
erforderlich ist. Die Polygonzeichnungsdaten PD bestehen aus den
Daten auf den Koordinaten der Scheitel des Polygons. Wenn der Zeichnungsbefehl
IP ein Befehl ist, ein viereckiges Polygon zu zeichnen, und die
Innenseite des Polygons in eine einzelne Farbe umgesetzt werden
soll, zeigen die Identifikationsdaten IDP dies und die Daten der
Farbe, die umzusetzen ist, werden als weitere notwendige Information
spezifiziert.
-
Ein
Beispiel eines Zeichnungsbefehls für ein viereckiges Polygon ist
bei B in 6 gezeigt. Dieser Zeichnungsbefehl
umfasst die Koordinaten von vier Punkten (X0, Y0), (X1, Y1), (X2,
Y2) und (X3, Y3) und die Farbdaten der drei Primärfarben (R, G, B), um die Innenseite
des Polygons in eine Farbe umzusetzen.
-
Die
CPU 42 berechnet Bewegungen des Objekts und den Blickpunkt
und bildet eine Folge von Polygonzeichnungsbefehlen auf dem Hauptspeicher 43 auf
der Basis einer Steuerung, die über
die kleine Steuerungstastatur vom Benutzer eingegeben wird. Danach
schreibt sie die Kennzeichen der Polygonzeichnungsbefehle gemäß der anzuzeigenden
Reihenfolge unter Verwendung der Z-Daten um. In diesem Zeitpunkt
werden die Adressen der Zeichnungsbefehle auf dem Hauptspeicher 43 nicht
geändert, sondern
es werden lediglich die Kennzeichen umgeschrieben.
-
Wenn
diese Zeichnungsbefehlfolge beendet ist, überträgt die Sortierungssteuerung 45 die
Zeichnungsbefehle nacheinander vom Hauptspeicher 43 zum
Zeichnungseinrichtungsbereich 61 in einer Reihenfolge gemäß den Kennzeichen
TG der Zeichnungsbefehle. Daher muss der FIFO-Puffer 62 lediglich
eine Kapazität
haben, um einen Zeichnungsbefehl zu speichern.
-
Da
die Daten, die zum Zeichnungseinrichtungsbereich 61 übertragen
werden, schon sortiert sind, wie in 7 gezeigt
ist, führt
der Zeichnungseinrichtungsbereich 61 die Polygonzeichnungsbefehle
IP, IP2, IP3 ... IPn gemäß den jeweiligen
Kennzeichen TG1, TG2, TG3, ... TGn nacheinander aus und speichert
das Ergebnis im Zeichnungsbereich AD des Rahmenspeichers 63.
-
Wenn
ein Polygon gezeichnet wird, werden Daten zu einer Gradientenberechnungseinheit
des Zeichnungseinrichtungsbereichs 61 für eine Gradientenberechnung
geliefert. Eine Gradientenberechnung ist eine Berechnung, um den
Gradienten der Ebene der Umsetzungsdaten zu erhalten, um die Innenseite
des Polygons, welches zu zeichnen ist, aufzufüllen. Im Fall einer Texturverarbeitung
wird das Polygon mit den Texturbilddaten aufgefüllt, und im Fall einer Leuchtschattierung
wird das Polygon mit Helligkeitswerten aufgefüllt.
-
Wenn
ein Polygon, welches ein Bild eines Objekts bildet, strukturiert
wird, werden die Texturdaten im Texturbereich AT einer zweidimensionalen Umsetzung
unterworfen. Beispielsweise werden Texturmuster T1, T2 und T3, wie
mit A in 8 gezeigt ist, in Koordinaten
auf einem zweidimensionalen Bildschirm umgesetzt, so dass sie zu
den Polygonen, welche entsprechende Gesichter eines Objekts zeigen,
wie mit B in 8 gezeigt ist, passen. Wie mit
C in 8 gezeigt ist, werden die Texturmuster T1, T2 und
T3, die somit umgesetzt sind, bei den jeweiligen Bildern des Objekts
OB1 angewandt. Das Produkt wird im Bildspeicherbereich AD platziert
und auf dem Anzeigebildschirm des Bildanzeigemonitors 65 angezeigt.
-
Im
Fall einer Standbildtexturverarbeitung werden Texturmuster im Hauptspeicher 43 zum
Texturbereich At des Rahmenspeichers 63 über den Zeichnungseinrichtungsbereich 61 übertragen.
Der Zeichnungseinrichtungsbereich 61 wendet diese auf das
Polygon an. Dies liefert Standbildtexturen auf dem Objekt. Die Daten
dieser Standbild-Texturmuster können
auf der CD-ROM aufgezeichnet sein.
-
Außerdem ist
es möglich,
dynamische Bildtexturverarbeitung durchzuführen. Im Fall einer dynamischen
Bildtexturverarbeitung werden komprimierte dynamische Bilddaten von
einer CD-ROM vorübergehend
in den Hauptspeicher 43 gelesen, wie oben beschrieben wurde.
Dann werden diese komprimierten Bilddaten zum Bilddekompressionseinrichtungsbereich 51 geliefert,
der die Bilddaten dekomprimiert. Wie oben beschrieben wird ein Teil
dieses Dekompressionsprozesses durch die CPU 42 ausgeführt.
-
Die
dekomprimierten Bilddaten werden zum Texturbereich AT des Rahmenspeichers 63 geliefert. Da
der Texturbereich AT im Rahmenspeicher 63 vorgesehen ist,
können
die Texturmuster selbst auf Rahmen-Rahmen-Basis umgeschrieben werden.
Wenn somit dynamische Bilder zum Texturbereich AT geliefert werden, ändern sich
die Texturen dynamisch als Ergebnis des Umschreibens auf einer Rahmen-Rahmen-Basis.
Die Texturumsetzung, welche diese dynamischen Bilder im Texturbereich
verwendet, wird das Texturverarbeiten mit dynamischen Bildern zulassen.
-
Wie
oben beschrieben ist es durch Liefern der Bilddaten, die durch den
Bilddekompressions-Einrichtungsbereich 51 dekomprimiert
wurden, zum Bildspeicherbereich AD des Rahmenspeichers 63 möglich, dynamische
Bilder als Hintergrundbilder auf dem Bildschirm des Bildmonitorbildschirms 65 anzuzeigen
und den Bildspeicherbereich AD lediglich mit den Bildern aufzufüllen, die
durch die CPU 42 erzeugt wurden, um ein Bild auf dem Bildschirm
des Bildanzeigemonitors 65 zu zeichnen. Es ist auch möglich, ein
Objekt unter Verwendung des Polygonzeichnens durch die CPU 62 über ein
Standbild, welches durch Dekomprimieren von Bilddaten von einer CD-ROM
erhalten wird, auf dem Bildspeicherbereich AD zu zeichnen.
-
Beschreibung des Texturumsetzungsprozesses
-
Anschließend wird
mit Hilfe von 1–3 eine Texturumsetzungsverarbeitung,
welche durch den Rahmenspeicher 63 und den Zeichnungseinrichtungsbereich 61 durchgeführt wird,
erläutert.
-
Bei
dieser Ausführungsform
werden wie oben beschrieben Texturbilder, die zur Texturumsetzung
zu verwenden sind, von einer CD-ROM geholt und einer Kompressions-Decodierung unterworfen. Danach
werden sie in den Texturbereich AT des Rahmenspeichers 63 geschrieben.
Die Bilder, die als Texturbilder vorbereitet sind, haben eine normale Helligkeit
und eine normale Erscheinungsform.
-
Bei
dieser Ausführungsform
wird das Umsetzen, mit der Texturbilder in diesem Texturbereich
mit deren ursprünglicher
Helligkeit textur-umgesetzt werden, denen ein Schattierfaktor K
= 1 zugeteilt wird (der hellste Teil in bezug auf die virtuelle
Lichtquelle), als Normalmodus bezeichnet, und das Umsetzen der Texturbilder
mit einer Helligkeit, die höher
ist als die Ursprungshelligkeit, wird als Spezialmodus bezeichnet.
-
Wie
in 2 gezeigt ist, ist bei dieser Ausführungsform
der dynamische Bereich für
den Normalmodus eine Hälfte
des dynamischen Bereichs für die
Helligkeitsaufbereitung des Systems insgesamt, während der dynamische Bereich
für den
Spezialmodus der gleiche ist wie der dynamische Bereich für die Helligkeitsaufbereitung
des Systems als ganzes. Im Spezialmodus kann daher die Bildaufbereitung mit
einer Helligkeit durchgeführt
werden, die höher
ist als die der Texturbilder, welche im Texturbereich AT vorbereitet
sind.
-
Insbesondere
führt im
Normalmodus die CPU 42 eine Texturumsetzung in einer Hälfte einer dunkleren
Seite des dynamischen Bereichs zur Helligkeitsaufbereitung des Systemsinsgesamt
mit dem Schattierfaktor K1 für
den Normalmodus durch, der für
jedes Polygon innerhalb des Bereichs erhalten wird, der durch 0 ≤ K1 ≤ 1 ausgedrückt wird.
-
Dagegen
wird im Spezialmodus der Schattierfaktor K2 zum Umsetzen in diesen
Modus innerhalb des Bereichs festgelegt, der durch K2 > 1 ausgedrückt wird,
um textur-umgesetzte Bilder zu erhalten, die heller sind als die
ursprünglichen
Texturbilder. Beispielsweise wird K2 = 2 für ein Explosionsmuster festgelegt.
-
Mit
einer solchen Anordnung können
die Texturbilder, die vorher vorbereitet sind, diejenigen sein, die
eine normale Helligkeit wie oben beschrieben haben.
-
In
diesem Fall jedoch ist der Maximalwert der Helligkeit, die durch
die Ursprungstexturbilder aufbereitet werden kann, niedriger als
der Maximalwert der Helligkeit, die durch das System aufbereitet
werden kann, wobei der erstere eine Hälfte der letzteren bei dieser
Ausführungsform
ist.
-
1 ist
ein Blockdiagramm eines Teils des Zeichnungseinrichtungsbereichs 61,
der zur Texturumsetzungsverarbeitung dient.
-
Bei
dieser Ausführungsform
werden die Daten für
jedes Pixel in einem Texturbild durch Information in Bezug auf die
drei Primärfarben
(rot) (R), grün (G)
und blau (B) gebildet, wobei jede durch fünf Bits dargestellt wird.
-
Im
Zeichnungseinrichtungsbereich 61, der in 1 gezeigt
ist, besteht der Teil für
die Texturumsetzungsverarbeitung aus einem Umsetzungsdaten-Extraktionsbereich 21,
einem Bitumsetzungsbereich 22, Faktormultiplikationsbereichen 23 und 24, einer
Umschaltschaltung 25 und einem Schaltsteuerungsbereich 26.
-
Der
Umsetzungsdaten-Extraktionsbereich 21 extrahiert ein Texturbild,
welches für
den Umsetzungsprozess zu verwenden ist, unter den Texturbildern,
die im Texturbereich AT gespeichert sind und liefert dieses zum
Bitumsetzungsbereich 22. Wie mit A und B in 3 gezeigt ist, löscht der Bitumsetzungsbereich 22 das
niedrigwertigste Bit aller Daten für die drei Primärfarben
R (rot), G (grün)
und B (blau), die durch fünf
Bits der Texturbilddaten dargestellt werden, die durch den Umsetzungsdaten-Extraktionsbereich 21 extrahiert
wurden, wodurch diese in Daten für
drei Primärfarben
R1, G1 und B1 umgesetzt werden, welche durch die vier signifikanten
Bits dargestellt werden. Die ursprüngliche Farbe des Texturbilds
wird innerhalb eines Bereichs aufbereitet, welche die Hälfte des
dynamischen Helligkeitsbereichs des Bilderzeugungsgeräts ist,
wobei die Daten für
die Primärfarben
R1, G1 und b1 verwendet werden, die jeweils durch vier Bits dargestellt
werden.
-
Das
Ausgangssignal des Bitumsetzungsbereichs 22 wird zu den
Faktormultiplikationsbereichen 23 und 24 geliefert.
Der Faktormultiplikationsbereich 23 führt die Multiplikation des
Schattierungsfaktors K1 in der Texturumsetzung im Normalmodus durch. Der
Faktormultiplikationsbereich 24 führt die Multiplikation des
Schattierungsfaktors K2 bei der Texturumsetzung im Spezialmodus
durch. Wie oben beschrieben erfüllt
der Schattierungsfaktor K1 folgendes: 0 ≤ K1 ≤ 1. der Schattierungsfaktor K2
erfüllt
K2 > 1 und ist auf
2 im Fall eines Musters einer Explosion fest.
-
Diese
Faktoren K1 und K2 werden durch die CPU 42 für jedes
Polygon mit einer festgelegten virtuellen Lichtquelle berechnet.
Sie werden dem Zeichnungseinrichtungsbereich 61 zugeführt, wo
sie zu den entsprechenden Faktormultiplikationsbereichen 23 und 24 geliefert
werden.
-
Wie
mit C in 3 gezeigt werden die Daten, die
durch den Faktormultiplikationsbereich 23 ausgegeben werden,
mit einem "0"-Bit auf der Seite
des höchstwertigsten
Bits aller Daten der drei Primärfarben,
die durch vier Bits dargestellt werden, addiert. Damit werden alle
Daten der drei Primärfarben
als fünf
Bits ausgegeben. Die Daten, die durch den Faktormultiplikationsbereich 24 ausgegeben
werden, werden mit K2 multipliziert. Alle Daten von drei Primärfarben
werden als fünf
Bits ausgegeben. Insbesondere, wenn Überträge erzeugt werden, wird "1"-Bit als Übertrag zur Seite des höchstwertigsten Bits
aller Daten von drei Primärfarben
hinzugefügt, die
durch vier Bits dargestellt werden, und, wenn kein Übertrag
erzeugt wird, wird ein "0"-Bit zur Seite des höchstwertigsten
Bits aller Daten hinzugefügt.
Im Fall eines Musters einer Explosion wird, da K2 = 2 ein "1"-Bit zur Seite des höchstwertigsten Bits aller Daten der
drei Primärfarben,
durch vier Bits dargestellt werden, hinzugefügt. Somit wird die Multiplikation
um einen Faktor 2 durchgeführt.
-
Das
Ausgangssignal der Faktormultiplikationsbereiche 23 und 24 wird
zur Schaltung 25 geliefert, um zwischen dem Normalmodus
und dem Spezialmodus umzuschalten. Die Umschaltschaltung 25 wird
durch ein Umschaltsignal vom Schaltsteuerungsbereich 26 umge schaltet.
Der Schaltsteuerungsbereich 26 bildet ein Umschaltsteuerungssignal der
Schaltschaltung 25 auf der Basis eines Modusumschaltsignals
von der CPU 42.
-
Im
Fall des Normalmodus wird die Umschaltschaltung 25 auf
einen Eingangsanschluss a umgeschaltet. Dies bewirkt, dass die Bilddaten
vom Faktormultiplikationsbereich 23 zum Bildspeicherbereich AD
des Rahmenspeichers 63 übertragen
werden, wodurch Texturumsetzung veranlasst wird. Da der Faktor K1,
mit dem die Bilddaten im Faktormultiplikationsbereich 23 multipliziert
werden, folgendes erfüllt: 0 ≤ K1 ≤ 1, wird das
Umsetzen mit einer Helligkeit durchgeführt, die gleich oder kleiner
als die ursprüngliche
Helligkeit des Texturbildes ist. Als Ergebnis liefert die Texturumsetzung
natürliche
Helligkeit und Erscheinungsform.
-
Im
Fall des Spezialmodus wird die Umschaltschaltung 25 auf
einen Eingangsanschluss b umgeschaltet. Dies bewirkt, dass die Bilddaten
vom Faktormultiplikationsbereich 24 zum Bildspeicherbereich AD
des Rahmenspeichers 63 übertragen
werden, wodurch Texturumsetzung bewirkt wird. Wenn beispielsweise
ein Muster einer Explosion umgesetzt wird, wird K2 auf 2 festgelegt,
um das ursprüngliche Texturbild
mit einer doppelten Helligkeit umzusetzen.
-
Somit
ist gemäß der oben
beschriebenen Ausführungsform
der dynamische Bereich für
Helligkeitsaufbereitung während
der Texturumsetzung im Normalmodus eine Hälfte des dynamischen Bereichs für Helligkeit,
die vom System aufbereitet wird, wodurch es ermöglicht wird, eine Helligkeit
bis zum Zweifachen der Helligkeit der Ursprungsfarbe des vorbereiteten
Texturbilds aufzubereiten, wobei das Texturumsetzen verwendet wird.
-
Obwohl
der dynamische Bereich für
Helligkeitsaufbereitung während
der Texturumsetzung im Normalmodus eine Hälfte des dynamischen Bereichs für Helligkeitsaufbereitung
des Systems in der oben beschriebenen Ausführungsform ist, ist der Pegel des
dynamischen Bereichs zur Helligkeitsaufbereitung während der
Texturumsetzung im Normalmodus nicht auf den der Ausführungsform
beschränkt,
sondern hängt
von der Auflösung
in der Richtung der Helligkeit ab, welche für Texturumsetzung im Normalmodus
(die Gradation der Helligkeit) abhängt, und dem Pegel der Helligkeit,
die von dem vorbereiteten Texturbild erzielt werden muss.