DE69432385T2 - Bilderzeugung - Google Patents

Bilderzeugung Download PDF

Info

Publication number
DE69432385T2
DE69432385T2 DE69432385T DE69432385T DE69432385T2 DE 69432385 T2 DE69432385 T2 DE 69432385T2 DE 69432385 T DE69432385 T DE 69432385T DE 69432385 T DE69432385 T DE 69432385T DE 69432385 T2 DE69432385 T2 DE 69432385T2
Authority
DE
Germany
Prior art keywords
data
image data
image
system bus
memory
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
DE69432385T
Other languages
English (en)
Other versions
DE69432385D1 (de
Inventor
Makoto Shinagawa-ku Furuhashi
Masakazu Shinagawa-ku Suzuoki
Akio Shinagawa-ku Ohba
Masaaki Shinagawa-ku Oka
Teiji Shinagawa-ku Yutaka
Masayoshi Shinagawa-ku Tanaka
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
Priority claimed from JP19076593A external-priority patent/JP3618109B2/ja
Priority claimed from JP7652694A external-priority patent/JP3238567B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of DE69432385D1 publication Critical patent/DE69432385D1/de
Application granted granted Critical
Publication of DE69432385T2 publication Critical patent/DE69432385T2/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
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und ein Gerät zum Erzeugen von Bilddaten. Eine Ausführungsform der Erfindung, die anschließend offenbart wird, versucht, ein Verfahren und ein Gerät bereitzustellen, die in der Lage sind, realistische Bilder, die ein Bild darstellen, zu erzeugen. Ausführungsformen der Erfindung sind insbesondere (jedoch nicht ausschließlich) für Videospielgeräte und Computergraphikanwendungen nützlich, insbesondere, wo Hardware-Resourcen beschränkt sind.
  • Bei Computergraphikanwendungen werden Bilddaten, um Objekte realistisch darzustellen, in einem dreidimensionalen oder " 3D" – Bildraum dargestellt, wobei das Objekt in eine Anzahl von Polygonflächen getrennt wird, beispielsweise dreiecksförmige oder quadratische Flächen, wobei jede von diesen als Einheit verarbeitet wird. Bilddaten, die für jede derartige Polygonfläche erzeugt werden, werden dann nacheinander in einem Rahmenspeicher gespeichert, beispielsweise einem Videospeicher mit wahlfreiem Zugriff (RAM), dessen Speicherplatz einem Anzeigebildschirm eines Monitors oder einer anderen Einrichtung entspricht, die dazu verwendet wird, das Bild des Objekts von den Bilddaten, die im Rahmenspeicher gespeichert sind, zu produzieren.
  • Bei derartigen Anwendungen ist ein dafür vorgesehner Darstellungsprozessor normalerweise zwischen einer Zentralverarbeitungseinheit (CPU) und einem Rahmenspeicher vorgesehen, um die Verarbeitungsgeschwindigkeit zu verbessern. Wenn die Bilddaten erzeugt werden, liefert die CPU einen Darstellungsbefehl zum Darstellungsprozessor, um eine Polygonbildfläche, beispielsweise ein Dreieck oder ein Quadrat (dieser Befehl wird anschließend als "Plotterbefehl" bezeichnet) zu erzeugen, so daß die CPU keine Bilddaten erzeugen und diese unmittelbar zum Rahmenspeicher liefern muß. Der Plotter überträgt den Befehl, der von der CPU empfangen wird, und stellt anschließend die Polygonbildfläche im Rahmenspeicher graphisch dar.
  • 1A und 1B zeigen ein Verfahren, um Polygonbildflächen graphisch darzustellen. Um Bilddaten zu erzeugen, die ein Festkörperobjekt darstellen, welches rechteckige Flächen hat, mit gezeigten Scheiteln A bis G, wie in 1A gezeigt ist, wird jeder der rechteckigen Flächenbereiche des Objekts separat verarbeitet. Das heißt, bei dem gezeigten Bei spiel werden, wie in 1B gezeigt ist, separate Plotterbefehle IPa, IPb und IPc durch die CPU erzeugt, um Polygonbildflächen Pa, Pb bzw. Pc zu erzeugen. Die Plotterbefehle IPa, IPb und IPc sind schematisch in 2 gezeigt, wobei jeder entsprechende Scheitelkoordinaten (Ax, Ay) bis (Dx, Dy), (Cx, Cy) bis (Fx, Fy) und Bx, By) bis (Gx, Gy) aufweist, und eine Codebereitstellungsinformation, welche die Farbe und andere Merkmale der Bilddaten betrifft, die in den Polygonflächenbereichen Pa, Pb und Pc enthalten sein sollen.
  • Die Plotterbefehle, die durch die CPU erzeugt werden, werden dadurch zum Plotter übertragen, der Bilddaten für jede der Polygonflächenbereiche als Antwort auf die Plotterbefehle erzeugt und die Daten im Rahmenspeicher speichert. Die Bilddaten werden anschließend vom Rahmenspeicher gelesen, in ein Analogsignal umgesetzt und durch einen Monitor angezeigt, um ein Bild des Objekts zu erzeugen, wie in 1A gezeigt ist.
  • CD-I-Platten sind eine Art einer vorher entwickelten CD-ROM-Platte; die das Aufzeichnen von Audiodaten und verschiedener anderer Datenarten einschließlich Bilddaten, Textdaten, Computerprogrammen usw. erlaubt. Die Bilddaten werden in komprimierter Form auf der CD-I-Platte aufgezeichnet.
  • Es ist schwierig, Bewegtbilder mittels eines 3D-Graphiksystems darzustellen. Folglich werden Digital-Bewegtbild-Wiedergabesysteme vorgesehen, welche komprimierte Bilddaten von einer CD-ROM als Sekundärspeicher empfangen, um ein Hintergrundbild oder dgl. als Komplement zu einem 3D-System bereitzustellen. Diese digitalen Bewegtbild-Wiedergabesysteme sind jedoch als 3D-Graphiksysteme hinsichtlich der Interaktivität etwas geringwertiger.
  • 3 zeigt ein Blockdiagramm eines vor kurzem vorgeschlagenen Zusammensetzungssystems, welches ein 3D-Graphiksystem und ein Bewegtbild-Wiedergabesystem aufweist. Das System von 3 besitzt einen Hauptbus 10 wie auch eine Anzahl von Geräten, die daran angeschlossen sind, einschließlich einer CPU 11, einem Hauptspeicher 12, einem CD-ROM-Decoder 13 und einem Bildexpander 14. Der CD-ROM-Decoder 13 empfängt codierte Daten von einer CD-I-Platte, die durch einen CD-ROM-Treiber 15 reproduziert wird und decodiert die empfangenen Daten. Die Daten, welche durch den CD-ROM-Decoder 13 von der Platte bereitgestellt werden, umfassen Plotterbefehle für Computergraphiken und Animationsdaten wie auch Standbilddaten natürlicher Bilder und Bewegtbild-Abbildungsdaten, welche durch die diskrete Kosinustransformation (DCT) komprimiert wurden.
  • Die decodierten Daten, welche durch den CD-ROM-Decoder 13 geliefert werden, werden zuerst zum Hauptspeicher 12 übertragen, wo sie gespeichert werden. Die CPU überträgt anschließend die Plotterbefehle vom Hauptspeicher 12 zu einem Plotter 19 über einen FIFO-Puffer 16, einen Koordinatenrechner 17 und einen weiteren FIFO-Puffer 18. Der Koordinatenrechner 17 erzeugt neue Scheitelkoordinaten für den Polygon-Bild-Flächenbereich, der zu erzeugen ist, durch einen vorher festgelegten Plotterbefehl. Die Plotterbefehle vom Koordinatenrechner werden zum Plotter 19 über den FIFO 18 übertragen, und der Plotter 19 führt die Befehle aus, um die entsprechenden Polygonflächenbereiche graphisch darzustellen, um Bilddaten zu erzeugen, die im Rahmenspeicher 20 gespeichert werden.
  • Die CPU 11 liefert die komprimierten Bilddaten vom Hauptspeicher 12 zum Bildexpander 14, wo sie über einen exklusiven Internbus mit einem örtlichen Rahmenspeicher 21 gekoppelt werden, wobei der Expander 14 die komprimierten Bilddaten expandiert und die expandierten Bilddaten speichert. Auch unter Bezugnahme auf 4 empfängt der Bildexpander 14 die komprimierten Bilddaten an einem Eingangsanschluß 31, von dem die Daten zu einem Huffman-Decoder 32 geliefert werden. Nach der Huffman-Decodierung werden die Daten vom Decoder 32 zu einem Dequantisierer 33 zur Requantisierung geliefert. Die requantisierten Daten vom Gerät 33 werden zu einer inversen DCT-Schaltung 34 geliefert, welche die Daten in ihre ursprüngliche Form vor der Komprimierung transformiert, um diese auf der CD-ROM zu speichern. Diese Daten werden in einer 8 x 8 -Matrixform ausgegeben und an einem Ausgangsanschluß 35 des Bildexpanders 14 ausgegeben.
  • Die expandierten Bilddaten werden vom lokalen Rahmenspeicher 21 in einen D/A-Umsetzer gelesen, wo sie in eine Analogform umgesetzt werden. Die analogen Daten vom Umsetzer 22 werden zu einem ersten Eingang eines Multiplexers 23 geliefert, der die 3D-Bilddaten vom Rahmenspeicher 20 über einen weiteren D/A-Umsetzer 24 an einem zweiten Eingangsanschluß des Multiplexers 23 empfängt. Der Multiplexer 23 wählt eines der Analogsignale aus, die an dessen ersten und zweiten Eingangsanschluß empfangen werden, die an einen Bildmonitor 25 ausgegeben werden, um ein zusammengesetztes Bild zu erzeugen.
  • Man sieht, daß das zusammengesetzte System von 3 relativ komplex ist, da dieses einen separaten Schaltungsaufbau erfordert, um die 3D-Bilddaten und die Bewegtbilddaten zu erzeugen. Wenn außerdem die 3D-Bilddaten und die Bewegtbilddaten erzeugt sind, ist ein Multiplexer erforderlich, um die Daten zu mischen, um ein zusammengesetztes Bild zu erzeugen.
  • Die vorliegende Erfindung ist in den beigefügten Patentansprüchen definiert.
  • Die europäische Patentanmeldung EP 473 340 beschreibt ein Desktop-Veröffentlichungssystem (DTP), welches Graphikbilder von Bildern erzeugen kann, die in komprimierter Form im DRAM gespeichert sind. Das DTP-System besitzt Prozessoren, die parallel ar beiten. Ein Bildaufbereitungsprozessor erzeugt ein Bild unter Verwendung eines unmittelbaren Speicherzugriffs, um Daten und Bilddaten-Erzeugungsbefehle vom Speicher zu lesen und um die Daten zum Speicher zu übertragen.
  • Die europäische Patentanmeldung EP 0 243 051 offenbart ein Videoverarbeitungs-Anzeigegerät, welches eine Zentralprozessoreinheit (CPU), eine Direktspeicher-Zugriffschaltung (DMA) aufweist, die bei einem Graphikmikroprozessor verwendet wird, um ein Bitmap-Bild zu erzeugen, wobei Daten von einem Systemspeicher gelesen werden. Unter der Steuerung der CPU überträgt die DMA-Schaltung Instruktionen und Daten vom Systemspeicher zum Graphikmikroprozessor.
  • Die vorliegende Erfindung ist in den beigefügten Patentansprüchen 1 und 5 definiert. Details weiterer Ausführungsformen sind in den angehängten abhängigen Ansprüchen 2 – 4 und 6 – 11 definiert.
  • Weitere Ausführungsformen der vorliegenden Erfindung können zusätzlich ein Verfahren bereitstellen, um Bilddaten von komprimierten Daten zu erzeugen, die in einem Speicher gespeichert sind. Der Speicher ist mit einem Systembus gekoppelt, mit dem ein Datenprozessor und ein Datenexpandiergerät ebenfalls gekoppelt sind. Das Verfahren weist folgende Schritte auf: Übertragen der komprimierten Daten zum Datenexpandiergerät über den Systembus, ohne die komprimierten Daten über den Datenprozessor zu führen, Dekomprimieren der komprimierten Daten mittels des Datenexpandiergeräts, um dekomprimierte Daten zu erzeugen, Übertragen der dekomprimierten Daten vom Datenexpandiergerät zum Speicher, ohne die komprimierten Daten über den Datenprozessor zu führen, und Erzeugen der Bilddaten auf der Basis der dekomprimierten Daten.
  • Weitere Ausführungsformen der vorliegenden Erfindung können zusätzlich außerdem ein Verfahren bereitstellen, um Bilddaten mittels eines Systems zu erzeugen, welches einen Datenprozessor, einen Speicher, der eine Bilddaten-Erzeugungsbefehlszeichenfolge speichert, eine Bilddaten-Erzeugungseinrichtung und einen Systembus, der mit dem Datenprozessor, dem Speicher und der Bilddatenerzeugungseinrichtung gekoppelt ist, aufweist. Das Verfahren umfaßt folgende Schritte: Übertragen der Bilddaten-Erzeugungsbefehlszeichenfolge vom Speicher zur Bilddatenerzeugungseinrichtung über den Systembus, ohne die Bilddaten-Erzeugungsbefehlszeichenfolge über den Datenprozessor zu führen, und Erzeugen von Bilddaten mittels der Bilddaten-Erzeugungseinrichtung, wobei die Bilddaten-Erzeugungsbefehls-Zeichenfolge verwendet wird.
  • Weitere Ausführungsformen der vorliegenden Erfindung können zusätzlich außerdem ein Bilddaten-Erzeugungsgerät bereitstellen, welches aufweist: einen Systembus, ein Datenverarbeitungsgerät, welches mit dem Systembus gekoppelt ist und den Zugriff darauf während eingeschränkter Zugriffszeitintervalle beschränkt und den Systembus freigibt, um einen Zugriff darauf während Freigabezeitintervalle zuzulassen, einen Speicher, der mit dem Systembus gekoppelt ist und einen ersten Speicherbereich-aufweist, um komprimierte Bilderzeugungsdaten zu speichern, einen Datenexpander, der mit dem Systembus gekoppelt ist und der die komprimierten Bilderzeugungsdaten dekomprimiert, um dekomprimierte Bilderzeugungsdaten zu erzeugen, ein Datentransfergerät, welches mit dem Systembus gekoppelt ist, welches die komprimierten Bilderzeugungsdaten vom Speicher zum Bildexpander überträgt und die dekomprimierten Bilderzeugungsdaten vom Bildexpander zum Speicher während zumindest einiger Zeitintervalle überträgt, ohne die komprimierten Bilderzeugungsdaten oder die dekomprimierten Bilddaten über das Datenverarbeitungsgerät zu führen, wobei der Speicher die dekomprimierten Bilderzeugungsdaten vom Bildexpander in einem zweiten Speicherbereich speichert, und ein Bilderzeugungsgerät, welches mit dem Systembus gekoppelt ist, die dekomprimierten Bilderzeugungsdaten vom Speicher empfängt und die Bilddaten davon erzeugt.
  • Weitere Ausführungsformen der vorliegenden Erfindung können zusätzlich außerdem ein Bilddaten-Erzeugungsgerät bereitstellen, welches aufweist: einen Systembus, ein Datenverarbeitungsgerät, welches mit dem Systembus gekoppelt ist und welches den Zugriff darauf während eingeschränkter Zugriffszeitintervalle einschränkt, wobei der Systembus freigegeben wird, um einen Zugriff darauf während Freigabezeitintervallen zuzulassen, einen Speicher, welcher mit dem Systembus gekoppelt ist und der einen ersten Speicherbereich hat, um eine Bilddaten-Erzeugungsbefehl-Zeichenfolge zu speichern, einen Bilddatengenerator, welcher mit dem Systembus gekoppelt ist und welcher Bilddaten erzeugt, wobei die Bilddaten-Erzeugungsbefehl-Zeichenfolge verwendet wird, und ein Datenübertragungsgerät, welches mit dem Systembus gekoppelt ist und welches die Bilddaten-Erzeugungsbefehl-Zeichenfolge vom Speicher zum Bildgenerator während zumindest der Freigabezeitintervalle überträgt, ohne die Bilddaten-Erzeugungsbefehl-Zeichenfolge über das Datenverarbeitungsgerät zu führen.
  • Weitere Ausführungsformen der vorliegenden Erfindung können zusätzlich außerdem ein Spielwiedergabegerät bereitstellen, welches aufweist: einen Systembus, ein Datenverarbeitungsgerät, welches mit dem Systembus gekoppelt ist und welches den Zugriff darauf während eingeschränkten Zugriffszeitintervallen beschränkt, wobei der Systembus freigegeben wird, um einen Zugriff darauf während Freigabezeitintervallen zuzulassen, einen Hauptspeicher, der mit dem Systembus gekoppelt ist und der einen ersten Speicherbereich hat, um eine Bilddaten-Erzeugungsbefehl-Zeichenfolge zu speichern, eine Spielbenutzer-Eingabeeinrichtung mit einer Einrichtung, um den Hauptbus zu koppeln und betreibbar ist, Spielbetätigungsbefehlsdaten als Antwort auf Spielbetätigungsbefehle von einem Benutzer zu empfangen und um die Spielbetätigungsbefehle zum Hauptbus zu liefern, einen Bilddatengenerator, der mit dem Systembus gekoppelt ist und der Bilddaten erzeugt, die ein Spielbild zeigen, wobei die Bilddaten-Erzeugungsbefehl-Zeichenfolge verwendet wird, wobei das Datenverarbeitungsgerät die Bilddaten-Erzeugungsbefehl-Zeichenfolge als Antwort auf die Spieloperations-Befehlsdaten modifiziert, wobei das Spielwiedergabegerät außerdem aufweist: ein Datenübertragungsgerät, welches mit dem Systembus gekoppelt ist und welches die Bilddaten-Erzeugungsbefehl-Zeichenfolge vom Hauptspeicher zum Bilddatengenerator während zumindest einiger der Freigabezeitintervalle überträgt, ohne die Bilddaten-Erzeugungsbefehl-Zeichenfolge über das Datenverarbeitungsgerät zu führen, eine Rahmenspeichereinrichtung, um die Bilddaten, die durch den Bilddatengenerator erzeugt werden, zu speichern, und eine Einrichtung, um die Bilddaten von der Rahmenspeichereinrichtung zu liefern, um das Spielbild mittels einer Anzeigeeinrichtung zu erzeugen.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung kann eine Schaltung zur Verwendung bei einem Bilderzeugungsgerät außerdem zusätzlich aufweisen: einen Systembus, einen Datenprozessor, der mit dem Systembus verbunden ist und der den Zugriff darauf während eingeschränkter Zugriffsintervalle einschränkt, wobei der Systembus freigegeben wird, um einen Zugriff darauf während Freigabezeitintervallen zuzulassen, einen Speicher, welcher mit dem Systembus verbunden ist und der einen ersten Speicherbereich hat, um eine Bilderzeugungsbefehl-Zeichenfolge zu speichern, einen Bilddatengenerator, der mit dem Systembus verbunden ist und der Bilddaten erzeugt, wobei die Bilddaten-Erzeugungsbefehl-Zeichenfolge verwendet wird, und ein Datenübertragungsgerät, welches mit dem Systembus verbunden ist und welches die Bilddaten-Erzeugungsbefehl-Zeichenfolge vom Speicher zum Bilddatengenerator während zumindest einiger Freigabezeitintervalle überträgt, ohne die Bilddaten-Erzeugungsbefehl-Zeichenfolge über den Datenprozessor zu fuhren.
  • Gemäß Ausführungsformen der Erfindung, die anschließend beschrieben werden, wird durch Übertragen der komprimierten Daten vom Speicher zu einem Datenexpander und durch Zurückbringen der dekomprimierten Daten vom Datenexpander zum Speicher, um gespeichert zu werden, ohne die komprimierten oder dekomprimierten Daten durch das Datenverarbeitungsgerät zu fuhren, das Datenverarbeitungsgerät davon befreit, andere Aufgaben durchzuführen, so daß eine schnellere Verarbeitungsfähigkeit erzielbar ist. Weiter ermöglicht durch Zurückbringen der dekomprimierten Daten zu einem Speicher, von dem auf sie durch die Datenverarbeitungseinheit zugegriffen werden kann, die Ausführungsform, daß die Datenverarbeitungseinheit mehrere zusammengesetzte Bilddaten unter Verwendung der dekomprimierten Daten erzeugt.
  • Weiter erlauben es gemäß den Ausführungsformen, die anschließend erläutert werden, durch Übertragen von Bilddaten-Erzeugungsbefehl-Zeichenfolgen vom Speicher zu einer Bilddaten-Erzeugungseinrichtung über einen Systembus, ohne die Bilddaten-Erzeugungsbefehl-Zeichenfolge über einen Datenprozessor zu führen, die Ausführungsformen, daß der Datenprozessor noch andere Aufgaben ausführt, beispielsweise das Aktualisieren von Erzeugungsbefehlen als Antwort auf den Befehl eines Benutzers (beispielsweise in einem Videospielgerät), um eine interaktive Bilderzeugungsfähigkeit bereitzustellen. Obwohl der Systembus nicht durch den Datenprozessor benutzt wird, da er andere Verarbeitungsaufgaben ausführt, können die Befehlszeichenfolgen zur Bilddaten-Erzeugungseinrichtung übertragen werden, so daß die Realzeiterzeugung realistischer Bilder erhalten werden kann.
  • Durch Koppeln des Datenexpanders und des Bilderzeugungsgerät mit dem Systembus und durch Übertragen der Daten zwischen dem Speicher und diesen Einrichtungen über den Systembus ist es möglich, die Notwendigkeit nach einem lokalen Speicher, der als Datenexpander dient, zu beseitigen.
  • Da der Datenprozessor von der Aufgabe befreit werden kann, Daten und Befehle wie oben beschrieben zu übertragen, ist er in der Lage, Aufgaben auszuführen, um ein zusammengesetztes Bild zu erzeugen, wie auch Bilddarstellungsbefehle, ohne die Realzeitleistung zu verschlechtern. Bei bestimmten Ausführungsformen können die expandierten Bilddaten in ein Datenformat umgesetzt werden, welches dem der Darstellungsbefehle entspricht, so daß die gemeinsame Verarbeitung und Speicherung der expandierten Bilddaten und der Darstellungsbefehle für das Erzeugen von Bilddaten erleichtert wird, um ein Darstellungsbild zwischen Bildern zu zeigen, welches mittels der expandierten Bilddaten erzeugt wird.
  • Durch Speichern von Darstellungszeichenfolgenbefehlen in einem Speicher, der auf eine Datenprozessor zugreifen kann, kann der Datenprozessor in die Lage versetzt werden, eine direkte Steuerung der Darstellungsbefehl-Zeichenfolgen auszuüben, um die Fähigkeit zu verbessern, die Bilddaten als Antwort auf eine externe Eingabe zu aktualisieren, beispielsweise von einer Spielsteuerung oder dgl.. Es ist daher möglich, die Ansprechgeschwindigkeit des Systems zu verbessern, um größere Realzeit-Spielfähigkeiten zu erzielen.
  • Da es nicht notwendig ist, den Datenexpander mit einem lokalen Speicher zu versehen, ist es bei bestimmten Ausführungsformen ausreichend, den Datenexpander mit relativ kleinen FIFO-Puffern zu versehen, die in der Lage sind, lediglich Daten zu halten, die der Datenexpander in einer bestimmten Zeit bearbeitet, wie auch expandierte Daten zur Übertragung zum Speicher zu halten. Da der Datenprozessor von bestimmten zeitaufwendigen Aufgaben befreit wurde, ist er in der Lage, bei der Verarbeitung zum Expandieren der Bilddaten zu helfen, so daß die Hardware, die als Datenexpander dient, reduziert werden kann.
  • Da das Bilderzeugungsgerät bezüglich Befehlen arbeitet, die vom Speicher übertragen werden, muß das Gerät lediglich einen einzigen Darstellungsbefehl puffern. Folglich kann der Schaltungsaufwand des Datenerzeugungsgeräts ebenfalls reduziert werden.
  • Gemäß der Erfindung ist jeder Darstellungsbefehl mit der Adresse des nächsten Darstellungsbefehls im Speicher ausgestattet. Folglich erfordert jegliche Modifikation, die eine Änderung der Reihenfolge erforderlich macht, mit der die Darstellungsbefehle ausgeführt werden, lediglich das Ändern bestimmter Befehle der Adressen in den Darstellungsbefehlen. Folglich müssen die Darstellungsbefehle nicht umgeschrieben oder umgeordnet werden und an einer neuen Adresse gespeichert werden, so daß die Belastung des Systembusses weiter reduziert wird.
  • Die Ausführungsformen der Erfindung, die anschließend beschrieben werden, liefern:
    ein Verfahren und ein Gerät zum Erzeugen von Bilddaten, die die obigen Nachteile der oben beschriebenen früher vorgeschlagenen Verfahren mildern oder überwinden; und
    ein Verfahren und ein Gerät zum Erzeugen von Bilddaten, bei dem wirksame Verwendung von Hardwareresourcen gemacht wird und das mittels weniger komplexer und weniger teueren Einrichtungen durchgeführt werden kann.
  • Die Erfindung wird nun mittels eines beispielhaften und nichteinschränkenden Beispiels mit Hilfe der beiliegenden Zeichnungen beschrieben, in denen:
  • 1A und 1B schematische Diagramme sind, die bei der Darstellung bei einem beispielhaften Bilddarstellungsverfahren verwendet werden;
  • 2 beispielhafte Darstellungsbefehle für das Verfahren von 1A und 1B zeigen;
  • 3 ein Blockdiagramm eines zusammengesetzten Systems liefert, welches ein vorher vorgeschlagenes 3D-Graphiksystem mit einem Bewegtbild-Wiedergabesystem kombiniert;
  • 4 ein Blockdiagramm eines vorher vorgeschlagenen Bilddatenexpanders ist;
  • 5 ein Blockdiagramm einer Ausführungsform eines Spielwiedergabegeräts gemäß der vorliegenden Erfindung ist;
  • 6 ein schematisches Diagramm ist, um einen Speicherplatz eines Rahmenspeichers der Ausführungsform von 5 zu erläutern;
  • 7A und 7B beispielhafte Polygondarstellungsbefehle zeigen, die bei der Ausführungsform von 5 verwendet werden;
  • 8 ein schematisches Diagramm ist, welches bei der Erläuterung der Reihenfolge verwendet wird, mit der Polygondarstellungsbefehle bei der Erfindung ausgeführt werden;
  • 9 ein Flußdiagramm ist, welches bei der Erläuterung einer Verarbeitungssequenz verwendet wird; um Bilddaten dazustellen und anzuzeigen, wie dies durch die Ausführungsform von 5 ausgeführt wird;
  • 10A und 10B parallele Operationen zum Erzeugen einer Polygondarstellungs-Befehlszeichenfolge und die simultane Ausführung einer vorherig-erzeugten Befehlszeichenfolge bei der Ausführungsform von 5 zeigen;
  • 11 den zeitlichen Ablauf der Verarbeitungen zeigt, die durch 10A und
  • 10B gezeigt sind;
  • 12A bis 12C eine Texturabbildungsverarbeitung zeigen;
  • 13A bis 13F die Verwendung eines Systembusses über der Zeit bei der Ausführungsform von 5 zeigen;
  • 14 eine schematische Darstellung eines beispielhaften Bilddatenübertragungsbefehls, der bei der Ausführungsform von 5 verwendet wird;
  • 15 die Zusammensetzung eines beispielhaften Bildrahmens schematisch zeigt;
  • 16 ein schematisches Diagramm ist, um ein Verfahren zu zeigen, um einen Rahmen von Bilddaten zu beurteilen, um Bildübertragungen bei der Ausführungsform von 5 auszuführen; und
  • 17 einen beispielhaften Datenübertragungsbefehl zeigt, der bei der Ausführungsform von 5 verwendet wird.
  • Mit Hilfe von 5 ist nun ein Bilderzeugungsgerät gemäß einer Ausführungsform der vorliegenden Erfindung im Blockformat gezeigt. Die Ausführungsform von 5 ist zur Verwendung als Spielwiedergabemaschine bestimmt und führt sowohl eine 3D-Graphikfunktion als auch eine Bewegtbild-Wiedergabefunktion aus.
  • Das Gerät von 5 besitzt einen Systembus oder einen Hauptbus 41, mit dem eine Zentralverarbeitungseinheit (CPU) 42, ein Hauptspeicher 43 und eine Sortiersteuerung 45 verbunden sind. Ein Bildexpander 51 ist ebenfalls mit dem Systembus 41 über einen Eingabe-FIFO-Pufferspeicher 54 und einem Ausgabe-FIFO-Pufferspeicher 55 verbunden. Zu sätzlich ist ein CD-ROM-Decoder 52 mit dem Systembus 41 über einen FIFO-Puffer 56 verbunden, und ein Plotter 61 ist mit dem Systembus 41 über einen FIFO-Puffer 62 verbunden.
  • Eine Schnittstelle (I/F) 72 ist mit dem Systembus 41 verbunden und stellt eine Einrichtung bereit, um eine Benutzerbefehls-Eingabeeinrichtung 71 (beispielsweise eine Joystick-Steuerung, eine Tastatur oder irgendeine benutzer-betätigbare Befehlseingabeeinrichtung) mit dem Systembus 41 zu verbinden. Außerdem ist ein Boot-ROM 73 mit dem Systembus 41 gekoppelt und dient dazu, ein Programm bereitzustellen, um den Betrieb des Spielabspielgeräts beim Starten zu ermöglichen.
  • Ein CD-ROM-Treiber 53 ist mit dem CD-ROM-Decoder 52 verbunden und kann eine CD-ROM-Platte laden und Standbild- und Bewegtbilddaten (die beispielsweise durch DCT komprimiert wurden) reproduzieren, als auch Texturbilddaten, die auf polygonalen Bildflächen abgebildet werden. Ein Anwendungsprogramm, welches ebenfalls auf der CD-ROM 90 aufgezeichnet ist, enthält Polygondarstellungsinstruktionen. Die Daten, die von der CD-ROM-Ansteuerung 53 reproduziert werden, werden durch den CD-ROM-Decoder 52 decodiert, der die decodierten Daten für einen FIFO-Puffer 56 bereitstellt, der die Fähigkeit hat, decodierte Daten, die von einem Sektor der CD-ROM 90 reproduziert werden, zu speichern.
  • Die CPU 52 führt die Überwachungssteuerung des gesamten Spielwiedergabegeräts aus, und sie führt weitere Aufgaben einschließlich bestimmter Schritte beim Darstellen eines 3D-Objekts als Verbund von Mehrfachpolygon-Bildflächen durch. Insbesondere erzeugt, wie später ausführlicher beschrieben wird, die CPU 52 Darstellungsbefehle, um ein Bild auf einem Anzeigebildschirm zu erzeugen, und sie speichert die Darstellungsbefehle im Hauptspeicher 43.
  • Die CPU 42 ist mit einem Cache-Speicher 46 versehen, so daß die CPU einen Satz an Instruktionen ausführen kann, ohne jeden vom Systembus 41 zu holen. Die CPU 42 ist außerdem mit einem Koordinatenrechner 44 als internen Coprozessor versehen, um eine Koordinatentransformationsfunktion auszuführen, um die Koordinaten, die innerhalb der Polygondarstellungebefehle enthalten sind, die der Bewegung von 3D-Objekten innerhalb eines Bilds entsprechen, beispielsweise Koordinatenänderung aufgrund der Drehung eines derartigen Objekts zu transformieren. Ein Koordinatenrechner 44 führt die Transformation der Darstellungsbefehle von den 3D-Polygonbildflächenerzeugungsbefehlen für die zweidimensionalen Polygondarstellungsbefehle aus, wobei er die transformierten 3D-Befehle auf die Ebene des Bilds projiziert.
  • Da die CPU 42 mit dem Instruktionscachespeicher 46 und dem Koordinatenrechner 44 versehen ist, ist sie in der Lage, einen Teil ihrer Verarbeitungsaufgaben auszuführen, ohne den Systembus 41 zu verwenden, so daß der Systembus 41 von Zeit zu Zeit für andere Aufgaben freigegeben werden kann.
  • Der Bildexpander 51 dient dazu, die komprimierten Daten, die von der CD-ROM 90 reproduziert werden, zu expandieren. Bei der Ausführungsform von 5 besitzt der Bildexpander 51 Hardware, welche dem Dequantisierer 33 und dem inversen diskreten Kosinustransformator 34 von 4 entspricht, während die Funktion des Huffman-Decoders 32 von 4 mittels Software durch die CPU 42 ausgeführt wird. Folglich ist der Bildexpander 51 nach der Ausführungsform von 5 relativ weniger komplex als der Bildexpander 14 von 3 und 4.
  • Der Bildexpander 51 führt das Decodieren der Daten in Makroblockeinheiten durch, die jeweils aus 16 x 16 Pixeln eines Bilds zusammengesetzt sind. Die expandierten Daten werden Makroblock um Makroblock zwischen dem Bildexpander 51 und dem Hauptspeicher 43 übertragen. Folglich erfordert jeder der FIFO-Puffer 54 und 55 eine Kapazität von lediglich einem Makroblock.
  • Ein Rahmenspeicher 63 ist mit dem Plotter 61 über einen internen Bus gekoppelt. Der Plotter 61 führt jeden Darstellungsbefehl aus, der zu ihm zum Hauptspeicher 43 über den FIFO-Puffer 62 übertragen wird, und schreibt die Daten, die als Antwort auf den Befehl erzeugt werden, in den Rahmenspeicher 63. Der FIFO-Puffer 62 ist folglich mit einer Speicherkapazität eines Darstellungsbefehls versehen.
  • Der Rahmenspeicher 63 ist mit einem Bildspeicherbereich versehen, um ein graphisch dargestelltes Bild zu speichern, wie auch mit einem Texturspeicherbereich, um Texturbilddaten zu speichern, und einen Tabellenspeicherbereich, um eine Farbnachschlagetabelle (CLUT) zu speichern. Wenn man auch 6 dazu betrachtet, so ist der Speicherbereich des Rahmenspeichers 63 hier schematisch gezeigt. Wie man aus 6 erkennt, ist der Speicherbereich zweidimensional durch Spalten- und Reihenadressen angeordnet. Im Speicherbereich dient ein Bereich AT als Texturspeicherbereich, und mehrere Texturspeichermuster können darin gespeichert werden. AC bezeichnet einen Tabellenspeicherbereich, um die Faxbnachschlagetabelle CLUT zu speichern.
  • Die Daten, welche in der Farbnachschlagetabelle gespeichert sind, werden von der CD-ROM bereitgestellt und zum Rahmenspeicher 63 über die Sortiersteuerung 45 von dem CD-ROM-Decoder 52 übertragen. In gleicher Weise werden die Texturbilddaten von der CD-ROM übertragen, jedoch zunächst durch den Bildexpander 51 expandiert und später zum Rahmenspeicher 63 vom Hauptspeicher 43 übertragen.
  • Der Speicherbereich AD in 6 dient als Bildspeicherbereich, der zwei Rahmenspeicherbereiche aufweist, wobei einer davon zu jeder bestimmten Zeit als ein Bilddarstellungsbereich dient und der andere davon dann als Bilddaten-Ausgabepuffer dient. Der Rahmenpufferbereich, der in einem bestimmten Zeitpunkt zum Ausgeben von Bilddaten zur Anzeige verwendet wird, wird als "Anzeigepuffer" bezeichnet, während der Rahmenpufferbereich, der zu einem bestimmten Zeitpunkt verwendet wird, um die Bilddaten darzustellen, als "Darstellungspuffer" bezeichnet wird. In einem bestimmten Zeitpunkt wird einer der Rahmenpuffer als Darstellungspuffer verwendet, während der andere gleichzeitig als Anzeigepuffer verwendet wird. Bei Abschluß des Darstellungsprozesses werden die Rollen der beiden Puffer umgeschaltet. Der Umschaltbetrieb ist synchron mit einer vertikalen Synchronisationsperiode der Bilddaten. Die Bilddaten, die vom Anzeigepuffer im Rahmenspeicher 63 gelesen werden, werden über einen D/A-Umsetzer 64 an einen Bildanzeigemonitor 65 ausgegeben, um ein Bildschirmbild zu erzeugen.
  • Die Sortiersteuerung 45 arbeitet in einer Weise ähnlich der einer DMA-Steuerung und dient dazu, die Bilddaten zwischen dem Hauptspeicher 43 und dem Bildexpander 51 zu übertragen wie auch eine Zeichenfolge von Darstellungsbefehlen vom Hauptspeicher 53 zum Plotter 61 zu übertragen. Die Sortiersteuerung 45 führt die oben beschriebenen Übertragungen während einer Zeit durch, wenn der Systembus 41 von der CPU 42 freigegeben ist, wie auch andere Komponenten, beispielsweise die Benutzerbefehlseingabe 71, und sie führt die Übertragung der Bilddaten und der Darstellungsbefehl-Zeichenfolgen durch, ohne entweder die Daten oder die Befehle über die CPU 42 zu fuhren. Bei bestimmten Ausführungsformen informiert die CPU 42 die Sortiersteuerung 45, daß der Systembus 41 durch die CPU freigegeben ist. Bei anderen Ausführungsformen gibt die Sortiersteuerung 45 den Bus 41 von der CPU 42 zwangsweise frei.
  • Der Hauptspeicher 43 besitzt einen Speicherbereich, um komprimierte Bilddaten (entweder Bewegtbilddaten oder Standbilddaten) zu speichern, sowie einen Speicherbereich für expandierte Bilddaten vom Bildexpander 51. Der Hauptspeicher 43 besitzt außerdem einen Speicherbereich (anschließend als "Paketpuffer" bezeichnet), um Graphikdaten, beispielsweise eine Zeichenfolge von Darstellungsbefehlen zu speichern. Der Paketpuffer wird anteilig durch die CPU 42 und den Plotter 61 genutzt, so daß der Paketpuffer durch die CPU 42 verwendet wird, um Darstellungsbefehle zu erzeugen und dazu verwendet wird, auch die Darstellungsbefehle an den Plotter 61 zu übertragen. Bei der vorliegenden Ausführungsform arbeitet die CPU 42 und der Plotter 61 parallel miteinander. Folglich sind bei dieser Ausführungsform zwei Paketpuffer vorgesehen, d. h., ein Darstellungsbefehl-Erzeugungspaketpuffer (anschließend als "Einstellpaketpuffer" bezeichnet) und ein Darstellungsbefehl-Übertragungspaketpuffer (anschließend als "Ausführungspaketpuffer" bezeichnet). In einem bestimmten Zeitpunkt, wenn einer der Puffer als Einstellungspaketpuffer verwendet wird, wird der andere gleichzeitig als Ausführungspaketpuffer verwendet. Bei Beendigung der Übertragung von Befehlen vom Ausführungspaketpuffer werden die Funktionen der beiden Paketpuffer umgeschaltet.
  • Wenn im Betrieb das Spielwiedergabegerät von 5 eingeschaltet wird und eine CD-ROM 90 in das Laufwerk 53 eingeführt wird, wird das Programm, welches auf der Boot-ROM 73 gespeichert ist, um das Gerät zu initialisieren, um ein Spiel auszuführen, durch die CPU 42 ausgeführt, und danach werden die Daten, welche auf der CD-ROM 90 aufgezeichnet sind, davon gelesen. In diesem Betriebszustand werden die Daten, die zu verwenden sind, gemäß der Identifikationsinformation, die in den Daten enthalten ist, decodiert, in jedem der Sektoren der CD-ROM 90, und die decodierten Daten werden auf Fehler und dgl. überprüft. Dann bewirkt in Abhängigkeit vom Ergebnis des Prüfprozesses die CPU 42, daß die komprimierten Bilddaten, die Darstellungsbefehle und das Programm durch die CD-ROM 90 ausgeführt werden, die in den Hauptspeicher 43 geladen ist, und zwar durch die Sortiersteuerung 45. Danach wird die Information der Farbnachschlagetabelle, die in den geladenen Daten enthalten ist, zum Speicherbereich CLUT des Rahmenspeichers 63 übertragen.
  • Die CPU 42 führt die Huffman-Decodierung der komprimierten Bilddaten durch, die vom Hauptspeicher 43 gelesen werden, und bringt die decodierten Daten zurück zum Hauptspeicher 43, wo sie gespeichert werden. Anschließend überträgt die Sortiersteuerung 45 die Huffman-decodierten Daten vom Hauptspeicher 43 zum Bildexpander 51 über den FIFO-Puffer 54. Der Bildexpander 51 führt dann eine Dequantisierung und eine inverse diskrete Kosinustransformation durch, um die Bilddaten in die expandierte Form wiederherzustellen. Die expandierten Bilddaten werden durch die Sortiersteuerung 45 über den FIFO-Puffer 55 zum Hauptspeicher 43 übertragen. Wie oben angemerkt verarbeitet der Bildexpander 51 die Bilddaten in einem Makroblock auf Makroblockbasis. Folglich werden die komprimierten Daten vom Hauptspeicher 43 in Makroblockeinheiten durch die Sortiersteuerung 45 zum Eingangs-FIFO-Puffer 54 übertragen. Wenn die komprimierten Daten expandiert sind, liefert der Bildexpander die expandierten Bilddaten zum Ausgangs-FIFO-Puffer 55, während die komprimierten Daten des nächsten Makroblocks vom Eingangs-FIFO-Puffer 54 gelesen werden, um diese zu expandieren.
  • Wenn der Systembus freigegeben wird und der Ausgangs-FIFO-Puffer 55 des Bildexpanders 51 nicht leer ist, überträgt die Sortiersteuerung 45 den Inhalt des FIFO-Puffers 55, d. h., die expandierten Daten eines Makroblocks zum Hauptspeicher 43, und sie überträgt außerdem die komprimierten Bilddaten des nächsten Makroblocks vom Hauptspeicher 43 zum Eingangs-FIFO-Puffer 54 des Bildexpanders 51.
  • Wenn eine vorher festgelegte Menge der expandierten Bilddaten im Hauptspeicher 43 gespeichert ist, überträgt die CPU 42 die expandierten Daten zum Rahmenspeicher 63 über den Plotter 61. In diesem Betriebszustand werden, wenn die expandierten Bilddaten zum Bildspeicherbereich AD des Rahmenspeichers 63 übertragen werden, die Daten unmittelbar als Hintergrundbewegtbild durch den Bildmonitor 65 angezeigt. In anderen Fällen werden die expandierten Bilddaten zum Texturspeicherbereich AT des Rahmenspeichers 63 übertragen, um als Texturbilddaten verwendet zu werden, um auf Polygonbildflächen abgebildet zu werden.
  • Die Polygonbildflächen, die zusammen die Fläche eines 3D-Objekts zeigen, werden sequentiell gemäß den Z-Daten dargestellt (d. h., die Daten, die den Abstand oder die Tiefe von jeder Polygonalfläche von der Ebene des Bilds zeigen), so daß die Polygonbildfläche, die die größte Tiefe hat, zuerst dargestellt wird, und die verbleibenden nacheinander von der Tiefe zu dieser Polygonfläche dargestellt werden, die der Ebene des Bildschirms am nächsten ist. Auf diese Weise kann ein 3D-Bild unter Verwendung eines zweidimensionalen Anzeigebildschirms angezeigt werden. Die CPU 42 erzeugt eine Zeichenfolge von Darstellungsbefehlen im Hauptspeicher 43, der es dem Plotter 61 ermöglicht, die polygonalen Bildflächen nacheinander mit Beginn davon darzustellen, welche die größte Tiefe von der Ebene des Bilds hat.
  • Das Computergraphikverfahren verwendet ein Z-Puffer-Verfahren, bei dem zunächst Z Daten für jedes Pixel in einem Speicher gespeichert werden und bei dem diese Daten verwendet werden, eine Anzeigereihenfolge für die Polygonbildflächen zu bestimmen. Dieses Verfahren erfordert jedoch einen Speicher, der eine sehr große Kapazität hat, um die Z Daten zu speichern. Die vorliegende Ausführungsform verwendet ein vereinfachtes und vorteilhaftes Verfahren, um die Darstellungsbefehle zu ordnen, wodurch die Notwendigkeit vermieden wird, einen derartigen Z-Puffer bereitzustellen.
  • Das heißt, bei der vorliegenden Ausführungsform, wie in 7A und 7B gezeigt ist, wird eine Kennung TG an jeden Polygondarstellungsbefehl IP angehängt, der die Polygondarstellungsdaten PD einschließt. Eine jede Kennung eines bestimmten Befehls zeigt eine Adresse im Hauptspeicher 43, wo die nächste Darstellungsinstruktion gespeichert ist. Zusätzlich enthalten die Polygondarstellungsdaten PD Identifikationsdaten IDP, die den Inhalt des Darstellungsbefehls zeigen, sowohl Bereitstellungsscheitelkoordinaten des Polygons, welches darzustellen ist. Die Identifikationsdaten IDP liefern eine Indikation der Natur des Polynoms (beispielsweise ein Quadrat), und ob das Polynom in einer einzelnen Verarbeitung abgebildet werden soll .,7B liefert ein Beispiel eines Quadrat-Polygon-Darstellungsbefehls, der durch den Koordinatenrechner 44 übertragen wurden, um ein Quadrat-Polygon im Rahmenspeicher 63 darzustellen. Wie man aus 7B erkennt, weist der Darstellungsbefehl die Koordinaten der vier Scheitel (X0, Y0), (X1, Y1), (X2, Y2) und (X3, Y3) wie auch die Daten der drei Primärfarben rot, grün und blau (R, G, B) auf, um die Polygonbildfläche in einer einzelnen Farbe abzubilden.
  • Als Antwort auf Befehle, die über einen Benutzer über die Benutzerbefehls-Eingabeeinrichtung 71 eingegeben werden, bestimmt die CPU 72 die Bewegungen von Objekten innerhalb des Bilds sowie die Änderung des Standpunkts des Bilds und erzeugt eine Zeichenfolge von Polygondarstellungsbefehlen, um das nachfolgend-modifizierte Bild darzustellen. Anschließend schreibt die CPU 42 die Kennungen der Polygondarstellungsbefehle gemäß der Tiefe der Polygonalflächenbereiche, die dazustellen sind, von der Ebene des Bilds um. Das heißt, die Darstellungsbefehlsadressen im Hauptspeicher 43 werden nicht geändert, sondern lediglich ihre Kennungen werden umgeschrieben.
  • Wenn die CPU 42 das Erzeugen der Zeitfolge von Darstellungsbefehlen beendet hat, überträgt die Sortiersteuerung 45 die Befehle nacheinander vom Hauptspeicher 43 zum Plotter 61 gemäß der Reihenfolge, die durch die Kennungen TG der Befehle bestimmt wird. Folglich muß der FIFO-Puffer 62 eine Kapazität von lediglich einem Darstellungsbefehl haben. Mit Hilfe von 8 wird dieser Betrieb durch nachfolgende Ausführung der Befehle IP1 bis IPn in der Reihenfolge gemäß ihrer jeweiligen Kennungen TG1, TG2, TG3 ... TGn beispielhaft dargestellt, wobei jeder davon auf die Adresse, den Speicher des nächsten Befehls, zeigt, der zum Plotter 61 zu übertragen ist und der durch diesen auszuführen ist. Da jeder Befehl durch den Plotter 61 ausgeführt wird, werden die resultierenden Bilddaten im Plotterbereich AD des Rahmenspeichers 63 gespeichert.
  • Eine Polygon-Bild-Flächendarstellungsprozedur (oder Polygondarstellungsprozedur), die durch die CPU 42 ausgeführt wird, wird anschließend mit Hilfe des Flußdiagramms von 9 beschrieben. In einem Schritt 101 liefert die CPU einen Befehl zum Plotter 61, daß ein bezeichneter Bereich der Rahmenpufferbereiche A als Anzeigepuffer dienen soll, so daß der Inhalt dieses Bildspeicherbereichs AD an den Bildmonitor 65 ausgegeben wird. Im Schritt 102 wird ein Benutzereingabebefehl von der Einrichtung 71 gelesen, und die CPU 42 antwortet durch Aktualisieren von Koordinatenwerten einer Darstellungsbefehl-Zeichenfolge A in einem ersten der Paketpuffer (der als Einstellpaketpuffer dient) des Hauptspeichers 43.
  • Gleichzeitig damit werden die individuellen Befehlskennungen der Darstellungsbefehl-Zeichenfolge A umgeschrieben.
  • Während die Schritte 101 bis 103 ausgeführt werden, wird eine Darstellungsbefehls-Zeichenfolge B in einem zweiten der Paketpuffer (der als Ausführungspaketpuffer dient) im Hauptspeicher 43 über den Plotter 61 zum anderen Rahmenpufferbereich B (der als Plotterpuffer dient) des Bildspeicherbereichs AD des Rahmenspeichers 63 durch die Sortiersteuerung 45 übertragen. Das graphische Darstellen wird durch den Plotter 61 in einem Realzeitmodus als Antwort auf die Darstellungsbefehls-Zeichenfolge B ausgeführt.
  • Wie durch den Schritt 104 gezeigt ist, wartet die CPU 41 dann bis zum Abschluß der Ausführung der Darstellungsbefehls-Zeichenfolge B. Das heißt, es wird periodisch entschieden, ob die Darstellungsausführung nach Übertragung der Darstellungsbefehlsfolge B im Hauptspeicher 43 beendet wurde.
  • Wenn im Schritt 104 bestimmt wird, daß die Darstellungsinstruktions-Befehlsfolge B völlig ausgeführt ist, wird die Rolle des Rahmenspeicherbereichs B des Rahmenspeichers 63 umgeschaltet, so daß dieser als Anzeigepuffer dient, und es wird ein Befehl zum Plotter 61 geliefert, so daß die dargestellten Bilddaten im Anzeigepuffer daraus gelesen werden und zum Bildmonitor 65 geliefert werden, wie durch den Schritt 105 angezeigt wird. Gleichzeitig damit wird die Rolle des Rahmenpufferbereichs A des Rahmenspeichers 63 umgeschaltet, so daß dieser anstelle davon als Darstellungspuffer dient.
  • In einem Schritt 106 liest die CPU42 wieder Befehle, die unter Verwendung der Einrichtung 71 geliefert werden, und die CPU 42 in einem Schritt 107 läuft weiter, um die Koordinatenwerte in der Darstellungsbefehl-Zeichenfolge B im Paketpuffer zu aktualisieren, der nun als Einstellungspaketpuffer im Hauptspeicher 43 dient, als Antwort auf die Eingabebefehle. Simultan werden im Schritt 107 die individuellen Befehlskennungen der Darstellungsbefehl-Zeichenfolge B entsprechend umgeschrieben.
  • Während der Zeit, wo die Schritte 105 bis 107 ausgeführt werden, wird die Darstellungsbefehls-Zeichenfolge A im Paketpuffer, der nun als Ausführungspaketpuffer dient, über den Plotter 61 zum Rahmenpufferbereich A (der nun als Darstellungspuffer dient) durch die Sortiersteuerung 45 übertragen. Das graphische Darstellen wird dann durch den Plotter 61 in einem Realzeitmodus als Antwort auf die Darstellungsbefehl-Zeichenfolge A ausgeführt. Nach dem Schritt 107 wartet die CPU 42, bis die Darstellungsbefehls-Zeichenfolge A völlig ausgeführt ist. Das heißt, daß in einem Schritt 108 periodisch entschieden wird, ob die Befehls-Zeichenfolge A völlig ausgeführt wurde, die sich an die Übertragung der Darstellungsbefehls-Zeichenfolge A vom Hauptspeicher 43 anschließt.
  • Wenn im Schritt 108 bestimmt wird, daß die Darstellungsbefehls-Zeichenfolge A beendet wurde, wird die Rolle des Rahmenpufferbereichs A umgeschaltet, so daß dieser dann als Anzeigepuffer dient, und es wird ein Befehl zum Plotter 61 geliefert, um zu bewirken, daß die dargestellten Bilddaten vom Anzeigepuffer gelesen werden und zum Bildmonitor 65 in einem Schritt 109 ausgegeben werden. Simultan damit wird die Rolle des Rahmenpuffers B umgeschaltet, so daß dieser dann als Darstellungspuffer dient. Danach kehrt die Verarbeitungsfolge zurück zum Schritt 102, und es wird die oben beschriebene Prozedur wiederholt. Auf diese Weise können Bewegtbilder durch die Bilddaten angezeigt werden, die unter Verwendung des Geräts von 5 erzeugt werden, wobei die oben beschriebenen Operationen wiederholt ausgeführt werden, üblicherweise mit einer Rate von 30 – 60/s.
  • Wenn man aus den obigen Ausführungen erkennt, arbeiten die CPU 42 und der Plotter 61 parallel. Insbesondere liest unter Bezugnahme auf 10A die Sortiersteuerung 45 die Darstellungsbefehls-Zeichenfolge vom Darstellungspaketpuffer des Hauptspeichers 43, wobei dessen Kennungen gefolgt werden, wie durch die Pfeile in 10A gezeigt ist, und überträgt die Darstellungsbefehle in dieser Reihenfolge zum Plotter 61. Der Plotter 61 führt seinen Darstellungsbetrieb als Antwort auf die übertragene Befehlszeichenfolge aus. Simultan damit schreibt die CPU 42 nacheinander Adreßwerte in den Befehlskennungen der Darstellungsbefehl-Zeichenfolge, die im Einstellpaketpuffer des Hauptspeichers 43 gespeichert ist, auf die neuen Adreßwerte um, um die Bewegung innerhalb des Bilds oder eine Änderung im Standpunkt wiederzugeben.
  • Bezugnehmend auf 11 führt, wenn die CPU 42 eine laufend dargestellte Befehlszeichenfolge erzeugt, der Plotter 61 einen Darstellungsbetrieb als Antwort auf eine Befehlszeichenfolge durch, die vorher durch die CPU 42 erzeugt wurde. Wenn der Plotter 61 die Ausführung einer ersten Zeichenfolge beendet hat, führt er eine nachfolgende Zeichenoperation als Antwort auf eine Befehlszeichenfolge durch, die vorher durch die CPU 42 erzeugt wurde.
  • Beim Polygondarstellungsprozeß werden die dargestellten Daten zu einer Gradientenberechnungseinheit im Plotter 61 (aus Gründen der Einfachheit und Klarheit nicht gezeigt) geliefert, um eine Bestimmung eines Gradienten der Polygonbildfläche auszuführen, die als Antwort auf jede Instruktion erzeugt wird. Der somit bestimmte Gradientenwert wird beim Abbilden von Daten auf der Polygonbildfläche gemäß dem Polygondarstellungsprozeß verwendet. Die Polygonbildfläche kann entweder mit Texturbilddaten oder mit Luminanzwerten aufgefüllt werden, um Lichtschattierungen zu zeigen.
  • Um Texturbilddaten an Polygonbildflächen anzubringen, welche die Flächen eines Objekts zeigen, werden Texturbilddaten im Texturbereich AT in zweidimensionale Abbildungsdaten transformiert. Als Beispiel und mit Bezugnahme auf 12A bis 12C werden die Texturmuster T1, T2 und T3 wie in 12A gezeigt jeweils transformiert, um mit entsprechenden Polygonbildflächen eines Objekts übereinzustimmen, wie in 12B gezeigt ist. Die Texturmuster T1, T2 und T3 werden nach einer solchen Transformation an die Ebenen des Objekts OB1 angehängt, wie in 12C gezeigt ist, und das verbleibende Bild wird im Bildspeicherbereich gespeichert und später auf dem Bildschirm des Bildanzeigemonitors 65 angezeigt.
  • Bei Standbild-Texturdaten werden Texturmuster im Hauptspeicher 43 über den Plotter 61 zum Texturbereich AT des Rahmenspeichers 63 übertragen, um dort gespeichert zu werden. Der Plotter 61 hängt dann die Texturmuster selektiv an die Polygonbildflächen an, um dadurch Standbild-Texturdaten auf einem Objekt innerhalb eines Bilds zu bilden. Die Bildtexturdatenmuster können vorher auf der CD-ROM 90 aufgezeichnet sein.
  • Es ist außerdem möglich, Bewegtbild-Texturdaten auf Objektflächen abzubilden. In diesem Fall werden komprimierte Bewegtbilddaten von der CD-ROM 90 in den Hauptspeicher 43 gelesen, wie oben erläutert wurde. Dann werden wie oben beschrieben die Bilddaten expandiert, wobei entsprechende Prozesse mittels der CPU 42 und des Bildexpanders 51 ausgeführt werden.
  • Die expandierten Bewegtbilddaten werden für den Texturbereich AT des Rahmenspeichers 63 bereitgestellt, so daß das Texturmuster selbst für jeden Rahrmen umgeschrieben kann. Folglich kann das Bewegtbild-Texturbild durch Textur-Abbilden jeder Polygonbildfläche mit Bewegtbilddaten vom Texturbereich AT erzeugt werden.
  • Wenn die expandierten Bilddaten vom Bildexpander 51 für den Bildspeicherbereich AD des Rahmenspeichers 63 bereitgestellt werden, kann ein Hintergrundbewegtbild auf dem Bildschirm des Bildanzeigemonitors 65 angezeigt werden. Durch Auffüllen des Bildspeicherbereichs AD mit lediglich einem dargestellten Bild, welches durch die CPU 42 erzeugt wird, kann dieses auf dem Bildschirm des Anzeigebildschirmmonitors 65 dargestellt werden. Es ist außerdem möglich, ein Objekt mittels Befehlen von der CPU auf einem Standbild darzustellen, welches im Bildspeicherbereich AD gebildet ist, über eine Expansion von Bilddaten, welche von der CD-ROM 90 erhalten werden.
  • Wie oben angemerkt überträgt die Sortierungssteuerung 45 Darstellungsbefehle und Bilddaten, ohne diese über die CPU 42 während Zeitperioden zu leiten, wenn der Sy stembus 41 freigegeben ist. Ein Beispiel davon, wie dieser Prozeß ausgeführt werden kann, ist in Verbindung mit 13A bis 13F gezeigt.
  • Bezugnehmend zunächst auf 13A zeigt ein sich horizontal-erstreckender Zeitbalken 89 die Verwendung des Systembusses 41 durch die CPU 42 über der Zeit mit einer Zeitweiterschreitung von links nach rechts in 13A. Für diejenigen Zeitpunkte, wenn der Systembus 41 durch die CPU 42 verwendet wird, um einen Betrieb auszuführen, wurde der Balken 89 schraffiert, während dagegen bei den farblosen Bereichen 81 bis 88 der Systembus 140 von der CPU 42 freigegeben wurde. 13B und 13D stellen parallele Zeitbalken bereit, um den Zustand der FIFO-Puffer 54 und 55 des Bildexpanders darzustellen, wobei die Schattierung die Datenmenge symbolisiert, die in jedem Puffer gespeichert ist. Beispielsweise wird während der Zeitperiode 81 der FIFO-Puffer 84 allmählich gefüllt, während der FIFO-Puffer 55 während der Zeitdauer 83 allmählich von seinen Daten geleert wird. 9C zeigt einen weiteren Zeitbalken, um den zeitlichen Ablauf des Datenexpansionsprozesses zu zeigen, der durch den Bildexpander 51 ausgeführt wird.
  • 13E zeigt einen Zeitbalken, der den Zustand des FIFO-Puffers 62 und des Plotters 61 zeigt, bei denen, wie im Fall von 13B und 13D, die Schraffierung die Datenmenge zeigt, die im FIFO-Puffer 62 gespeichert ist. Schließlich zeigt 13F einen Zeitbalken, der nachfolgende Darstellungsoperationen zeigt, die durch den Plotter 61 durchgeführt werden.
  • Wenn alle FIFO-Puffer 54 und 62 leer werden, wird eine Übertragungsanforderung zum Systembus 41 geliefert. Wenn der FIFO-Puffer 55 voll wird, liefert dieser in gleicher Weise eine Übertragungsanforderung zum Systembus 41. Während der Zeitperiode 81 bis 88 führt, wenn der Systembus 41 von der CPU 42 freigegeben wird, die Sortiersteuerung 45 Datenübertragungen von und zu jedem FIFO-Puffer, der eine Übertragungsanforderung bereitgestellt hat, durch.
  • Wenn mehrere Übertragungsanforderungen gleichzeitig geliefert werden, wird gemäß einer vorher festgelegten Prioritätsreihenfolge bestimmt, welche der Übertragungsanforderungen ausgeführt werden soll. Wenn simultane Übertragungsanforderungen durch die Puffer, die die gleiche Prioritätsfolge haben, ausgeführt werden, wird die Ausführungsreihenfolge durch ein zyklisches Verfahren in einer Weise festgelegt, daß dem Puffer, dem während einer Übertragungsanforderung die höchste Priorität in der vorhergehenden Instanz verliehen wurde, die niedrigste Priorität während einer laufenden Übertragungsoperation gegeben wird. Im Beispiel von 13A bis 13F ist die Übertragungsanforderung vom FIFO-Puffer 54 oder vom FIFO-Puffer 55 einer höheren Priorität als die vom FIFO-Puffer 62 zugeteilt.
  • Im Beispiel von 13A bis 13F überträgt, wenn eine Übertragungsanforderung vom leeren FIFO-Puffer 54 während einer der Perioden 81, 85 und 87 überliefert wird, die Sortierungssteuerung 45 die komprimierten Bilddaten vom Hauptspeicher 43 zum FIFO-Puffer 54, wie in 13B gezeigt ist. Wenn der FIFO-Puffer 54 voll ist, wie in 9C gezeigt ist, liefert der Bildexpander 51 komprimierte Daten vom FIFO-Puffer 54, wenn er die Expansion vorher empfangener komprimierter Daten beendet hat, und beginnt dann das Decodieren der laufenden Daten für die Expansion. Der FIF-Puffer 54 liefert dann eine weitere Übertragungsanforderung zum Bus 41.
  • Der Bildexpander 51 gibt in der Zwischenzeit die expandierten Daten an den FIFO-Puffer 55 bei Beendigung des Expansionsprozesses aus. Der FIFO-Puffer 55 liefert anschließend eine Übertragungsanforderung an den Bus 41, wenn er mit den expandierten Daten aufgefüllt wurde. Im Beispiel von 13A bis 13F führt die Sortierungssteuerung 45 Datenübertragungen als Antwort auf diese Anforderungen während der Perioden 83 und 86 aus, um die expandierten Daten zum Hauptspeicher 43 zu übertragen.
  • In diesem Beispiel wird eine Übertragungsanforderung vom FIFO-Puffer 62 des Plotters 61 in allen Zeitperioden 82, 84 und 88 ausgeführt, wie in 13E gezeigt ist, und es wird ein Darstellungsbefehl durch die Sortierungssteuerung 45 an den Plotter 61 übertragen. Der übertragene Darstellungsbefehl wird durch den Plotter 61 ausgeführt, nachdem er das Ausführen eines vorherigen Darstellungsbefehls beendet hat, wie in 13F gezeigt ist.
  • Die expandierten Bilddaten werden vom Hauptspeicher 43 zum Rahmenspeicher 63 unter Verwendung eines Übertragungsbefehls wie oben beschrieben übertragen. Die CPU 42 setzt die expandierten Bilddaten in ein Übertragungsbefehlsformat um, wie in 14 gezeigt ist. Das Übertragungsbefehlsformat ist ähnlich dem eines Darstellungsbefehls, der eine Kennung TG in einem Anfangsbereich des Befehls und eine Identifikationsinformation IDP unmittelbar danach enthält. Wie bei den Darstellungsbefehlen zeigt die Kennung TG einen Adreßwert im Hauptspeicher 43, wo der nächste Darstellungsbefehl oder Übertragungsbefehl gespeichert ist. Die Identifikationsinformation IDP weist einen Code auf, der den Befehl als Übertragungsbefehl identifiziert.
  • Wie außerdem in 14 gezeigt ist, bezeichnen die Daten "H" und "W" die Höhe bzw. die Breite eines Bereichs der expandierten Bilddaten, die zu übertragen sind. Die Werte der Höhe und der Breite des Übertragungsbereichs entsprechen den Werten der Höhe und der Breite eines Rahmenbereichs. Die Daten "X" und "Y" des Übertragungsbefehls bezeichnen die Koordinaten einer Rahmenposition, zu der die Bilddaten zu übertragen sind. Der Übertragungsbereich in diesem Beispiel ist rechteckig und diese Koordinaten zeigen eine obere linke Position eines solchen rechteckigen Bereichs. Wenn die Position, zu welcher die Daten zu übertragen sind, innerhalb des Bildspeicherbereichs AD des Rahmenspeichers 63 liegen, fallen die Koordinaten in den Bereich AD. Wenn jedoch die Position zur Übertragung innerhalb des Texturbereichs AT liegt, fallen die Koordinaten in diesen Bereich.
  • Die Kennungs-TG-Identifikationsdaten IDP, die Höhe, die Breite und die Koordinatendaten bilden einen Datenkopf des Übertragungsbefehls. Der Übertragungsbefehl weist außerdem expandierte Bilddaten PIX0, PIX1, PIX2,... PIXn auf. Die Sortierungssteuerung 45 antwortet auf den Übertragungsbefehl, wobei sie die expandierten Bilddaten vom Hauptspeicher 43 zum Plotter 61 gemäß dem Befehl überträgt.
  • Wie oben erwähnt unterteilt der Bildexpander 51 das Bild eines jeden Rahmens in Makroblöcke, die als 16 x 16 Pixel angeordnet sind, und expandiert die Bilddaten in Einheiten von Makroblöcken. Wenn beispielsweise ein beispielsweiser Bildrahmen 320 Pixel in der horizontalen Richtung und 240 Pixel in der vertikalen Richtung aufweist, wie in 15 gezeigt ist, ist der Rahmen in 300 Makroblöcken unterteilt. Um eine Übertragung von 300 Makroblöckeeinheiten auszuführen, wird eine übermäßige Last aufgrund der Notwendigkeit erzeugt, die Datenkopfinformation mit jeder Übertragungsinformation zu erfassen. Folglich werden, wie in 16 gezeigt ist, mehrere Makroblöcke in jeder vertikalen Spalte als eine Einheit gruppiert, die durch jeden Übertragungsbefehl geliefert werden. Mit Hilfe von 17 ist ein beispielsweise erster Übertragungsbefehl für einen solchen Rahmen gezeigt, wo den Koordinaten X und Y jeweils Nullwerte zugeteilt sind. Folglich würden bei dem nächsten Übertragungsbefehl der Koordinaten X und Y die Werte 16 bzw. 0 zugeteilt werden.
  • Auf diese Weise werden die expandierten Bilddaten in ein Übertragungsbefehlsformat umgesetzt, welches im wesentlichen das gleiche ist wie das Darstellungsformat, so daß es möglich wird, unter Verwendung einer Kennung TG sowohl Polygondarstellungsbefehle als auch Übertragungsbefehle frei mittels der Sortiersteuerung 45 zu übertragen, sowie das Darstellen und die Bilderzeugung im Rahmenspeicher 63 mittels des Plotters 61 auszuführen.
  • Aus dem obigen Ausführungen sieht man, daß der Systembus 41 effektiv durch Zeitteilung verwendet wird, da die Darstellungsbefehls-Zeichenfolgen, die komprimierten Bilddaten und die expandierten Bilddaten vom Hauptspeicher 3 übertragen werden können, ohne daß diese über die CPU 42 während dieser Zeitperioden geführt werden, wenn der Systembus 41 von der CPU 42 freigegeben wird. Da außerdem die gesamten Darstellungsbefehl-Zeichenfolgen im Speicher 43 gehalten werden, ist die CPU 42 schnell in der Lage, eine unmittelbare Steuerung über solche Befehle auszuführen, so daß die Bildmodifikation als Antwort auf eine externe Eingabe im wesentlichen auf sofortiger Basis realisiert werden kann.
  • Es wird daher möglich, die Antwortgeschwindigkeit des Geräts auf Eingabebefehle zu verbessern.
  • Da in ähnlicher Weise alle Bewegtbilddaten im Hauptspeicher 43 gespeichert werden, ist die CPU 42 immer in der Lage, eine unmittelbare Steuerung der Bewegtbilddaten auszuführen. Somit wird eine im wesentlichen unmittelbare Steuerung durch die CPU als Antwort auf eine externe Eingabe ermöglicht, wodurch eine weitere Verbesserung der Antwortgeschwindigkeit des Geräts verbessert wird.
  • Außerdem muß der FIFO-Puffer, der durch den Plotter 61 erfordert wird, nicht nur einen Plotterbefehl speichern, wodurch die Baugröße des Plotters 61 reduziert wird.
  • Da der Bildexpander 51 den Hauptspeicher als Puffer verwendet, wird ein zusätzlicher interner Speicher nicht benötigt. Da die FIFO-Puffer, welche durch den Bildexpander 51 verwendet werden, lediglich einen Makroblock jeweils speichern müssen, wird die Baugröße des Bildexpanders 51 in vorteilhafter Weise vermindert.
  • Gemäß der Erfindung umfaßt jeder Plotterbefehl den Adreßwert des nächsten Plotterbefehls im Hauptspeicher. Somit wird, wenn es notwendig ist, die Reihenfolge zu ändern, mit welcher die Plotterbefehle ausgeführt werden, lediglich erforderlich, die Adreßwerte der Plotterbefehle zu ändern, so daß es nicht notwendig ist, die Plotterbefehle selbst im Hauptspeicher umzuschreiben oder umzuordnen. Als Folge kann die Belastung des Systembusses entsprechend reduziert werden.
  • Bei der Erzeugung von Bewegtbildern ist es selten, daß große Änderungen im Inhalt der Darstellungsbefehl-Zeichenfolgen zwischen benachbarten Rahmen auftreten. Folglich müssen Adreßwerte nicht häufig geändert werden, und es ist häufig ausreichend, lediglich Koordinatenwerte der Darstellungsbefehl-Zeichenfolge der vorhergehenden Rahmen zu ändern, so daß die Verarbeitung vereinfacht wird.
  • Bei der offenbarten Ausführungsform werden Bilddaten und Anwendungsprogramme von einer CD-ROM gelesen. Es sei jedoch angemerkt, daß andere Formen von Aufzeichnungsträgern, beispielsweise Magnetplatten und Halbleiterspeicher (beispielsweise Speicherkarten) verwendet werden können, sowie andere Bilddatenquellen und Anwendungsprogramme. Obwohl die diskrete Kosinustransformation zur Kompression von Bilddaten bei der obigen Ausführungsform angewandt wird, gibt es verschiedene weitere geeignete Alternativen, die Bilddatenkompression auszuführen.
  • Obwohl spezielle Ausführungsformen der Erfindung ausführlich hier mit Hilfe der beiliegenden Zeichnungen beschrieben wurden, versteht es sich, daß die Erfindung nicht auf diese genauen Ausführungsformen beschränkt ist und daß verschiedene Änderungen und Mo difikationen durch den Fachmann durchgeführt werden können, ohne den Rahmen der Erfindung, wie er in den beigefügten Ansprüchen definiert ist, zu verlassen.

Claims (11)

  1. Verfahren zum Erzeugen von Bilddaten mittels ein Systems, welches einen Datenprozessor (42), einen Speicher (43), um eine Bilddaten-Erzeugungsbefehlsfolge zu speichern, die mehrere Bilddaten-Erzeugungsbefehle aufweist, wobei jeder eine Adresse eines nächsten, der auszuführen ist, einen Bilddatengenerator (61) und einen Systembus (41) aufweist, der mit dem Datenprozessor (42), dem Speicher (43) und dem Bilddatengenerator (61) gekoppelt ist, wobei das Verfahren folgende Schritte aufweist: Übertragen der Befehle der Bilddaten-Erzeugungsbefehlsfolge vom Speicher (43) zum Bilddatengenerator (61) in der Reihenfolge, die durch die Adressen festgelegt wird, die darin enthalten sind, über den Systembus (41), ohne die Bilddaten-Erzeugungsbefehlsfolge durch den Datenprozessor (42) durchzuleiten; und Erzeugen von Bilddaten mittels des Bilddatengenerators (61), wobei die Bilddaten-Erzeugungsbefehlsfolge verwendet wird.
  2. Verfahren nach Anspruch 1, wobei das System einen Datenexpander (51) aufweist, der mit dem Systembus (41) gekoppelt ist, wobei das Verfahren folgende Schritte aufweist: 4444cher (43) gespeichert sind, zum Datenexpander (51) über den Systembus (41), ohne die komprimierten Daten durch den Datenprozessor (42) durchzuleiten; Dekomprimieren der komprimierten Daten mittels des Datenexpanders (51), um dekomprimierte Daten zu erzeugen; Übertragen der dekomprimierten Daten vom Datenexpander (51) zum Speicher (43), ohne die dekomprimierten Daten durch den Datenprozessor (42) durchzuleiten; und Erzeugen der Bilddaten auf der Basis der dekomprimierten Daten.
  3. Verfahren nach Anspruch 2, welches den Schritt aufweist, Bilddaten-Erzeugungsbefehle mittels des Datenprozessors (42) parallel mit den Schritten zum Übertragen der komprimierten und der dekomprimierten Daten zu erzeugen.
  4. Verfahren nach Anspruch 1, wobei der Schritt zum Übertragen der Befehlsfolge das Übertragen einer ersten Bilddaten-Erzeugungsbefehlsfolge vom Speicher (43) zum Bild datengenerator (61) aufweist; das Verfahren den Schritt aufweist, eine zweite Bilddaten-Erzeugungsbefehlsfolge unter Verwendung des Datenprozessors (42) parallel mit dem Schritt zum Übertragen der ersten Befehlsfolge zu erzeugen.
  5. Bilddaten-Erzeugungsgerät, welches aufweist: einen Systembus (41); einen Datenprozessor (42), der mit dem Systembus (41) gekoppelt ist; einen Speicher (43), der mit dem Systembus (41) gekoppelt ist und der einen ersten Speicherbereich hat, um eine Bilddaten-Erzeugungsbefehlsfolge zu speichern, die mehrere Bilddaten-Erzeugungsbefehle aufweist, wobei jeder eine Adresse des nächsten, der auszuführen ist, aufweist; einen Bilddatengenerator (61), welcher mit dem Systembus (41) gekoppelt ist und der Bilddaten unter Verwendung der Bilddaten-Erzeugungsbefehlsfolge erzeugen kann; und ein Datenübertragungsgerät (45), welches mit dem Systembus (41) gekoppelt ist und welches die Befehle der Bilddaten-Erzeugungsbefehlsfolge vom Speicher (43) zum Bilddatengenerator (61) in der Reihenfolge übertragen kann, die durch die Adressen bestimmt wird, die darin enthalten sind, ohne die Bilddaten-Erzeugungsbefehlsfolge durch den Datenprozessor (42) durchzuleiten.
  6. Gerät nach Anspruch 5, welches aufweist: einen Datenexpander (51), der mit dem Systembus (41) gekoppelt ist und der die komprimierten Bilderzeugungsdaten dekomprimieren kann, um dekomprimierte Bilderzeugungsdaten zu erzeugen, wobei der Speicher einen zweiten Speicherbereich hat, um komprimierte Bilderzeugungsdaten zu speichern, und das Datenübertragungsgerät (45) sowohl die komprimierten Bilderzeugungsdaten vom Speicher (43) zum Datenexpander (51) übertragen kann als auch die dekomprimierten Bilderzeugungsdaten vom Datenexpander zum Speicher (43) übertragen kann, ohne die komprimierten Bilderzeugungsdaten durch den Datenprozessor (42) durchzuleiten; den Speicher (43), der einen dritten Speicherbereich hat, um die dekomprimierten Bilderzeugungsdaten vom Datenexpander zu speichern; und den Bilddatengenerator (61), der die Bilddaten unter Verwendung der dekomprimierten Bilderzeugungsdaten erzeugen kann.
  7. Gerät nach Anspruch 5, welches einen Systemeingangsanschluß hat, der mit dem Systemsbus (41) gekoppelt ist, um Befehlsdaten zu empfangen, welche eine Modifikation eines Bilds zeigen, welches durch die Bilddaten gezeigt wird, wobei der Datenprozessor (42) als Antwort auf die empfangenen Befehlsdaten betreibbar ist, die Bilddaten-Erzeugungsbefehlsfolge zu modifizieren, so daß der Bilddatengenerator (61) modifizierte Bilddaten erzeugen kann.
  8. Gerät nach Anspruch 7, wobei der Datenprozessor (42) individuelle Befehle der Bilddaten-Erzeugungsbefehlsfolge als Antwort auf die empfangenen Befehlsdaten modifizieren kann, indem er eine Adresse allen individuellen Befehlen zuteilt, die einen nächsten Befehl, der auszuführen ist, zeigen.
  9. Gerät nach einem der Ansprüche 5 bis 8, wobei der Datenprozessor einen Zugriff auf den Systembus während eingeschränkter Zugriffszeitintervalle einschränken kann, und den Systembus freigeben kann, um einen Zugriff während Freigabezeitintervalle bereitzustellen, und das Datenübertragungsgerät die Bilddaten-Erzeugungsbefehlsfolge während zumindest einer der Freigabezeitintervalle übertragen kann.
  10. Gerät nach Anspruch 9, wenn abhängig von Patentanspruch 6, wobei das Datenübertragungsgerät (45) sowohl die komprimierten Bilderzeugungsdaten vom Speicher (43) zum Datenexpander (51) als auch die dekomprimierten Bilderzeugungsdaten vom Datenexpander zum Speicher (43) während zumindest einiger der Freigabezeitintervalle übertragen kann.
  11. Spielgerät, welches das Bilddaten-Erzeugungsgerät aufweist, nach einem der Ansprüche 5 bis 10, eine Spielbenutzer-Eingabeeinrichtung (71), die eine Einrichtung (72) aufweist, um eine Kopplung mit dem Systembus des Bilderzeugungsgeräts herzustellen, wobei die Eingabeeinrichtung (71) Spieloperations-Befehlsdaten als Antwort auf Spieloperationsbefehle von einem Benutzer empfangen kann und die Spieloperationsbefehle zum Systembus liefern kann; eine Rahmenspeichereinrichtung (63), um die Bilddaten, die ein Spielbild zeigen, welches durch den Bilddatengenerator (61) des Bilddaten-Erzeugungsgeräts erzeugt wird, zu speichern; und eine Einrichtung, um die Bilddaten von der Rahmenspeichereinrichtung (63) des Bilddaten-Erzeugungsgeräts zu liefern, um das Spielbild mittels einer Anzeigeeinrichtung (65) zu erzeugen, wobei der Datenprozessor (42) des Bilddaten-Erzeugungsgeräts die Bilddaten-Erzeugungsbefehlsfolge als Antwort auf die Spieloperations-Befehlsdaten modifizieren kann.
DE69432385T 1993-07-02 1994-07-01 Bilderzeugung Expired - Lifetime DE69432385T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP19076493 1993-07-02
JP19076493 1993-07-02
JP19076593 1993-07-02
JP19076593A JP3618109B2 (ja) 1993-07-02 1993-07-02 中央演算処理装置
JP7652694 1994-03-23
JP7652694A JP3238567B2 (ja) 1993-07-02 1994-03-23 画像生成方法及び装置

Publications (2)

Publication Number Publication Date
DE69432385D1 DE69432385D1 (de) 2003-05-08
DE69432385T2 true DE69432385T2 (de) 2004-02-12

Family

ID=27302182

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69432385T Expired - Lifetime DE69432385T2 (de) 1993-07-02 1994-07-01 Bilderzeugung
DE69434014T Expired - Lifetime DE69434014T2 (de) 1993-07-02 1994-07-01 Vorrichtung und verfahren zur bilderzeugung
DE69433988T Expired - Lifetime DE69433988T2 (de) 1993-07-02 1994-07-01 Bilderzeugung

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE69434014T Expired - Lifetime DE69434014T2 (de) 1993-07-02 1994-07-01 Vorrichtung und verfahren zur bilderzeugung
DE69433988T Expired - Lifetime DE69433988T2 (de) 1993-07-02 1994-07-01 Bilderzeugung

Country Status (7)

Country Link
US (3) US5850540A (de)
EP (3) EP0632407B1 (de)
KR (1) KR100380705B1 (de)
CA (1) CA2127053C (de)
DE (3) DE69432385T2 (de)
MY (1) MY111274A (de)
TW (1) TW378309B (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3492761B2 (ja) * 1994-04-07 2004-02-03 株式会社ソニー・コンピュータエンタテインメント 画像生成方法及び装置
US6022274A (en) 1995-11-22 2000-02-08 Nintendo Co., Ltd. Video game system using memory module
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US6190257B1 (en) 1995-11-22 2001-02-20 Nintendo Co., Ltd. Systems and method for providing security in a video game system
JP3402926B2 (ja) * 1996-05-15 2003-05-06 シャープ株式会社 3次元画像処理装置
US6057857A (en) * 1996-06-12 2000-05-02 Citrix Systems, Inc. Method for the lossless compression of lines in a distributed computer system
JP3104643B2 (ja) * 1997-05-07 2000-10-30 株式会社セガ・エンタープライゼス 画像処理装置及び画像処理方法
JPH1115773A (ja) * 1997-06-24 1999-01-22 Matsushita Electron Corp 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法
KR100293523B1 (ko) * 1998-02-25 2001-09-17 구본준, 론 위라하디락사 액정표시장치
US6252600B1 (en) * 1998-10-02 2001-06-26 International Business Machines Corporation Computer graphics system with dual FIFO interface
JP2001243477A (ja) * 2000-02-29 2001-09-07 Toshiba Corp 動画像による交通量解析装置
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US20020029285A1 (en) 2000-05-26 2002-03-07 Henry Collins Adapting graphical data, processing activity to changing network conditions
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US7376695B2 (en) * 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US20050069222A1 (en) * 2003-07-17 2005-03-31 Marco Winzker Process and system for digital data signal processing
US7038695B2 (en) * 2004-03-30 2006-05-02 Mstar Semiconductor, Inc. User interface display apparatus using texture mapping method
JP2006065481A (ja) * 2004-08-25 2006-03-09 Aruze Corp 情報処理装置
JP4019380B2 (ja) * 2004-11-29 2007-12-12 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US8423673B2 (en) 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
WO2008062592A1 (fr) * 2006-11-22 2008-05-29 Sharp Kabushiki Kaisha Unité de commande d'affichage, système d'affichage embarqué, organe de commande d'affichage, et affichage embarqué
GB201403473D0 (en) * 2014-02-27 2014-04-16 Spragg Oliver Touch Field communication
EP3672248B1 (de) 2018-12-21 2021-01-27 Axis AB Verfahren und system zum hinzufügen von bildinhalt, das ein oder mehrere grafische objekte eines bildrahmens enthält, mithilfe eines codierers

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5657862A (en) * 1979-10-17 1981-05-20 Seiko Epson Corp Ink for ink-jet recording
US4941111A (en) * 1986-04-18 1990-07-10 Advanced Micro Devices, Inc. Video picking and clipping method and apparatus
US4792981A (en) * 1987-09-21 1988-12-20 Am International, Inc. Manipulation of run-length encoded images
US4885703A (en) * 1987-11-04 1989-12-05 Schlumberger Systems, Inc. 3-D graphics display system using triangle processor pipeline
US5058042A (en) * 1989-04-03 1991-10-15 Hewlett-Packard Company Method for employing a hierarchical display list in global rendering
US5016107A (en) * 1989-05-09 1991-05-14 Eastman Kodak Company Electronic still camera utilizing image compression and digital storage
JP2725062B2 (ja) * 1989-08-01 1998-03-09 株式会社リコー 画像処理装置
US5231679A (en) * 1989-09-01 1993-07-27 Sanyo Electric Co., Ltd. Image processing apparatus and image reducing circuit therefor
CA2038412C (en) * 1990-04-26 2001-10-16 Glenn M. Courtright Polygon sort engine
DE69122557T2 (de) * 1990-06-29 1997-04-24 Philips Electronics Nv Bilderzeugung
US5329616A (en) * 1990-08-16 1994-07-12 Canon Kabushiki Kaisha Compressed image stores for high resolution computer graphics
JP3068842B2 (ja) * 1990-08-27 2000-07-24 任天堂株式会社 画像処理装置におけるダイレクトメモリアクセス装置およびそれに用いる外部記憶装置
JP3285860B2 (ja) * 1990-11-19 2002-05-27 任天堂株式会社 モザイク画像表示装置
IT1252788B (it) * 1991-08-09 1995-06-28 Tower Tech Srl Sistema per la gestione della memorizzazione e restituzione di sequenze di segnali video su memorie di massa digitali
US5644689A (en) * 1992-01-13 1997-07-01 Hitachi, Ltd. Arbitrary viewpoint three-dimensional imaging method using compressed voxel data constructed by a directed search of voxel data representing an image of an object and an arbitrary viewpoint
US5388841A (en) * 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
US5295235A (en) * 1992-02-14 1994-03-15 Steve Newman Polygon engine for updating computer graphic display employing compressed bit map data
JPH07111743B2 (ja) * 1992-03-04 1995-11-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 三次元空間中の物体を回転させるグラフィック表示方法及び装置
US5469535A (en) * 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
JPH07111721B2 (ja) * 1992-06-05 1995-11-29 日本アイ・ビー・エム株式会社 線要素データの3次元変換装置及び方法
US5475803A (en) * 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
JPH07325934A (ja) * 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5457779A (en) * 1993-01-15 1995-10-10 Silicon Graphics, Inc. System for accessing graphic data in a SIMD processing environment
US5495562A (en) * 1993-04-12 1996-02-27 Hughes Missile Systems Company Electro-optical target and background simulation

Also Published As

Publication number Publication date
EP1300800A3 (de) 2003-04-23
US5784070A (en) 1998-07-21
DE69434014T2 (de) 2005-09-15
EP1300800A2 (de) 2003-04-09
CA2127053C (en) 2005-01-04
TW378309B (en) 2000-01-01
DE69432385D1 (de) 2003-05-08
EP0632407B1 (de) 2003-04-02
DE69433988D1 (de) 2004-10-14
EP0632407A1 (de) 1995-01-04
DE69434014D1 (de) 2004-10-21
CA2127053A1 (en) 1995-01-03
EP1300800B1 (de) 2004-09-15
EP1306808A1 (de) 2003-05-02
DE69433988T2 (de) 2005-09-08
EP1306808B1 (de) 2004-09-08
KR100380705B1 (ko) 2003-07-07
MY111274A (en) 1999-10-30
US6011564A (en) 2000-01-04
KR950004044A (ko) 1995-02-17
US5850540A (en) 1998-12-15

Similar Documents

Publication Publication Date Title
DE69432385T2 (de) Bilderzeugung
DE69333508T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
DE69534751T2 (de) Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium
DE69723613T2 (de) Aufnahme und/oder Wiedergabe von dreidimensionalen Bilddaten
DE69824075T2 (de) Informationsverarbeitungssystem, rechnerlesbare Medien, und Entwurfsystem
DE60022610T2 (de) Verfahren zur Animationskodierung in einer Bilddatei
DE69727109T2 (de) Verfahren und Gerät zur Bilddatenübertragung, Bildverarbeitung und Aufzeichnungsmedien dafür
DE602004009591T2 (de) Differenz-codierung durch verwendung eines 3d-graphikprozessors
DE60004827T2 (de) Segmentierung von komprimierten graphischen daten zur parallelen dekomprimierung und darstellung
DE60300788T2 (de) Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung
DE69936332T2 (de) Videospielvorrichtung
DE69831924T2 (de) Verfahren und Vorrichtung zur Anzeige von Panoramen mit Videodaten
DE69836924T2 (de) Block- und bandorientierter durchlauf in dreidimensionaler dreieckswiedergabe
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
DE69730645T2 (de) Datenverarbeitungsverfahren und -gerät
DE3718501A1 (de) Videoanzeigegeraet
DE69912576T2 (de) Filter zum transformieren von 3d-daten in einer hardware beschleunigten architektur
DE4231158C5 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE60105510T2 (de) Bilderzeugungsgerät
DE69737852T2 (de) Durch verbessertes speicher- und auslesesystem verschiedene arten von durch bildspeicherspezifischen hardwarespezifikationen verursachte verzögerungsfaktoren überwindender bilddekoder und bildspeicher
DE69820143T2 (de) Datenverarbeitungsgerät und -verfahren
DE69533911T2 (de) Verfahren und Gerät zum Erzeugen von Bildern
DE19531004C2 (de) Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten
DE60015213T2 (de) Paralelle Wiedergabevorrichtung
DE112007002200T5 (de) Computergrafiksystem mit mehreren parallelen Prozessoren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition