-
HINTERGRUND
DER ERFINDUNG
-
Die
Erfindung betrifft im Allgemeinen die Verarbeitung von Bilddaten
und insbesondere Verbesserungen an Verfahren und Vorrichtungen zum
Erzeugen von verbesserten Bilddaten durch Datenverarbeitung sowie
ein Aufzeichnungsmedium, das derartige Bilddaten hält.
-
Es
ist im Stand der Technik allgemein üblich, dass Bilder, die auf
einem Fernsehempfänger,
einem Monitor oder einer CRT-Anzeige einer Videospieleinrichtung,
einem Mikrocomputer oder einem Graphikcomputer angezeigt werden,
im Wesentlichen zweidimensional sind. Derartige Bilder werden gewöhnlich durch
das Bewegen oder Verändern
eines zweidimensionalen Zeichens oder Objekts auf einem einheitlichen
zweidimensionalen Hintergrund animiert. Derartige zweidimensionale
Bilder oder Darstellungen sind sowohl bei der Modellierung eines
Hintergrunds als auch bei der Bewegung der Zeichenobjekte beschränkt, wodurch
sie insbesondere in einem Videospiel keine realistischeren Bilder
erzielen können.
-
Für eine Verbesserung
sind verschiedene Verfahren zum Herstellen von sehr realistischen
dreidimensionalen Bildern oder Darstellungen vorgeschlagen worden,
wobei einige von ihnen nachfolgend beschrieben werden. Eine von
verschiedenen vorgegebenen Bewegungen eines Zeichenobjekts, das
aus verschiedenen Richtungen betrachtet wird, kann ausgewählt und
in Übereinstimmung
mit einer visuellen Änderung,
wie etwa eine Veränderung
des Standpunkts in dem Bild, angezeigt werden. Außerdem kann
ein simuliertes dreidimensionales Bild erzeugt werden, indem mehrere
zweidimensionale Graphiken in einer Tiefenrichtung zueinander überlappt
werden. Es kann außerdem
ein Verfahren der Texturabbildung vorgesehen werden, bei dem die Oberflächen eines
Polygons mit einer Texturabbildung (aus Werkstoff oder Muster) gefüllt wird,
um ein Bildmodell zu erzeugen. In einem weiteren Verfahren wird
eine Änderung
der Farben durch Änderung
der Farbdaten des Bildes unter Verwen dung einer Farbnachschlagtabelle
erzeugt.
-
Bei
einem typischen Beispiel einer Heim-Videospielmaschine des Standes
der Technik werden Manipulationsinformationen von einer Eingabevorrichtung
eingeleitet, wie etwa ein Eingabetastenfeld oder ein Joystick (Hebelschalter),
und werden durch die Wirkung einer CPU, die im Wesentlichen aus
einem Mikroprozessor besteht, über
eine Schnittstelle auf einem Hauptbus geleitet. Nach der Einleitung
der Manipulationsdaten werden dreidimensionale Daten, die in einem
Hauptspeicher gespeichert sind, durch die Wirkung eines Videoprozessors
an einen Quellenvideospeicher für
eine vorübergehende
Speicherung übertragen.
-
Die
oben erwähnte
CPU wirkt außerdem,
um eine spezielle Folge an den Videoprozessor zu übertragen,
damit eine Reihe von Bilddatensegmenten aus dem Quellenvideospeicher
ausgelesen wird, um diese auf dem Bildschirm miteinander zu überlappen.
Gemäß der Lesefolge
der Bilddatensegmente liest der Videoprozessor die Bilddatensegmente
aus dem Quellenvideospeicher und zeigt sie in ihrer überlappenden
Anordnung an.
-
Während die
Bilddatensegmente gelesen und angezeigt werden, werden Audiokomponenten
der Manipulationsinformationen zu einem Audioprozessor geleitet,
der seinerseits entsprechende Audiodaten aus einem Audiospeicher
entnimmt, um sie mit den Bilddaten zu synchronisieren.
-
Der
Quellenvideospeicher kann z. B. einen Hintergrund mit schachbrettartigem
Muster und eine Gruppe von rechteckigen Bildsegmenten oder Sprites,
die Querschnitte eines zylindrischen Objekts im Hintergrund repräsentieren,
halten. Andere Bereiche außer
den Querschnitten der zylindrischen Objekte auf den Sprites können durchlässig gezeichnet
sein.
-
Ein
Synchronisationsgenerator, der in dem Videoprozessor angebracht
ist, erzeugt ein Leseadressensignal in Reaktion auf ein Synchronisationssignal
der Bilddaten. Das Leseadressensignal des Synchronisationsgenerators
wird über
den Hauptbus zu einer Leseadressentabelle übertragen, die von der CPU
festgelegt wird. Der Synchronisationsgenerator liest außerdem die
Bildsegmente aus dem Quellenvideospeicher in Reaktion auf ein Signal
von der Leseadressentabelle.
-
Die
abgerufenen Videodatensegmente werden dann zu einem Überlappungsprozessor
geleitet, wo sie in der Folge, die durch eine Prioritätstabelle
festgelegt ist und in der sie von der CPU über den Hauptbus geleitet werden,
nacheinander überlappt
werden. Da der Hintergrund zuerst kommt, dem anschließend die
rechteckigen Sprites folgen, wird die Gruppe von Sprites übereinander überlagert
auf dem Hintergrund angeordnet.
-
Anschließend werden
die anderen Bereiche neben den Querschnitten des zylindrischen Objekts
der oben erwähnten
Sprites, die sich gegenseitig auf dem Hintergrund überlappen,
durch einen geeigneten Renderungsprozessor zur Durchlässigkeit
gerendert. Folglich können
die zweidimensionalen Bilddaten des zylindrischen Objekts als dreidimensionale
Daten VDO des ursprünglichen
Bildes wiedergegeben werden.
-
Für die Erzeugung
einer neuen Datei mit einem gegebenen Format ist es jedoch erforderlich,
die ursprünglichen
Daten in ihre gewünschte
Form umzusetzen und anschließend
die gewünschte
Form der ursprünglichen
Daten zur neuen Datei zu formatieren.
-
Das
Verarbeitungsverfahren zum Umsetzen der ursprünglichen Daten in ein gegebenes
Format enthält
die Verarbeitung geometrischer Daten eines Objekts oder ursprünglicher
Daten, um ihre dreidimensionalen Graphikdaten zu erzeugen, die auf
einem zweidimensionalen Schirm des gegebenen Formats, wie bei einer
Heim-Videospielmaschine angezeigt werden können.
-
Ein
derartiges Verfahren enthält
eine Folge der Bilddatenverarbeitung (die nachfolgend als dreidimensionale
Graphikverarbeitung bezeichnet wird), bei der dreidimensionale Graphikdaten
eines ursprünglichen geometrischen
Objekts für
eine Anzeige auf einem zweidimensionalen Schirm erzeugt werden und
die ermöglicht,
dass die ursprünglichen
geometrischen Daten des Objekts, die an einen Anschluss geliefert
werden, durch eine Koordinatentransformationsvorrichtung verarbeitet
werden, um ein Paket aus Daten eines gegebenen Formats zu erzeugen,
das dann an eine Renderungsvorrichtung zum Zeichnen übertragen
wird.
-
Die
ursprünglichen
geometrischen Daten enthalten eine Gruppe von Polygonen (die graphische
Einheitsformen sind und Dreiecke, Vierecke und andere Formen enthalten
und mit einer Zeichenvorrichtung behandelt werden) und werden auf
einer Anzeige als ein dreidimensionales Modell dargestellt. Alle
Polygondaten enthalten den Typ des Polygons (Dreieck, Viereck oder
dergleichen), ein Attribut des Polygons (durchlässig oder halbdurchlässig), eine
Farbe des Polygons, dreidimensionale Koordinaten, die Eckpunkte
repräsentieren, dreidimensionale
Vektoren, die die Normale über
einem Eckpunkt repräsentieren,
und zweidimensionale Koordinaten, die einen Speicherort von Texturdaten
repräsentieren.
Diese besitzen bekannte Dateiformate, die zwei oder mehrere der
geometrischen Daten enthalten.
-
Die
Paketdaten des Formats, das durch die Verarbeitungswirkung der Koordinatentransformationsvorrichtung
erzeugt wird, tragen Informationen zum Zeichnen eines Polygons auf
dem Schirm einer Anzeige, einschließlich den Typ des Polygons
(Dreieck, Viereck oder dergleichen), ein Attribut des Polygons (durchlässig oder
halbdurchlässig),
dreidimensionale Koordinaten, die Eckpunkte repräsentieren, eine Farbe des Eckpunkts
und zweidimensionale Koordinaten, die einen Speicherort von Texturdaten
repräsentieren. 57 zeigt ein
typisches Format einer gewöhnlichen
Datei, die eine Reihe von Paketdaten enthält. CODE ist z. B. ein Code,
der einen Typ (Polygon, Linie, Sprite oder dergleichen) des Inhalts
repräsentiert,
V und U repräsentieren X-
bzw. Y-Koordinatenwerte in dem Texturquellenraum, R, G und B sind
R-, G- bzw. B-Werte der drei Primärfarben eines Polygons und
X und Y sind X- bzw. Y-Koordinatenwerte, die Eckpunkte eines Polygons
angeben. Der Inhalt und die Länge
der Paketdaten ändern
sich in Abhängigkeit
von Form und Größe des Polygons.
-
Um
die vorhandene Datei mit dem oben beschriebenen Format in eine Datei
mit einem neuen und verbesserten Format umzusetzen, müssten in
der Koordinatentransformationsvorrichtung die folgenden Schritte eines
Prozesses ausgeführt
werden:
- 1. Die Größe eines gewünschten
Pakets aus Daten für
jede Form der Polygone wird berechnet und in einem vorgegebenen
Bereich eines geeigneten Speichers gespeichert.
- 2. Die folgende Prozedur wird dann für jedes Polygon wiederholt:
- (1) Der Typ und das Attribut des Polygons werden miteinander kombiniert,
um ein Wort zu bilden, das in einen Bereich 0 der Paketdaten geschrieben
wird.
- (2) Die Farbe eines Eckpunkts wird aus der Normalen des Eckpunkts
und der Farbe des Polygons bestimmt und wird in einen Bereich 0
und zwei Bereiche 3 und 6 der Paketdaten geschrieben.
- (3) Zweidimensionale Koordinaten werden aus dreidimensionalen
Koordinaten des Eckpunkts berechnet und werden in Bereiche 1, 4
und 7 der Paketdaten geschrieben.
- (4) Zweidimensionale Koordinaten einer Textur werden anschließend in
Bereiche 2, 5 und 8 der Paketdaten geschrieben.
-
Wie
angegeben wurde, sind wenigstens die folgenden drei Schritte zum
Erzeugen einer neuen Datei (Paketdatendatei) aus den Bilddaten einer
ursprünglichen
Datei (Datei der Objektformdaten) erforderlich:
- 1.
Ein Speicherbereich wird zum Erzeugen einer neuen Datei reserviert.
- 2. Daten in einer ursprünglichen
Datei werden formatiert und gespeichert.
- 3. Daten, die aus den ursprünglichen
Dateidaten berechnet werden, werden in einem neuen Format gespeichert.
-
Das
Dokument des Standes der Technik IEEE Computer Graphics and Applications,
Bd. 11, Nr. 2, März
1991, New York, US, S. 91–103,
Robinson: "Graphic
workstations: A European perspective" beschreibt in sehr allgemeinen Worten
den Zustand von Hardware und Software für Computergraphik insbesondere
von graphischen Arbeitsstationen. Eine Möglichkeit der gegenwärtigen und
zukünftigen
Hardware und Software in Bezug auf die Austauschbarkeit von verschiedenen
Ausrüstungsteilen
und von Software sowie in Bezug auf die Schnittstelle zwischen Benutzer
und Maschine werden beschrieben. Die erwähnten Schwerpunkte auf dem Gebiet
der graphischen Arbeitsstationen sind Aspekte der großen Parallelität zum Erreichen
von schnellen graphischen Ausgaben und großer Bandbreite, der skalierbaren
Architekturen zum Unterstützen
von verschiedenen Ansätzen
der graphischen Software, der Konzepte eines Rahmenentwurfs sowie
Aspekte der Programmierbarkeit von Hardware, um eine Flexibilität in Bezug
auf unterschiedlichen Anwendungen zu erreichen.
-
Das
weitere Dokument des Standes der Technik Computer Technology Review,
Bd. 11, Nr. 9, Juli 1991, Los Angeles, US, S. 103–107, Pfeiffer: "Integrating image
processing with standard Workstation platforms" beschreibt ein mög liches Konzept der Integration
der Bildverarbeitung mit genormten Arbeitsstation-Plattformen. Außer verschiedenen
Aspekten der Software-Implementierung und Systemsoftware-Architekturen
werden verschiedene Verfahren zum Einschließen der Bilderzeugungstechnologie
in Arbeitsstationen, die zur Bilderzeugung fähig sind, erläutert, wie
etwa die Integration einer Bilderzeugungssoftware auf Systemebene,
die Integration einer Technologie auf Chipebene und/oder die Integration
einer Technologie auf Plattenebene.
-
Die
oben erwähnten
Schritte 1 bis 3 sind zeit- und arbeitsaufwändig.
-
Deswegen
besteht bereits langfristig ein Bedarf an einer verbesserten Bilddatenverarbeitung,
bei der eine Datei, die ursprüngliche,
zu transformierende Bilddaten enthält, einfach in ein neues Format
umgesetzt wird, an einer Vorrichtung zur Bilddatenverarbeitung zur
Verarbeiten derartiger Bilddaten und an einem Aufzeichnungsmedium
zum Halten dieser verbesserten Bilddaten. Die Erfindung befriedigt
diesen Bedarf.
-
Die
Aufgabe in Bezug auf den oben erwähnten Bedarf wird gelöst durch
ein Verfahren zum Verarbeiten von Bilddaten gemäß den kennzeichnenden Merkmalen
von Anspruch 1, durch ein Verfahren zur Datenverarbeitung gemäß den kennzeichnenden
Merkmalen von Anspruch 9, durch ein Verfahren gemäß den kennzeichnenden
Merkmalen von Anspruch 17 sowie durch ein Aufzeichnungsmedium gemäß den kennzeichnenden Merkmalen
von Anspruch 23.
-
Kurz
und allgemein ausgedrückt,
die Erfindung schafft ein neues und verbessertes Verfahren und eine Vorrichtung
zum Erzeugen von Bilddaten, bei denen eine Datei, die ursprüngliche,
zu transformierende Bilddaten enthält, in einfacher Weise in ein
neues Format umgesetzt wird, für
eine Vorrichtung zur Bilddatenverarbeitung, die derartige Bilddaten
verarbeitet, und ein Aufzeichnungsmedium, das derartige verbesserte
Bilddaten hält.
-
Ein
Verfahren zur Bilddatenerzeugung gemäß der Erfindung wird beispielhaft
und nicht notwendigerweise einschränkend geschaffen, um dreidimensionale
Bilddaten durch eine Perspektiventransformation in zweidimensionale
Bilddaten umzusetzen und die zweidimensionalen Bilddaten in einer
gegebenen Übertragungsnorm
zu übertragen,
um ein Bild auf einen zweidimensionalen Anzeigeschirm zu zeichnen.
Das Verfahren enthält
im Einzelnen eine Struktur aus den dreidimensionalen Bilddaten ohne
die Informationen, die einer Perspektiventransformation unterworfen
werden sollen, die ebenso wie jene der gegebenen Übertragungsnorm
der zweidimensionalen Bilddaten beschaffen ist. Die dreidimensionalen
Bilddaten können
Informationen über
Schattierungen an einem Objekt enthalten, das auf dem zweidimensionalen
Anzeigeschirm gezeichnet werden soll. Die Strukturen der dreidimensionalen
Bilddaten und der zweidimensionalen Bilddaten können in einer minimalen Einheit
aus einem oder mehreren Wörtern
untereinander gleich sein. Die dreidimensionalen Bilddaten können die
vollständigen
Inhalte der zweidimensionalen Daten enthalten.
-
Eine
Bilddatenverarbeitungsvorrichtung gemäß der Erfindung enthält in ähnlicher
Weise Koordinatentransformationsmittel zum Umsetzen von dreidimensionalen
Bilddaten durch eine Perspektiventransformation in zweidimensionale
Bilddaten und Zeichenmittel zum Übertragen
der zweidimensionalen Bilddaten in einer gegebenen Übertragungsnorm
zum Zeichnen eines Bildes auf einen zweidimensionalen Anzeigeschirm,
wobei eine Struktur der dreidimensionalen Bilddaten, mit Ausnahme
der Informationen, die einer Perspektiventransformation unterworfen
werden sollen, ebenso wie jene der gegebenen Übertragungsnorm der zweidimensionalen
Bilddaten beschaffen ist. Die Koordinatentransformationsmittel werden
so betrieben, dass die Informationen, die einer Perspektiventransformation
unterworfen werden sollen, von den anderen Daten der dreidimensionalen
Bilddaten, deren Struktur ebenso beschaffen ist wie jene der gegebenen Übertragungsnorm der
zweidimensionalen Bilddaten, unterschieden, der Perspektiventransformation
unterworfen und mit den anderen Daten, deren Struktur gleich jener
der gegebenen Übertragungsnorm
ist, kombiniert werden, um die zweidimensionalen Bilddaten zu erzeugen.
Wie oben angegeben wurde, können
derartige dreidimensionale Bilddaten Informationen über eine
Schattierung an einem Objekt, das auf den zweidimensionalen Anzeigeschirm
gezeichnet werden soll, enthalten.
-
Ein
Aufzeichnungsmedium gemäß der Erfindung
wird zum Halten von Bilddaten, die durch das oben beschriebene Verfahren
und die Vorrichtung der Erfindung erzeugt werden, geschaffen.
-
Da
die Struktur der dreidimensionalen Bilddaten, mit Ausnahme der Informationen,
die einer Perspektiventransformation unterworfen werden sollen,
gleich jener der gegebenen Übertragungsnorm
der zweidimensionalen Bilddaten ist, können die zweidimensionalen
Bilddaten der gegebenen Übertragungsnorm
erhalten werden, indem die Informationen in einfacher Weise durch
eine Perspektiventransformation verarbeitet werden.
-
Da
die dreidimensionalen Bilddaten außerdem Informationen über eine
Schattierung an einem Objekt, das auf den zweidimensionalen Anzeigeschirm
gezeichnet werden soll, enthalten, ist während der Erzeugung der zweidimensionalen
Bilddaten keine zusätzliche
Berechnung zum Erzeugen von Daten der Schattierung auf dem Objekt
erforderlich.
-
Die
Erfindung befriedigt somit einen lange vorhandenen Bedarf an einer
verbesserten Bilddatenverarbeitung, bei der eine Datei, die ursprüngliche,
zu transformierende Bilddaten enthält, in einfacher Weise in ein neues
Format umgesetzt wird, an einer Bilddatenverarbeitungsvorrichtung
zum Verarbeiten derartiger Bilddaten und an einem Aufzeichnungsmedium
zum Halten derartiger verbesserter Bilddaten.
-
Diese
sowie weitere Aufgaben und Vorteile der Erfindung werden aus der
folgenden genaueren Beschreibung deutlich, wenn diese in Verbindung
mit der beigefügten
Zeichnung erläuternder
Ausführungsformen
erfolgt.
-
BESCHREIBUNG
DER ZEICHNUNG
-
1 ist
ein Blockschaltplan der vollständigen
Systemanordnung einer Bilddatenverarbeitungsvorrichtung gemäß der Erfindung;
-
2 ist
eine Darstellung, die Darstellungen auf einer Anzeige veranschaulicht;
-
3 ist
eine Darstellung, die die Einstellungen der Darstellung auf einer
Anzeige zeigt;
-
4 ist
eine Darstellung, die die Ausschneidefunktion für Zeichnungen veranschaulicht;
-
5 ist
eine Darstellung, die eine Texturseite veranschaulicht;
-
6 ist
eine Darstellung, die die Struktur einer CLUT zeigt;
-
7 ist
eine Darstellung, die die Grundlagen zum Zeichnen eines Sprite veranschaulicht;
-
8 ist
eine Darstellung, die eine Doppelrahmen-Pufferung veranschaulicht;
-
9 ist
eine Darstellung, die das Format einer TOD-Datei veranschaulicht;
-
10 ist
eine Darstellung, die das Format eines Rahmens FRAME in dem TOD-Format
zeigt;
-
11 ist
eine Darstellung, die das Format eines Pakets PACKET eines Rahmens
FRAME zeigt;
-
12 ist
eine Darstellung, die die Struktur von "Paketdaten" des Attributtyps veranschaulicht;
-
13 ist
eine Darstellung, die die Struktur von "Paketdaten" zum Einschalten der Lichtquellenberechnung
veranschaulicht;
-
14 ist
eine Darstellung, die die Struktur eines "Merkers" des Koordinatentyps (RST) veranschaulicht;
-
15 ist eine Darstellung, die die Struktur
von "Paketdaten" des Koordinatentyps
(RST) veranschaulicht;
-
16 ist
eine Darstellung, die die Struktur von "Paketdaten" der TMD-Daten des ID-Typs veranschaulicht;
-
17 ist
eine Darstellung, die die Struktur von "Paketdaten" des Typs Hostobjekt-Kennung veranschaulicht;
-
18 ist
eine Darstellung, die die Struktur von "Paketdaten" des Matrixtyps veranschaulicht;
-
19 ist
eine Darstellung, die die Struktur eines "Merkers" des Lichtquellentyps veranschaulicht;
-
20 ist eine Darstellung, die die Struktur
von "Paketdaten" des Lichtquellentyps
veranschaulicht;
-
21 ist eine Darstellung, die die Struktur
eines "Merkers" des Kameratyps veranschaulicht;
-
22 ist
eine Darstellung, die die Zuweisung weiterer Bits veranschaulicht,
wenn "Kameratyp" gleich 0 ist;
-
23 ist
eine Darstellung, die die Zuweisung weiterer Bits veranschaulicht,
wenn "Kameratyp" gleich 1 ist;
-
24 ist eine Darstellung, die eine erste
Struktur von "Paketdaten" des Kameratyps veranschaulicht;
-
25 ist eine Darstellung, die eine zweite
Struktur von "Paketdaten" des Kameratyps veranschaulicht;
-
26 ist
eine Darstellung, die ein TMD-Format zeigt;
-
27 ist
eine Darstellung, die die Struktur eines Vorsatzes HEADER des TMD-Formats
zeigt;
-
28 ist
eine Darstellung, die die Struktur einer Tabelle OBJTABLE des TMD-Formats zeigt;
-
29 ist
eine Darstellung, die die Struktur eines Grundelements PRIMITIVE
des TMD-Formats zeigt;
-
30 ist
eine Darstellung, die die Struktur einer "Betriebsart" eines Grundelements PRIMITIVE zeigt;
-
31 ist
eine Darstellung, die die Struktur eines "Merkers" eines Grundelements PRIMITIVE zeigt;
-
32 ist
eine Darstellung, die die Struktur eines Eckpunkts VERTEX des TMD-Formats
zeigt;
-
33 ist
eine Darstellung, die die Struktur einer Normalen NORMAL des TMD-Formats
zeigt;
-
34 ist
eine Darstellung, die das Format eines Festkommabruchs zeigt;
-
35 ist
eine Darstellung, die die Struktur des TBS-Parameters in "Paketdaten" eines Grundelements
PRIMITIVE zeigt;
-
36 ist
eine Darstellung, die die Struktur des CBA-Parameters in "Paketdaten" eines PRIMITIVE zeigt;
-
37 ist
eine Darstellung der Bitzuweisung der "Betriebsart" bei der Anwendung der Berechnung eines
Polygon aus s Dreiecken und einer Lichtquelle, die eine Modifikation
der "Paketdaten" eines Grundelements
PRIMITIVE zeigt;
-
38 ist eine Darstellung, die die Struktur
von "Paketdaten" eines Grundelements
PRIMITIVE bei der Anwendung der Dreieck-Polygon- und Lichtquellen-Berechnung
veranschaulicht;
-
39 ist eine Darstellung, die die Struktur
von "Paketdaten" eines Grundelements
PRIMITIVE bei der Anwendung der Dreieck-Polygon-Berechnung, jedoch
ohne Lichtquellen-Berechnung veranschaulicht;
-
40 ist
eine Darstellung der Bitzuweisung der "Betriebsart" bei der Anwendung einer Viereck-Polygon-
und Lichtquellen-Berechnung, die eine Modifikation von "Paketdaten" eines Grundelements
PRIMITIVE zeigt;
-
41 ist eine Darstellung, die die Struktur
von "Paketdaten" eines Grundelements
PRIMITIVE bei der Anwendung der Viereck-Polygon- und Lichtquellen-Berechnung
veranschaulicht;
-
42 ist eine Darstellung, die die Struktur
von "Paketdaten" eines Grundelements
PRIMITIVE bei der Anwendung der Viereck-Polygon-Berechnung, jedoch
ohne Lichtquellen-Berechnung veranschaulicht;
-
43 ist
eine Darstellung der Bitzuweisung der "Betriebsart" einer Linienzeichnung, die eine Modifikation
der "Paketdaten" eines Grundelements
PRIMITIVE zeigt;
-
44 ist eine Darstellung einer Struktur
von "Paketdaten" einer Linienzeichnung,
die eine Modifikation der "Paketdaten" eines Grundelements
PRIMITIVE zeigt;
-
45 ist
eine Darstellung der Bitzuweisung von "Betriebsart" einer dreidimensionalen Sprite-Zeichnung,
die eine Modifikation von "Paketdaten" eines Grundelements
PRIMITIVE zeigt;
-
46 ist eine Darstellung einer Struktur
von "Paketdaten" einer dreidimensionalen
Sprite-Zeichnung, die eine Modifikation von "Paketdaten" eines Grundelements PRIMITIVE zeigt;
-
47 ist
ein Ablaufplan, der die Schrittfolge für eine Perspektiventransformation
der TMD-Format-Daten der Erfindung veranschaulicht;
-
48 ist
ein Ablaufplan, der die Aktionsfolge veranschaulicht, die in einer
gewöhnlichen
Transformationsvorrichtung von dreidimensionalen Graphikkoordinaten
ausgeführt
werden;
-
49 ist
ein Ablaufplan, der die Aktionsfolge der Koordinatentransformationsvorrichtung
veranschaulicht, wenn die Schattierung an einem Objekt nicht in
Echtzeit ausgeführt
wird;
-
50 ist
eine Darstellung einer weiteren Ausführungsform eines TMD-Formats;
-
51 ist
eine Darstellung, die die Struktur der "Polygondaten" in dem TMD-Format für die Ausführungsform von 50 zeigt;
-
52 ist
eine Darstellung, die die Struktur von "Paketdaten" für
eine weitere Ausführungsform
zeigt;
-
53 ist
ein Blockschaltplan, der eine Systemanordnung für eine Bilderzeu gungsvorrichtung
(oder Heim-Videospielmaschine) des Standes der Technik veranschaulicht;
-
54 ist
ein kombinierter Block- und Prinzipschaltplan, der ein Bilderzeugungsverfahren
veranschaulicht, das von der Bilderzeugungsvorrichtung des Standes
der Technik ausgeführt
wird;
-
55 ist
ein Blockschaltplan, der eine Anordnung eines Bilddatenverarbeitungssystems
des Standes der Technik zeigt;
-
56 ist
eine Darstellung, die die Struktur einer herkömmlichen Datei für Objektformdaten
zeigt; und
-
57 ist
eine Darstellung, die die Struktur einer herkömmlichen Datei für "Paketdaten" zeigt.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In
der Zeichnung bezeichnen in sämtlichen
Zeichnungsfiguren gleiche Bezugszeichen gleiche oder entsprechende
Teile.
-
Ein
typisches Beispiel einer Heim-Videospielmaschine des Standes der
Technik ist in 53 veranschaulicht. Wie in 53 gezeigt
ist, werden Manipulationsinformationen von einer Eingabevorrichtung 391, wie
etwa ein Eingabetastenfeld oder ein Steuerhebel, über eine
Schnittstelle 393 geleitet und in einen Hauptbus 399 durch
die Wirkung einer CPU 391 eingeführt, die im Wesentlichen einen
Mikroprozessor enthält.
Wie oben angegeben wurde, werden bei der Eingabe der Manipulationsdaten
dreidimensionale Daten, die in einem Hauptspeicher 392 gespeichert
sind, durch die Wirkung eines Videoprozessors für eine vorübergehende Speicherung an einen
Quellenvideospeicher 395 übertragen.
-
Die
CPU 391 wirkt außerdem,
um eine spezielle Folge zum Auslesen einer Reihe von Bilddatensegmenten
aus dem Quellenvideospeicher 395 an den Videoprozessor 396 zu übertragen,
um sie auf dem Schirm übereinander
zu überlappen.
Gemäß der Folge
zum Auslesen der Bilddatensegmente liest der Videoprozessor 396 die
Bilddatensegmente von dem Quellenvideospeicher 395 und
zeigt sie in ihrer überlappenden
Anordnung an.
-
Während die
Bilddatensegmente gelesen und angezeigt werden, werden Audiokomponenten
der Manipulationsinformationen zu einem Audioprozessor 397 geleitet,
der daraufhin die entsprechenden Audiodaten aus einem Audiospeicher 398 zur
Synchronisation mit den Bilddaten entnimmt.
-
In 54 ist
eine Prozedur dargestellt, die hier am besten zu sehen ist, zum
Bereitstellen von dreidimensionalen Daten auf der Grundlage eines
zweidimensionalen Datenformats in der Heim-Videospielmaschine, die
in 53 gezeigt ist. 54 veranschaulicht
die Anzeige eines zylindrischen Objekts auf dem Hintergrund eines
schachbrettartigen Musters in einem dreidimensionalen Bild.
-
Der
Quellenvideospeicher 395 von 54 hält einen
Hintergrund 200 mit einem schachbrettartigen Muster und
einer Gruppe von rechteckigen Bildsegmenten oder Sprites 201, 202, 203 und 204,
die Querschnitte des zylindrischen Objekts auf dem Hintergrund 200 repräsentieren.
Andere Bereiche außer
den Querschnitten des zylindrischen Objekts auf den Sprites 201, 202, 203 und 204 sind
durchlässig
gezeichnet.
-
Ein
Synchronisationsgenerator 400, der in dem Videoprozessor 396 angeordnet
ist, wird verwendet, um ein Leseadressensignal in Reaktion auf ein
Synchronisationssignal der Bilddaten zu erzeugen. Das Leseadressensignal
des Synchronisationsgenerators 400 wird über den
Hauptbus 399 an eine Leseadressentabelle 401,
die durch die in 53 gezeigte CPU 391 festgelegt
ist, übertragen.
Der Synchronisationsgenerator 400 liest außerdem die
Bildsegmente von dem Quellenvideospeicher 395 in Reaktion
auf ein Signal von der Leseadressentabelle 401.
-
Die
abgerufenen Videodatensegmente werden dann zu einem Überlappungsprozessor 404 geleitet, wo
sie untereinander in der Folge überlappt
werden, die durch eine Prioritätstabelle 402 festgelegt
ist, und werden über
den Hauptbus 399 von der CPU 301 geleitet. Da
der Hintergrund 200 zuerst kommt und ihm dann die rechteckigen
Sprites 201, 202, 203 und 204 in
dieser Reihenfolge folgen, wird die Gruppe aus Sprites übereinander
auf dem Hintergrund 200 angeordnet.
-
Anschließend werden
die anderen Bereiche außer
den Querschnitten des zylindrischen Objekts der Sprites 201, 202, 203 und 204,
die sich untereinander auf dem Hintergrund überlappen, durch einen Durchlässigkeitsprozessor 404 zur
Durchlässigkeit
gerendert.
-
Folglich
können
die zweidimensionalen Bilddaten des zylindrischen Objekts als dreidimensionale
Daten VDO des ursprünglichen
Bildes wiedergegeben werden, wie in 54 gezeigt
ist.
-
Wie
oben angegeben wurde, ist es jedoch für die Erzeugung einer neuen
Datei mit einem gegebenen Format erforderlich, die ursprünglichen
Daten in ihre gewünschte
Form umzusetzen und anschließend
die gewünschte
Form der ursprünglichen
Daten zur neuen Datei zu formatieren.
-
Ein
Verarbeitungsverfahren zum Umsetzen der ursprünglichen Daten in ein gegebenes
Format enthält die
Verarbeitung von geometrischen Daten eines Objekts oder seiner ursprünglichen
Daten, um seine dreidimensionalen Graphikdaten zu erzeugen, die
aus dem gegebenen Format auf einem zweidimensionalen Schirm angezeigt
werden können,
was bei jeder Heim-Videospielmaschine angewendet werden kann.
-
Wie
in 55 gezeigt ist, enthält ein derartiges Verfahren
eine Folge der Bilddatenverarbeitung (die hier im Folgenden als
dreidimensionale Graphikverarbeitung bezeichnet wird), bei der die
dreidimensionalen Graphikdaten eines ursprünglichen geometrischen Objekts
für eine
Anzeige auf einem zweidimensionalen Schirm erzeugt werden. Das in 55 gezeigte
System ermöglicht,
dass die ursprünglichen
geometrischen Daten des Objekts, die an einen Anschluss 500 geliefert
werden, durch eine Koordinatentransformationsvorrichtung 501 verarbeitet
werden, die ein Paket aus Daten mit einem gegebenen Format erzeugt,
das dann zum Zeichnen an eine Renderungsvorrichtung 502 übertragen
wird.
-
Die
ursprünglichen
geometrischen Daten enthalten eine Gruppe von Polygonen (die einheitliche
Graphikformen mit Dreiecken, Vierecken und anderen Formen sind und
mit einer Zeichenvorrichtung behandelt werden) und werden als ein
dreidimensionales Modell auf einer Anzeige dargestellt. Polygondaten
enthalten jeweils den Typ des Polygons (Dreieck, Viereck oder dergleichen),
ein Attribut des Polygons (durchlässig oder halbdurchlässig), eine
Farbe des Polygons, dreidimensionale Koordinaten, die Eckpunkte
repräsentieren,
dreidimensionale Vektoren, die die Normale über einem Eckpunkt repräsentieren,
und zweidimensionale Koordinaten, die einen Speicherort von Texturdaten
repräsentieren. 56 veranschaulicht
diese bekannten Dateiformate, die zwei oder mehrere dieser geometrischen
Datenwerte enthalten.
-
Die
Paketdaten des Formats, das durch die Verarbeitungsaktion der Koordinatentransformationsvorrichtung 501 erzeugt
wird, halten Informationen zum Zeichnen eines Polygons auf dem Schirm
einer Anzeige, die den Typ des Polygons (Dreieck, Viereck oder dergleichen),
ein Attribut des Polygons (durchlässig oder halbdurchlässig), zweidimensionale
Koordinaten, die Eckpunkte repräsentieren,
eine Farbe eines Eckpunkts und zweidimensionale Koordinaten, die
einen Speicherort von Texturdaten repräsentieren, enthalten. 57 zeigt,
dass ein typisches Format einer gewöhnlichen Datei eine Reihe von
Paketdaten enthält.
Wie in 57 gezeigt ist, ist CODE ein
Code, der einen Typ (Polygon, Linie, Sprite oder dergleichen) des
Inhalts repräsentiert,
U und V repräsentieren
X- bzw. Y-Koordinatenwerte in dem Texturquellenraum, R, G und B
sind R-, G- bzw.
B-Werte der drei Primärfarben
eines Polygons und X und Y sind X- bzw. Y-Koordinatenwerte, die Eckpunkte des
Polygons angeben. Der Inhalt und die Länge der Paketdaten variieren
in Abhängigkeit
von Form und Größe des Polygons.
-
Um
die vorhandene Datei des in 56 gezeigten
Formats in eine Datei mit neuem und verbessertem Format, das in 57 gezeigt
ist, umzusetzen, müssen
die folgenden Prozessschritte in der Koordinatentransformationsvorrichtung 501 ausgeführt werden:
- 1. Die Größe eines
gewünschten
Pakets aus Daten für
jede Form des Polygons wird berechnet und in einem gegebenen Bereich
eines geeigneten Speichers gespeichert.
- 2. Die folgende Prozedur wird dann für jedes Polygon wiederholt:
- (1) Der Typ und das Attribut werden miteinander kombiniert,
um ein Wort zu bilden, das dann in einen Bereich 0 der Paketdaten
beschrieben wird.
- (2) Die Farbe eines Eckpunkts wird aus der Normalen des Eckpunkts
und der Farbe des Polygons bestimmt und wird in einen Bereich 0
und zwei Bereiche 3 und 6 der Paketdaten geschrieben.
- (3) Zweidimensionale Koordinaten werden aus dreidimensionalen
Koordinaten des Eckpunkts berechnet und werden in Bereiche 1, 4
und 7 der Paketdaten geschrieben.
- (4) Zweidimensionale Koordinaten einer Textur werden anschließend in
Bereich 2, 5 und 8 der Paketdaten geschrieben.
-
Wie
angegeben wurde, sind wenigstens diese drei Schritte zum Erzeugen
einer neuen Datei (Paketdatendatei) der Bilddaten aus einer ursprünglichen
Datei (Datei der Objektformdaten) erforderlich:
- 1.
Ein Speicherbereich wird zum Erzeugen einer neuen Datei reserviert.
- 2. Daten in einer ursprünglichen
Datei werden formatiert und gespeichert.
- 3. Daten, die aus den ursprünglichen
Dateidaten berechnet werden, werden in einem neuen Format gespeichert.
-
Die
oben erwähnten
Schritte 1 bis 3 sind kosten- und arbeitsaufwändig und es besteht deswegen
ein Bedarf an einer verbesserten Effektivität der Datenverarbeitung.
-
Vor
der Beschreibung einer primären
Ausführungsform
der Erfindung in Form eines Verfahrens zum Erzeugen von Bilddaten
wird ein Bildverarbeitungssystem einer weiteren Ausführungsform
der Erfindung zum Erzeugen von dreidimensionalen Graphikdaten aus
den Bilddaten, die durch das Verfahren zur Bilddatenverarbeitung
der Erfindung erzeugt werden, erläutert, um das anschließende Verständnis der
primären
Ausführungsform
zu erleichtern.
-
In
der Zeichnung zeigt 1 eine Anordnung des Bildverarbeitungssystems,
das in einer Heim-Videospielmaschine installiert ist. Das Bildverarbeitungssystem
ist im Wesentlichen für
eine Verwendung in einer Heim-Videospielmaschine, einem Mikrocomputer
oder einer Vorrichtung mit Graphikcomputer entworfen.
-
Das
Bildverarbeitungssystem der Ausführungsform
von 1 ermöglicht,
dass eine Bedienperson ein Spiel spielt, indem sie relevante Daten
(z. B. Spielprogramme) steuert, die von einem Aufzeichnungsmedium, wie
etwa eine optische Speicherplatte (z. B. eine CD-ROM) abgerufen
werden, die in der Erfindung ebenfalls zur Speicherung der Daten
in einem speziellen Format vorgesehen ist.
-
Das
Bildverarbeitungssystem der in 1 gezeigten
Ausführungsform
enthält
im Einzelnen ein Hauptsteuereinheitsmodul 50, das eine
zentrale Verarbeitungseinheit (CPU) 51 und ihre peripheren
Vorrichtungen (mit einer Steuereinheit 52 für periphere
Vorrichtungen) enthält,
ein Graphikmodul 60, das im Wesentlichen eine Graphikverarbeitungseinheit
(GPU) 62 zum Zeichnen eines Bildes in einen Rahmenpuffer 63 enthält, ein Tonmodul 70,
das eine Tonsignalverarbeitungseinheit (SPU) 71 sowie weitere
Vorrichtungen zum Aussenden von Musik- oder Effekttonsignalen enthält, ein
Steuermodul 80 für
optische Speicherplatten zum Steuern eines Laufwerks 81 für optische
Speicherplatten (CD-ROM),
das als Hilfsspeichermittel wirkt und Wiedergabedaten decodiert,
ein Kommunikationssteuerungsmodul 90, das die Eingabe von
Befehlssignalen von einer Steuereinheit 92, die Eingabe
und die Ausgabe von Informationen zu Spielparametereinstellungen
an einem Unterspeicher (oder einer Speicherkarte) 93 steuert,
und einen Hauptbus B, der von dem Hauptsteuerungsmodul 50 zu
dem Kommunikationssteuerungsmodul 90 geschaltet ist.
-
Das
Hauptsteuerungsmodul 50 enthält die CPU 51, die
Steuereinheit 52 zum Steuern von peripheren Vorrichtungen,
von Unterbrechungsaktionen, Zeitabfolgen, Speicheraktionen und der Übertragung
eines Speicherdirektzugriff-Signals (DMA-Signal), einen Hauptspeicher,
der z. B. einen RAM mit 2 MB enthält, und einen ROM 54 mit
z. B. 512 kB, in dem Programme einschließlich eines Betriebssystems
zum Betreiben des Hauptspeichers 53, des Graphikmoduls 60 und
des Tonmoduls 70 gespeichert sind.
-
Die
CPU 51 kann ein 32 Bit-Computer mit reduziertem Befehlsvorrat
(RISC) zum Betreiben des Betriebsystems, das in dem ROM 54 gespeichert
ist, sein, um das gesamte System zu steuern. Die CPU 51 enthält außerdem einen
Befehls-Cache und einen Notizblock-Speicher zum Steuern der Echtzeit-Speicherung.
-
Das
Graphikmodul 60 enthält
eine GTE 61, die einen Coprozessor für eine Koordinatenberechnung zur
Ausführung
eines Koordinatentransformationsprozesses enthält, die GPU 62 zum
Zeichnen eines Bildes in Reaktion auf Befehlssignale von der CPU 51,
wobei der Rahmenpuffer z. B. einen Speicherum fang von 1 MB zur Speicherung
von von der GPU 63 bereitgestellten Graphikdaten besitzt,
sowie einen Bilddecodierer 64 (der hier nachfolgend als "MDEC" bezeichnet wird)
zum Decodieren von codierten Bilddaten, die durch einen Prozess
der orthogonalen Transformation, wie etwa eine diskrete Cosinus-Transformation,
komprimiert und codiert sind.
-
Die
GTE 61 kann einen Parallel-Prozessor aufweisen, um mehrere
arithmetischen Operationen parallel auszuführen, und wirkt als ein Coprozessor
für die
CPU 51, um schnelle Aktionen zur Koordinatentransformation
und Berechnungen der Lichtquelle, Vektor und Matrix in Festkommaschreibweise
auszuführen.
-
Die
GTE 61 kann im Einzelnen die Koordinatenberechnung von
Polygonen bei typischerweise 1,5 Millionen Schritten pro Sekunde
für eine
einheitliche Schattierung ausführen,
wenn jedes Dreieckpolygon in einer einzigen Farbe gezeichnet wird.
Das ermöglicht,
dass das Bildverarbeitungssystem die Belastung der CPU 51 minimal
macht und dadurch die Koordinatenberechnung schneller ausführt.
-
Die
GPU 62 reagiert auf einen Polygonzeichenbefehl von der
CPU 51 zum Zeichnen eines Polygons oder einer Graphik in
den Rahmenpuffer 63. Die GPU 62 kann bis zu 360000
Polygone pro Sekunde zeichnen und besitzt außerdem unabhängig von
der CPU 51 einen zweidimensionalen Adressenraum zum Abbilden
des Rahmenpuffers 63.
-
Der
Rahmenpuffer 63 enthält
einen so genannten Dualport-RAM, der gleichzeitig ein Abrufen von
Zeichendaten aus der GPU 62 oder eine Übertragung von Daten vom Hauptspeicher 53 und
eine Freigabe von Daten zur Anzeige ausführt.
-
Der
Rahmenpuffer 63 kann außerdem eine Größe von 1
Megabyte haben, wobei eine Bildelementmatrix mit horizontal 1024
und vertikal 512 Bildelementen im 16 Bit-Format gebildet wird. Jeder
gewünschte
Bereich in der Größe des Rahmenpuffers 63 kann
an Videoausgabemittel 65, wie etwa eine Anzeige, bereitgestellt
werden.
-
Zusätzlich zu
dem Bereich, der als Videoausgabe bereitgestellt wird, enthält der Rahmenpuffer 63 eine Farbnachschlagtabelle
(die nachfolgend als "CLUT" bezeichnet wird),
einen Bereich zum Speichern einer CLUT, der als Bezugspunkt beim
Zeichnen von Graphiken oder Polygonen unter der Wirkung der GPU 62 verwendet
wird, und einen Texturbereich zum Speichern von Texturdaten, die
einer Koordinatentransformation unterworfen und auf die Graphiken
oder Polygone, die durch die GPU 62 gezeichnet werden,
abgebildet werden sollen. Sowohl die CLUT als auch die Texturbereiche
können
in Abhängigkeit
von einer Änderung
des Anzeigebereichs dynamisch verändert werden. Der Rahmenpuffer 63 kann
daher einen Zeichenzugriff auf den Bereich in der Anzeige und eine
schnelle DMA-Übertragung
zu und von dem Hauptspeicher 53 ausführen.
-
Die
GPU 62 kann außerdem,
zusätzlich
zu der einheitlichen Schattierung eine Gouraud-Schattierung ausführen, bei
der die Farbe eines Polygons durch Interpolation der Eckpunktfarbe
festgelegt wird und eine Texturabbildung, bei der eine Textur aus
dem Texturbereich ausgewählt
wird, an einem Polygon angebracht wird.
-
Für die Gouraud-Schattierung
oder Textur-Abbildung kann die GPU 61 der Koordinatentransformation bei
einer Rate von bis zu 500000 Polygonen pro Sekunde ausführen.
-
Der
MDEC 64 reagiert auf ein Befehlssignal von der CPU 51 zum
Decodieren von Standbild- oder Film-Bilddaten, die von einer CD-ROM-Speicherplatte
abgerufen werden und in dem Hauptspeicher 53 gespeichert
sind und anschließend
wieder in dem Hauptspeicher 53 gespeichert werden. Der
MDEC 64 führt
im Einzelnen eine schnelle Operation der inversen diskreten Cosinus-Transformation (die
als inverse DCT bezeichnet wird) aus, um komprimierte Daten der
Kompressionsnorm für
Farbstandbilder (die als JPEG bekannt ist) oder der Codierungsnorm
für Filmbilder
für Speichermedien
(die als MPEG bekannt ist, in dieser Ausführungsform jedoch für eine Zwischenrahmen-Komprimierung) zu
dekomprimieren.
-
Die
wiedergegebenen Bilddaten werden über die GPU 62 an
den Rahmenpuffer 63 übertragen
und können
deswegen als Hintergrund für
ein von der GP 62 zu zeichnendes Bild verwendet werden.
-
Das
Tonmodul 70 enthält
die Tonsignal-Prozessoreinheit (SPU) 71, die auf einen
Befehl von der CPU 51 zum Erzeugen von Musik- oder Effekttonsignalen
reagiert, einen Tonsignalpuffer 72, der als Beispiel und nicht
notwendigerweise einschränkend
einen Umfang von 512 Kilobyte zum Speichern von Audiodaten der Sprach-
oder Musiktonsignale sowie von Daten der Tonsignalquelle, die von
einem CD-ROM abgerufen werden, und einen Lautsprecher 73,
der als Tonsignalausgabemittel wirkt, um Musik- oder Effekttonsignale
auszusenden, die mit der SPU 71 erzeugt werden.
-
Die
SPU 71 besitzt eine Signaldecodierungsfunktion mit adaptiver
Differenzimpulscodemodulation (ADPCM) zum Wiedergeben von Audiodaten
des 4 Bit-ADPCM-Formats,
die aus 16 Bit-Audiodaten umgesetzt werden, eine Wiedergabefunktion
zum Wiedergeben der Tonsignalquellendaten, die in dem Tonsignalpuffer 72 gespeichert
sind, um Musik- oder Effekttonsignale auszusenden, und eine Modulationsfunktion
zum Modulieren der Audiodaten, die in dem Tonsignalpuffer 72 gespeichert
sind, für
eine Wiedergabe. Die SPU 71 besitzt im Einzelnen eine ADPCM-Tonsignalquelle
mit 24 Kanälen,
bei der Veränderungsparameter
der Rückführung und
Zeitkoeffizienten automatisch modifiziert werden und die durch ein
Signal von der CPU 51 betätigt wird. Die SPU 71 steuert
ihren Adressenraum, der mit dem Tonsignalpuffer 72 abgebildet
wird, und kann die Wiedergabe von Audiodaten durch eine direkte Übertragung
von ADPCM-Daten mit Informationen über Codeschlüssel ein/aus
oder Modulation von der CPU 51 an den Tonsignalpuffer 72 ausführen.
-
Das
Tonsignalmodul 70 wird dementsprechend beim Empfangen eines
Befehlssignals von der CPU 51 als eine abtastende Tonsignalquelle
zum Erzeugen von Musik- oder Effekttonsignalen, die den in dem Tonsignalpuffer 72 gespeicherten
Audiodaten entsprechen, verwendet.
-
Das
Steuermodul 80 für
optische Speicherplatten enthält
das Speicherplattenlaufwerk 81 zum Abrufen eines Programms
oder von Daten von einer optischen Speicherplatte oder einem CD-ROM,
einen Decodierer 82 zum Decodieren eines codierten gespeicherten
Programms oder codierter gespeicherter Daten gemeinsam mit Fehlerkorrekturcodes
(ECC) und einen Puffer 83 mit einem Umfang von z. B. 32
Kilobyte zum Speichern von Daten, die von einer optischen Speicherplatte
abgerufen werden. Das Steuermodul 80 für optische Speicherplatten
enthält
das Speicherplattenlaufwerk 81 und den Decodierer 82 und
außerdem
sind weitere Komponenten zum Lesen von Daten von einer Speicherplatte
an geordnet, um andere Speicherplattenformate, die CD-DA und CD-ROM-XA
enthalten, zu unterstützen.
Der Decodierer 82 dient außerdem als ein Element des Tonsignalmoduls 70.
-
Die
Audiodaten, die durch das Speicherplattenlaufwerk 81 von
der Speicherplatte abgerufen werden, sind nicht auf das ADPCM-Format
(zur Speicherung auf CD-ROM-XA-Speicherplatten) beschränkt, sondern können einem
gewöhnlichen
PCM-Modus entsprechen, der durch eine Analog/Digital-Umsetzung erzeugt wird.
-
Die
ADPCM-Daten können
in 4 Bit-Differenzform aufgezeichnet werden, die aus digitalen 16
Bit-Daten berechnet werden, und werden zuerst in dem Decodierer 82 einer
Fehlerkorrektur und Decodierung unterworfen, an die SPU 71 übertragen,
wo die D/A-Umsetzung ausgeführt
wird, und zur Wiedergabe an den Lautsprecher 73 bereitgestellt.
-
Die
PCM-Daten können
in Form eines digitalen 16 Bit-Signals aufgezeichnet werden und
werden durch den Decodierer 82 zum Ansteuern des Lautsprechers 73 decodiert.
Ein Audioausgang des Decodierers 82 wird zuerst zur SPU 71 gesendet,
wo er mit einem SPU-Ausgang gemischt und über eine Nachhalleinheit zur
Audiowiedergabe freigegeben wird.
-
Das
Kommunikationssteuermodul 90 enthält eine Kommunikationssteuervorrichtung 91 zum
Steuern von Kommunikationen über
den Hauptbus B mit der CPU 51, die Steuereinheit 92 zum
Eingeben von Befehlen durch eine Bedienperson und die Speicherkarte 93 zum
Speichern von Spieleinstellungsdaten.
-
Die
Steuereinheit 92 ist eine Schnittstelle zum Übertragen
von Befehlen der Bedienperson an die Anwendungssoftware und kann
16 Befehlstasten zum Eingaben der Befehle enthalten. Vorgegebene
Befehle, die den Tasten durch die Kommunikationssteuervorrichtung 91 zugeordnet
sind, werden der Kommunikationssteuervorrichtung 91 in
einer synchronen Betriebsart 60 Mal pro Sekunde zugeleitet. Die
Kommunikationssteuervorrichtung 91 sendet die Tastenbefehle
dann an die CPU 51. Die Steuereinheit 92 besitzt
zwei Verbinder, die daran angeordnet sind, für einen Anschluss von mehreren
Steuereinheiten, die über
Anschlüsse
mit mehreren Abgriffen nacheinander angeschlossen werden.
-
Beim
Empfang des Befehls von der Bedienperson beginnt die CPU 51 dementsprechend
die Ausführung
einer entsprechenden Prozessaktion, die durch das Spielprogramm
festgelegt ist.
-
Wenn
bei einem zu spielenden Spiel die Anfangseinstellung erforderlich
ist, überträgt die CPU 51 relevante
Daten an die Kommunikationssteuervorrichtung 91, die dann
die Daten in der Speicherkarte 93 speichert.
-
Die
Speicherkarte 93 ist von dem Hauptbus B getrennt und kann
unabhängig
installiert oder entfernt werden, während der Hauptbus B angesteuert
ist. Dadurch können
Daten der Spieleinstellung auf zwei oder mehreren Speicherkarten 93 gespeichert
werden.
-
Das
System dieser Ausführungsform
ist außerdem
mit einem parallelen 16 Bit-Eingabe/Ausgabe-Anschluss 101 (E/A)
und einem asynchronen seriellen Eingabe/Ausgabe-Anschluss 102 (E/A)
versehen. Das System kann für
eine Datenübertragung
an dem parallelen E/A-Anschluss 101 an jede andere periphere
Vorrichtung und an dem seriellen E/A-Anschluss 102 an jede
andere Videospielmaschine angeschlossen werden.
-
Zwischen
dem Hauptspeicher 53, der GPU 62, dem MDEC 64 und
dem Decodierer 82 müssen
riesige Mengen von Bilddaten zum Lesen eines Programms, zum Anzeigen
eines Textes oder zum Zeichnen einer Graphik schnell übertragen
werden. Das Bildverarbeitungssystem dieser Ausführungsform ist deswegen so beschaffen,
dass es eine direkte Datenübertragung
oder eine DMA-Übertragung
zwischen dem Hauptspeicher 53, der GPU 62, dem
MDEC 64 und dem Decodierer 82 ohne Verwendung
der CPU 51 ermöglicht.
Das erfolgt dagegen unter der Steuerung der Steuereinheit 52 der
peripheren Vorrichtungen. Die Belastung der CPU 51 während der
Datenübertragung
wird folglich beträchtlich
verringert, wodurch Operationen der schnellen Datenübertragung
sichergestellt werden.
-
Die
Videospielmaschine der Erfindung ermöglicht, dass die CPU 51 das
in dem ROM 54 gespeicherte Betriebssystem ausführt, wenn
dieser angeregt wird. Wenn das Betriebssystem ausgeführt wird,
werden die Aktionen des Graphikmoduls 60 und des Tonsignalmoduls 70 durch
die CPU 51 korrekt gesteuert.
-
Wenn
das Betriebssystem aufgerufen wird, beginnt die CPU 51 außerdem die
Initialisierung des gesamten Systems, indem sie jede Aktion prüft und dann
das Steuermodul 80 der optischen Speicherplatten betätigt, um
ein gewünschtes
Spielprogramm auszuführen,
das auf einer optischen Speicherplatte gespeichert ist.
-
Während der
Ausführung
des Spielprogramms betätigt
die CPU 51 das Graphikmodul 60 und das Tonsignalmodul 70 in
Reaktion auf Befehlseingaben durch die Bedienperson zum Steuern
der Anzeige von Bildern und der Wiedergabe von Musik- oder Effekttonsignalen.
Die Darstellung von Bilddaten auf der Anzeige durch die Bilddatenverarbeitungsvorrichtung
der Erfindung wird anschließend
erläutert.
-
Die
CPU 62 zeigt den Bereich eines gewünschten Graphikmodells, das
durch den Rahmenpuffer 63 erzeugt wird, auf den Videoausgabemitteln 65 oder
der Anzeige, wie z. B. eine CRT an. Dieser Bereich wird nachfolgend
als ein Anzeigebereich bezeichnet. Die Beziehung zwischen dem Anzeigebereich
und dem Anzeigeschirm ist in 2 veranschaulicht.
-
Die
GPU 62 ist so entworfen, dass sie zehn unterschiedliche
Anzeigebetriebsarten unterstützt,
die nachfolgend angegeben sind.
-
-
Die
Größe oder
die Anzahl von Bildelementen des Anzeigeschirms ist variabel und
die Positionen von Beginn und Ende der Anzeige (ausgedrückt durch
(DTX, DTY) bzw. (DBX, DBY) auf einer horizontalen Ebene) können in
der horizontalen Richtung bzw. in der vertikalen Richtung separat
festgelegt werden, wie in 3 gezeigt
ist.
-
Die
Beziehung zwischen einem Bereich gültiger Werte in der Koordinatenbetriebsart
und der Anzeigebetriebsart ist nachfolgend angegeben. Es wird angemerkt,
dass DTX und DBX Vielfache von 4 sind. Somit enthält die minimale
Schirmgröße 4 Bildelemente
in der Horizontalen mal 2 Bildelemente in der Vertikalen (in einer
nicht verschachtelten Betriebart) oder 4 Bildelemente (in einer
verschachtelten Betriebsart).
-
*
Der Bereich von gültigen
Werten längs
der X-Achse:
-
*
Der Bereich von gültigen
Werten längs
der Y-Achse:
-
Die
GPU 62 unterstützt
ferner zwei Anzeigefarben-Betriebsarten, die 16 Bit-Direktbetriebsart
(32768 Farben) und die 24 Bit-Direktbetriebsart (Vollfarbe). Die
16 Bit-Direktbetriebsart (die nachfolgend als 16 Bit-Betriebsart
bezeichnet wird) ermöglicht
32768 Farben. Obwohl die 16 Bit-Betriebsart im Vergleich zu der
24 Bit-Direktbetriebsart (die nachfolgend als 24 Bit-Betriebsart
bezeichnet wird) in der Anzahl der anzeigefähigen Farben eingeschränkt ist,
ermöglicht
sie, dass Farbberechnungen der GPU 62 in der 24 Bit-Betriebsart
ausgeführt
wird und sie besitzt außerdem
eine Dithering-Funktion, die eine Quasi-Vollfarben-Anzeige (24 Bit-Anzeige)
simuliert. Die 24 Bit-Betriebsart ermöglicht 16777216 Farben (Vollfarbe)
und erzeugt eine bitabgebildete Anzeige von Bilddaten, die an den
Rahmenpuffer 63 übertragen
werden, kann jedoch keine Zeichnungsaktion durch die GPU 62 auslösen. Während die
Bitlänge
eines Bildelements 24 Bits umfasst, müssen die Koordinaten- und Lagewerte
in dem Rahmenpuffer 63 auf der Grundlage des 16 Bit-Formats
bestimmt werden. Die 24 Bit-Bilddaten von 640 × 480 werden z. B. im Rahmenpuffer 63 als
960 × 480
behandelt. Außerdem
wird DBX durch ein Vielfaches von 8 ausgedrückt. Demzufolge beträgt die minimale
Anzeigegröße in der
24 Bit-Betriebsart 8 Bildelemente in der Horizontalen mal 2 Bildelemente
in der Vertikalen.
-
Die
Zeichnungsfunktionen der GPU 62 werden anschließend beschrieben.
-
Die
Zeichnungsfunktionen enthalten:
das Zeichnen von Sprites zum
Erzeugen von Sprites (z. B. ein Polygon) im Bereich von 1 × 1 Bildpunkten
bis 256 × 256
Bildpunkten in einer 4 Bit-CLUT-Betriebsart
(4 Bit-Format mit 16 Farben pro Sprite), in einer 8 Bit-CLUT-Betriebsart
(8 Bit-Format mit 256 Farben pro Sprite) und in einer 16 Bit-CLUT-Betriebsart (16 Bit-Format
mit 32768 Farben pro Sprite);
das Zeichnen von Polygonen zum
Ausführen
der Zeichnung eines Polygons (Dreieck, Viereck und dergleichen),
von dem jeder Eckpunkt durch Koordinatenwerte definiert ist, und
anschließend
Ausführen
einer einheitlichen Schattierung zum Füllen des Polygons mit einer
einzelnen Farbe, einer Gouraud-Schattierung zum Schaffen einer Abstufung
an dem Polygon, indem jedem Eckpunkt eine andere Farbe zugewiesen
wird, und einer Texturabbildung durch Anwenden von (eines Texturmusters
aus) zweidimensionalen Bilddaten auf die Oberfläche des Polygons;
Zeichnen
von Linien, bei dem eine Abstufung möglich ist; und
Bilddatenübertragung
zum Übertragen
von Bilddaten von der CPU 51 zum Rahmenpuffer 63,
von dem Rahmenpuffer 63 an die CPU 51 und von
dem Rahmenpuffer 63 an sich selbst.
-
Eine
weitere Funktion kann hinzugefügt
werden, wie etwa das halbdurchlässige
Rendern, bei dem Bildelemente gemittelt werden (außerdem bekannt
als Alpha-Mischen,
da Daten von Bildelementen bei einem gewünschten Verhältnis oder
Alpha-Verhältnis
miteinander kombiniert werden), das Dithering zum Glätten der Grenzfläche von
Farben bei der Verwendung von Störsignalen,
das Ausschneiden zum Entfernen von Merkmalen außerdem des Zeichenbereichs
oder das Verschieben, bei dem der Ursprungspunkt der Zeichnung in Abhängigkeit
von dem Zeichenbereich verschoben wird.
-
Das
Koordinatensystem, auf dem eine Graphik gezeichnet wird, basiert
auf einem 11 Bit-Format, wodurch jeder Wert von X und Y in einem
Bereich von –1024
bis +1023 zugewiesen wird. Wie in 4 gezeigt ist,
ist die Größe des Rahmenpuffers 63 1024 × 512, wobei
jede Erweiterung möglich
ist. Der Ursprungspunkt einer Zeichnung kann in dem Rahmenpuffer 63 willkürlich festgelegt
werden, indem die Versatzwerte der Koordinaten gesteuert werden.
Wegen der Ausschneidefunktion kann das Zeichnen lediglich auf jede
Form innerhalb des Rahmenpuffers 63 angewendet werden.
-
Da
der Sprite, der durch die GPU 62 unterstützt wird,
maximal 256 × 256
Bildpunkte repräsentiert,
können
seine horizontale und vertikale Länge in diesem Bereich beliebig
festgelegt werden.
-
Bilddaten
(eines Sprite-Musters), die an dem Sprite anzubringen sind, werden
einem Nichtanzeige-Bereich des Rahmenpuffers 63 zugeordnet,
wie in 5 gezeigt ist. Dadurch wird das Sprite-Muster
vor dem Beginn des Zeichenbefehls an den Rahmenpuffer 63 übertragen.
Mehrere Sprite-Muster können
in Form von Seiteneinheiten von 256 × 256 Bildelementen reserviert
werden, solange Speicherbereiche des Rahmenpuffers 62 zur
Verfügung
stehen. Die Größe von 256 × 256 Bildelementen
wird als Texturseite bezeichnet. Der Ort jeder Texturseite wird
durch Zuweisen einer Seitennummer an den als TSB bezeichneten Parameter
eines Zeichenbefehls festgelegt, um den (Adressen-)Punkt der Texturseite
zu kennzeichnen.
-
Das
Sprite-Muster wird in drei Typen der Farbbetriebsart klassifiziert,
die 4 Bit-CLUT-Betriebsart,
die 8 Bit-CLUT-Betriebsart und die 16 Bit-CLUT-Betriebsart. Die
4 Bit- und 8 Bit-CLUT-Betriebsarten verwenden eine CLUT.
-
Die
CLUT ist in 6 gezeigt, wobei die R-, G-
und B-Werte 16 bis 256 der drei Primärfarben zum Erzeugen von sichtbaren
Farben, die angezeigt werden sollen, in dem Rahmenpuffer 63 angeordnet
sind. Die R-, G- und B-Werte sind in einer Folge, am linken Ende
des Rahmenpuffers 62 beginnend, nummeriert und die Farbe
eines Bildelements in dem Sprite-Muster ist durch die Nummer gekennzeichnet.
Die CLUT kann für
jeden Sprite ausgewählt
werden und die Sprites können
ihren entsprechenden CLUTs zugeordnet sein. In 6 repräsentiert
jeder Eintrag ein einzelnes Bildelement der 16 Bit-Betriebsart und
jede CLUT entspricht 1 × 16 Bits
(in der 4 Bit-Betriebsart) oder 1 × 255 Bits (in der 8 Bit-Betriebsart)
der Bilddaten. Der Speicherort der CLUT im Rahmenpuffer 63 ist
durch das Zuweisen von Koordinatenwerten am linken Ende der zu verwendenden
CLUT an den mit CBA bezeichneten Parameter des Zeichenbefehls festgelegt,
um den (Adressen-)Punkt der CLUT zu kennzeichnen.
-
Das
Zeichnen eines Sprite ist in 7 schematisch
dargestellt, wobei U und V der Zeichnungsbefehle Parameter zum Kennzeichnen
des Orts in einer Texturseite sind, ausgedrückt in einer horizontalen Richtung bzw.
vertikalen Richtung. X und Y sind gleichfalls Parameter zum Kennzeichnen
des Orts des Zeichenbereichs.
-
Die
GPU 62 verwendet eine Filmanzeigetechnik, die als Rahmendoppelpufferung
bekannt ist, bei der, wie in 8 gezeigt
ist, zwei viereckige Muster in dem Rahmenpuffer 63 vorbereitet
werden, wovon eines angezeigt wird, während eine Graphik in das andere
abgebildet wird. Wenn das Zeichnen beendet wurde, werden die zwei
Muster umgeschaltet. Dadurch kann die Anzeige einer Aktion zum erneuten
Schreiben vermieden werden. Das Umschalten bei dem Rahmenpuffer 63 kann
während
des vertikalen Intervalls ausgeführt
werden. Da die Form und der Ursprungspunkt von Koordinaten einer
zu zeichnenden Graphik in der GPU willkürlich festgelegt werden, können sie
außerdem
bei Verschiebungen zum Festlegen von mehreren Puffern verwendet werden.
-
Ein
Datenformat, das durch das Bilddatenverarbeitungsverfahren der Erfindung
in der beschriebenen Bildverarbeitungsvorrichtung erzeugt wird,
wird anschließend
beschrieben.
-
Die
Graphiken, die in der Bildverarbeitungsvorrichtung der ersten beschriebenen
Ausführungsform
der Erfindung behandelt werden, werden in zwei Typen klassifiziert,
dreidimensionale Graphiken und grundlegende zweidimensionale Graphiken.
Die dreidimensionale Graphik wird implementiert durch Modellierungsdaten (die
nachfolgend als TMD-Daten bezeichnet werden), die ein Fassettenattribut
der Form eines realistischen Modells oder Objekts, das zu zeichnen
ist, repräsentieren,
und Animationsdaten (die nachfolgend als TOD-Daten bezeichnet werden),
die Lagedaten des Objekts enthalten. Die zweidimensionalen Daten
enthalten Bilddaten (die nachfolgend als TIM-Daten bezeichnet werden),
die als ein Sprite-Muster oder als Textur-Basis verwendet werden,
BG- Abbildungsdaten
(die als BGD-Daten bezeichnet werden), die zum Abbilden eines Hintergrunds
verwendet werden, Zellendaten (die als CEL-Daten bezeichnet werden)
und Informationsdaten (die als ANM-Daten bezeichnet werden) zum
Animieren des Sprite.
-
Das
Format der TOD-Animationsdaten (das als TOD-Format bezeichnet wird)
ist so entworfen, dass Daten des dreidimensionalen Objekts zeitlich
zugeordnet werden. Im Einzelnen wird jeder Rahmen einer dreidimensionalen
Animation (die eine Reihe von Rahmen enthält) durch wesentliche Daten
zum Erzeugen, Verändern
und Abschließen
von dreidimensionalen Objekten ausgedrückt, wobei die Daten in dem
Rahmen zeitlich ausgerichtet sind.
-
Eine
Datei in dem TOD-Format (die als TOD-Datei bezeichnet wird) enthält einen
Dateivorsatz und eine Reihe von Datenrahmen, wie in 9 gezeigt
ist. Der Vorsatz HEADER, der in 9 gezeigt
ist, enthält zwei
Wörter
(von jeweils 64 Bits), die am vorderen Ende der TOD-Datei angeordnet
sind, die vier unterschiedliche Typen von Informationen hält, die
lauten:
- (a) "Datei-ID" (8 Bit) "Datei-ID" gibt die Datei als eine Animationsdatei
an;
- (b) "Version" (8 Bit) gibt eine
Version der Animation an;
- (c) "Auflösung" (16 Bit) "Auflösung" repräsentiert
eine Zeitdauer (in Teilen von 1/60 Sekunde), während der ein Rahmen angezeigt
wird; und
- (d) "Anzahl
der Rahmen" (32
Bit) gibt die Anzahl von Rahmen in der Datei an.
-
Dem
Vorsatz HEADER folgen eine Reihe von Rahmen FRAME, die in einer
zeitlichen Abfolge ausgerichtet sind.
-
Wie
in 10 gezeigt ist, umfasst der Rahmen FRAME einen "Rahmenvorsatz" und eine Reihe von Paketen
(PACKETs).
-
Der "Rahmenvorsatz", der sich am vorderen
Ende des Rahmens FRAME von 10 befindet,
enthält zwei
Wörter,
die die folgenden Informationen halten:
- (a) "Rahmengröße" (16 Bits), gibt
die Größe der Rahmendaten
insgesamt (mit dem Rahmenvorsatz) an, ausgedrückt in (4 Byte) Wörtern;
- (b) "Anzahl
der Pakete" (16
Bits, repräsentiert
die Anzahl von Paketen in dem Rahmen; und
- (c) "Rahmenanzahl" (32 Bits, gibt die
Anzahl der Rahmen an. "Der "Rahmenanzahl" folgen eine Anzahl
von Paketen PACKET.
-
Wie
in 11 gezeigt ist, umfasst ein Paket PACKET einen "Paketvorsatz" aus einem Wort und "Paketdaten". Der Typ des Pakets
PACKET ist nicht immer gleich und die "Paketdaten" in jedem Paket PACKET ändern sich
nur dann, wenn der Pakettyp von PACKET unterschiedlich ist, aber
auch dann, wenn er gleich ist.
-
Wie
in 11 gezeigt ist, enthält ein Paket PACKET einen "Paketvorsatz" und "Paketdaten". Der "Paketvorsatz" enthält die folgenden
Informationen:
- (a) "Objektkennung" (16 Bits), "Objektkennung" gibt den Typ eines Zielobjekts an;
- (b) "Pakettyp" (4 Bits), repräsentiert
einen Typ des Pakets, der Inhalte der "Paketdaten" erläutert;
- (c) "Merker" (4 Bits), in Abhängigkeit
vom "Pakettyp"; und
- (d) "Paketlänge" (8 Bits), gibt die
Länge des
Pakets (mit dem "Paketvorsatz") an, die in (4 Byte)
Wörtern ausgedrückt wird.
-
Die "Paketdaten" enthalten außerdem weitere
Informationen, die eine Kennung von TMD-Daten (Kennung von Modellierungsdaten)
und SRST-Werte, die nachfolgend beschrieben werden, enthalten. Ein
Paket PACKET wird durch den "Pakettyp" gekennzeichnet,
der im Vorsatz gespeichert ist. Der "Pakettyp" wird durch eine Gruppe von Zahlen bezeichnet,
die in der nachfolgend angegebenen Weise Eigenschaften der Daten
zugewiesen sind:
0 | Attribut |
1 | Koordinate
(RST) |
10 | Kennung
von TMD-Daten |
11 | Kennung
des Hostobjekts |
100 | MATRIX-Wert |
101 | Inhalt
von TMD-Daten |
110 | Lichtquelle |
111 | Kamera |
1000 | Objektsteuerung |
1001–1101 | Benutzerdefinition |
1110 | Systemreservierung |
1111 | spezieller
Befehl |
-
Diese
werden nachfolgend genauer erläutert.
-
"Attribut" wird durch den Wert
0000 des "Pakettyps" ausgedrückt, wodurch
angegeben wird, dass die "Paketdaten" Informationen zur
Attributeinstellung enthalten. In diesem Fall wird "Merker" nicht verwendet.
-
Die "Paketdaten" enthalten zwei Wörter, wie
in 12 gezeigt ist. Das erste Wort ist eine Maske,
die Bits zum Angeben einer Wertänderung
und Bits, die keine Änderung
angeben, enthält.
Die Bits zum Angeben einer Wertänderung
werden durch 0 ausgedrückt
und die Bits, die keine Änderung
angeben, werden durch 1 angegeben. In dem zweiten Wort werden Bits,
die durch Bits zum Angeben einer Wertänderung angegeben werden, mit
neuen Daten geladen und die restlichen Bits werden durch 0 ausgedrückt. Die
Vorzugwerte, die den Bits, die keine Änderung angeben, zugewiesen
werden, sind unterschiedlich, 1 im ersten Wort und 0 im zweiten
Wort. Die Bits des zweiten Wortes in "Paketdaten" halten die folgenden Einzelheiten:
-
-
-
Wenn
die Berechnung der Lichtquelle auf "eingeschaltet" eingestellt ist, sind die Bits in "Paketdaten" so, wie in 13 gezeigt
ist. Es ist ersichtlich, dass Bit 6 im ersten Wort 0 ist, was angibt,
dass eine Änderung der
Lichtquellen-Informationen gefordert wird, während die anderen Bits, die
keine Änderung
angeben, auf 1 bleiben. In dem zweiten Wort ist Bit 6 gleich 1,
was angibt, dass die Berechnung der Lichtquelle eingeschaltet ist,
und die anderen Bits, die nicht geändert werden, bleiben auf dem
Vorzugswert 0.
-
Die "Koordinate (RST)" wird ausgedrückt mit
0001 von "Pakettyp" und die "Paketdaten" enthalten Daten
zum Einstellen der Koordinatenwerte. In diesem Fall wird "Merker" in 14 dargestellt.
Wie gezeigt ist, repräsentiert "Matrixtyp" den Typ einer RST-Matrix;
z. B. geben 0 eine absolute Matrixform und 1 eine differentielle
Matrixform des vorhergehenden Rahmens an. Außerdem bedeutet "Drehung" einen Merker der
Drehung (R); wobei 0 nein und 1 ja bedeuten. "Skalieren" ist ein Merker der Skalierung (S),
wobei 0 nein und 1 ja bedeuten. In ähnlicher Weise ist "Translation" ein Merker der parallelen
Verschiebung (T); wobei 0 nein und 1 ja bedeuten.
-
Die
Zuweisung in "Paketdaten" wird in Abhängigkeit
von einem Muster von Bits von "Drehung", "Skalieren" und "Translation" (für eine parallele
Verschiebung) in dem "Merker" verändert, wie
in 15 dargestellt ist. Wie gezeigt
ist, repräsentieren
Rx, Ry und Rz Komponenten einer Drehung um die X-Achse, Y-Achse
bzw. Z-Achse. Außerdem
sind Sx, Sy und Sz Komponenten einer Skalierung längs der
X-Achse, Y-Achse bzw. Z-Achse und Tx, Ty und Tz repräsentieren
Komponenten einer parallelen Verschiebung längs der X-Achse, Y-Achse bzw.
Z-Achse.
-
"TMD-Kennung" wird durch 0010
der "Paketdaten" bezeichnet und "Paketdaten" halten die Kennung von
Modellierungsdaten (TMD-Daten) eines Zielobjekts, wie in 16 gezeigt
ist. Die Kennung von TMD-Daten enthält 2 Bytes.
-
"Kennung Hostobjekt" wird ausgedrückt durch
0011 von "Pakettyp" und "Paketdaten" speichert die Kennung
Hostobjekt eines Zielobjekts, wie in 17 gezeigt
ist. Die Kennung Hostobjekt enthält
2 Bytes und "Merker" wird in diesem Fall
nicht verwendet.
-
Der "Matrixtyp" wird durch 0100
der Angabe "Pakettyp" bezeichnet und "Paketdaten" halten Daten zum
Einstellen von Koordinatenelementen. Dabei wird "Merker" nicht verwendet. 18 erläutert eine
Zuordnung bei "Paketdaten".
-
Wenn
der "Pakettyp" 0101 ist, halten "Paketdaten" die TMD-Daten, wie
nachfolgend genauer erläutert wird.
-
"Lichtquelle" wird durch 0110
der Angabe "Pakettyp" ausgedrückt und "Paketdaten" halten Daten für eine Lichtquelleneinstellung.
Dabei repräsentiert "Objektkennung" eine weitere Lichtquelle
im Unterschied zu einer allgemeinen "Objektkennung". Außerdem hält "Merker" spezifische Informationen, wie in 19 gezeigt ist.
In 19 gibt "Datentyp" den Typ von Daten
an, einen absoluten Wert, wenn der Datentyp 0 ist, und eine Differenz
zum vorhergehenden Rahmen, wenn er 1 ist. "Richtung" ist ein Richtungsmerker; wobei 0 nein
und 1 ja bedeuten. Gleichfalls repräsentiert "Farbe" einen Farbmerker; wobei 0 nein und
1 ja bedeuten. Die Zuweisung in "Paketdaten" ändert sich in Abhängigkeit
von einem Muster von Bits von "Richtung" und "Farbe" in "Merker", wie in 20 gezeigt ist.
-
Wenn "Pakettyp" für "Kamera" 0111 ist, halten "Paketdaten" Daten zur Ein stellung
von Standortdaten. Die "Objektkennung" ist dann eine Kamerakennung
und keine allgemeine "Objektkennung". Außerdem ist "Merker" so spezifiziert,
wie in 21 gezeigt ist.
-
Wenn
das Bit von "Kameratyp", das in 21 gezeigt ist, 0 ist, lauten die restlichen
Bits so, wie in 22 gezeigt ist. Wenn es 1 ist,
lauten die restlichen Bits so, wie in 23 gezeigt
ist. Im Einzelnen gibt "Datentyp" einen Typ von Daten
an; wobei 0 einen absoluten Wert und 1 eine Differenz zum vorhergehenden
Rahmen angeben, wie aus 22 ersichtlich
ist. "Position und
Referenz" in 22 ist
ein Merker für
die Lage von Standort und Bezugspunkt; wobei 0 nein und 1 ja bedeuten.
In ähnlicher
Weise ist "z-Winkel", wie in 22 gezeigt
ist, ein Merker für
einen Winkel der Bezugspunktlage zur Horizontalen; wobei 0 nein
und 1 ja bedeuten. In 23 gibt "Datentyp" außerdem
einen Typ von Daten an, wobei 0 ein absoluter Wert bedeutet und
1 eine Differenz zum vorhergehenden Rahmen bedeutet. Wie in 23 gezeigt
ist, ist "Drehung" ein Merker für eine Drehung
(R); wobei 0 nein und 1 ja bedeuten. Wie in 23 gezeigt
ist, ist in ähnlicher
Weise "Translation" ein Merker einer
parallelen Verschiebung (T); wobei 0 nein und 1 ja bedeuten.
-
Die
Zuweisung in "Paketdaten" wird somit in Abhängigkeit
der Inhalte von "Merker" geändert, wie
in den 24 und 25 gezeigt
ist.
-
"Objektsteuerung" wird durch den Wert
1000 der "Paketdaten" ausgedrückt, wenn
sie zum Steuern eines Objekts vorgesehen sind. In diesem Fall halten "Paketdaten" keine Informationen.
-
Wenn
schließlich "Pakettyp" den Wert 1111 für eine spezifische
Steuerung besitzt, werden Animationsdaten gesteuert.
-
Das
Format der Modellierungsdaten (das nachfolgend als TMD-Format bezeichnet
wird) wird im Folgenden erläutert.
-
Bei
allgemeinen dreidimensionalen Graphiken wird ein Objekt durch eine
Gruppe von Polygonen ausgedrückt.
Daten, die das Objekt repräsentieren,
werden als Modellierungsdaten bezeichnet. Eckpunkte jedes Polygons
werden durch Koordinatenwerte im dreidimensionalen Raum angegeben.
Die Koordinatentransformationsvorrichtung ist im Stand der Technik
zum Umsetzen der Eckpunktorte eines Polygons durch eine Perspektiventransformation
in zweidimensionale Koordinatenwerte vorgesehen, die dann einer
Renderungsvorrichtung zum Zeichnen unterworfen werden. Die Daten
werden in Form von Paketen an die Renderungsvorrichtung übertragen.
Ein Paket enthält
gewöhnlich
die Daten für
ein Polygon. Die Pakete variieren in Form und Größe in Abhängigkeit vom Typ des Polygons.
-
In Übereinstimmung
mit der Erfindung ist in dem zuvor beschriebenen Format die Struktur
von Polygondaten für
eine geometrische Graphik mit Ausnahme eines Abschnitts der Daten
ebenso wie jene eines Pakets angeordnet, wodurch die Koordinatentransformationsvorrichtung
eine Verarbeitung bei höherer
Geschwindigkeit ausführen
kann.
-
Es
gibt einige geeignete dreidimensionale Koordinatensysteme, einschließlich ein
Objekt-Koordinatensystem zum Darstellen der Form und der Größe eines
dreidimensionalen Objekts, ein Welt-Koordinatensystem zum Angeben
des Orts eines dreidimensionalen Objekts im Raum und ein Schirm-Koordinatensystem zum
Zeigen eines dreidimensionalen Objekts, das auf einen Schirm projiziert
wird. Zur Einfachheit erfolgt die Beschreibung in Verbindung mit
den Objekt- und
Schirm-Koordinatensystemen für
dreidimensionale Objekte.
-
Das
(TMD-)Format der Erfindung für
Daten einer Objektgeometrie oder Modellierungsdaten ist für eine Verwendung
in einer Bibliothek für
dreidimensionale erweitere Graphiken der Bilddatenverarbeitungsvorrichtung
der vorhergehenden Ausführungsform
vorgesehen, die in einer Heim-Videospielmaschine, einem Mikrocomputer
oder einem Graphikcomputer installiert ist. Daten des TMD-Formats
können
direkt zu einem Speicher als Einflussgrößen der Funktionen, die der
Bibliothek mit erweiterter Graphik zugeschrieben werden, heruntergeladen
werden.
-
Informationen,
die in einer Datei des TMD-Formats (die nachfolgend als TMD-Datei bezeichnet
wird) gehalten werden sollen, bleiben in einer RSD-Datei für abstraktere
Textdaten während
der Verwendung eines dreidimensionalen Werkzeugs oder Kunstwerkzeugs
und werden während
der Herstellung eines Programms durch einen spezifischen Befehl
(Befehl "RSDlink") zum TMD-Format
verschoben.
-
Die
Daten in der TMD-Datei sind eine Gruppe von Grundelementen, die
Polygone und Linien eines Objekts repräsentieren. Eine einzelne TMD-Datei
kann mehrere zu zeichnende Objekte halten.
-
Koordinatenwerte
in der TMD-Datei werden in dem Raum bezeichnet, der in der Bibliothek
der erweiterten Graphiken der Bilddatenverarbeitungsvorrichtung
der Erfindung behandelt wird, wobei die Richtung nach rechts eine
positive Richtung längs
der X-Achse ist, die Richtung nach unten eine positive Richtung
längs der
Y-Achse ist und die Richtung nach hinten eine positive Richtung
längs der
Z-Achse ist. Die Koordinatenwerte des Objekts werden durch vorzeichenbehaftete
Integrale von 16 Bit-Daten ausgedrückt und jeder Koordinatenwert
liegt im Bereich von –32767
bis 327687. In einem Format des Bezeichnungsschrittes (das als RSD-Format
bezeichnet wird) sind die Werte eines Eckpunkts Gleitkommazahlen
und deswegen müssen
die Dateien, die von RSD zu TMD verschoben werden sollen, durch
Erweiterung und Komprimierung angepasst werden. Zu diesem Zweck
werden Skalierungs-Einstellreferenzwerte hergestellt und in einer
Objektstruktur, die nachfolgend erläutert wird, installiert. Wenn
die Werte der Eckpunkte in den TMD-Formatdaten mit den Skalierungsreferenzwerten
multipliziert werden, werden sie auf die ursprüngliche Skalierung im Entwurfsschritt zurückgeführt. Das
unterstützt
die Bestimmung einer optimalen Skalierung zum Abbilden von Werten
in dem Welt-Koordinatensystem.
-
Das
TMD-Format gemäß der Erfindung
wird anschließend
genauer erläutert.
-
Wie
in 26 gezeigt ist, umfasst das TMD-Format vier Blöcke, die
Tabellendaten für
ein dreidimensionales Objekt (OBJ TABLE) in einer TMD-Datei, Grundelement-Daten
(PRIMITIVE), Eckpunktdaten (VERTEX) und Normalendaten (NORMAL) enthalten.
-
Ein
Vorsatz (HEADER) des TMD-Formats in 26 hält drei
Wörter
(12 Bytes), die Daten der in 27 veranschaulichten
Formatstruktur beinhalten. Wie in 27 gezeigt
ist, enthält
die Kennung ID 32 Bits Daten (ein Wort), die eine Version der TMD-Datei
repräsentieren.
Merker FLAGs sind ebenfalls 32 Bits Daten (ein Wort), die einen
Typ der Struktur des TMD-Formats repräsentieren. Das niedrigstwertige
Bit (LSB) ist ein FIXP-Bit, das später beschrieben wird, und die
anderen Bits sind alle reserviert, wie durch Werte 0 angegeben ist.
Das FIXP-Bit gibt an, ob der Zeiger der Objektkonstruktion eine
echte Adresse ist oder nicht, wobei das ebenfalls nachfolgend genauer
erläutert
wird.
-
Wenn
das FIXP-Bit 1 ist, ist der Zeiger eine echte Adresse. Wenn es 0
ist, ist er ein Versatz vom Anfang. NOBJ ist eine ganze Zahl, die
die Anzahl von Objekten repräsentiert.
-
Die
Tabelle OBJ TABLE von
26 enthält eine Tabelle, die eine Gruppe
von Objektstrukturen mit Zeigern enthält, die die Speicherorte der
Objekte angeben, wie in
28 gezeigt
ist. Jede Objektstruktur wird ausgedrückt durch:
wobei
vert_top; | VERTEX
Eingangsadresse, |
n_vert: | VERTEX
Anzahl, |
normal_top: | NORMAL
Eingangsadresse, |
n_normal: | NORMAL
Anzahl, |
primitive_top: | PRIMITIVE
Eingangsadresse, |
n_primitive: | POLYGON
Anzahl, |
scale: | Skalierungsfaktor. |
-
Die
Zeiger (vert_top, normal_top und primitive_top) in der Objektstruktur
werden in Abhängigkeit
von dem FIXP-Bit im Vorsatz HEADER geändert. Wenn FIXP gleich 1,
ist der Zeiger eine echte Adresse. Wenn FIXP gleich 0, ist der Zeiger
eine relative Adresse, wobei der Eingang vom Objekt OBJECT der Adresse
0 zugewiesen ist.
-
Der
Skalierungsfaktor ist vom "langen" Typ mit einem Vorzeichen
und sein Exponent von 2 repräsentiert
einen Skalierungswert. Wenn z. B. der Skalierungsfaktor der Objektstruktur
0 ist, beträgt
die Skalierung 1/1. Wenn er 2 ist, beträgt die Skalierung 4 und wenn
er –1
ist, beträgt
die Skalierung 1/2.
-
Das
Grundelement PRIMITIVE von 26 enthält eine
Reihe von Paketen für
Grundelemente des Objekts, wie in 29 gezeigt
ist. Jedes einzelne Paket hält
ein einzelnes Grundelement. Die durch das TMD-Format definierten
Grundelemente werden bei den Funktionen in der Bibliothek der erweiterten
Graphiken zur Perspektiventransformation verwendet und werden in
Zeichnungsgrundelemente umgesetzt. Das in 19 gezeigte
Paket ist in der Länge
veränderlich
und seine Größe und Struktur
werden in Abhängigkeit
vom Typ des Grundelements geändert.
-
Die "Betriebsart" in dem Paket von 29 umfasst
8 Bits, die den Typ und das Attribut seines Grundelements angeben,
wobei seine Zuweisung in 30 gezeigt
ist. In 30 repräsentieren 3 Bits von CODE einen
Code, der den Typ der Inhalte angibt; wobei 001 ein Polygon bedeutet
(Dreieck, Viereck usw.), 010 bedeutet eine Linie und 011 bedeutet
ein Sprite-Rechteck. Außerdem
hält OPTION
optionale Bits und wird in Abhängigkeit
eines Wertes von CODE geändert
(der in eine Liste der Paketdaten-Komponenten gedruckt ist, die nachfolgend
erläutert
wird).
-
Der "Merker" in dem Paket von 29 ist
ein 8 Bit-Datenwert, der optionale Informationen zum Rendern repräsentiert,
wobei seine Bitzuweisung in 31 gezeigt
ist. Der Wert GOR in 31 ist verfügbar bei Anforderungen einer
Berechnung von Lichtquellen und ohne Textur sowie der Anwendung
eines Polygons. Wenn der Wert GOR gleich 1 ist, gibt er ein Abstufungspolygon
an, und wenn er gleich 0 ist, gibt er ein einfarbiges Polygon an.
Wenn der Wert FCE 1 ist, ist das Polygon zweiseitig, und wenn er
0 ist, ist es einseitig (gilt dann, wenn CODE einen Polygoncode
repräsentiert).
Wenn außerdem
der Wert LGT 1 ist, ist keine Lichtquellenberechnung beteiligt,
und wenn er 0 ist, ist diese beteiligt. Der Wert "ilen" von 29 enthält einen
8 Bit-Datenwert, der eine Wortlänge
von Paketdaten repräsentiert.
In ähnlicher
Weise ist "olen" ein 8 Bit-Datenwert, der eine
Wortlänge
des Zeichnungsgrundelements angibt, das während des Prozesses erzeugt
wird. "Paketdaten" enthalten verschiedene
Parameter für
Eckpunkte und Normalen, die durch den Typ des Grundelements festgelegt
sind. Die Struktur von "Paketdaten" wird ebenfalls nachfolgend
genauer erläutert.
-
Der
Wert VERTEX, der in 26 gezeigt ist, ist eine Folge
von Datenstruktu ren, die Eckpunkte repräsentieren. Das Format jeder
Struktur ist in 32 dargestellt. In 32 sind
VX, VY und VZ die x-, y- bzw. z-Koordinaten (16 Bit-Ganzzahl) eines Eckpunkts.
-
Der
Wert NORMAL in 26 ist eine Folge von Datenstrukturen,
die Normalen angeben. Das Format jeder Struktur ist in 33 gezeigt,
in der NX, NY und NZ die x-, y- bzw. z-Koordinaten (16 Bit-Festkommabruchzahl)
einer Normalen sind. NX, NY und NZ werden im Einzelnen durch vorzeichenbehaftete
16 Bit-Dezimalbrüche ausgedrückt, wobei
4096 den Wert 1,0 repräsentiert.
Ihre Bitzuweisung ist in 34 gezeigt,
in der das Vorzeichen durch ein Bit, eine Ganzzahl durch 3 Bits
und eine Bruchzahl durch 12 Bits ausgedrückt werden.
-
Die
Paketdaten-Strukturen, die von den Typen der Grundelemente abhängig sind,
werden anschließend
erläutert.
Die Parameter in den Paketdaten werden klassifiziert in Eckpunkt
(n), Normale (n), Un, Vn, Rn, Gn, Bn, TBS und CBA.
-
Der
Wert Eckpunkt (n) ist ein 16 Bit-Indexwert, der auf den Ort von
VERTEX zeigt. Er ist eine Angabe der Nummer eines Elements, das
vom Anfang des VORTEX-Formats, das in 26 gezeigt
ist, gezählt
ist und ein Objekt, das das Polygon enthält, spezifiziert.
-
Der
Wert Normale (n) repräsentiert
wie der Wert Eckpunkt (n) einen 16 Bit-Indexwert, der auf den Ort von NORMAL
zeigt.
-
Un
und Vn sind x- bzw. y-Koordinatenwerte in dem Texturquellenraum
jedes Eckpunkts.
-
Rn,
Gn und Bn sind R-, G- bzw. B-Werte, die eine Farbe des Polygons
repräsentieren,
wenn es durch vorzeichenlose 8 Bit-Ganzzahlen ausgedrückt wird.
Wenn keine Lichtquellenberechnung beteiligt ist, müssen Vorzugswerte
der Luminanz im Voraus bereitgestellt werden.
-
Der
Parameter TBS hält
Informationen zur Textur und zum Sprite-Muster, wobei sein Format
in 35 gezeigt ist. Der Wert TPAGE in 35 repräsentiert
die Nummer (0 bis 31) einer Texturseite. Außerdem ist der Wert ABR eine
Halbdurchlässigkeitsrate
(Mischrate) und nur dann wählbar,
wenn ABE gleich 1 ist. Wenn der Wert ABE gleich 00 ist, beträgt die Rate
50% Hinter grund +50% Polygon. Wenn er gleich 01 ist, beträgt die Rate
100% Hintergrund +100% Polygon. Wenn er gleich 10 ist, beträgt die Rate
100% Hintergrund +50% Polygon. Wenn er gleich 11 ist, beträgt die Rate
100% Hintergrund –50%
Polygon. Der Wert TPF in 35 repräsentiert
eine Farbbetriebsart. Der Wert 00 von TPF gibt eine 4 Bit-Betriebsart
an, 01 bedeutet eine 8 Bit-Betriebsart
und 10 repräsentiert
eine 16 Bit-Betriebsart.
-
Der
Parameter von CBA gibt den Speicherort der CLUT in dem Rahmenpuffer 63 an,
wie in 36 gezeigt ist. CLX von 36 sind
die oberen 6 Bits von 10 Bits des X-Koordinatenwertes der CLUT in
dem Rahmenpuffer 63 und CLY sind 9 Bits des Y-Koordinatenwerts
von CLUT in dem Rahmenpuffer 63.
-
Die
eigentliche Struktur der Paketdaten wird nachfolgend erläutert. Die
Erläuterung
erfolgt zunächst unter
Bezugnahme auf ein Polygon mit dreieckiger Form mit Lichtquellenberechnung.
-
37 zeigt
die Bitzuweisung eines Betriebsartwertes im Datenwert PRIMITIVE.
Wie gezeigt ist, repräsentiert
IIP eine Schattierungsbetriebsart; wobei 0 eine Betriebsart mit
einheitlicher Schattierung ergibt und 1 eine Betriebsart mit Gouraud-Schattierung
erzeugt. Außerdem
wird der Wert TME zum Zuweisen einer Textur verwendet; wobei 0 einen
ausgeschalteten Zustand und 1 einen eingeschalteten Zustand repräsentieren. TGE
bietet eine Luminanzberechnung während
der Texturabbildung; wobei 0 eingeschaltet und 1 ausgeschaltet bedeuten
(wobei eine Textur direkt aufgebracht wird). Diese Parameter können bei
jeder Polygonform angewendet werden.
-
Die
Paketdatenstruktur ist so, wie in 38 gezeigt
ist. Im Einzelnen zeigt 38A eine
Betriebsart mit einheitlicher Schattierung in einer einzelnen Farbe,
wobei die Texturzuweisung ausgeschaltet ist. 38B ist
eine Betriebsart mit Gouraud-Schattierung in einer einzelnen Farbe,
wobei die Texturzuweisung ausgeschaltet ist. 38C ist
eine Betriebsart mit einheitlicher Schattierung mit Abstufung, wobei
die Texturzuweisung ausgeschaltet ist. 38D ist
eine Gouraud-Schattierung mit Abstufung, wobei die Texturzuweisung
ausgeschaltet ist. 38E ist eine Betriebsart mit
einheitlicher Schattierung, wobei die Texturzuweisung eingeschaltet
ist. 38F ist eine Gouraud-Schattierung,
wobei die Texturzuweisung eingeschaltet ist. Dabei drücken "Betriebsart" und "Merker" einen Zustand eines
einseitigen Polygons aus, wobei eine Halbdurch lässigkeit ausgeschaltet ist.
-
Ein
Beispiel einer Paketdatenstruktur wird anschließend erläutert unter Bezugnahme auf
ein Polygon mit dreieckiger Form ohne Verwendung der Lichtquellenberechnung.
Die Bitzuweisung eines Betriebsartwertes in PRIMITIVE ist gleich
der von 37.
-
Die
Paketdatenstruktur ist so, wie in 39 gezeigt
ist. Im Einzelnen zeigt 39A eine
Betriebsart der einheitlichen Schattierung, wobei die Texturzuweisung
ausgeschaltet ist. 39B ist eine Betriebsart der Gouraud-Schattierung
mit Abstufung, wobei die Texturzuweisung ausgeschaltet ist. 39C ist eine Betriebsart der einheitlichen Schattierung,
wobei die Texturzuweisung eingeschaltet ist. 39D ist
eine Betriebsart der Gouraud-Schattierung mit Abstufung, wobei die
Texturzuweisung eingeschaltet ist.
-
Ein
weiteres Beispiel der Paketdatenstruktur wird anschließend unter
Bezugnahme auf ein Polygon mit viereckiger Form und unter Verwendung
der Lichtquellenberechnung erläutert.
-
Die
Bitzuweisung eines Betriebsartwertes in PRIMITIVE ist in 40 gezeigt,
in der Bits in der gleichen Weise wie in 37 zugewiesen
sind.
-
Die
Paketdatenstruktur ist so festgelegt, wie in 41 gezeigt
ist. Im Einzelnen zeigt 41A eine Betriebsart
der einheitlichen Schattierung, wobei die Texturzuweisung ausgeschaltet
ist. 41B ist eine Betriebsart der
Gouraud-Schattierung, wobei die Texturzuweisung ausgeschaltet ist. 41C ist eine Betriebsart der einheitlichen Schattierung
mit Abstufung, wobei die Texturzuweisung ausgeschaltet ist. 41D ist eine Betriebsart der Gouraud-Schattierung
mit Abstufung, wobei die Texturzuweisung ausgeschaltet ist. 41E ist eine Betriebsart der einheitlichen Schattierung,
wobei die Texturzuweisung eingeschaltet ist. 41F ist eine
Betriebsart der Gouraud-Schattierung, wobei die Texturzuweisung
eingeschaltet ist.
-
Ein
weiteres Beispiel der Paketdatenstruktur wird anschließend erläutert unter
Bezugnahme auf ein Polygon mit einer vierseitigen Form ohne Verwendung
der Lichtquellenberechnung.
-
Die
Bitzuweisung eines Betriebsartwertes in PRIMITIVE ist in 40 gezeigt,
in der Bits in der gleichen Weise wie in 37 zugewiesen
wird.
-
Die
Paketdatenstruktur ist so, wie in 42 gezeigt
ist. 42A zeigt im Einzelnen eine
Betriebsart der einheitlichen Schattierung, wobei die Texturzuweisung
ausgeschaltet ist. 42B ist eine Betriebsart der Gouraud-Schattierung,
wobei die Texturzuweisung ausgeschaltet ist. 42C zeigt
eine Betriebsart der einheitlichen Schattierung, wobei die Texturzuweisung
eingeschaltet ist. 42D zeigt eine Betriebsart der
Gouraud-Schattierung (mit Abstufung), wobei die Texturzuweisung
eingeschaltet ist.
-
Die
Paketdatenstruktur wird anschließend unter Bezugnahme auf Linien
erläutert.
-
Die
Bitzuweisung eines Betriebsartwertes in PRIMITIVE ist in 43 gezeigt.
Der Wert IIP in 43 repräsentiert das Einschalten und
Ausschalten der Abstufung; wobei die Abstufung ausgeschaltet ist
(eine einzelne Farbe), wenn der Wert 0 ist, und die Abstufung eingeschaltet
ist, wenn er 1 ist. Außerdem
gibt der Wert ABE das Einschalten und Ausschalten der Halbdurchlässigkeitsverarbeitung
an; wobei 0 das Ausschalten und 1 das Einschalten repräsentieren.
-
Die
Paketdatenstruktur dieses Beispiels ist so, wie in 44 gezeigt
ist. 44A zeigt, dass die Abstufung
ausgeschaltet ist, und 44B gibt
an, dass die Abstufung eingeschaltet ist.
-
Die
Paketdatenstruktur wird anschließend unter Bezugnahme auf einen
dreidimensionalen Sprite erläutert.
Der dreidimensionale Sprite besitzt dreidimensionale Koordinatenwerte
und sein graphischer Inhalt ist ähnlich
dem eines allgemeinen Sprite. Die Bitzuweisung eines Betriebsartwertes
in PRIMITIVE ist in 45 gezeigt. Der Wert SIZ in 45 ist
die Größe des Sprite;
wobei 00 eine beliebige Größe repräsentiert
(die durch Werte W und H festgelegt ist), 01 entspricht einer Größe von 1 × 1, 10
entspricht 8 × 8
und 11 entspricht 16 × 16.
Außerdem
gibt der Wert ABE die Halbdurchlässigkeitsverarbeitung
an; wobei 0 den ausgeschalteten Zustand und 1 den eingeschalteten
Zustand repräsentieren.
-
Die
Paketdatenstruktur ist so festgelegt, wie in 46 gezeigt
ist. Es ist klar, dass 46A einen
Sprite mit einer beliebigen Größe zeigt, 46B repräsentiert
einen Sprite der Größe 1 × 1, 46C ergibt die Größe 8 × 8 und 46D ergibt
die Größe 16 × 16.
-
Bei
dem TMD-Dateiformat, das in 26 gezeigt
ist, ist ein Bereich, der die Modellierungsdaten hält, die
die Form eines Objekts repräsentieren,
teilweise gleich der Paketdatenstruktur des Standes der Technik. Das
ermöglicht,
dass die GTE 61 (Koordinatentransformationsvorrichtung)
die Verarbeitung des Bereichs beendet, indem einfach Daten wortweise
kopiert werden. Zum Beispiel können
drei Bereiche 1, 2 und 3, die in 38F gezeigt
sind, den Paketdaten des Standes der Technik entsprechen.
-
Eine
Folge von Aktionen der GTE 61 beim Empfang der Daten im
TMD-Format wird anschließend
unter Bezugnahme auf 47 beschrieben.
-
Wie
in 47 gezeigt ist, werden Daten eines Zielpolynoms
im Schritt S10 empfangen und im Schritt S11 in Typen klassifiziert.
Anschließend
wird ein Wort (32 Bit) im Schritt S12 extrahiert und im Schritt
S13 wird geprüft,
ob es zu den Paketdaten gehört.
Wenn es dazu gehört,
wird es im Schritt S17 zu den Paketdaten kopiert. Wenn es nicht
dazu gehört,
geht die Prozedur zum Schritt S14, in dem ein Prozess gemäß VERTEX
und NORMAL erfolgt. Darauf folgt im Schritt S15 das Erzeugen von
Paketdaten. Anschließend
wird im Schritt S16 geprüft,
ob die Koordinatentransformation eines Polygons abgeschlossen wurde.
Wenn das nicht der Fall ist, kehrt die Prozedur zurück zum Schritt
S12, und wenn das der Fall ist, wird sie beendet.
-
48 zeigt
eine wesentliche Folge von Schritten zur Koordinatentransformation
von dreidimensionalen Graphikdaten. Daten der Form eines Objekts
(Modellierungsdaten) werden im Schritt S1 eingegeben und werden
im Schritt S2 einer Koordinatentransformation unterworfen. Darauf
folgt die Lichtquellenberechnung im Schritt S3. Anschließend wird
im Schritt S4 geprüft,
ob die Verarbeitung aller Polygone abgeschlossen wurde. Wenn das
nicht der Fall ist, geht die Prozess zurück zum Schritt S2. Wenn im
Schritt S4 festgestellt wird, dass das der Fall ist, werden im Schritt
S5 Paketdaten freigegeben.
-
Um
das Bild in Echtzeit zu verändern,
müssen
die Schritte S2 und S3 sehr schnell wiederholt werden. Wenn die
Schattierung nicht in Echtzeit ausgeführt werden muss, wird ihr Schritt
S3 aus einer Schleife entfernt, wodurch man den Ablaufplan erhält, der
in 49 gezeigt ist. Wenn im Schritt S4 von 49 eine
negative Entscheidung getroffen wird, geht die Prozedur zurück zum Schritt
S3. In diesem Fall werden z. B. drei Bereiche 0, 3 und 6 von 38F lediglich einmal bestimmt und die Belastung
im Schritt der Koordinatentransformation ist geringer.
-
Eine
weitere Form des Formats für
die Objektformdaten (Modellierungsdaten) gemäß der Erfindung wird anschließend zur
Vereinfachung des Prozesses der Koordinatentransformation erläutert, wenn
die Schattierung nicht in Echtzeit ausgeführt wird. 50 zeigt
das Format einer Datei für
eine weitere Ausführungsform der
Erfindung. Am Kopf der Datei werden Daten bereitgestellt, die mit
TYPE bezeichnet werden und den Typ und das Attribut von Polygonen
repräsentiert,
sowie Daten, die mit NPACKET bezeichnet werden, die die Anzahl der
Polygone angeben. Diesen beiden Elementen folgen eine Gruppe von
Blöcken
aus "Polygondaten", deren Anzahl gleich
der Anzahl der Polygone ist.
-
"Polygondaten" sind in 51 gezeigt
und enthalten zwei Paketdatenwerte und dreidimensionale Koordinatenwerte
für Eckpunkte
des Polygons.
-
Die
Paketdaten von 51 sind in der Weise aufgebaut,
die in 52 gezeigt ist und die ähnlich zu der
von 57 ist. Sie ändern
sich außerdem
in Struktur und Länge
in Abhängigkeit
vom Typ des Polygons. Da bei dieser Ausführungsform die Schattierung
auf dem Objekt nicht in Echtzeit berechnet wird, können die folgenden
Parameter vor dem Beginn der Koordinatentransformation geschrieben
werden:
CODE,
(B0, G0, R0),
(V0, U0),
(B1, G1,
R1),
(V1, U1),
(B2, G2, R2),
(V2, U2).
-
Wenn
die oben genannten Parameter bestimmt wurden, wird ein Punkt von
dem Ort jedes Eckpunkts bezeichnet durch:
(Y0, X0) und (Y1,
X1),
wobei (Y2, X2)
lediglich für die Koordinatentransformation
berechnet wird, wodurch die Prozedur der Koordinatentransformation
vereinfacht ist. Es ist außerdem
nicht erforderlich, im Speicher einen Speicherbereich für die Paketdaten bereitzustellen.
-
Gemäß dieser
Ausführungsform
der Erfindung wird der Speicher nur mit Daten gefüllt, die
in dem Prozess der Koordinatentransformation geändert werden müssen, wodurch
zur Einsparung sowohl von Zeit als auch von Arbeit beigetragen wird.
-
Wie
oben dargestellt wurde, ist die Struktur der dreidimensionalen Bilddaten
gemäß der Erfindung
mit Ausnahme der Informationen, die einer Perspektiventransformation
unterworfen werden sollen, ebenso beschaffen wie die einer gegebenen Übertragungsnorm
der zweidimensionalen Bilddaten. Dadurch werden dann, wenn die Informationen,
die einer Perspektiventransformation für die dreidimensionalen Daten
unterworfen werden sollen, verarbeitet wurden, entsprechende zweidimensionale
Bilddaten der gegebenen Übertragungsnorm
erhalten. Im Einzelnen kann eine ursprüngliche Datei, die Daten enthält, die
einer Transformation unterworfen werden sollen, leicht in das neue
Format umgesetzt werden.
-
Außerdem können die
dreidimensionalen Bilddaten gemäß der Erfindung
Daten für
eine Schattierung an einem auf einer zweidimensionalen Anzeige zu
zeichnenden Objekt halten, wodurch eine zusätzliche Berechnung zum Erzeugen
der Schattierungsdaten während
der Wiedergabe der zweidimensionalen Bilddaten eliminiert werden
kann.
-
Dadurch
befriedigt die Erfindung einen lange bestehenden Bedarf an einer
verbesserten Bilddatenverarbeitung, bei der eine Datei, die ursprüngliche
Bilddaten enthält,
die einer Transformation unterworfen werden sollen, leicht in ein
neues Format umgesetzt wird, an einer Bilddatenverarbeitungsvorrichtung
zum Verarbeiten derartiger Bilddaten und an einem Aufzeichnungsmedium
zum Halten derartiger verbesserter Bilddaten.
-
Obwohl
bestimmte Formen der Erfindung erläutert und beschrieben wurden,
wird aus dem Vorhergehenden klar, dass verschiedene Modifikationen
ausge führt
werden können,
ohne vom Umfang der beigefügten Ansprüche abzuweichen.