-
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.