DE69534751T2 - Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium - Google Patents

Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium Download PDF

Info

Publication number
DE69534751T2
DE69534751T2 DE69534751T DE69534751T DE69534751T2 DE 69534751 T2 DE69534751 T2 DE 69534751T2 DE 69534751 T DE69534751 T DE 69534751T DE 69534751 T DE69534751 T DE 69534751T DE 69534751 T2 DE69534751 T2 DE 69534751T2
Authority
DE
Germany
Prior art keywords
data
image data
dimensional
dimensional image
polygon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69534751T
Other languages
English (en)
Other versions
DE69534751D1 (de
Inventor
Masayoshi Shinagawa-ku Tanaka
Masaaki Shinagawa-ku Oka
Teiji Shinagawa-ku Yutaka
Kaoru Shinagawa-ku Hagiwara
Hidetoshi Shinagawa-ku Ichioka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Application granted granted Critical
Publication of DE69534751D1 publication Critical patent/DE69534751D1/de
Publication of DE69534751T2 publication Critical patent/DE69534751T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

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

Description

  • 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.
  • Figure 00240001
  • 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:
    Figure 00250001
  • * Der Bereich von gültigen Werten längs der Y-Achse:
    Figure 00250002
  • 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:
  • Figure 00310001
  • Figure 00320001
  • 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:
    Figure 00370001
    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.

Claims (28)

  1. Verfahren zum Verarbeiten von Bilddaten, die in zweidimensionale Bilddaten umgesetzt und in einer gegebenen Übertragungsnorm übertragen werden sollen, mit den folgenden Schritten: (a) Trennen erster Daten, die einer Umsetzung durch eine Perspektiventransformation unterworfen werden sollen, und zweiter Daten, die keiner Umsetzung durch eine Perspektiventransformation unterworfen werden sollen und ebenso wie jene der gegebenen Übertragungsnorm für die zweidimensionalen Bilddaten konfiguriert sind, von dreidimensionalen Bilddaten; (b) Umsetzen der ersten Daten durch eine Perspektiventransformation in zweidimensionale Bilddaten; und (c) Kombinieren der umgesetzten zweidimensionalen Bilddaten mit den zweiten Daten, um Anweisungsdaten zu erzeugen, um insbesondere ein Bild auf einer zweidimensionalen Anzeige anzuzeigen.
  2. Verfahren nach Anspruch 1, bei dem der Schritt des Kombinierens der zweidimensionalen Bilddaten mit den zweiten Daten wenigstens einen Schritt des Übertragens der kombinierten Daten in einer gegebenen Übertragungsnorm für zweidimensionale Bilddaten enthält.
  3. Verfahren nach Anspruch 2, bei dem für die kombinierten Daten ein Datenformat vorgesehen ist, das entsprechend der Übertragungsnorm beschaffen ist.
  4. Verfahren nach Anspruch 3, bei dem die zweiten Daten und insbesondere das Datenformat so gewählt werden, dass sie Informationen über ein Polygon und/oder über eine Texturdaten-Schattierung insbesondere auf einem auf einem zweidimensionalen Anzeigeschirm zu zeichnenden Objekt enthalten.
  5. Verfahren nach einem der vorhergehenden Ansprüche 3 und 4, bei dem die Anweisungsdaten und/oder das Datenformat so gewählt sind, dass sie Anweisungsdaten für ein Polygon enthalten.
  6. Verfahren nach einem der vorhergehenden Ansprüche 3 bis 5, – bei dem die Anweisungsdaten und/oder das Datenformat so gewählt werden, dass sie ein Renderungs-Format und/oder einen Renderungs-Befehl insbesondere für ein Polygon und/oder eine Kombination aus einzelnen Polygonkoordinaten, insbesondere transformierte Koordinatendaten, und Texturdaten für das Polygon, die insbesondere auf das Polygon abgebildet sind, enthalten, und/oder – bei dem zweite Daten so gewählt werden, dass sie eine Adresse enthalten, an der Textur-Graphikdaten gespeichert sind, und/oder die Koordinaten der Eckpunkte des Polygons enthalten, und/oder – bei dem die ersten Daten so gewählt werden, dass sie einen Zeiger auf den Ort enthalten, an dem die Koordinaten des Polygons gespeichert sind.
  7. Verfahren nach einem der vorhergehenden Ansprüche, das ferner einen Schritt des Zeichnens eines graphischen Bildes in einen Graphikspeicher in Reaktion auf die Anweisungsdaten enthält.
  8. Verfahren nach Anspruch 8, bei dem die graphischen Daten aus dem Graphikspeicher ausgelesen und für eine Anzeige bereitgestellt werden.
  9. Vorrichtung zum Verarbeiten von Bilddaten, die in zweidimensionale Bilddaten umgesetzt und in einer gegebenen Übertragungsnorm übertragen werden sollen, um insbesondere das Verfahren nach einem der Ansprüche 1 bis 8 auszuführen, mit: (a) Trennmitteln, die so beschaffen sind, dass sie erste Daten, die einer Umsetzung durch eine Perspektiventransformation unterworfen werden, und zweite Daten, die keiner Umsetzung durch eine Perspektiventransformation unterworfen werden und ebenso wie jene der gegebenen Übertragungsnorm für die zweidimensionalen Bilddaten konfiguriert sind, von dreidimensionalen Bilddaten trennen; (b) Umsetzungsmitteln (61), die so beschaffen sind, dass sie die ersten Daten durch eine Perspektiventransformation in zweidimensionale Bilddaten umsetzen; und (c) Anweisungserzeugungsmitteln, die so beschaffen sind, dass sie die umgesetzten zweidimensionalen Bilddaten mit den zweiten Daten kombinieren, um Befehlsdaten zu erzeugen, um insbesondere ein Bild auf einer zweidimensionalen Anzeige anzuzeigen.
  10. Vorrichtung nach Anspruch 9, bei der die Umsetzungsmittel (61) so beschaffen sind, dass sie die ersten Daten durch eine Perspektiventransformation in die zweidimensionale Bilddaten umsetzen, indem sie insbesondere Koordinatentransformationsmittel verwenden.
  11. Vorrichtung nach einem der vorhergehenden Ansprüche 9 oder 10, bei der die Umsetzungsmittel (61) eine Maschine für graphische Transformationen (GTE) sind.
  12. Vorrichtung nach einem der Ansprüche 9 bis 11, bei der Zeichenmittel (62) vorgesehen sind, die in Reaktion auf die Anweisungsdaten ein graphisches Bild in einen Graphikspeicher (63) zeichnen.
  13. Vorrichtung nach Anspruch 12, bei der Mittel vorgesehen sind, die das aus dem Graphikspeicher (63) ausgelesene graphische Bild für eine Anzeige bereitstellen.
  14. Vorrichtung nach einem der vorhergehenden Ansprüche 9 bis 13, bei der die Zeichenmittel (62) eine Graphikverarbeitungseinheit (GPU) sind.
  15. Vorrichtung nach einem der Ansprüche 9 bis 14, bei der die Zeichenmittel (62) so beschaffen sind, dass sie die zweidimensionalen Bilddaten in einer gegebenen Übertragungsnorm rendern, um ein entsprechendes Bild auf einem zweidimensionalen Anzeigeschirm zu zeichnen, und bei der eine Datenformatstruktur der dreidimensionalen Bilddaten ohne die Daten oder Informationen, die umgesetzt oder einer Perspektiventransformation unterworfen werden sollen, ebenso wie jene einer ausgewählten Übertragungsnorm für die zweidimensionalen Bilddaten beschaffen ist.
  16. Vorrichtung nach einem der Ansprüche 9 bis 15, bei der Kombinationsmittel vorgesehen sind, die die transformierten oder umgesetzten ersten Daten mit den zweiten Daten der dreidimensionalen Daten kombinieren, um so einen Renderungs-Befehl insbesondere zum Zeichnen eines zweidimensionalen Bildes in einer ausgewählten Übertragungsnorm zu schaffen, um die zweidimensionalen Bilddaten zu erzeugen.
  17. Verfahren zum Zuweisen eines Datenformats zu dreidimensionalen Daten, die in zweidimensionale Bilddaten umgesetzt und in einer gegebenen Übertragungsnorm übertragen werden sollen, mit den folgenden Schritten: Zuweisen eines ersten Datenformats zu einem ersten Teil dreidimensionaler Bilddaten, die in einer Bilddatenverarbeitungsvorrichtung verwendet werden sollen, wobei der erste Teil der dreidimensionalen Bilddaten einer Umsetzung durch eine Perspektiventransformation in zweidimensionale Bilddaten unterworfen und in einer gegebenen Übertragungsnorm übertragen wird, um ein Bild auf einer zweidimensionalen Anzeige zu zeichnen; und Zuweisen eines zweiten Datenformats zu einem zweiten Teil der dreidimensionalen Bilddaten, wobei der zweite Teil der dreidimensionalen Bilddaten keiner Umsetzung durch eine Perspektiventransformation unterworfen wird, wobei das zweite Datenformat von dem ersten Datenformat verschieden und gleich jenem der gegebenen Übertragungsnorm ist.
  18. Verfahren nach Anspruch 17, bei dem der zweite Teil der dreidimensionalen Bilddaten Informationen über eine Schattierung auf einem auf einer zweidimensionalen Anzeige zu zeichnenden Objekt enthält.
  19. Verfahren nach einem der vorhergehenden Ansprüche 17 und 18, bei dem das zweite Datenformat Daten für ein Polygon enthält.
  20. Verfahren nach einem der vorhergehenden Ansprüche 17 bis 19, bei dem das zweite Datenformat Texturdaten enthält.
  21. Verfahren nach einem der vorhergehenden Ansprüche 17 bis 20, bei dem das zweite Datenformat für einen Renderungsbefehl vorgesehen ist, der eine Kombination von einzelnen Polygonkoordinatendaten und Texturdaten für das Polygon enthält.
  22. Verfahren nach Anspruch 21, bei dem die Polygonkoordinatendaten einer Perspektiventransformation unterworfene Koordinatendaten sind.
  23. Aufzeichnungsmedium, das in einer Bilddatenverarbeitungsvorrichtung verwendet wird, wobei die Bilddaten in zweidimensionale Bilddaten umgesetzt und in einer gegebenen Übertragungsnorm übertragen werden sollen, wobei das Aufzeichnungsmedium enthält: ein erstes Speicherelement, das dreidimensionale Bilddaten hält, die durch eine Perspektiventransformation in zweidimensionale Bilddaten umgesetzt und in einer gegebenen Übertragungsnorm übertragen werden sollen, um auf einer zweidimensionalen Anzeige ein Bild zu zeichnen; und ein zweites Speicherelement, das dreidimensionale Bilddaten mit Ausnahme jener dreidimensionalen Bilddaten, die einer Perspektiventransformation unterworfen werden sollen, hält, wobei das zweite Speicherelement ein Datenformat hat, das mit jenem der gegebenen Übertragungsnorm übereinstimmt.
  24. Aufzeichnungsmedium nach Anspruch 23, bei dem die dreidimensionalen Bilddaten, die das zweite Speicherelement hält, Informationen über eine Schattierung auf einem auf der zweidimensionalen Anzeige zu zeichnenden Objekt enthalten.
  25. Aufzeichnungsmedium nach einem der vorhergehenden Ansprüche 23 und 24, bei dem das Datenformat Daten für ein Polygon enthält.
  26. Aufzeichnungsmedium nach einem der vorhergehenden Ansprüche 23 bis 25, bei dem das Datenformat Texturdaten enthält.
  27. Aufzeichnungsmedium nach einem der vorhergehenden Ansprüche 23 bis 26, bei dem das Datenformat für einen Renderungs-Befehl vorgesehen ist, der eine Kombination von Polygonkoordinatendaten und Texturdaten für das Polygon enthält.
  28. Aufzeichnungsmedium nach Anspruch 27, bei der die Polygonkoordinatendaten einer Perspektiventransformation unterworfene Koordinatendaten sind.
DE69534751T 1994-12-02 1995-11-20 Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium Expired - Lifetime DE69534751T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP30002094 1994-12-02
JP30002094A JP3578498B2 (ja) 1994-12-02 1994-12-02 画像情報処理装置

Publications (2)

Publication Number Publication Date
DE69534751D1 DE69534751D1 (de) 2006-04-06
DE69534751T2 true DE69534751T2 (de) 2006-09-14

Family

ID=17879749

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69534751T Expired - Lifetime DE69534751T2 (de) 1994-12-02 1995-11-20 Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium

Country Status (9)

Country Link
US (1) US5793376A (de)
EP (1) EP0715277B1 (de)
JP (1) JP3578498B2 (de)
KR (1) KR100362704B1 (de)
CN (1) CN1094624C (de)
AT (1) ATE316275T1 (de)
AU (1) AU702762B2 (de)
CA (1) CA2163938A1 (de)
DE (1) DE69534751T2 (de)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1209736C (zh) 1996-02-29 2005-07-06 索尼计算机娱乐公司 图像处理装置及图像处理方法
CA2227531C (en) * 1997-01-20 2003-03-18 Hitachi, Ltd. Graphics processing unit and graphics processing system
US6191793B1 (en) 1998-04-01 2001-02-20 Real 3D, Inc. Method and apparatus for texture level of detail dithering
US7518616B1 (en) * 1998-07-17 2009-04-14 3Dlabs, Inc. Ltd. Graphics processor with texture memory allocation system
JP3566889B2 (ja) * 1998-10-08 2004-09-15 株式会社ソニー・コンピュータエンタテインメント 情報追加方法、ビデオゲーム機及び記録媒体
RU2001130343A (ru) 1999-04-09 2003-08-20 Сони Компьютер Энтертейнмент Инк. (Jp) Способ и устройство для создания объемных изображений
JP2000339497A (ja) * 1999-05-25 2000-12-08 Sony Computer Entertainment Inc 画像生成装置、画像生成方法、エンタテインメント・システム及び記録媒体
JP3417883B2 (ja) 1999-07-26 2003-06-16 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録されたコンピュータ読み取り可能な記録媒体およびビデオゲーム装置
US6807620B1 (en) 2000-02-11 2004-10-19 Sony Computer Entertainment Inc. Game system with graphics processor
JP4780599B2 (ja) * 2000-05-31 2011-09-28 パナソニック株式会社 画像出力装置
EP1160759A3 (de) * 2000-05-31 2008-11-26 Panasonic Corporation Bildausgabevorrichtung und Verfahren zur Steuerung der Bildausgabe
JP2002202770A (ja) * 2000-12-28 2002-07-19 Genki Kk コンピュータゲームの逐次読込方法並びに逐次読込方法を用いた記録媒体
US7081892B2 (en) 2002-04-09 2006-07-25 Sony Computer Entertainment America Inc. Image with depth of field using z-buffer image data and alpha blending
US7339589B2 (en) * 2002-10-24 2008-03-04 Sony Computer Entertainment America Inc. System and method for video choreography
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US7847800B2 (en) * 2004-04-16 2010-12-07 Apple Inc. System for emulating graphics operations
US8704837B2 (en) * 2004-04-16 2014-04-22 Apple Inc. High-level program interface for graphics operations
US7636489B2 (en) * 2004-04-16 2009-12-22 Apple Inc. Blur computation algorithm
US8134561B2 (en) 2004-04-16 2012-03-13 Apple Inc. System for optimizing graphics operations
US7248265B2 (en) * 2004-04-16 2007-07-24 Apple Inc. System and method for processing graphics operations with graphics processing unit
US7231632B2 (en) 2004-04-16 2007-06-12 Apple Computer, Inc. System for reducing the number of programs necessary to render an image
JP2005334110A (ja) * 2004-05-25 2005-12-08 Ziosoft Inc ボリュームレンダリング等の画像処理システム
US8130237B2 (en) * 2004-06-24 2012-03-06 Apple Inc. Resolution independent user interface design
US8068103B2 (en) * 2004-06-24 2011-11-29 Apple Inc. User-interface design
US7397964B2 (en) * 2004-06-24 2008-07-08 Apple Inc. Gaussian blur approximation suitable for GPU
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US7761800B2 (en) 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US7652678B2 (en) * 2004-06-25 2010-01-26 Apple Inc. Partial display updates in a windowing system using a programmable graphics processing unit
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US8239749B2 (en) 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
CN101833523B (zh) * 2004-11-19 2016-01-20 辉达公司 数据存取方法
US7227551B2 (en) * 2004-12-23 2007-06-05 Apple Inc. Manipulating text and graphic appearance
US8140975B2 (en) 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
US9177248B2 (en) 2005-03-30 2015-11-03 Primal Fusion Inc. Knowledge representation systems and methods incorporating customization
US9104779B2 (en) 2005-03-30 2015-08-11 Primal Fusion Inc. Systems and methods for analyzing and synthesizing complex knowledge representations
US9378203B2 (en) 2008-05-01 2016-06-28 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
US7849090B2 (en) 2005-03-30 2010-12-07 Primal Fusion Inc. System, method and computer program for faceted classification synthesis
US8849860B2 (en) 2005-03-30 2014-09-30 Primal Fusion Inc. Systems and methods for applying statistical inference techniques to knowledge representations
US7606781B2 (en) * 2005-03-30 2009-10-20 Primal Fusion Inc. System, method and computer program for facet analysis
US10002325B2 (en) 2005-03-30 2018-06-19 Primal Fusion Inc. Knowledge representation systems and methods incorporating inference rules
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
JP4364179B2 (ja) * 2005-08-15 2009-11-11 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法
WO2007043293A1 (ja) * 2005-10-03 2007-04-19 Ssd Company Limited 画像生成装置、テクスチャマッピング装置、画像処理装置、及びテクスチャ格納方法
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US8543824B2 (en) 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
CN100435171C (zh) * 2006-03-31 2008-11-19 北京北大方正电子有限公司 一种三维图形排列的方法
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US8155682B2 (en) * 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
TWI444047B (zh) * 2006-06-16 2014-07-01 Via Tech Inc 用於視訊解碼的去方塊效應濾波器、視訊解碼器與圖形處理單元
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8676732B2 (en) 2008-05-01 2014-03-18 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
CN102016887A (zh) 2008-05-01 2011-04-13 启创互联公司 用于用户驱动的语义网络和媒体合成的动态产生的方法、系统和计算机程序
US9361365B2 (en) 2008-05-01 2016-06-07 Primal Fusion Inc. Methods and apparatus for searching of content using semantic synthesis
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
CA2988181C (en) 2008-08-29 2020-03-10 Primal Fusion Inc. Systems and methods for semantic concept definition and semantic concept relationship synthesis utilizing existing domain definitions
JP4683246B2 (ja) * 2009-02-02 2011-05-18 株式会社ソニー・コンピュータエンタテインメント ゲーム制御プログラム、ゲーム装置、ゲーム制御方法、管理サーバ、およびデータ管理方法
US9292855B2 (en) 2009-09-08 2016-03-22 Primal Fusion Inc. Synthesizing messaging using context provided by consumers
US9262520B2 (en) 2009-11-10 2016-02-16 Primal Fusion Inc. System, method and computer program for creating and manipulating data structures using an interactive graphical interface
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US10474647B2 (en) 2010-06-22 2019-11-12 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US9235806B2 (en) 2010-06-22 2016-01-12 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US9092516B2 (en) 2011-06-20 2015-07-28 Primal Fusion Inc. Identifying information of interest based on user preferences
US11294977B2 (en) 2011-06-20 2022-04-05 Primal Fusion Inc. Techniques for presenting content to a user based on the user's preferences
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US9264840B2 (en) * 2012-05-24 2016-02-16 International Business Machines Corporation Multi-dimensional audio transformations and crossfading
CN103974062B (zh) * 2013-06-24 2018-10-26 福州瑞芯微电子股份有限公司 图像显示装置、图像显示系统和图像显示方法
CN111862334A (zh) * 2019-04-29 2020-10-30 杭州优工品科技有限公司 一种显示三维图形、提供图形及图形数据的方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4580134A (en) * 1982-11-16 1986-04-01 Real Time Design, Inc. Color video system using data compression and decompression
JPS628193A (ja) * 1985-07-04 1987-01-16 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション カラー画像表示装置
US4823120A (en) * 1986-09-12 1989-04-18 Apple Computer, Inc. Enhanced video graphics controller
US4811124A (en) * 1987-07-24 1989-03-07 Advanced Micro Devices, Inc. Defect skipping mechanism for disk drives
US5091717A (en) * 1989-05-01 1992-02-25 Sun Microsystems, Inc. Apparatus for selecting mode of output in a computer system
US5224208A (en) * 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
US5307450A (en) * 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
JP2950346B2 (ja) * 1991-03-25 1999-09-20 ソニー株式会社 画像データのデコード方法及びそのデコーダ回路
JP3158370B2 (ja) * 1991-07-12 2001-04-23 ソニー株式会社 ディスクデータ再生装置
US5291468A (en) * 1991-09-16 1994-03-01 International Business Machines Corporation Method and apparatus for synchronizing the readout of a sequential media device with a separate clocked device
GB2270243B (en) * 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
JPH06111495A (ja) * 1992-09-30 1994-04-22 Sony Corp データ再生装置
JP3243883B2 (ja) * 1993-04-12 2002-01-07 ソニー株式会社 記録又は再生装置

Also Published As

Publication number Publication date
MX9504904A (es) 1998-07-31
CN1094624C (zh) 2002-11-20
JPH08161525A (ja) 1996-06-21
JP3578498B2 (ja) 2004-10-20
EP0715277A3 (de) 1996-08-21
AU4020795A (en) 1996-06-13
US5793376A (en) 1998-08-11
KR960025235A (ko) 1996-07-20
DE69534751D1 (de) 2006-04-06
ATE316275T1 (de) 2006-02-15
EP0715277B1 (de) 2006-01-18
KR100362704B1 (ko) 2003-02-14
CN1150674A (zh) 1997-05-28
CA2163938A1 (en) 1996-06-03
EP0715277A2 (de) 1996-06-05
AU702762B2 (en) 1999-03-04

Similar Documents

Publication Publication Date Title
DE69534751T2 (de) Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium
DE69831924T2 (de) Verfahren und Vorrichtung zur Anzeige von Panoramen mit Videodaten
DE60300788T2 (de) Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung
DE112007002991B4 (de) Computergraphikschattenvolumen unter Verwendung von hierarchischem Okklusions-Culling
DE69333508T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
DE60021745T2 (de) Datenkompression
DE69723613T2 (de) Aufnahme und/oder Wiedergabe von dreidimensionalen Bilddaten
DE602004009591T2 (de) Differenz-codierung durch verwendung eines 3d-graphikprozessors
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE60109434T2 (de) Systeme und verfahren zur erzeugung von visuellen darstellungen von graphischen daten
US4602286A (en) Video processing for composite images
DE60115034T2 (de) Verfeinerung von dreidimensionalen polygonalen gitterdaten
US5459529A (en) Video processing for composite images
US5533181A (en) Image animation for visual training in a simulator
DE69636599T2 (de) Verfahren und system zur wiedergabe von grafischen objekten durch teilung in bildstücke und zusammensetzen von bildlagen zu einem wiedergabebild
DE69728002T2 (de) Steuerprozessor für einen drei-dimensionalen Beschleuniger, der die Fähigkeit geometrischer Dekompression besitzt und Verfahren zur Bearbeitung von geometrischen Daten in diesem Beschleuniger
DE60301303T2 (de) Videoverarbeitung
DE19906995A1 (de) Erzeugen von Anpaßdaten für einen virtuellen Szenenaufbau
EP0862141A2 (de) Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
DE69533911T2 (de) Verfahren und Gerät zum Erzeugen von Bildern
DE69432507T2 (de) Verfahren und Geräte zur Erzeugung von Zeichnungsdaten
DE69831822T2 (de) Verfahren und System zur Bestimmung und/oder Verwendung von Beleuchtungskarten in Herstellung von Bildern
DE602004011234T2 (de) Verfahren und Vorrichtung zur Erzeugung dreidimensionaler Bilder
DE69910980T2 (de) Antialiasing mit unterabtastung für textur-raender
DE60030401T2 (de) Anzeigetechniken für dreidimensionale virtuelle Realität

Legal Events

Date Code Title Description
8364 No opposition during term of opposition