DE112004002390B4 - Verfahren und Vorrichtung zum Erzeugen einer Animation - Google Patents

Verfahren und Vorrichtung zum Erzeugen einer Animation Download PDF

Info

Publication number
DE112004002390B4
DE112004002390B4 DE112004002390T DE112004002390T DE112004002390B4 DE 112004002390 B4 DE112004002390 B4 DE 112004002390B4 DE 112004002390 T DE112004002390 T DE 112004002390T DE 112004002390 T DE112004002390 T DE 112004002390T DE 112004002390 B4 DE112004002390 B4 DE 112004002390B4
Authority
DE
Germany
Prior art keywords
texture
user interface
graphical user
memory
graphics
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 - Fee Related
Application number
DE112004002390T
Other languages
English (en)
Other versions
DE112004002390T5 (de
Inventor
Brent Hillsboro Baxter
Paul Tacoma Brown
William Gig Harbor Clifford
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112004002390T5 publication Critical patent/DE112004002390T5/de
Application granted granted Critical
Publication of DE112004002390B4 publication Critical patent/DE112004002390B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

In einigen Ausführungsformen beinhaltet ein Verfahren das Erzeugen unscharfer Kopien eines Objekts durch Anwenden einer Multitexturierung auf das Objekt während eines Durchgangs durch eine grafikverarbeitende Pipeline. In einigen Ausführungsformen beinhaltet eine Grafik-Pipeline einen Texturspeicher und einen Grafikprozessor, der mit dem Texturspeicher gekoppelt ist. Der Texturspeicher stellt einen Ort zum Speichern der Texturinformation bereit. Der Grafikprozessor stellt einen Prozessor zur Verarbeitung der Texturinformation durch Verschieben und Vermischen der Texturinformation in einem Durchgang durch den Grafikprozessor bereit, um verschobene und vermischte Texturinformation zu erhalten.

Description

  • ERFINDUNGSGEBIET
  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Computergrafik. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren zum Erzeugen einer Animation eines grafischen Benutzeroberflächenobjektes und eine Grafik-Pipeline zur Verwendung in einem derartigen Verfahren.
  • ALLGEMEINER STAND DER TECHNIK
  • Der Bedarf an und der Wunsch nach einer Animation oder einer Porträtierung von Bewegungen in Computersystemen nimmt laufend zu. Zum Beispiel ist es manchmal wünschenswert, ein offenes Fenster in einer Computersystemanzeige auf ein Symbol zu reduzieren. Bei einem Prozess zur Erzeugung dieses Effektes wird das Fenster aus der Anzeige entfernt und durch ein Symbol ersetzt. Ein attraktiverer Effekt ergibt sich jedoch, wenn das offene Fenster unter Einsatz von Animation auf ein Symbol reduziert wird. Eine Animation beinhaltet die rasche Anzeige einer Reihe von Bildframes während der Umwandlung eines ersten Bildes, wie eines Fensters, in ein zweites Bild, wie ein Symbol. Zur Vermeidung von stroboskopischen Effekten und Ruckartigkeit in der Animation werden die Bildframes mit einer Geschwindigkeit zwischen ungefähr einhundert Frames pro Sekunde und ungefähr zweihundert Frames pro Sekunde angezeigt. Leider sind die gegenwärtigen Verfahren zur Erzeugung und Anzeige von Bildframes bei diesen Geschwindigkeiten teuer, weil sie große hochschnelle Speicher und schnelle Prozessoren verwenden. Hinzu kommt, dass manche neuen und vorhandenen Computersysteme nicht die großen hochschnellen Speicher und schnellen Prozessoren besitzen, die von den gegenwärtigen Verfahren zur Erzeugung von Animationen benötigt werden, die weder stroboskopische Effekte noch Ruckartigkeit aufweisen.
  • In „Flow Visualization Using Moving Textures”, N. Max, B. Becker, Proc, of the ICASW/LaRC, 1999, 11 Seiten (Bibliografie: CiteSeer, http://citeseer.ist.psu.edu/max96flow.html) ist ein Verfahren offenbart, das Erzeugen und scharfe Kopien eines Objekts durch Anwenden einer Multitexturierung auf das Objekt in einem Durchgang durch eine Grafik verarbeitende Pipeline umfasst. Texture-Maps der Multitexturierung dienen der Bewegung, wozu diese gegeneinander verschoben werden.
  • In „The Motion Map: Efficient Computation of Steady Flow Animations”, B. Jobard, W. Lefer, Seiten 323–328, Proc. Of the 8th IEEE Visualization, 97 Conf., 1997, werden Bit-Pixel-Maps zur Darstellung von Bewegung beschrieben. Im übrigen befasst sich Hugo Elias in „Motion Blur”, 10 Seiten (http://freespace.virgin.net/hugo.elias/graphics/x_motion.htm) mit der Unschärfe bei Bewegungen und den hierzu korrespondierenden Bit-Pixel-Maps. Bei den aus den oben genannten Artikeln bekannten Verfahren werden vollständige Szenen, in denen sich ein Objekt bewegt, gerendert und aufeinanderfolgende Szenen zusammengefasst. Dies ist sehr zeitaufwendig oder erfordert große besonders schnelle Speicher und schnelle Prozessoren.
  • Der Erfindung liegt somit die Aufgabe zugrunde, ein Verfahren und eine Grafik-Pipeline der Eingangs genannten Art bereitzustellen, mittels derer sich Animationen eines grafischen Benutzeroberflächenobjekts schneller und/oder mit nicht besonders schnellen Speichern und Prozessoren erzeugen lassen.
  • Erfindungsgemäß wird diese Aufgabe gelöst durch ein Verfahren gemäß Anspruch 1 und durch eine Grafik-Pipeline gemäß Anspruch 8. Im übrigen liefert die vorliegende Erfindung auch ein maschinenlesbares Medium mit maschinenausführbaren Anweisungen zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 5.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Ablaufdiagramm eines Verfahrens zur Erzeugung von unscharfen Kopien eines Objekts gemäß einiger Ausführungsformen der vorliegenden Erfindung.
  • 2 ist ein Ablaufdiagramm eines Verfahrens zur Erzeugung eines verschobenen und vermischten, mit einem Hintergrund verschmolzenen grafischen Benutzeroberflächenobjekts gemäß einiger Ausführungsformen der vorliegenden Erfindung.
  • 3A ist eine Veranschaulichung einer Reihe von grafischen Benutzeroberflächenobjekten einschließlich verschobener Objekte, die gestrichelt dargestellt sind, gemäß einiger Ausführungsformen der vorliegenden Erfindung.
  • 3B ist eine Veranschaulichung verschobener und vermischter Objekte, die aus den grafischen Benutzeroberflächenobjekten nach 3A gebildet sind.
  • 4 ist ein Blockdiagramm eines Computersystems mit einem Prozessor, einer Speichereinheit, einem Rasterizer, einem Framepuffer, einer Anzeige und einer grafischen Pipeline, die zum Einsatz in Verbindung mit den Verfahren nach 1 und 2 gemäß einigen Ausführungsformen der vorliegenden Erfindung geeignet sind.
  • 5 ist ein Ablaufdiagramm eines Verfahrens, welches zum Einsatz in Verbindung mit einem maschinenlesbaren Medium, wie der in 4 dargestellten Speichereinheit, gemäß einigen Ausführungsformen der vorliegenden Erfindung geeignet ist.
  • BESCHREIBUNG
  • In der folgenden Beschreibung einiger Ausführungsformen der vorliegenden Erfindung wird auf die beigefügten Zeichnungen verwiesen, die Teil derselben sind, und in denen spezifische Ausführungsformen der vorliegenden Erfindung zur Ausführung in der Praxis illustrativ dargestellt sind. In den Zeichnungen bezeichnen gleiche Bezugsziffern weitgehend gleiche Komponenten in allen Ansichten. Diese Ausführungsformen sind ausführlich genug beschrieben, um dem Fachmann zu ermöglichen, die vorliegende Erfindung auszuführen. Andere Ausführungsformen können unter Vornahme struktureller, logischer und elektrischer Änderungen eingesetzt werden, ohne vom Geltungsbereich der vorliegenden Erfindung abzuweichen. Die folgende ausführliche Beschreibung ist nicht einschränkend zu verstehen, wobei der Geltungsbereich der vorliegenden Erfindung ausschließlich durch die beigefügten Ansprüche definiert wird, die auch den vollen Geltungsbereich von Äquivalenten abdecken, auf die diese Ansprüche ein Anrecht haben.
  • 1 zeigt ein Ablaufdiagramm eines Verfahrens 100 zur Erzeugung unscharfer Kopien eines Objekts gemäß einigen Ausführungsformen der vorliegenden Erfindung. Das Verfahren 100 beinhaltet die Erzeugung von unscharfen Kopien eines Objekts durch Anlegen von Multitexturierung an das Objekt während eines Durchgangs durch eine Grafik-verarbeitende Pipeline (Block 102). Wenn unscharfe Kopien des Objekts auf einer Anzeige, wie der Anzeige im Computersystem von 4, betrachtet werden, ist der Effekt weitgehend ähnlich des Effekts, der durch Fotografieren des Objekts mit einer endlichen Belichtungszeit erhalten wird. Eine Beschreibung der Verwendung von Multitexturierung zur Erzeugung einer unscharfen Kopie eines Objekts ist in der Beschreibung von 3 unten zu finden. Eine Beschreibung des Anlegens von Multitexturierung an ein Objekt während eines Durchgangs durch eine Grafik-verarbeitende Pipeline ist in der Beschreibung von 4 unten zu finden.
  • Der hier benutzte Ausdruck „Objekt” bezieht sich auf grafische Objekte, wie in der Computergrafik benutzte Objekte. Zu grafischen Objekten gehören alle Objekte, die auf einer visuellen Anzeige angezeigt werden können. Einige beispielhafte grafischen Objekte sind Objekte, die in grafischen Benutzeroberflächen, wie in Fenstern, Drop-Down-Menüs, Webseitenanzeigen und Symbolen zum Einsatz kommen.
  • Der hier benutzte Ausdruck „Multitexturierung” bezieht sich auf die Arbeitsgänge des Abbildens mehrerer Texturen oder Oberflächenmuster auf ein Objekt und des Verschiebens der Muster mit Bezug auf das Objekt. Multitexturierung, welches das Kombinieren von Arbeitsgängen, wie das Hinzufügen von Texturen, beinhaltet, wird in einem einzigen Arbeitsgang in einer Grafik-Hardwareeinheit, wie einer Grafik-Pipeline, durchgeführt. Eine Beschreibung einer beispielhaften Grafik-Pipeline, die für den Einsatz in Verbindung mit dem Verfahren 100 geeignet ist, findet sich in der Beschreibung des Computersystems von 4. Zu beispielhaften Einsätzen von Multitexturierung gehören „Light Mapping” (Lichtabbildung), „Specular Mapping” (Spiegelabbildung), „Environment Mapping” (Umgebungsabbildung), „Gloss Mapping” (Glanzabbildung), Morphing und mit Prägen vergleichbares „Bump Mapping”. Der Verschiebungsvorgang beinhaltet das Verschieben des Musters mit Bezug auf das Objekt durch Vornahme einer geometrischen Umwandlung des Musters.
  • Unscharfe Objekte, wie unscharfe Fenster und unscharfe Symbole, die mit dem Verfahren 100 erzeugt werden, können auf einem visuellen Anzeigegerät, wie einer Kathodenröhre, einem Plasma-Bildschirm oder einer Flüssigkristallanzeige dargestellt werden, um die Illusion zu erzeugen, dass sich das Objekt bewegt. Die Illusion der Bewegung kann durch Anzeige einer kleinen Anzahl von unscharfen Objekten erzeugt werden, damit die Illusion der Bewegung in Systemen erzeugbar ist, die weder große, hochschnelle Speicher noch schnelle Prozessoren aufweisen. Zum Beispiel werden in einigen Ausführungsformen fünf unscharfe Objekte verwendet, die über ungefähr ein Viertel einer Sekunde angezeigt werden. Zu beispielhaften Systemen, die eine visuelle Anzeige, aber keine hochschnellen Speicher oder schnelle Prozessoren aufweisen, gehören Computersysteme, wie einige Laptop-Computer, und Kommunikationssysteme, wie einige zellulare Telefone.
  • Um ein Objekt in Bewegung anzuzeigen, werden Bilder unscharfer Kopien des Objekts rasch aufeinanderfolgend an mehreren verschiedenen Orten auf einer visuellen Anzeige dargestellt. Jedes der Bilder der unscharfen Kopien wird durch Vermischen und Verschieben einer oder mehrerer Instanzen des Objekts gebildet. Die Illusion der Bewegung kann durch Anzeige einer kleinen Anzahl der Bilder der unscharfen Kopien des Objekts erzeugt werden. Die Bilder werden in nur einem Durchgang durch den Grafikprozessor unter Einsatz des Multitexturierungsmerkmals eines Grafikprozessors erstellt und können daher rasch aufeinanderfolgend dargestellt werden. Durch Erstellen der Bilder in nur einem Durchgang durch den Grafikprozessor wird die Bandbreite im Vergleich zu der Bandbreite reduziert, die zum Erstellen von Bildern in mehreren Durchgängen durch den Grafikprozessor benötigt wird.
  • Eine beispielhafte Animation, die zur Erzeugung mit dem Verfahren 100 geeignet ist, beinhaltet das Drehen eines Anwendungsfensters, wie eines Arbeitsblattfensters, während es in den Hintergrund tritt. In dieser Animation ist das Arbeitsblattfenster in einer anfänglichen Position im dreidimensalen Raum angeordnet. An das Arbeitsblattfenster wird eine Textur angelegt. Aufeinanderfolgende Instanzen der Textur werden mit der ersten Instanz des Arbeitsblattfensters vermischt. Jedoch wird bei jedem Vermischen der Textur die geometrische Abbildung der Textur leicht gedreht. Ferner beinhaltet jede der geometrischen Abbildungen eine größenmäßige Reduzierung des Arbeitsblattfensters, um den Effekt des Zurückziehens des Arbeitsblattfensters aus dem Vordergrund in den Hintergrund des Betrachtungsraums zu simulieren.
  • In der Animation des Arbeitsblattfensters, in der alle Instanzen des drehenden Arbeitsblattfensters überlappen, kann das Ergebnis der Multitexturierung opak ausfallen. Wo jedoch nur einige der Instanzen des drehenden Arbeitsblattfensters überlappen, kann der Ergebnis der Multitexturierung transparent sein. Folglich kann das Verfahren 100 ein „motion-blurred” (durch Bewegung unscharf gewordenes) Bild eines transparenten Objekts mit einer reduzierten Transparenz erzeugen, in dem alle Bilder überlappen, verglichen mit der Transparenz des „motion-blurred” Bildes, in dem nur einige der Bilder überlappen.
  • In einigen Ausführungsformen beinhaltet das Erzeugen unscharfer Kopien des Objektes durch Anlegen von Multitexturierung an das Objekt während eines Durchgangs durch die Grafikverarbeitende Pipeline das Erzeugen einer Textur und das Verschieben der Textur mit Bezug auf das Objekt, bevor die Textur an das Objekt angelegt wird. Zum Beispiel beinhaltet das Erzeugen einer unscharfen Kopie einer kreisförmigen Scheibe mit einem Umfang die Erzeugung einer Textur, wie einer gewölbten (bumped) Textur, und das Verschieben der Textur heraus aus dem Umfang der kreisförmigen Scheibe. Durch Anlegen der verschobenen, gewölbten Textur an die kreisförmige Scheibe wird eine längliche Scheibe mit einer gewölbten Textur erzeugt. Die längliche Scheibe ist eine unscharfe Kopie der kreisförmigen Scheibe. Das Anzeigen einer rasch aufeinanderfolgenden kleinen Anzahl von länglichen Scheiben auf einer visuellen Anzeige entlang der Bewegungsbahn erzeugt die Illusion der Bewegung für die ursprüngliche kreisförmige Scheibe. Eine ausführlichere Beschreibung dieses Beispiels findet sich in der Beschreibung von 3 unten.
  • In einigen Ausführungsformen beinhaltet das Verfahren 100 ferner das Anzeigen der unscharfen Kopien des Objekts auf einer visuellen Anzeige, wie einem Plasma-Bildschirm. In einigen Ausführungsformen beinhaltet das Erzeugen unscharfer Kopien des Objekts durch Anlegen von Multitexturierung an das Objekt während eines Durchgangs durch die Grafikverarbeitende Pipeline das Anlegen gewölbter (bumped) Texturierung an das Objekt. In einigen Ausführungsformen beinhaltet das Erzeugen unscharfer Kopien des Objekts während eines Durchgangs durch die Grafik-verarbeitende Pipeline ferner das Anzeigen der unscharfen Kopien des Objekts auf einer mit einem Kommunikationsgerät, zum Beispiel einem zellularen Telefon, gekoppelten visuellen Anzeige.
  • 2 ist ein Ablaufdiagramm eines Verfahrens 200 zur Erzeugung eines verschobenen und vermischten, mit einem Hintergrund verschmolzenen grafischen Benutzeroberflächenobjekts gemäß einigen Ausführungsformen der vorliegenden Erfindung. Das Verfahren 200 beinhaltet das Erfassen eines grafischen Benutzeroberflächenobjekts einschließlich der zugehörigen Textur (Block 202), das Erzeugen eines oder mehrerer Instanzen der zugehörigen Textur (Block 204), das Vermischen der einen oder der mehreren verschobenen Instanzen der zugehörigen Textur zur Erzeugung einer vermischten Textur (Block 206), Verschieben der vermischten Textur zum Erhalt einer vermischten und verschobenen Textur (Block 208), Anlegen der vermischten und verschobenen Textur an das grafische Benutzeroberflächenobjekt (Block 210) und Verschmelzen des grafischen Benutzeroberflächenobjekts mit einem Hintergrund (Block 212).
  • In einigen Ausführungsformen beinhaltet das Erfassen eines grafischen Benutzeroberflächenobjekts das Erfassen eines grafischen Benutzeroberflächenfensters. Zum Beispiel kann das Erfassen eines grafischen Benutzeroberflächenobjekts das Erfassen eines grafischen Benutzeroberflächenfensters beinhalten, in dem ein Arbeitsblatt angezeigt ist.
  • In einigen Ausführungsformen beinhaltet das Verschmelzen des grafischen Benutzeroberflächenobjekts mit dem Hintergrund das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Hintergrundfenstern. Zum Beispiel kann das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Hintergrundfenstern das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Textverarbeitungsfenstern beinhalten.
  • In einigen Ausführungsformen beinhaltet das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Hintergrundfenstern das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Webseitenfenstern. Zum Beispiel kann das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Webseitenfenstern das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Webseitenfenstern beinhalten, die eine Zeitungsspalte anzeigen.
  • In einigen Ausführungsformen beinhaltet das Verschmelzen des grafischen Benutzeroberflächenobjekts mit dem Hintergrund das Hinzufügen des grafischen Benutzeroberflächenobjekts zum Hintergrund. Zum Beispiel kann das Verschmelzen des grafischen Benutzeroberflächenobjekts mit dem Hintergrund das Hinzufügen des grafischen Benutzeroberflächenobjekts zu einem Hintergrund mit gewölbter (Bump) Textur beinhalten.
  • 3A ist eine Veranschaulichung einer Reihe 300 von grafischen Benutzeroberflächenobjekten 302, 304 und 306 einschließlich verschobener Objekte 308, 310, 312 und 314, die gestrichelt dargestellt sind, gemäß einiger Ausführungsformen der vorliegenden Erfindung. Die Reihe 300 von grafischen Benutzeroberflächenobjekten 302, 304 und 306 sind an Punkten auf einem Pfad ab einer Koordinate (0, 0) bis zu einer Koordinate (2, 0) im Verlauf einer Zeit t dargestellt. Die verschobenen Objekte 308, 310, 312 und 314 stellen verschobene Instanzen der grafischen Benutzeroberflächenobjekte 302, 304 und 306 dar.
  • 3B ist eine Veranschaulichung der aus den grafischen Benutzeroberflächenobjekten 302, 304 und 306 gebildeten verschobenen und vermischten Objekte 316, 318 und 320 von 3A und der verschobenen Objekte 308, 310, 312 und 314 von 3A. Die manchmal als unscharfe Kopien bezeichneten verschobenen und vermischten Objekte 316, 318 und 320 der grafischen Benutzeroberflächenobjekte 302, 304 und 306 von 3A werden durch Verschieben jedes der grafischen Benutzeroberflächenobjekte 302, 304 und 306 zur Bildung der verschobenen Objekte 308, 310, 312 und 314 von 3A und durch Vermischen der verschobenen Objekte 308, 310, 312 und 314 mit den grafischen Benutzeroberflächenobjekten 302, 304 und 306 gebildet. Zum Beispiel wird das verschobene Objekt 308 mit dem grafischen Benutzeroberflächenobjekt 302 vermischt, um das verschobene und vermischte Objekt 316 zu bilden. Die verschobenen Objekte 310 und 312 werden mit dem grafischen Benutzeroberflächenobjekt 304 vermischt, um das verschobene und vermischte Objekt 318 zu bilden. Die längliche Form des verschobenen und vermischten Objekts 318 wird durch Verschieben und Vermischen sowohl am führenden als auch am nachlaufenden Ende des grafischen Benutzeroberflächenobjekts 304 erhalten. Das verschobene Objekt 314 wird mit dem grafischen Benutzeroberflächenobjekt 306 vermischt, um das verschobene und vermischte Objekt 320 zu erzeugen. Jedes der verschobenen und vermischten Objekte 316, 318 und 320 weist eine weitgehende längliche Form auf, und wenn die verschobenen und vermischten Objekte 316, 318 und 320 rasch aufeinanderfolgend auf einer visuellen Anzeige angezeigt werden, ergibt sich die Illusion der Bewegung.
  • Obwohl nur vier verschobene Objekte, nämlich 308, 310, 312 und 314, zur Bildung der verschobenen und vermischten Objekte 316, 318 und 320 benutzt werden, wird ein Fachmann erkennen, dass jede beliebige Anzahl von verschobenen Objekten zur Erzeugung der verschobenen und vermischten Objekte 316, 318 und 320 benutzt werden kann. In einigen Ausführungsformen werden zwischen acht und ca. zehn verschobene Objekten vermischt und zur Bildung eines verschobenen und vermischten Objekts verwendet. Überdies kann die relative Transparenz jedes der verschobenen Objekte 308, 310, 312 und 314 moduliert oder verändert werden, um spezielle Effekte, wie Durchscheinen, in den verschobenen und vermischten Objekten 316, 318 und 320 und in der resultierenden Animation zu erhalten.
  • 4 ist ein Blockdiagramm eines Computersystems 400 mit einem Prozessor 402, einer Speichereinheit 404, einem Prozessorspeicher 406, einem Rasterizer 408, einem Framepuffer 410, einer Anzeige 412 und einer Grafik-Pipeline 414, die zum Einsatz in Verbindung mit den in 1 und 2 dargestellten Verfahren gemäß einigen Ausführungsformen der vorliegenden Erfindung geeignet sind. Die Grafik-Pipeline 414 beinhaltet einen Grafikprozessor 416 und einen Texturspeicher 418. Obwohl in der unten folgenden Beschreibung des Grafikprozessors 416 und des Texturspeichers 418 bestimmte Funktionen erwähnt werden, die mit der einen oder anderen dieser Einheiten verbunden sind, wird der Fachmann erkennen, dass jegliche Aufteilung der Funktionen zwischen diesen Einheiten lediglich dazu dient, die Beschreibung der Betriebsweise der Grafik-Pipeline 414 zu vereinfachen. Die im Grafikprozessor 416 enthaltenen Funktionen können in den Texturspeicher 418 aufgenommen werden, und die im Texturspeicher 418 enthaltenen Funktionen können in den Grafikprozessor 416 aufgenommen werden.
  • Der Prozessor 402 ist mit der Speichereinheit 404 und dem Prozessorspeicher 406 gekoppelt. Der Prozessorspeicher 406 ist am Grafikprozessor 416 und am Texturspeicher 418 an die Grafik-Pipeline gekoppelt. Die Grafik-Pipeline 414 ist am Grafikprozessor 416 und am Texturspeicher 418 an den Rasterizer 408 gekoppelt. Der Rasterizer 408 ist an den Framepuffer 410 gekoppelt. Und der Framepuffer 410 ist an das Display 412 und am Grafikprozessor 416 an die Grafik-Pipeline 414 gekoppelt. Der Fachmann wird erkennen, dass die Ausführungsform der Grafik-Pipeline 414 in 4 nur eine Ausführungsform unter vielen möglichen Ausführungsformen einer Grafik-Pipeline ist, die zum Einsatz in Verbindung mit dem Computersystem 400 geeignet ist.
  • Der Prozessor 402 ist ein programmierbares Gerät, welches Information speichern, abrufen und verarbeiten kann. Der Prozessor 402 ist nicht auf einen bestimmten Prozessortyp beschränkt. Beispielhafte Prozessoren, die zum Einsatz in Verbindung mit dem Computersystem 400 geeignet sind, sind Computersystemprozessoren mit komplexem Anweisungssatz, Prozessoren mit reduziertem Anweisungssatz, Digitalsignalprozessoren und Textprozessoren mit sehr langem Anweisungssatz.
  • Die Speichereinheit 404 stellt Speicherplatz mit hoher Kapazität für den Prozessor 402 bereit. Die Speichereinheit 404 ist nicht auf einen bestimmten Speichertyp beschränkt. Beispielhafte Speichereinheitstypen, die zum Einsatz in Verbindung mit dem Computersystem 400 geeignet sind, sind Magnetspeicher, wie magnetische Plattenspeicher oder magnetische Bandspeicher, und optische Speicher, wie optische Plattenspeicher oder holographische Speicher.
  • Der Prozessorspeicher 406 stellt Informationsspeicher mit schnelleren Zugriffszeiten als die Speichereinheit 404 bereit. Der Prozessorspeicher 406 ist nicht auf einen bestimmten Prozessorspeichertyp beschränkt. Beispielhafte Prozessorspeichertypen, die zum Einsatz in Verbindung mit dem Computersystem 400 geeignet sind, sind Halbleiterspeicher, wie Direktzugriffsspeicher, dynamische Direktzugriffsspeicher, statische Direktzugriffsspeicher, magnetische Direktzugriffsspeicher und Flash-Speicher.
  • Der Rasterizer 408 empfängt Bildinformation vom Texturspeicher 418 und vom Grafikprozessor 416 und liefert „gerasterte” (rasterized) Bildinformation an den Framepuffer 410.
  • Der Framepuffer 410 beinhaltet einen Speicher zur Vorbereitung von Frames für die Darstellung auf der Anzeige 412. Der Framepuffer 410 beinhaltet einen Halbleiterspeicher, wie einen dynamischen Direktzugriffsspeicher.
  • Die Anzeige 412 dient zur visuellen Darstellung von Information, die vom Framepuffer bereitgestellt wird. Die Anzeige 412 ist nicht auf einen bestimmten Anzeigetyp beschränkt. Beispielhafte Anzeigetypen, die zum Einsatz in Verbindung mit dem Computersystem 400 geeignet sind, sind Kathodenröhreanzeigen, Plasma-Bildschirmanzeigen und Flüssigkristallanzeigen.
  • Die Grafik-Pipeline 414 beinhaltet den Grafikprozessor 416 und den Texturspeicher 418. Der Grafikprozessor 416 verarbeitet vom Prozessorspeicher 406 und Texturspeicher 418 empfangene Information. In einigen Ausführungsformen ist der Grafikprozessor 416 ein integrierter Prozessor zur Verarbeitung von Bildern, die aus Bildelementen oder Pixeln bestehen. In einigen Ausführungsformen beinhaltet der Grafikprozessor 416 einen Satz diskreter Verarbeitungseinheiten, die für eine Bildverarbeitungsweise eines bestimmten Typs konfiguriert werden kann, wie zum Beispiel zum Vermischen oder zum Vermischen und Verschieben von Pixeln.
  • Im Betrieb liest der Prozessor 402 Texturinformation aus der Speicherdeinheit 404 und schreibt die Texturinformation in den Prozessorspeicher 406. In der Grafik-Pipeline 414 liest der Texturspeicher 418 Texturinformation aus dem Prozessorspeicher 406. Der Grafikprozessor 416 liest Texturinformation aus dem Texturspeicher 418 oder dem Prozessorspeicher 406. Der Grafikprozessor 416 verarbeitet die Texturinformation. Die Verarbeitung beinhaltet Verschieben und Vermischen der Texturinformation in einem Durchgang durch die Grafik-Pipeline 414, um verschobene und vermischte Texturinformation zu erhalten. Der Grafikprozessor 416 legt die verschobene und vermischte Texturinformation an ein Objekt an und stellt das Objekt am Rasterizer 408 bereit. In einigen Ausführungsformen liest der Grafikprozessor den Texturspeicher 418 einmal und legt die Textur mehrmals mit verschiedenen Verschiebungen oder Versätzen an ein grafisches Benutzeroberflächenobjekt an. In einigen Ausführungsformen hat das grafische Benutzeroberflächenobjekt ein grafisches Benutzeroberflächenfenster. Das grafische Benutzeroberflächenobjekt oder -fenster (nach dem Anlegen von verschobener oder vermischter Textur) stellt bei Anzeige an einer Mehrzahl von Orten auf der Anzeige 412 die Illusion der Bewegung bereit.
  • 5 ist Ablaufdiagramm eines Verfahrens 500, welches zum Einsatz als maschinenausführbare Anweisungen in Verbindung mit einem maschinenlesbaren Medium geeignet ist, wie zum Beispiel der Speichereinheit 404 in 4 und des Grafikprozessors 416 in 4, gemäß einiger Ausführungsformen der vorliegenden Erfindung. Das Verfahren 500 beinhaltet das Erzeugen einer oder mehrerer verschobener Instanzen eines Objekts (Block 502) und das Vermischen des Objekts und der einen oder der mehreren verschobenen Instanzen des Objekts zum Erhalt eines vermischten Objekts (Block 504). In einigen Ausführungsformen beinhaltet das Verfahren 500 ferner das Anzeigen des vermischten Objekts auf einer visuellen Anzeige. In einigen Ausführungsformen beinhaltet das Verfahren 500 ferner das Verschmelzen des vermischten Objekts mit einem Hintergrund. In einigen Ausführungsformen beinhaltet das Verfahren 500 ferner das Anzeigen des vermischten Objekts mit einem Hintergrund. In einigen Ausführungsformen beinhaltet das Anzeigen des vermischten Objekts mit dem Hintergrund das Anzeigen des vermischten Objekts mit dem Hintergrund auf einem Kommunikationsgerät.
  • Verweise in der Spezifikation auf „eine Ausführungsform”, „eine einzige Ausführungsform”, „einige Ausführungsformen” oder „andere Ausführungsformen” bedeuten, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, die in Verbindung mit den Ausführungsformen beschrieben wurde, in mindestens einige Ausführungsformen, aber nicht unbedingt in alle Ausführungsformen der Erfindung aufgenommen wurde. Die verschiedenen Erwähnungen von „eine Ausführungsform”, „eine einzige Ausführungsform” oder „einige Ausführungsformen” beziehen sich nicht unbedingt alle auf die gleichen Ausführungsformen.
  • Wenn die Spezifikation angibt, dass eine Komponente enthalten „sein kann” oder „sein könnte”, bedeutet dies, dass die betreffende Komponente, das betreffende Merkmale oder die betreffende Eigenschaft nicht zwingend erforderlich ist. Wenn die Spezifikation oder ein Anspruch auf ”ein” Element verweist, bedeutet dies nicht, dass es nur eine Instanz des Elements gibt. Wenn die Spezifikation oder ein Anspruch auf „ein zusätzliches” Element verweist, nimmt dies nicht vorweg, dass es mehr als ein zusätzliches Element gibt.
  • Obwohl in dieser Schrift spezifische Ausführungsformen beschrieben und veranschaulicht wurden, wird der Fachmann anhand dieser Offenbarung erkennen, dass jede Anordnung, die der Erreichung des gleichen Zwecks dient, die dargestellte spezifische Ausführungsform ersetzen kann. Diese Anmeldung dient dem Zweck, alle Anpassungen oder Varianten der vorliegenden Erfindung abzudecken. Folglich ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und deren Äquivalente begrenzt ist.

Claims (10)

  1. Verfahren zum Erzeugen einer Animation eines grafischen Benutzeroberflächenobjekts, mit den Schritten: Erfassen des grafischen Benutzeroberflächenobjekts einschließlich der zugehörigen Textur (202), Erzeugen einer oder mehrerer verschobener Instanzen der zugehörigen Textur (204), Vermischen der einen oder mehreren Instanzen der zugehörigen Textur zu einer vermischten Textur (206), Verschieben der vermischten Textur zum Erhalt einer vermischten und verschobenen Textur (208), Anwenden der vermischten und verschobenen Textur auf das grafische Benutzerflächenobjekt (210); und Verschmelzen des grafischen Benutzeroberflächenobjekts mit einem Hintergrund (212).
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, das das Erfassen des grafischen Benutzeroberflächenobjekts das Erfassen eines grafischen Benutzeroberflächenfensters umfasst.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Verschmelzen des grafischen Benutzeroberflächenobjekts mit dem Hintergrund das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Hintergrundfenstern umfasst.
  4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Hintergrundfenstern das Verschmelzen des grafischen Benutzeroberflächenfensters mit einem oder mehreren Webseitenfenstern umfasst.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Verschmelzen des grafischen Benutzeroberflächenobjekts mit dem Hintergrund das Hinzufügen des grafischen Benutzeroberflächenobjekts zum Hintergrund umfasst.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Textur der führenden und die Textur der nachlaufenden verschobenen Instanz (310, 312) mit der Textur des Benutzeroberflächenobjekts (304) vermischt werden.
  7. Maschinenlesbares Medium mit maschinenausführbaren Anweisungen zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 5.
  8. Grafik-Pipeline (414) zur Verwendung in einem Verfahren nach einem der Ansprüche 1 bis 6, mit einem Texturspeicher (418) zum Speichern von Texturinformation und einem Grafikprozessor (416), der mit dem Texturspeicher (418) gekoppelt ist, wobei der Grafikprozessor (416) die Texturinformation durch Verschieben und Vermischen der Texturinformation in einem Durchgang durch den Grafikprozessor (416) verarbeitet, um eine verschobene und vermischte Texturinformation zu erhalten.
  9. Grafik-Pipeline (414) nach Anspruch 7, dadurch gekennzeichnet, dass der Texturspeicher zum Einlesen von in einem mit einem Prozessor (402) verbundenen Prozessorspeicher (406) gespeicherter Texturinformation eingerichtet ist.
  10. Grafik-Pipeline (414) nach einem der Ansprüche 7 bis 8, dadurch gekennzeichnet, dass der Grafikprozessor (416) und der Texturspeicher (418) mit einem Rasterizer (408) verbunden sind, wobei der Rasterizer (408) Bildinformation vom Texturspeicher (418) und vom Grafikprozessor (416) empfängt und gerasterte Bildinformation an einen Speicher zur Vorbereitung von Frames für die Darstellung (410) liefert.
DE112004002390T 2003-12-19 2004-12-03 Verfahren und Vorrichtung zum Erzeugen einer Animation Expired - Fee Related DE112004002390B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/741,808 US7382373B2 (en) 2003-12-19 2003-12-19 Method and apparatus for producing animation
US10/741,808 2003-12-19
PCT/US2004/040385 WO2005066899A1 (en) 2003-12-19 2004-12-03 Method and apparatus for producing animation

Publications (2)

Publication Number Publication Date
DE112004002390T5 DE112004002390T5 (de) 2006-11-02
DE112004002390B4 true DE112004002390B4 (de) 2009-11-26

Family

ID=34678278

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112004002390T Expired - Fee Related DE112004002390B4 (de) 2003-12-19 2004-12-03 Verfahren und Vorrichtung zum Erzeugen einer Animation

Country Status (8)

Country Link
US (1) US7382373B2 (de)
JP (1) JP4388962B2 (de)
KR (1) KR100829637B1 (de)
CN (1) CN1894727B (de)
DE (1) DE112004002390B4 (de)
GB (1) GB2423223B (de)
TW (1) TWI272549B (de)
WO (1) WO2005066899A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7564458B2 (en) * 2004-12-15 2009-07-21 Microsoft Corporation System and method for interactively linking data to shapes in a diagram
KR100829564B1 (ko) * 2006-09-29 2008-05-14 삼성전자주식회사 효율적으로 모션 블러 효과를 제공하는 3차원 그래픽스렌더링 방법 및 장치
JP5013511B2 (ja) * 2006-10-17 2012-08-29 任天堂株式会社 ゲームプログラムおよびゲーム装置
US8416245B2 (en) * 2008-01-15 2013-04-09 Microsoft Corporation Creation of motion blur in image processing
US8749560B2 (en) * 2010-10-19 2014-06-10 Apple Inc. Image motion blurring
US8854377B2 (en) * 2011-02-24 2014-10-07 Intel Corporation Hierarchical motion blur rasterization
TWI484442B (zh) * 2012-09-20 2015-05-11 Univ Nat Taiwan Science Tech 錯視影像產生裝置及其方法
KR20140095414A (ko) * 2013-01-24 2014-08-01 (주) 애니펜 애니메이션의 모션 시퀀스를 생성하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN103177466A (zh) * 2013-03-29 2013-06-26 龚南彬 一种动画制作装置及***
CN103337089A (zh) * 2013-06-26 2013-10-02 四川长虹电器股份有限公司 一种在3d空间中实现文字跑马灯效果的方法
CN103455969B (zh) * 2013-08-28 2019-06-04 腾讯科技(成都)有限公司 图像处理的方法及装置
CN104091359B (zh) * 2014-07-23 2018-01-16 Tcl集团股份有限公司 对位图格式的纹理贴图模拟矢量形变动画的方法和装置
WO2024118082A1 (en) * 2022-12-02 2024-06-06 Innopeak Technology, Inc. Methods and systems for rendering video graphics

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999185A (en) * 1992-03-30 1999-12-07 Kabushiki Kaisha Toshiba Virtual reality control using image, model and control data to manipulate interactions
US5678191A (en) * 1995-05-01 1997-10-14 Motorola, Inc. Method and apparatus for providing acknowledgements within a communication system
JP3739888B2 (ja) * 1997-03-27 2006-01-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US6392675B1 (en) * 1999-02-24 2002-05-21 International Business Machines Corporation Variable speed cursor movement
US6956576B1 (en) * 2000-05-16 2005-10-18 Sun Microsystems, Inc. Graphics system using sample masks for motion blur, depth of field, and transparency
US6756989B1 (en) * 2000-08-25 2004-06-29 Microsoft Corporation Method, system, and computer program product for filtering a texture applied to a surface of a computer generated object
US8972890B2 (en) * 2002-03-06 2015-03-03 Apple Inc. Aminated menu bar
GB2391149B (en) * 2002-07-19 2005-10-26 Autodesk Canada Inc Processing scene objects
US20050204306A1 (en) * 2003-09-15 2005-09-15 Hideya Kawahara Enhancements for manipulating two-dimensional windows within a three-dimensional display model

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ELIAS, Hugo: "Motion Blur", 10 Pgs., http://freesp ace.virgin.net/hugo.elias/graphics/ x_motion.htm, Altersnachweis gem ß "WayBackMachine": Feb 11, 2001, http://web.archive.org/web/*/http://freespac e.virgin.net/ hugo.elias/graphics/x_motion.htm) *
JOBARD, B., LEFER, W.: "The Motion Map: Efficient Computation of Steady Flow Animations", Pgs. 323-328 Proc. of the 8th IEEE Visualization, 97 Conf., 1997 *
MAX, N., BECKER, B.: "Flow Visualization Using Moving Textures", Proc. of the ICASW/LaRC, 1999, 11 Pgs., Bibliography CiteSeer, http://citeseer.is t.edu/max96flow.html *
MAX, N., BECKER, B.: "Flow Visualization Using Moving Textures", Proc. of the ICASW/LaRC, 1999, 11 Pgs., Bibliography CiteSeer, http://citeseer.is t.edu/max96flow.html JOBARD, B., LEFER, W.: "The Motion Map: Efficient Computation of Steady Flow Animations", Pgs. 323-328 Proc. of the 8th IEEE Visualization, 97 Conf., 1997 ELIAS, Hugo: "Motion Blur", 10 Pgs., http://freesp ace.virgin.net/hugo.elias/graphics/ x_motion.htm, Altersnachweis gem ß "WayBackMachine": Feb 11, 2001, http://web.archive.org/web/*/http://freespac e.virgin.net/ hugo.elias/graphics/x_motion.htm)

Also Published As

Publication number Publication date
CN1894727B (zh) 2013-03-13
GB2423223A (en) 2006-08-16
WO2005066899A1 (en) 2005-07-21
US7382373B2 (en) 2008-06-03
KR100829637B1 (ko) 2008-05-19
TWI272549B (en) 2007-02-01
GB0608718D0 (en) 2006-06-14
JP4388962B2 (ja) 2009-12-24
GB2423223B (en) 2009-08-05
JP2007515022A (ja) 2007-06-07
DE112004002390T5 (de) 2006-11-02
KR20060103452A (ko) 2006-09-29
CN1894727A (zh) 2007-01-10
TW200529100A (en) 2005-09-01
US20050134598A1 (en) 2005-06-23

Similar Documents

Publication Publication Date Title
DE112004002390B4 (de) Verfahren und Vorrichtung zum Erzeugen einer Animation
DE69836924T2 (de) Block- und bandorientierter durchlauf in dreidimensionaler dreieckswiedergabe
DE69127915T2 (de) System und Verfahren von Prioritätsfarbabbildung
DE60109434T2 (de) Systeme und verfahren zur erzeugung von visuellen darstellungen von graphischen daten
DE69122557T2 (de) Bilderzeugung
DE69127516T2 (de) Verfahren und Gerät zur Bilderzeugung
DE112018004343T5 (de) Mehrraum-rendering mit konfigurierbaren transformationsparametern
DE112004002391B4 (de) Räumlich-zeitliche Erzeugung von Bewegungsunschärfe
DE102016109905A1 (de) Stückweise lineare unregelmäßige Rasterisierung
EP0984397A2 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE102012210521A1 (de) Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering
DE102013018445A1 (de) Festlegung eines nachgeordneten Bilderzeugungszustands in einer vorgeordneten Schattierungseinheit
DE60118222T2 (de) Skalieren von bildern
DE102019121200A1 (de) Bewegungsadaptives rendern mittels shading mit variabler rate
DE3854619T2 (de) Quadratische interpolation zur schattierten bilderzeugung.
DE102008052690B4 (de) Vorrichtung und Verfahren zur Rekonstruktion und Visualisierung von Projektionsdaten
US7825923B2 (en) Full screen anti-aliasing with dynamic filters
DE102022119422A1 (de) Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten
DE112010005426T5 (de) Animationsanzeigevorrichtung
EP3899860A1 (de) Grössenveränderung von bildern mittels eines neuronalen netzes
DE60004323T2 (de) Verfahren und vorrichtung zum streck-blocktransfer (stretch blitting) mit einem 3d pipeline prozessor
DE102014206914A1 (de) Ein stereoskopisches Aufbereitungssystem
DE102019109757A1 (de) Hinzufügen von mehr realismus zu einem von einem computergenerierten bild durch glätten von gezackten kanten
DE102012213477B4 (de) Kombinierte unbeschnittene Zeit- und Linsen-Begrenzungen für eine verbesserte Proben-Test-Effizienz bei Bild-Rendern
DE102013011608A1 (de) Schablonendaten-Komprimiersystem und Verfahren und Graphikverarbeitungseinheit, in der diese enthalten sind

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 112004002390

Country of ref document: DE

Date of ref document: 20061102

Kind code of ref document: P

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee