DE60026346T2 - Datenkomprimierung durch offsetdarstellung - Google Patents

Datenkomprimierung durch offsetdarstellung Download PDF

Info

Publication number
DE60026346T2
DE60026346T2 DE60026346T DE60026346T DE60026346T2 DE 60026346 T2 DE60026346 T2 DE 60026346T2 DE 60026346 T DE60026346 T DE 60026346T DE 60026346 T DE60026346 T DE 60026346T DE 60026346 T2 DE60026346 T2 DE 60026346T2
Authority
DE
Germany
Prior art keywords
point
data value
estimator
time
remote client
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
DE60026346T
Other languages
English (en)
Other versions
DE60026346D1 (de
Inventor
D. Peter Redmond SMITH
A. Jeremy Kirkland KENYON
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.)
Wildtangent Inc Redmont
WildTangent Inc
Original Assignee
Wildtangent Inc Redmont
WildTangent Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wildtangent Inc Redmont, WildTangent Inc filed Critical Wildtangent Inc Redmont
Application granted granted Critical
Publication of DE60026346D1 publication Critical patent/DE60026346D1/de
Publication of DE60026346T2 publication Critical patent/DE60026346T2/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
    • G06T9/001Model-based coding, e.g. wire frame

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet der Datenkompression und insbesondere auf das Komprimieren von 3D Multimedia Transfers über eine Netzwerkverbindung.
  • Stand der Technik
  • 3D Multimedia umfasst Videokonferenzen, interaktive Spiele, Webseiteninhalte, audio/visuelle (A/V) Aufzeichnungen, um nur einige zu nennen (nachstehend im Sammelbegriff als „A/V-Daten" bezeichnet). A/V-Daten erfordern sowohl umfangreichen Speicherplatz als auch eine beträchtliche Bandbreite, um die Daten über ein Netzwerk zu übertragen. Da die meisten Datenempfänger nicht über eine Bandbreite verfügen, die für den Empfang der A/V-Daten in ihrer ursprünglichen Form ausreicht, werden diese herkömmlicherweise über einen örtlichen Hochgeschwindigkeitsbus oder eine spezielle Hochgeschwindigkeitsdatenverbindung abgerufen.
  • Als Beispiel seien Computerspiele angeführt. Zu den Spielen zählen einfache Einzelbenutzer-Simulatoren für Flipper, Kartenspiele, Glücks- und Kampfspiele, etc. oder komplexere Spiele für mehrere Spieler, bei denen jeder an die Reihe kommt, gegen das System antritt und letztendlich die Ergebnisse verglichen werden. Zu den wohlbekannten Hightech-Spielsystemen gehören Nintendo® und die Sony PlayStation®. Diese und andere Spielsysteme setzen die Geometrie ein, um zwei- oder dreidimensionale Objekte innerhalb von Spielmodellen zu beschreiben. Insbesondere komplexe Objektoberflächen werden gewöhnlich dargestellt durch eine Kombination aus einer oder mehr Basisobjektformen, z.B. Splines, NURBs (non-uniform rational splines), Texturabbildungen und Tesselation kongruenter Dreiecke. Typischerweise wird ein beliebiges Objekt durch Dreiecks-Tesselation definiert, wobei jedem Dreieck räumliche Koordinatentupel X, Y (und vielleicht Z), Farbe, Normale und andere Attribute zugehörig sind. Wenn diese Informationen mit Hunderten oder Tausenden von Polygonen in mäßig komplexen Objekten vervielfacht werden, summieren sie sich zu Daten, welche aus zweckgemäßen Graphiksystemen und örtlichen Speichern von Graphikdaten abgerufen werden müssen. Die Erfordernisse für den Datentransfer verbieten es, gegen entfernte Spieler anzutreten. Zwar wurden einige Spiele entworfen, um mittels eines Modems einen Fernspieler direkt zu einem Spiel aufzurufen und dieses auszutragen, aber diese Lösung war oft schwerfällig, langsam und inkonsistent; eine Übertragung von reichem Inhalt war nicht durchführbar.
  • Ein weiteres Beispiel sind Anwendungen für Videokonferenzen. Ebenso wie bei Spielen geht es bei diesen Anwendungen um den Transfer von großen Datenvolumen. Jedoch müssen diese Anwendungen die Daten an entfernte Orten (z.B. zu Konferenzteilnehmern) übertragen. Deshalb besitzen sie die erforderlichen Hochgeschwindigkeitsdatenverbindungen, z.B. mindestens eine 128 Kbit ISDN Verbindung zu dem Fernteilnehmer oder vorzugsweise ein T1 oder eine schnellere Rahmenrelaisverbindung. Leider sind diese flotten Verbindungs-Backbones Benutzern nicht allgemein zugänglich und erfordern zur Aufrechterhaltung eines aktiven Links eine komplexe technische Unterstützung. Außerdem hat das Abhalten von Konferenzen mit den Modemspielen die Einschränkung gemein, direkte Verbindungen von Benutzer zu Benutzer zu benötigen.
  • Mit dem jüngsten Aufkommen von überall erhältlichen preiswerten Internetverbindungen, ist das Herstellen einer Kommunikationsverbindung zwischen mehreren Fernteilnehmern in einem Netzwerk verhältnismäßig unkompliziert geworden. Dies hat das Interesse daran verstärkt, diese allgemein verfügbaren Links für die Übertragung von A/V-Daten zu nutzen. Bedingt durch die Kosten und die technische Komplexität bei der Aufrechterhaltung von ISDN-, Rahmenrelais- und anderen Hochgeschwindigkeitsverbindungen handelt es sich bei den Internetverbindungen gemeinhin leider um verhältnismäßig langsame, auf Modems basierenden Verbindungen. Da Modemverbindungen allgemein nur eine durchschnittliche Bitrate von 14–40 Kbits pro Sekunde erzielen, sind sie nicht in der Lage, in angemessener Zeit reichen Spielinhalt, Konferenzdaten oder andere A/V-Daten zu übertragen. Dieses Problem verschärft sich mit jedem zusätzlichen Fernteilnehmer, da A/V-Daten dann an mehrere Empfänger verteilt werden müssen und dadurch weitere Bandbreiten-Ressourcen aufbrauchen.
  • Im Bemühen, die durch die Bandbreite bedingten Einschränkungen zu verringern und einen Nutzen aus den zwar einfach verfügbaren, aber langsamen Netzwerkverbindungen zu ziehen, wurden Anstrengungen zur Kompression von A/V-Daten unternommen. Beispielsweise wurden Daten- und Geometriekompression bereits eingesetzt, um Informationsinhalte in 2D und 3D Modellen zu reduzieren. Zu den früheren Kompressionsversuchen zählen Bildkompression (z.B. JPEG), das Definieren von Objekten mit gemeinsamen Merkmalen (z.B. gemeinsamen Kanten), kleine Texturabbildungen für große Bereiche, etc. Beispiele für einige dieser und für andere Techniken sind in US Patent Nr. 5740409 zu finden, welches einen 3D Graphikbeschleuniger für komprimierte Geometrie lehrt, und in US Patenten Nr. 5793371, 5867167 und 5870094, welche verschiedene Methoden für effizienteres Kodieren von 3D Modellen lehren. Diese Kompressionstechniken sind sowohl auf A/V-Spieldaten (welche Modelle verwenden) leicht anwendbar als auch auf andere A/V-Daten, welche Daten in einem kompatiblen komprimierbaren Format darstellen, z.B. die digitale MPEG (Moving Picture Experts Group) Videokodierung.
  • Zusätzlich zur Geometriekompression wurden auch universale Datenkompressionsverfahren auf A/V-Daten angewandt. Zu derartigen Techniken zählen die Huffman-Kodierung (s. Huffman: „A Method For Construction of Minimum Redundancy Codes", Proceedings IRE, 40, 10 Seiten: 1098–1100 (Sept. 1952)), die Tunstall-Kodierung (s. die Doktorthese von Tunstall: „Synthesis of Noiseless Compression Codes", Georgia Institute of Technology (Sept. 1967)) und die Lempel-Ziv-Kodierung (s. „A Universal Algorithm For Sequential Data Compression", IEEE Transactions on Information Theory, IT-23, 3, Seiten 337–343 (Mai, 1977)) und Lauflängenkodierung von Modelldaten (s. z.B. US Patent Nr. 3656178). Diese universalen Kompressionstechniken sind auf alle Datenformate anwendbar.
  • In „Higher Bandwidth X", ACM Multimedia, Proceedings of the International Conference, New York, NY, USA, 15. Oktober 1994 (15.10.1994), Seiten 89–96, XP000618613 offenbart J. Danskin ein Verfahren zum Transfer objektbezogener Daten, wobei absolute Koordinaten (X, Y) des Objekts zu relativen Koordinaten (ΔX, ΔY) transformiert werden und dann unter Verwendung eines separaten Modells dritten Grades für jede der Koordinaten eine Voraussage gemacht wird.
  • Ferner offenbart EP 0 889 440 A2 Verfahren und Systeme zur Kompression und zur Dekompression von 3D Geometriedaten, welche regelmäßig gekachelte Oberflächenabschnitte enthalten, wobei das offenbarte Kompressionsverfahren das Darstellen eines Oberflächenabschnitts als „Eckpunktraster" beinhaltet; dies umfasst das Spezifizieren eines Erweiterungswerts umfasst und das Kodieren der Eckpunktparameterwerte von Eckpunkten innerhalb des Oberflächenabschnitts.
  • Überdies offenbart EP 0 536 801 A2 ein Verfahren zur Kompression einer Mehrzahl von Datenwerten umfassend die Schritte des Berechnens der Unterschiede zwischen benachbarten Datenwerten, des Identifizierens einer Mehrzahl häufig vorkommender Unterschiede, des Aufspürens der Häufigkeit des Vorkommens der identifizierten Unterschiede, des Erzeugens einer ersten Kodierung für die identifizierten Unterschiede, wobei die Länge der Kodierung auf der Häufigkeit des Vorkommens basiert, des Erzeugens einer zweiten Kodierung für jene Unterschiede, die nicht die identifizierten Unterschiede sind, und für jeden errechneten Unterschied, des Kodierens des errechneten Unterschieds mittels der ersten Kodierung, wenn der errechnete Unterschied ein identifizierter Unterschied ist, und des Kodierens des errechneten Unterschieds mittels der zweiten Kodierung, wenn der errechnete Unterschied nicht ein identifizierter Unterschied ist, um die Kompression der Daten durchzuführen.
  • Schließlich offenbart EP 0 757 332 A2 ein Kompressionsverfahren, bei welchem dreidimensionale Geometrie zunächst als verallgemeinertes Dreieckgitter dargestellt und eine Datenstruktur verwendet wird, welche jedem Fall eines Eckpunkts in einem linearen Strom gestattet, einen Durchschnitt zweier Dreiecke zu spezifizieren.
  • Leider ist selbst nach Anwendung universaler und geometrischer Kompression noch immer eine beträchtliche Datenmenge vorhanden, welche vor Spielen, Konferenzen, Betrachtung von 3D Multimedia und Teilnahme an interaktiven 3D Chat Rooms transferiert werden muss, und es hat den Anschein, dass weitere Anwendungen für A/V-Daten so funktionieren, als ob sie ihre Daten aus örtlichen Speichern oder Hochgeschwindigkeitsverbindungen abrufen. Deshalb ist eine weitere Datenreduktion erforderlich.
  • Diese Probleme werden durch die Erfindung gelöst, wie sie in den Ansprüchen spezifiziert ist, gemäß welchen der Transfer von objektbezogenen Daten durch Transferieren von Informationen, welche Schätzfunktionen identifizieren, anstatt durch Transferieren von Positionsdaten für jeden einzelnen Punkt des Objekts erfolgt.
  • Ein auf einer Rechnereinrichtung implementiertes Verfahren zur Kompression eines Datenmodells, welches durch mehrere Datenpunkte definiert ist und von einem Anbieter zu einem Empfänger transferiert wird. Kennzeichnenderweise kommunizieren der Anbieter und der Empfänger über ein Netzwerk miteinander. Für einen ersten Datenpunkt und einen zweiten Datenpunkt, welche in dem Modell definiert sind, werden erste Offsets anhand des ersten Datenpunkts für den zweiten Datenpunkt bestimmt. Daraufhin kann der zweite Datenpunkt im Bezug auf die bestimmten ersten Offsets erneut kodiert werden. Die ersten Offsets werden kodiert, damit sie weniger Speicherplatz benötigen als für den ersten Datenpunkt erforderlich ist, was ihren schnelleren Transfer ermöglicht. Zweite Offsets können aus den ersten Offsets für einen dritten, innerhalb des Modells definierten Datenpunkt kaskadenartig erhalten werden.
  • Weitere Kompressionsverfahren und -vorrichtungen werden offenbart.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt einen Inhaltanbieter, der mit mehreren Inhaltsempfängern kommuniziert.
  • 2 veranschaulicht ein Dreieck mit in einem 3D Raum definierten Eckpunkten.
  • 3 veranschaulicht das Anwenden von Schätzfunktionen, um künftige Eckpunktstellen für eine Rotation des Dreiecks aus 2 im Uhrzeigersinn zu schätzen.
  • 4 stellt in einem Schaubild lineare Bewegung als Basis für eine Schätzfunktion dar.
  • 5 stellt in einem Schaubild eine schwankende Bewegung als Basis für eine Schätzfunktion dar.
  • 6 veranschaulicht physische Verformung als Basis für eine Schätzfunktion.
  • 7 veranschaulicht eine allgemeine Umgebung, in welcher die Erfindung oder Teile derselben praktisch angewandt werden können.
  • Detaillierte Beschreibung
  • Obwohl die vorliegende Erfindung auf eine breite Palette von Anwendungsprogrammen, Diensten und Vorrichtungen anwendbar ist, welche (wie A/V-Daten) die Übertragung von reichem Inhalt über ein Netzwerk erfordern, konzentriert sich die folgende Beschreibung auf die Lieferung von reichen Multimedia Inhalten aus einer Spiele-Umgebung an Spieler, die über das Netzwerk verteilt sind. Das Spiele-Paradigma wurde gewählt, da es die Lieferung von A/V-Daten in einer Form lehrt, wie sie auch für andere Anwendungen, z.B. für Videokonferenzen, erforderlich ist; gleichzeitig erläutert sie die logistische Komplexität, die bei Vorhandensein vieler Teilnehmer, welche interaktiv Einfluss auf die Lieferung von A/V-Daten nehmen, inhärent ist.
  • 1 zeigt einen Spielinhaltanbieter 100, welcher mit mehreren Benutzern/Spielern 102108 über ein öffentlich zugängliches Netzwerk 110 wie das Internet kommuniziert. Ebenfalls dargestellt ist ein Koordinator 112, welcher, wie nachstehend erläutert, die Spielaktivität koordinieren kann. Zum besseren Verständnis wird davon ausgegangen, dass es sich bei dem zur Verfügung gestellten Inhalt um ein dreidimensionales Spiel handelt (daher auch die Bezeichnung der Benutzer auch als Spieler). Es wird angenommen, dass das Spiel ein 3D Modell enthält, in welchem Objekte innerhalb des Modells Attribute besitzen, wie Position, Farbe, Beschaffenheit, Beleuchtung, Ausrichtung, etc., und in welchen die Objekte letztendlich durch ein oder mehr Dreiecke definiert sind. Allerdings ist die vorliegende Erfindung, wie aus der folgenden Beschreibung sehr schnell hervorgeht, mit sämtlichen Formen von multimedialer Inhaltslieferung anwendbar und kann mit diesem genutzt werden.
  • Wie dargestellt, befinden sich mehrere Spieler 102108 in Kommunikation mit einem Inhaltanbieter. In einer Ausführungsform verwenden die Spieler einen Internetbrowser als Spielvorrichtung, wobei der Browser ein installiertes Plugin hat (z.B. eine Hilfsanwendung), welche bei der Verarbeitung des von dem Anbieter übertragenen Inhalts hilft. Anstelle eines Browsers können auch andere Netzwerkanwendungsprogramme, z.B. entsprechende Spielanwendungen, benützt werden. Der Einfachheit halber wird davon ausgegangen, dass der Anbieter 100 als zentraler Datenverteilungspunkt für die Spieldaten fungiert und an jeden Spieler 102108 alle erforderlichen Daten überträgt. Selbstverständlich ist die Spielsoftware konfigurierbar, so dass Spieler einander direkt Informationen senden können oder sich ein Spieler oder eine andere Stelle im Netzwerk als Verteilungspunkt für andere Spieler einsetzen lasst (z.B. zwecks Verteilung der Verarbeitungslast).
  • Ebenfalls dargestellt ist ein Spielkoordinator 112, welcher als zentraler Punkt zum Start von Spielen oder Einstieg in laufende Spiele verwendet werden kann. Ein solcher Koordinator ist nützlich in einem Rahmen wie dem Internet, weil an Spieler durch ihren Internetserviceanbieter routinemäßig Zufallsnetzwerkadressen vergeben werden. Da eine Netzwerkverbindung zwischen Computern im allgemeinen verlangt, dass die Computer gegenseitig ihre Netzwerkadressen kennen, kann ein bekannter Koordinator solche Verbindungen erleichtern, in dem er Spielern gestattet, mit ihm in Kontakt zu treten und die ihnen derzeitig zugeordnete Netzwerkadresse bekanntzugeben. Daraufhin kann der Koordinator interessierte Spieler an einen oder mehrere Inhaltanbieter (z.B. 100) weiterleiten. Ein Koordinator kann auch gebraucht werden, um Identitäten von Spielern vor Inhaltanbietern zu verbergen, etwa durch Verbergen der Netzwerkadresse, oder um die Spielerregistrierung bei verschiedenen Anbietern zu koordinieren. Viele Gesellschaften stellen jetzt „Hubs" zur Verfügung, um die Teilnahme an Spielen zu erleichtern, siehe z.B. die MSN Spielzone (die frühere Internetspielzone) der Microsoft Corporation von Redmond Washington unter http://games.msn.com oder http://www.microsoft.com/games.
  • Kontaktiert ein Spieler einen Anbieter, versucht dieser typischerweise den Spielinhalt an den Spieler zu übertragen. Falls der Browser des Spielers noch nicht für den Empfang eines derartigen Inhalts konfiguriert ist, kann dies eine automatische Benachrichtigung an den Spieler auslösen, das erforderliche Plugin, den benötigten Treiber oder andere Daten zu installieren, welche für das Spiel des Anbieters notwendig sind.
  • Sobald ein Spieler mit einem Inhaltanbieter in Kommunikation getreten ist, muss der Anbieter den Spielinhalt an den Spieler senden. Wie oben erläutert, wurden verschiedene Methoden verwendet, um die Datenmenge zu verringern, die tatsächlich an solche Spieler gesendet werden muss. Eine beträchtliche Menge dieser Daten beinhaltet das Übertragen von Koordinatenwerten für Objekte innerhalb eines 3D Modells. Es ist von Vorteil, den Raum, welcher zur Speicherung derartiger Koordinaten benötigt wird, weiter zu verringern.
  • 2 veranschaulicht ein typisches Dreieck 200 mit drei Eckpunkten 202, 204, 206, welche entsprechend einem Koordinatensystem für ein bestimmtes Modell definiert sind. Obgleich die Erfindung auf 2-, 3- oder n-dimensionale Koordinaten anwendbar ist, wird der Einfachheit halber angenommen, dass jeder Eckpunkt im 3D Raum durch ein Koordinatentupel X, Y und Z definiert ist.
  • Typischerweise werden Eckpunktwerte mittels 32-Bit ANSI/IEEE-754-1985 Gleitkommazahlen kodiert (ein Standard, welcher von dem Institute for Electrical and Electronic Engineers (IEEE) und dem American National Standards Institue (ANSI)) ausgegeben wird). Demnach benötigt jedes 3D Tupel 96 Bits zur Kodierung seiner Koordinaten. Es wird angenommen, dass die Eckpunkte benützt werden, um Dreiecke für Objekte mit kongruenter Tesselation innerhalb eines 3D Modells oder Spiels zu definieren. Obwohl andere Formen, die nicht dreieckig sind, verwendet werden können, um Objekte zu definieren, wird von der Dreieck-Tesselation ausgegangen, da diese ein gängiges Erfordernis zur Hardwarewiedergabe darstellt.
  • Um die Übertragungslast zwischen dem Inhaltanbieter und Datenempfängern zu reduzieren, wird die standardmäßige 32-Bit IEEE Darstellung durch ein spezielles Kodierformat ersetzt. Anstatt allen Eckpunkten verschiedene Koordinatentupels zuzuteilen, werden einige Eckpunkte mittels Offsets von anderen Eckpunkten kodiert. Die Basis für die Offsets kann, wie oben erläutert, auf einer Kombination von Objektgeometrie, vorausgesagter Bewegung für das Objekt und anderen Faktoren beruhen. (Einige dieser Grundlagen können nach Wunsch verwendet werden.
  • Wenn beispielsweise ein bestimmter Bereich eines Objekts eine bestimmte Art gleichförmiger Bewegung durchläuft, z.B. eine Linear- oder Rotationsbewegung, dann kann ein Schlüsseleckpunkt für ein Objekt oder einen Bereich desselben definiert werden, und bei den übrigen Eckpunkten für das Objekt oder den Bereich kann es sich um funktionell zugeordnete Werte in Entsprechung zu dem Schlüsseleckpunkt und der Analyse der Bewegung handeln. Während sich die Erläuterung auf einen Inhaltanbieter konzentriert, welcher die Modellaktivität analysiert und die Ausgabe an einen Empfänger entsprechend formatiert, ist zu beachten, dass die selben Techniken natürlich auch durch einen Empfänger angewandt werden können, um komprimierte Daten an den Anbieter zurückzusenden. Bewegung ist jedoch nicht notwendig; diese Techniken finden sowohl auf statische als auch sich verändernde Modelle Anwendung. Auch unbewegliche Objekte werden durch Dreiecke dargestellt, und folglich lassen sich Dreieckpositionen voraussagen (und zwar mit hoher Genauigkeit, da keine Bewegung vorhanden ist).
  • 3 zeigt beispielsweise eine Kodierung für das in 2 dargestellte Dreieck 200, wobei die Positionswerte für den zweiten Eckpunkt S 254 und den dritten Eckpunkt T 256 als Funktion eines Wurzel-Eckpunkts R 252 berechnet werden. (Ein „Wurzel"-Eckpunkt ist ein (z.B. durch typische Koordinatenwerte) vollständig definierter Eckpunkt, von dem aus andere Eckpunkte definiert werden. Angenommen, das Dreieck durchläuft eine geringfügige Rotation im Uhrzeigersinn, so dass sich die Eckpunkte RST in Positionen RA 258 („A" für aktuell), SA 260 und TA 262 drehen. Zu beachten gilt, dass diese Erläuterung zwei Zeitpunkte betrifft, wobei das Dreieck zum Zeitpunkt t = 0 vor der Rotation steht und die Eckpunkte RST aufweist, wohingegen es zum Zeitpunkt t = 1 die Rotation abgeschlossen hat und die Eckpunkte RASATA besitzt.
  • Es ist jedoch anzumerken, dass das Konzept der Zeit für ein gegebenes Modell willkürlich ist. Insbesondere werden Schätzfunktionen dadurch beschrieben, dass sie die Position bei dem nächsten Zeitrahmen oder Zeitpunkt voraussagen. Jedoch kann sich eine Anzahl positioneller Berechnungen einschieben, bevor der „nächste" Zeitpunkt erreicht ist. Insbesondere kann die Anzahl sich einschiebender Schritte variieren, oder eine Funktion kann erforderlich sein, um direkt zu einem bestimmten Zeitrahmen zu springen. Ein Grund für eine derartige Variabilität besteht in der Aufrechterhaltung der Synchronisation zwischen Empfängern, welche Netzwerkverbindungen mit unterschiedlichen/-m Geschwindigkeiten/Durchsatz benützen.
  • Das Gesamtproblem hierbei besteht darin, wie die Veränderung der Eckpunktwerte für das Dreieck zu kodieren sind. Anstatt das Dreieck RASATA mit den standardmäßigen IEEE Gleitkommawerten zu kodieren, welche 3 × 32 Bits pro Eckpunkt bzw. 288 Bits erfordern, wird jeder RASATA Eckpunkt mit einem Deltawert kodiert. Dieser Wert bezieht sich nicht darauf, dass eine Veränderung der Position für den Eckpunkt zwischen zwei Rahmen aufgezeichnet wird. Stattdessen wird in einer Ausführungsform eine Post-Rotationsposition RA 258 für Eckpunkt R 252 bestimmt, indem zuerst eine Schätzfunktion A() 270 auf Eckpunkt R 252 angewandt wird. Die Schätzfunktion berücksichtigt Faktoren wie die Geometrie und Bewegung des Dreiecks, um daraus eine geschätzte Position für andere Eckpunkte abzuleiten.
  • Das Ergebnis dieser Funktion 270 ist eine geschätzte Stelle RE 264 („E" für „estimated", dt. „geschätzt") für RA 258. Wie gezeigt, besteht eine Ungleichheit zwischen der geschätzten 264 und der aktuellen 258 Eckpunktposition. Angenommen, dass sowohl ein Inhaltanbieter als auch ein Inhaltempfänger eine Bibliothek mit Schätzfunktionen oder zustandbasierten Analyseprogrammen teilen, um Schätzfunktionen adaptiv durchzuführen, so kann die künftige RA Position für Eckpunkt R mit einem Fehlerkorrektur Delta (Δ)-Wert für die Ungleichheit, z.B. Δ1 = RA – RE, kodiert werden. Ist, wie veranschaulicht, RA = RE, dann ist Δ1 gleich Null. Ein Empfänger/Decoder muss lediglich die richtige Funktion 270 und den entsprechenden Δ-Wert kennen, um festzustellen, dass RA = A(R) + Δ1.
  • Ebenso wie bei der Kodierung von RA kann eine künftige Position SA 260 für Eckpunkt S 254 geschätzt und als Deltawert kodiert werden. Anstatt SA auf Grundlage von S zu schätzen, kann SA durch Anwendung einer Schätzfunktion B() 272 auf RA geschätzt werden, woraus sich SE = B(A(R) + Δ1) ergibt. Wie veranschaulicht, geht aus dieser Berechnung eine geschätzte Stelle SE 266 nahe SA 260 hervor. Ebenso wie bei RA kann ein Deltawert Δ2 definiert werden, um den geschätzten Wert SE zu korrigieren, und als der Wert für SA gespeichert werden. Wenn ein Empfänger/Decoder versucht, Eckpunkt SA zu rekonstruieren, ist ihm dies aufgrund der bereits erhaltenen Informationen zur Rekonstruktion von Eckpunkt RA möglich. Dies heißt, dass SA = B(A(R) + Δ1) + Δ2, da der Wert von R 252 ja bekannt ist.
  • Ein ähnliches Verfahren ist zur Bestimmung einer künftigen Position von TA 262 für Eckpunkt T 256 anwendbar, wobei eine Schätzfunktion C() 274 auf SA 260 angewandt wird, um TA 262 aus SA 260 kaskadenartig zu bestimmen. Somit ist TA = C(B(A(R) + Δ1) + Δ2) + Δ3. Alles, was benötigt wird, um das Dreieck zum Zeitpunkt t = 1 zu dekodieren, ist der ursprüngliche Wert eines „Wurzel"-Knotens R 252 von dem Dreieck zum Zeitpunkt t = 0, die Deltawerte und die anzuwendende Funktion. Für komplexe Objekte mit mehreren Dreiecken kann eine Kette derartiger Schätzkorrekturen aufgespürt werden.
  • Bisher ist es jedoch eine Vermutung, dass die Deltawerte präzise genug sind, um das Speichern eines Wertes zwecks exakter Rekonstruktion der Eckpunktstellen RA, SA und TA zu gestatten. Da ein Ziel darin besteht, die Übertragungserfordernisse zu verringern, werden Deltawerte mit einer Bitgröße kodiert, die unter den 32-Bit Standardzahlen liegt (wenn dem nicht so wäre, bestünde keine Notwendigkeit für Δ-Schätzpositionen). Mit jeder verketteten Schätzung kann sich der Fehler vergrößern, und letztendlich die Δ-Präzision übertreffen. Wenn dies geschieht, wird ein neuer „Wurzel"-Knoten als Basis für nachfolgende Eckpunktschätzungen benützt.
  • Durch Kodierung von Eckpunktpositionen als Deltawerte innerhalb einer bestimmten Δ-Präzision können Positionen mit beliebig weniger Bits kodiert werden als unter dem ANSI/IEEE-754-1985 32-Bit Format verlangt. Das Ergebnis daraus ist, Δ Bitgrößenerfordernisse und die Häufigkeit, mit der ein neuer Wurzelknoten benötigt wird (z.B. potentiell eine vollständige 96-Bit Eckpunktkodierung), aufeinander abzustimmen. Je geringer die Δ Präzision, desto häufiger die Wurzelknoten. (Anzumerken ist, dass eine Annahme lautet, die Auswahl einer geeigneten Schätzfunktion 270, 272, 274 erzeuge letztendlich einen Wert, welcher die verfügbare Δ Präzision übertrifft. Dies ist nicht unbedingt so und hängt von der Präzision der Schätzfunktionen ab.) Des Weiteren können Deltawerte als ganzzahlige Offsets kodiert werden (wodurch einige Rundungsfehler zugelassen werden), und so wird die Zahl der Bits reduziert, welche zur Kodierung der Werte notwendig sind.
  • Zu beachten gilt, dass die exakte Rekonstruktion von Eckpunktwerten nicht immer wünschenswert ist. Beispielsweise ist es selbstverständlich, dass bei gewissen Objekten, wie z.B. einer entfernten Hintergrundszenerie, eine akkurate Eckpunktkonstruktion nicht so bedeutsam ist wie für weniger entfernte Objekte im Vordergrund. Demzufolge können Δ-Werte auf eine Präzision von nur wenigen (z.B. 4–8) Bits eingeschränkt sein und Rundungsfehler verwendet werden, um rekonstruierte Werte zur Verfügung zu stellen, welche sich aktuellen Eckpunktpositionen annähern. Ebenso wie bei der vorigen Fehleranhäufung können Rundungsfehler aufgespürt werden, um zu erkennen, wenn ein neuer Wurzelknoten für die Hintergrundszenerie transferiert werden muss. Alternativ dazu kann ein Staffelungsfaktor in die für die entfernte Szenerie verwendeten Δ-Werte eingegliedert werden. Ein derartiger Wert erhöht die Bitgröße der Deltawerte effektiv durch Senken der Präzision. Beispielsweise kann die Z (Tiefe)-Koordinate als ein Multiplikator des Δ-Werts benützt werden, so dass der Multiplikator desto größer ist, je weiter ein Objekt von einer gegenwärtigen Sichtperspektive aus entfernt liegt. Auf diese Weise kann der effektive Bereich der Δ-Werte beliebig groß sein, bei einer entsprechenden Präzisionsabnahme.
  • Nicht erläutert wurden bisher besondere Schätzfunktionen. Dies ist teilweise dadurch begründet, dass derartige Funktionen in Entsprechung zum Anwendungskontext stark variieren müssen. Im Wesentlichen berücksichtigen diese Funktionen die Geometrie eines Objekts (oder eines Teilbereichs desselben) und die Art einer Bewegung, welche das Objekt durchläuft, um aus diesen Daten die künftigen Positionen für Objekteckpunkte vorauszusagen. Wie oben erläutert, können diese Voraussagen verkettet sein. Die folgenden FIG. veranschaulichen typische Objektbewegungen, welche als Basis für Voraussagefunktionen dienen können. Selbstverständlich dienen diese einfachen Beispiele lediglich der Veranschaulichung, und komplexere Funktionen sind anwendbar und werden bei besonderen Voraussetzungen von Modellen angewandt.
  • Bei 4 handelt es sich um ein Schaubild, welches eine lineare Bewegung darstellt. Wie gezeigt, wird die Bewegung eines Objekts 300 im Hinblick auf seine Veränderung an Höhe 302 im Verlauf der Zeit 304 aufgespürt. Objekt 300 verändert seine Höhe im Bezug auf die Zeit sachte. Wenn ein Inhaltanbieter 100 (1) das Objekt 300 kodieren will, kann eine Feststellung erfolgen, dass das Objekt (oder ein Teilbereich desselben) eine lineare Bewegung durchläuft. Daraufhin kann der Anbieter eine Funktion anwenden, z.B. A() 256, welche die lineare Bewegung des Objekts nützt, um künftige räumliche Positionen für die Eckpunkte des Objekts vorauszusagen, während sich das Objekt im Lauf der Zeit bewegt. Somit können Deltawerte eingesetzt werden, anstatt alle Eckpunkte mittels 32-Bit IEEE-754 Gleitkommawerten kodieren zu müssen. Wie oben erläutert können die Deltawerte mit beliebig wenig Bits kodiert werden.
  • Anstatt nur eine einzige Funktion für die lineare Bewegungsschätzung zur Verfügung zu haben, kann eine Tabelle mit Schätzformeln sowohl bei dem Inhaltanbieter als auch bei dem Datenempfänger gespeichert werden. Diese Formeln können entsprechend typischen Modelleigenschaften und unterschiedlichen Bewegungsarten indiziert werden, so dass sie sich auf verschiedene Datentransfers anwenden lassen, z.B. multimedialen Inhalts, Spiele, etc. Angenommen, dass mehrere Formeln bestehen, welche sich auf lineare Bewegung beziehen, kann ein Inhaltanbieter eine Schätzung unter Verwendung mehrer Funktionen berechnen (z.B. parallel), um zu ermitteln, welche Funktion die „beste" Schätzung ergibt (z.B. ein Ergebnis mit minimalen Fehler bezüglich aktueller Koordinaten SA 264, TA 268). Ein Indexeintrag in die Formeltabelle kann in einen Datenstrom eingebettet werden, der an einem Empfänger gesandt wird.
  • 5 stellt in einem Schaubild eine einfache oszillierende Bewegung als Basis für eine Schätzfunktion dar. Gezeigt wird ein Schaubild für ein Objekt mit Höhenwerten, welche zwischen einer höheren 310 und einer niedrigeren 312 Höhenposition schwanken.
  • Ebenso wie bei der linearen Bewegung ist ein Inhaltanbieter in der Lage festzustellen, dass ein Objekt (oder ein Teilbereich davon) eine schwankende Bewegung durchläuft. Daraufhin kann der Anbieter eine Funktion anwenden, z.B. A() 256, welche das Schwanken ausnützt, um künftige räumliche Positionen für die Eckpunkte des Objekts vorauszusagen, während sich das Objekt im Laufe der Zeit fortbewegt. Anstatt alle Eckpunkte mit 32-Bit IEEE-754 Gleitkommawerten kodieren zu müssen, können Deltawerte eingesetzt werden. Wie oben erörtert, können die Deltawerte mit beliebig wenig Bits kodiert werden.
  • Da die schwankende Bewegung eine Form zyklischer Bewegung darstellt, muss der Anbieter lediglich komprimierte Daten übertragen, welche einem Zyklus entsprechen, und zwar gemeinsam mit einer eingebetteten Nachricht an den Datenempfänger, dass diese Daten einem Zyklus entsprechen. Der Empfänger kann dann die Verantwortung für die Wiedergabe des Zyklus ohne einen weiteren Eingang von dem Anbieter übernehmen, bis der Empfänger selbst oder irgendein anderer Handelnder das Objekt beeinflusst/mit diesem interagiert.
  • Wie bei der linearen Bewegung können Einträge in eine Tabelle mit Schätzformeln für verschiedene zyklische Bewegungen vorgenommen werden, und aus den Verfügbaren wird dann die beste Schätzfunktion gewählt.
  • 6 veranschaulicht physische Verformung als Basis für eine Schätzfunktion. Dargestellt ist eine Stange 330, welche gebogen wird und dann in ihre ursprüngliche Lage 330 zurückschnappt. Mit gestrichelten Linien sind zwei Zwischenbiegepositionen 332, 334 dargestellt.
  • Ebenso wie bei den anderen Bewegungsbeispielen, ist ein Inhaltanbieter in der Lage festzustellen, dass ein Objekt (oder ein Teilbereich desselben) verformt wird. Jedoch kann die Verformung eines Objekts, z.B. durch Biegen, Drücken und Verdrehen, eine nicht gleichmäßige Bewegung von Schlüsselpositionen innerhalb des Objekts hervorrufen. Beispielsweise durchläuft der Mittelpunkt 336 der Stange, wie gezeigt, nur eine geringe bis gar keine Bewegung, während die Stange verbogen wird, wohingegen sich die dargestellten Endpunkte 338, 340 stärker bewegen.
  • Anstatt jeden Eckpunkt der Stange 330 mit herkömmlichen IEEE-754 Werten zu kodieren, erkennt ein Anbieter, dass die Eckpunkte des Objekts eine Verlagerung in verschiedenen Stufen durchlaufen und nützt diese Information zur Kodierung der Bewegung mit Deltawerten unterschiedlicher Größe. Dies bedeutet, dass der mittlere Eckpunkt einen sehr kleinen Deltawert erfordert, etwa von nur einigen Bits, wohingegen die Endeckpunkte höhere Präzision (mehr Bits) verlangen, damit ihre Bewegung richtig kodiert wird.
  • So kann ein Anbieter Flags in einen Datenstrom einbetten, um die Größe der Deltawerte für verschiedene Bereiche des Objekts 330 anzuzeigen. Insbesondere lassen sich Objekteckpunkte für eine bestimmte Deltagröße gruppieren und gemeinsam übertragen, wodurch sich die Anzahl der Flags, die übertragen werden müssen, verringert. Als weitere Optimierung können Deltawerte (wie oben erläutert) auch als ganzzahlige Werte kodiert werden, was zu einer erheblichen Verringerung der Transfererfordernisse führt. Eine andere Optimierung besteht in der Erkenntnis, dass für eine Bewegung, wie das Beugen eines Objekts, nicht alle Eckpunkte an einen Empfänger übertragen werden müssen. Beispielsweise müssen lediglich die Position und die Deltawerte für die Endpunkte 338, 340 gesendet werden, da sich die ursprüngliche Position und die Deltaposition für Zwischenpunkte entlang der Länge des Objekts interpolieren lassen.
  • 7 und die folgende Erläuterung sind dazu bestimmt, eine kurze, allgemeine Beschreibung einer geeigneten Rechnerumgebung zu liefern, in welcher sich die Erfindung implementieren lässt. Die Beschreibung der Erfindung kann unter Bezugnahme auf verschiedene High-Level-Programmmodule und/oder Low-Level-Hardwarekontexte erfolgen. Fachleute auf diesem Gebiet erkennen, dass Programmmodulreferenzen mit Low-Level-Anweisungen getauscht werden können.
  • Programmmodule umfassen Verfahren, Funktionen, Programme, Komponenten, Datenstrukturen und dergleichen, welche spezielle Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Module können sowohl in Rechnersysteme mit einem oder mit mehreren Prozessoren als auch in Handgeräte und steuerbare Verbrauchergeräte eingegliedert werden. Selbstverständlich können Module auf einem einzelnen Rechnereinrichtung implementiert oder über eine verteilte Netzwerkumgebung bearbeitet werden, in welcher sich Module sowohl in örtlichen als auch in entfernten Speichervorrichtungen befinden können.
  • Ein beispielhaftes System für die Implementierung der Erfindung umfasst eine Rechnereinrichtung 402 mit einem Systembus 404, um verschiedene Komponenten innerhalb der Rechnereinrichtung miteinander zu koppeln. Der System 404-Bus kann einem beliebigen von mehreren Busstrukturtypen entsprechen, einschließlich einem Speicherbus oder Speichercontroller, einem peripheren Bus und einem lokalen Bus, in welchen eine beliebige aus der Vielzahl herkömmlicher Busstrukturen Anwendung findet, z.B. PCI, AGP, VESA, Microchannel, ISA und EISA, um nur einige zu nennen. Anzumerken ist, dass nur ein einziger Bus dargestellt ist, obwohl mehrere Busse typischerweise Leistungsverbesserungen erzielen. Kennzeichnenderweise ist an den Bus 402 ein Prozessor 406 angebunden, ein Speicher 408, Speichereinrichtungen (z.B. feste 410, austauschbare 412, optische/mit Laser 414), eine Videoschnittstelle 416, Eingangs/Ausgangs-Schnittstellenports 418 und eine Netzwerkschnittstelle 420.
  • Der Prozessor 406 kann irgendeiner der zahlreichen, im Handel erhältlichen Prozessoren sein, einschließlich Intel Prozessoren oder DEC Alpha, PowerPC, programmierbare Gate-Arrays, Signalprozessoren oder dergleichen. Dual- oder Quad-Prozessoren und andere Multi-Prozessor-Architekturen sind ebenfalls einsetzbar. Der Systemspeicher umfasst einen Speicher mit wahlfreiem Zugriff (RAM/Random Access Memory) 422 und einen statischen oder reprogrammierbaren Nurlesespeicher (ROM/Read Only Memory) 424. Ein in dem ROM gespeichertes Basis-Eingabe-Ausgabe-System (BIOS) enthält Programmroutines für den Informationstransfer zwischen Komponenten 402 des Geräts oder zur Geräteinitialisierung.
  • Der Festspeicher 410 bezeichnet gemeinhin die Festplatte und andere halbpermanent angeschlossene Medien, wohingegen ein austauschbarer Speicher 412 allgemein auf ein Device Bay verweist, in welches austauschbare Medien, wie eine Floppy Disk, entfernbar eingesteckt werden. Der optische/Laser-Speicher 414 beinhaltetet Vorrichtungen, die auf CD-ROM, DVD oder CD-RW Technologie beruhen, und ist üblicherweise an den Systembus 404 mittels einer Gerätschnittstelle 426, 428, 430 gekoppelt. Die Speichersysteme und zugehörigen computerlesbaren Medien bieten Speicherung von Daten und ausführbare Anweisungen für die Rechnereinrichtung 402. Anzumerken ist, dass weitere Speicheroptionen Magnetkassetten, Bänder, Flash-Speicherkarten, Memory Sticks, digitale Video Disks und Ähnliches umfassen.
  • Die beispielhafte Rechnereinrichtung 402 ist in der Lage, eine Anzahl von Programmmodulen in RAM 422, ROM 424 und Speichereinrichtungen 410, 412, 414 zu speichern und diese auszuführen. Kennzeichnenderweise enthalten Programmmodule ein Betriebssystem 432, Anwendungsprogramme 434 (z.B. einen Webbrowser oder ein Netzwerkanwendungsprogramm), etc. und Anwendungsdaten 436. Das Programmmodul oder eine andere Systemausgabe kann durch das Videosystem 416 verarbeitet werden (z.B. durch ein Wiedergabegerät für 2D und/oder 3D Graphiken), welches an den Systembus 404 und eine Ausgabeeinrichtung 438 gekoppelt ist. Zu den typischen Ausgabeeinrichtungen zählen Monitore, Flachbildschirme, Flüssigkristallbildschirme und Aufzeichnungsgeräte wie Videokassettenrekorder.
  • Bei einem Benutzer der Rechnereinrichtung 402 handelt es sich typischerweise um eine Person, die mit der Rechnereinrichtung mittels Bedienung einer Eingabevorrichtung 440 kommuniziert. Zu den gängigen Eingabevorrichtungen gehören Tastatur, Maus Tablett, berührungssensitive Oberflächen, digitaler Stift, Joystick, Mikrophon, Gamepad, Satellitenschüssel, etc. Eingaben können auch durch Manipulation einer virtuellen Umgebung vorgenommen werden oder mittels Verarbeitung der Ausgabe aus einer Datendatei oder einer anderen Rechnereinrichtung.
  • Von der Rechnereinrichtung 402 wird erwartet, dass sie in einer Netzwerkumgebung unter Verwendung logischer Verbindungen zu einer oder mehreren entfernten Rechnereinrichtungen funktioniert. Bei einer derartigen entfernten Rechnereinrichtung 442 kann es sich um einen Webserver oder ein anderes Programmmodul handeln, welches ein Netzwerkprotokoll (z.B. HTTP, File Transfer Protocol (FTP), Gopher, Wide Area Information Server (WAIS)), einen Router, eine Partnervorrichtung oder einen anderen gängigen Netzwerkknoten benützt und typischerweise viele oder alle der für die Rechnereinrichtung 402 erläuterten Elemente umfasst. Die Rechnereinrichtung 402 besitzt eine Netzwerkschnittstelle 420 (z.B. eine Ethernet-Karte), welche an den Systembus 404 gekoppelt ist, um eine Kommunikation mit der Ferneinrichtung 442 zu ermöglichen. Sowohl die örtliche Rechnereinrichtung 402 als auch die entfernte Rechnereinrichtung 442 können kommunikativ an ein Netzwerk 444 gekoppelt sein, wie an ein WAN, LAN, an Gateway, Internet oder an einen anderen öffentlichen oder privaten Datenweg. Selbstverständlich können auch andere Kommunikationsverbindungen zwischen den Rechnereinrichtungen verwendet werden, z.B. ein Modem 446, welches an einen Schnittstellenport 418 gekoppelt ist.
  • Entsprechend den Gepflogenheiten von Fachleuten auf dem Gebiet der Computer-Hard- und -Softwareprogrammierung wird die vorliegende Erfindung unter Bezugnahme auf Handlungen und symbolische Darstellungen von Vorgängen beschrieben, welche zuweilen als von Rechnern ausgeführt bezeichnet werden. Selbstverständlich umfassen diese Handlungen und symbolisch dargestellten Vorgänge sowohl die Verarbeitung von elektrischen Signalen, welche Datenbits darstellen, durch den Prozessor 406, was eine Transformation oder Reduktion der elektrischen Signaldarstellung bewirkt, als auch den Erhalt von Datenbits an Speicherstellen im Speicher 408 und den Speichersystemen 410, 412, 414, um die Funktionsweise des Computersystems und/oder die Verarbeitung von Signalen zu rekonfigurieren oder in anderer Weise zu verändern. Die Speicherstellen, an denen Datenbits erhalten werden, sind physische Stellen mit besonderen elektrischen, magnetischen oder optischen Eigenschaften, welche den Datenbits entsprechen.
  • Nachdem die Prinzipien der Erfindung anhand der dargestellten Ausführungsformen beschrieben und veranschaulicht wurden, ist ersichtlich, dass sich diese Ausführungsformen in ihrer Anordnung und in ihren Details modifizieren lassen, und zwar ohne Abweichung von besagten Prinzipien.
  • Obwohl sich die vorstehende Beschreibung – aus Gründen der Anschaulichkeit – auf die Kompression von Gleitkommawerten für Eckpunkte konzentriert hat, versteht es sich von selbst, dass beispielsweise die selben Techniken und Analysen auch auf andere numerische Werte angewandt werden können, welche zwischen einem Inhaltanbieter und einem Spieler (z.B. zur Kompression von Soundeffekten) transportiert werden müssen. In Anbetracht der breiten Vielfalt wechselnder Anwendungen für die Erfindung dienen die detaillierten Ausführungsformen nur der Veranschaulichung und sollten nicht als Einschränkung der Tragweite der Erfindung verstanden werden. Vielmehr werden als Erfindung alle derartigen Modifikationen, wie sie in die Tragweite der folgenden Ansprüche fallen können, und Äquivalente dazu beansprucht.

Claims (34)

  1. Vorrichtung umfassend: Speichermedium (410, 412, 414), welches in demselben eine Mehrzahl von Programmieranweisungen gespeichert hat, welche so ausgearbeitet sind, dass sie der Vorrichtung ermöglichen, an einen ersten Fernclient (442), einen ersten Datenwert für eine erste Position (252) eines ersten Punktes (RE) eines Objekts (200, 300, 330) zu einem ersten Zeitpunkt zu liefern, an den ersten Fernclient (442), erste Informationen zu liefern, welche eine erste Schätzfunktion (A, 270) identifizieren, damit der erste Fernclient diese verwendet, um basierend auf dem ersten Datenwert einen zweiten Datenwert, welcher eine zweite Position (264) des ersten Punktes (RE) des Objekts (200, 300, 330) zu einem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um eine Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, resultierend wiederzugeben, wobei die erste Schätzfunktion (A, 270) die Bewegung widerspiegelt, und an den ersten Fernclient (442), zweite Informationen zu liefern, welche eine zweite Schätzfunktion (B, 272) identifizieren, damit der erste Fernclient diese verwendet, um basierend auf dem errechneten zweiten Datenwert einen dritten Datenwert, welcher eine dritte Position (266) eines zweiten Punktes (SE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, resultierend wiederzugeben, wobei die zweite Schätzfunktion (B, 272) ein erstes geometrisches Verhältnis des zweiten Punktes (SE) zu dem ersten Punkt (RE) des Objekts (200, 300, 330) widerspiegelt; und mindestens einen an das Speichermedium (410, 412, 414) gekoppelten Prozessor (406), um die Programmieranweisungen auszuführen.
  2. Vorrichtung nach Anspruch 1, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, dem ersten Fernclient, dritte Informationen zu liefern, welche eine dritte Schätzfunktion (C, 274) identifizieren, damit der erste Fernclient diese verwendet, um basierend auf dem errechneten dritten Datenwert einen vierten Datenwert, welcher eine vierte Position (262) eines dritten Punktes (TA) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt (SE) proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, resultierend wiederzugeben, wobei die dritte Schätzfunktion (C, 274) ein zweites geometrisches Verhältnis des dritten Punktes (TA) zu dem zweiten Punkt (SE) des Objekts widerspiegelt.
  3. Vorrichtung nach Anspruch 2, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, an den ersten Fernclient (442), einen ersten Schätzkorrekturdeltawert (Δ1) zur Verwendung in Verbindung mit einer aus der ersten, der zweiten und der dritten Schätzfunktion (A, 270, B, 272, C, 274) zu liefern, um den entsprechenden aus dem ersten, dem zweiten und dem dritten Datenwert zu errechnen, um dessen proximative Darstellung der entsprechenden aus der ersten (252), der zweiten (264) und der dritten Position (266) des entsprechenden aus dem ersten (RE), dem zweiten (SE) und dem dritten Punkt (TA) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern.
  4. Vorrichtung nach Anspruch 2, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, an den ersten Fernclient (442), einen ersten Schätzkorrekturdeltawert (Δ1) zur Verwendung in Verbindung mit der ersten Schätzfunktion (A, 270) zu liefern, um den zweiten Datenwert zu berechnen, um dessen proximative Darstellung der zweiten Position (264) des ersten Punktes (RE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern, an den ersten Fernclient (442), einen zweiten Schätzkorrekturdeltawert (Δ2) zur Verwendung in Verbindung mit der zweiten Schätzfunktion (B, 272) zu liefern, um den dritten Datenwert zu berechnen, um dessen proximative Darstellung der dritten Position (266) des zweiten Punktes (SE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern, und an den ersten Fernclient (442), einen dritten Schätzkorrekturdeltawert (Δ3) zur Verwendung in Verbindung mit der dritten Schätzfunktion (C, 274) zu liefern, um den vierten Datenwert zu berechnen, um dessen proximative Darstellung der vierten Position (262) des dritten Punktes (TA) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern.
  5. Vorrichtung nach Anspruch 1, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, an den ersten Fernclient (442), einen ersten Schätzkorrekturdeltawert (Δ1) zur Verwendung in Verbindung mit der ersten Schätzfunktion (A, 270) zu liefern, um den zweiten Datenwert zu berechnen, um dessen proximative Darstellung der zweiten Position (264) des ersten Punktes (RE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern; und an den ersten Fernclient (442), einen zweiten Schätzkorrekturdeltawert (Δ2) zur Verwendung in Verbindung mit der zweiten Schätzfunktion (B, 272) zu liefern, um den dritten Datenwert zu berechnen, um dessen proximative Darstellung der dritten Position (266) des zweiten Punktes (SE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern.
  6. Vorrichtung nach Anspruch 1, wobei die ersten und zweiten Informationen einen ersten und einen zweiten Index enthalten, welche die erste und die zweite Schätzfunktion (A, B) entsprechend indizieren.
  7. Vorrichtung nach Anspruch 1, wobei die Bewegung eine Ausgewählte aus einer linearen Bewegung, einer oszillierenden Bewegung und einer Snap-Back-Bewegung einschließt.
  8. Vorrichtung nach Anspruch 1, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, an den ersten Fernclient, einen vierten Datenwert für eine vierte Position eines dritten Punktes eines Objekts zu dem ersten Zeitpunkt zu liefern; und an den ersten Fernclient, dritte Informationen zu liefern, welche eine dritte Schätzfunktion identifizieren, damit der erste Fernclient diese verwendet, um einen vierten Datenwert, welcher eine fünfte Position eines vierten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, und zwar basierend auf einem mittels der ersten Schätzfunktion errechneten fünften Datenwert, welcher eine sechste Position des dritten Punktes zu dem zweiten Zeitpunkt proximativ darstellt, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben, wobei die dritte Schätzfunktion ein zweites geometrisches Verhältnis des vierten Punktes zu dem dritten Punkt des Objekts widerspiegelt.
  9. Vorrichtung nach Anspruch 1, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen: an den zweiten Fernclient (442), den gleichen ersten Datenwert für die erste Position (252) des ersten Punktes (RE) des Objekts (200, 300, 330) zu dem ersten Zeitpunkt zu liefern, an den zweiten Fernclient (442), die gleichen ersten Informationen zu liefern, welche die gleiche erste Schätzfunktion (A, 270) identifizieren, damit der zweite Fernclient (442) diese verwendet, um basierend auf dem gleichen ersten Datenwert einen vierten Datenwert, welcher die zweite Position (264) des ersten Punktes (RE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, gleichermaßen resultierend wiederzugeben, und an den zweiten Fernclient (442), die gleichen zweiten Informationen zu liefern, welche die gleiche zweite Schätzfunktion (B, 272) identifizieren, damit der zweite Fernclient (442) diese verwendet, um basierend auf dem errechneten vierten Datenwert einen fünften Datenwert, welcher die dritte Position (266) des zweiten Punktes (SE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, gleichermaßen resultierend wiederzugeben.
  10. Vorrichtung umfassend: Speichermedium (410, 412, 414), welches in demselben eine Mehrzahl von Programmieranweisungen gespeichert hat, welche so ausgearbeitet sind, dass sie der Vorrichtung ermöglichen, von einem Fernserver (442), einen ersten Datenwert für eine erste Position (252) eines ersten Punktes (RE) eines Objekts (200, 300, 330) zu einem ersten Zeitpunkt zu empfangen, von dem Fernserver (442), erste und zweite Informationen zu empfangen, welche eine erste und eine zweite Schätzfunktion (A, 270, B, 272) identifizieren, wobei die erste Schätzfunktion (A, 270) eine Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, widerspiegelt, und die zweite Schätzfunktion (B, 272) ein erstes geometrisches Verhältnis eines zweiten Punktes (SE) zu dem ersten Punkt (RE) des Objekts (200, 300, 330) widerspiegelt, basierend auf dem ersten Datenwert, mittels der ersten Schätzfunktion (A, 270), einen zweiten Datenwert, welcher eine zweite Position (264) des ersten Punktes (RE) des Objekts (200, 300, 330) zu einem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, resultierend wiederzugeben, und basierend auf dem errechneten zweiten Datenwert, mittels der zweiten Schätzfunktion (B, 272), einen dritten Datenwert, welcher eine dritte Position (266) des zweiten Punktes (SE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, resultierend wiederzugeben; und mindestens einen an das Speichermedium (410, 412, 414) gekoppelten Prozessor (406), um die Programmieranweisungen auszuführen.
  11. Vorrichtung nach Anspruch 10, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, von dem Fernserver (442), dritte Informationen zu empfangen, welche eine dritte Schätzfunktion (C, 274) identifizieren, wobei die dritte Schätzfunktion (C, 274) ein zweites geometrisches Verhältnis des dritten Punktes (TA) zu dem zweiten Punkt (SE) des Objekts (200, 300, 330) widerspiegelt, und basierend auf dem errechneten dritten Datenwert, mittels der dritten Schätzfunktion (C, 274), einen vierten Datenwert, welcher eine vierte Position (262) eines dritten Punktes (TA) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt (200, 300, 330) durchlaufen wird, resultierend wiederzugeben.
  12. Vorrichtung nach Anspruch 11, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, von dem Fernserver (442), einen ersten Schätzkorrekturdeltawert (Δ1) zu empfangen; und eine der Berechnungen unter Verwendung der entsprechenden aus der ersten, der zweiten und der dritten Schätzfunktion (A, 270, B, 272, C, 274) und des ersten Schätzkorrekturdeltawerts (Δ1) durchzuführen, um dessen proximative Darstellung der entsprechenden aus der ersten (252), der zweiten (264) und der dritten Position (266) des entsprechenden aus dem ersten (RE), dem zweiten (SE) und dem dritten Punkt (TA) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern.
  13. Vorrichtung nach Anspruch 11, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, von dem Fernserver (442), einen ersten (Δ1), einen zweiten (Δ2) und einen dritten Schätzkorrekturdeltawert (Δ3) zu empfangen, und die Berechnungen unter entsprechender Verwendung der ersten, der zweiten und der dritten Schätzfunktion (A, 270, B, 272, C, 274) und des ersten, des zweiten und des dritten Schätzkorrekturdeltawertes (Δ1, Δ2, Δ3) durchzuführen, um deren entsprechende proximative Darstellung der ersten (262), der zweiten (264) und der dritten Position (266) des ersten (RE), des zweiten (SE) und des dritten Punktes (TA) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern.
  14. Vorrichtung nach Anspruch 10, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, von dem Fernserver (442), einen ersten (Δ1) und einen zweiten Schätzkorrekturdeltawert (Δ2) zu empfangen, und die Berechnungen unter entsprechender Verwendung der ersten und der zweiten Schätzfunktion (A, 270, B, 272), und des ersten und des zweiten Schätzkorrekturdeltawertes (Δ1, Δ2) durchzuführen, um deren entsprechende proximative Darstellung der ersten (262) und der zweiten Position (264) des ersten (RE) und des zweiten Punktes (SE) des Objekts (200, 300, 330) zu dem zweiten Zeitpunkt zu verbessern.
  15. Vorrichtung nach Anspruch 10, wobei die ersten und zweiten Informationen einen ersten und einen zweiten Index enthalten, welche die erste und die zweite Schätzfunktion entsprechend indizieren.
  16. Vorrichtung nach Anspruch 10, wobei die Bewegung eine Ausgewählte aus einer linearen Bewegung, einer oszillierenden Bewegung und einer Snap-Back-Bewegung einschließt.
  17. Vorrichtung nach Anspruch 10, wobei die Programmieranweisungen es der Vorrichtung weiterhin ermöglichen, von dem Fernserver, einen vierten Datenwert für eine vierte Position eines dritten Punktes eines Objekts zu dem ersten Zeitpunkt zu empfangen, von dem Fernserver dritte Informationen zu empfangen, welche eine dritte Schätzfunktion identifizieren, wobei die dritte Schätzfunktion ein zweites geometrisches Verhältnis eines vierten Punktes zu dem dritten Punkt des Objekts widerspiegelt, und einen vierten Datenwert, welcher eine fünfte Position des vierten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, basierend auf einem vierten Datenwert, mittels der dritten Schätzfunktion, zu berechnen, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben, wobei der fünfte Datenwert mittels der ersten Schätzfunktion berechnet wird und eine sechste Position des dritten Punktes zu dem zweiten Zeitpunkt proximativ darstellt.
  18. In einem Rechenserver, eine Verfahrensweise, umfassend: Liefern, an einen ersten Fernclient, eines ersten Datenwertes für eine erste Position eines ersten Punktes eines Objekts zu einem ersten Zeitpunkt; Liefern, an den ersten Fernclient, erster Informationen, welche eine erste Schätzfunktion identifizieren, damit der erste Fernclient diese verwendet, um basierend auf dem ersten Datenwert einen zweiten Datenwert, welcher eine zweite Position des ersten Punktes des Objekts zu einem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um eine Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben, wobei die erste Schätzfunktion die Bewegung wiederspiegelt; und Liefern, an den ersten Fernclient, zweiter Informationen, welche eine zweite Schätzfunktion identifizieren, damit der erste Fernclient diese verwendet, um basierend auf dem errechneten zweiten Datenwert einen dritten Datenwert, welcher eine dritte Position eines zweiten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben, wobei die zweite Schätzfunktion ein erstes geometrisches Verhältnis des zweiten Punktes zu dem ersten Punkt des Objekts wiederspiegelt.
  19. Verfahren nach Anspruch 18, wobei das Verfahren weiterhin das Liefern, an den ersten Fernclient, dritter Informationen umfasst, welche eine dritte Schätzfunktion identifizieren, damit der erste Fernclient diese verwendet, um basierend auf dem errechneten dritten Datenwert einen vierten Datenwert, welcher eine vierte Position eines dritten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben, wobei die dritte Schätzfunktion ein zweites geometrisches Verhältnis des dritten Punktes zu dem zweiten Punkt des Objekts widerspiegelt.
  20. Verfahren nach Anspruch 19, wobei das Verfahren weiterhin das Liefern, an den ersten Fernclient, eines ersten Schätzkorrekturdeltawertes zur Verwendung in Verbindung mit einer aus der ersten, der zweiten und der dritten Schätzfunktion umfasst, um den entsprechenden aus dem ersten, dem zweiten und dem dritten Datenwert zu berechnen, um dessen proximative Darstellung der entsprechenden aus der ersten, der zweiten und der dritten Position des entsprechenden aus dem ersten, dem zweiten und dem dritten Punkt des Objekts zu dem zweiten Zeitpunkt zu verbessern.
  21. Verfahren nach Anspruch 19, wobei das Verfahren weiterhin umfasst: Liefern, an den ersten Fernclient, eines ersten Schätzkorrekturdeltawertes zur Verwendung in Verbindung mit der ersten Schätzfunktion, um den zweiten Datenwert zu berechnen, um dessen proximative Darstellung der zweiten Position des ersten Punktes des Objekts zu dem zweiten Zeitpunkt zu verbessern; Liefern, an den ersten Fernclient, eines zweiten Schätzkorrekturdeltawertes zur Verwendung in Verbindung mit der zweiten Schätzfunktion, um den dritten Datenwert zu berechnen, um dessen proximative Darstellung der dritten Position des zweiten Punktes des Objekts zu dem zweiten Zeitpunkt zu verbessern; und Liefern, an den ersten Fernclient, eines dritten Schätzkorrekturdeltawertes zur Verwendung in Verbindung mit der dritten Schätzfunktion, um den vierten Datenwert zu berechnen, um dessen proximative Darstellung der vierten Position des dritten Punktes des Objekts zu dem zweiten Zeitpunkt zu verbessern.
  22. Verfahren nach Anspruch 18, wobei das Verfahren weiterhin umfasst: Liefern, an den ersten Fernclient, eines ersten Schätzkorrekturdeltawertes zur Verwendung in Verbindung mit der ersten Schätzfunktion, um den zweiten Datenwert zu berechnen, um dessen proximative Darstellung der zweiten Position des ersten Punktes des Objekts zu dem zweiten Zeitpunkt zu verbessern; und Liefern, an den ersten Fernclient, eines zweiten Schätzkorrekturdeltawertes zur Verwendung in Verbindung mit der zweiten Schätzfunktion, um den dritten Datenwert zu berechnen, um dessen proximative Darstellung der dritten Position des zweiten Punktes des Objekts zu dem zweiten Zeitpunkt zu verbessern.
  23. Verfahren nach Anspruch 18, wobei die ersten und zweiten Informationen einen ersten und einen zweiten Index enthalten, welche die erste und die zweite Schätzfunktion entsprechend indizieren.
  24. Verfahren nach Anspruch 18, wobei die Bewegung eine Ausgewählte aus einer linearen Bewegung, einer oszillierenden Bewegung und einer Snap-Back-Bewegung einschließt.
  25. Verfahren nach Anspruch 18, wobei das Verfahren weiterhin umfasst: Liefern, an den ersten Fernclient, eines vierten Datenwertes für eine vierte Position eines dritten Punktes eines Objekts zu dem ersten Zeitpunkt; und Liefern, an den ersten Fernclient, dritter Informationen, welche eine dritte Schätzfunktion identifizieren, damit der erste Fernclient diese verwendet, um einen vierten Datenwert, welcher eine fünfte Position eines vierten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, und zwar basierend auf einem mittels der ersten Schätzfunktion errechneten fünften Datenwert, welcher eine sechste Position des dritten Punktes zu dem zweiten Zeitpunkt proximativ darstellt, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben, wobei die dritte Schätzfunktion ein zweites geometrisches Verhältnis des vierten Punktes zu dem dritten Punkt des Objekts widerspiegelt.
  26. Verfahren nach Anspruch 18, wobei das Verfahren weiterhin umfasst: Liefern, an einen zweiten Fernclient, des gleichen ersten Datenwerts für die erste Position des ersten Punktes des Objekts zu dem ersten Zeitpunkt; Liefern, an den zweiten Fernclient, der gleichen ersten Informationen, welche die gleiche erste Schätzfunktion identifizieren, damit der zweite Fernclient diese verwendet, um basierend auf dem gleichen ersten Datenwert einen vierten Datenwert, welcher die zweite Position des ersten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt durchlaufen wird, gleichermaßen resultierend wiederzugeben; und Liefern, an den zweiten Fernclient der gleichen zweiten Informationen, welche die gleiche zweite Schätzfunktion identifizieren, damit der zweite Fernclient diese verwendet um basierend auf dem errechneten vierten Datenwert einen fünften Datenwert, welcher die dritte Position des zweiten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, zu berechnen, um die Bewegung, welche von dem Objekt durchlaufen wird, gleichermaßen resultierend wiederzugeben.
  27. In einer Clienteinrichtung, eine Verfahrensweise, umfassend: Empfangen, von einem Fernserver, eines ersten Datenwerts für eine erste Position eines ersten Punktes eines Objekts zu einem ersten Zeitpunkt; Empfangen, von dem Fernserver, erster und zweiter Informationen, welche eine erste und eine zweite Schätzfunktion identifizieren, wobei die erste Schätzfunktion eine Bewegung, welche von dem Objekt durchlaufen wird, widerspiegelt, und die zweite Schätzfunktion ein erstes geometrisches Verhältnis eines zweiten Punktes zu dem ersten Punkt des Objekts widerspiegelt; Berechnen basierend auf dem ersten Datenwert, mittels der ersten Schätzfunktion, eines zweiten Datenwertes, welcher eine zweite Position des ersten Punktes des Objekts zu einem zweiten Zeitpunkt proximativ darstellt, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben; und Berechnen basierend auf dem errechneten zweiten Datenwert, mittels der zweiten Schätzfunktion, eines dritten Datenwertes, welcher eine dritte Position des zweiten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben.
  28. Verfahren nach Anspruch 27, wobei das Verfahren weiterhin umfasst: Empfangen, von dem Fernserver, dritter Informationen, welche eine dritte Schätzfunktion identifizieren, wobei die dritte Schätzfunktion ein zweites geometrisches Verhältnis des dritten Punktes zu dem zweiten Punkt des Objekts widerspiegelt; und Berechnen basierend auf dem errechneten dritten Datenwert, mittels der dritten Schätzfunktion, eines vierten Datenwertes, welcher eine vierte Position eines dritten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben.
  29. Verfahren nach Anspruch 28, wobei das Verfahren weiterhin umfasst: Empfangen, von dem Fernserver, eines ersten Schätzkorrekturdeltawertes; und Durchführen einer der Berechnungen unter Verwendung der entsprechenden aus der ersten, der zweiten und der dritten Schätzfunktion und des ersten Schätzkorrekturdeltawertes, um dessen proximative Darstellung der entsprechenden aus der ersten, der zweiten und der dritten Position des entsprechenden aus dem ersten, dem zweiten und dem dritten Punkt des Objekts zu dem zweiten Zeitpunkt zu verbessern.
  30. Verfahren nach Anspruch 28, wobei das Verfahren weiterhin umfasst: Empfangen, von dem Fernserver, eines ersten, eines zweiten und eines dritten Schätzkorrekturdeltawertes; und Durchführen der Berechnungen unter entsprechender Verwendung der ersten, der zweiten und der dritten Schätzfunktion und des ersten, des zweiten, und des dritten Schätzkorrekturdeltawertes, um deren entsprechende proximative Darstellung der ersten, der zweiten und der dritten Position des ersten, des zweiten und des dritten Punktes des Objekts zu dem zweiten Zeitpunkt zu verbessern.
  31. Verfahren nach Anspruch 27, wobei das Verfahren weiterhin umfasst: Empfangen, von dem Fernserver, eines ersten und eines zweiten Schätzkorrekturdeltawertes; und Durhführen der Berechnungen unter entsprechender Verwendung der ersten und der zweiten Schätzfunktion, und des ersten und des zweiten Schätzkorrekturdeltawertes, um deren entsprechende proximative Darstellung der ersten und der zweiten Position des ersten und des zweiten Punktes des Objekts zu dem zweiten Zeitpunkt zu verbessern.
  32. Verfahren nach Anspruch 27, wobei die ersten und zweiten Informationen einen ersten und einen zweiten Index umfassen, welche die erste und die zweite Schätzfunktion entsprechend indizieren.
  33. Verfahren nach Anspruch 27, wobei die Bewegung eine Ausgewählte aus einer linearen Bewegung, einer oszillierenden Bewegung und einer Snap-Back-Bewegung einschließt.
  34. Verfahren nach Anspruch 27, wobei das Verfahren weiterhin umfasst: Empfangen, von dem Fernserver, eines vierten Datenwertes für eine vierte Position eines dritten Punktes eines Objekts zu dem ersten Zeitpunkt; Empfangen, von dem Fernserver, dritter Informationen, welche eine dritte Schätzfunktion identifizieren, wobei die dritte Schätzfunktion ein zweites geometrisches Verhältnis eines vierten Punktes zu dem dritten Punkt des Objekts widerspiegelt; und Berechnen basierend auf einem fünften Datenwert, mittels der dritten Schätzfunktion, eines vierten Datenwertes, welcher eine fünfte Position des vierten Punktes des Objekts zu dem zweiten Zeitpunkt proximativ darstellt, um die Bewegung, welche von dem Objekt durchlaufen wird, resultierend wiederzugeben, wobei der fünfte Datenwert mittels der ersten Schätzfunktion berechnet wird und eine sechste Position des dritten Punktes zu dem zweiten Zeitpunkt proximativ darstellt.
DE60026346T 1999-09-18 2000-09-15 Datenkomprimierung durch offsetdarstellung Expired - Lifetime DE60026346T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US399063 1999-09-18
US09/399,063 US6512515B1 (en) 1999-09-18 1999-09-18 Data compression through motion and geometric relation estimation functions
PCT/US2000/040911 WO2001022198A2 (en) 1999-09-18 2000-09-15 Data compression through offset representation

Publications (2)

Publication Number Publication Date
DE60026346D1 DE60026346D1 (de) 2006-04-27
DE60026346T2 true DE60026346T2 (de) 2006-11-02

Family

ID=23577976

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60026346T Expired - Lifetime DE60026346T2 (de) 1999-09-18 2000-09-15 Datenkomprimierung durch offsetdarstellung

Country Status (6)

Country Link
US (1) US6512515B1 (de)
EP (1) EP1222508B1 (de)
AT (1) ATE319127T1 (de)
AU (1) AU1252901A (de)
DE (1) DE60026346T2 (de)
WO (1) WO2001022198A2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941343B2 (en) * 2001-06-02 2005-09-06 Polycom, Inc. System and method for point to point integration of personal computers with videoconferencing systems
EP1461717B1 (de) 2001-11-27 2017-02-15 Accenture Global Services Limited Dienststeuerrahmen für den nahtlosen transfer einer multimedia-konferenz über verschiedene medien
US7716333B2 (en) 2001-11-27 2010-05-11 Accenture Global Services Gmbh Service control architecture
US7249327B2 (en) * 2002-03-22 2007-07-24 Fuji Xerox Co., Ltd. System and method for arranging, manipulating and displaying objects in a graphical user interface
US7610563B2 (en) * 2002-03-22 2009-10-27 Fuji Xerox Co., Ltd. System and method for controlling the display of non-uniform graphical objects
US20060189393A1 (en) * 2005-02-22 2006-08-24 Albert Edery Real action network gaming system
US7752303B2 (en) * 2006-02-23 2010-07-06 Wily Technology, Inc. Data reporting using distribution estimation
US10796484B2 (en) * 2017-06-14 2020-10-06 Anand Babu Chitavadigi System and method for interactive multimedia and multi-lingual guided tour/panorama tour
US20220053168A1 (en) * 2020-05-12 2022-02-17 True Meeting Inc. Method and system for virtual 3d communications having multiple participants per camera

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3656178A (en) 1969-09-15 1972-04-11 Research Corp Data compression and decompression system
US5155772A (en) 1990-12-11 1992-10-13 Octel Communications Corporations Data compression system for voice data
GB2258372B (en) 1991-08-02 1995-05-31 Sony Corp Apparatus for and methods of recording and/or reproducing digital data
US5260693A (en) * 1991-10-11 1993-11-09 Spacelabs Medical, Inc. Method and system for lossless and adaptive data compression and decompression
US5793371A (en) 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US5740409A (en) 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
EP0889440B9 (de) * 1997-06-30 2004-03-17 Sun Microsystems, Inc. Verfahren und Vorrichtung zur geometrischen Komprimierung von dreimensionalen Grafiken

Also Published As

Publication number Publication date
ATE319127T1 (de) 2006-03-15
WO2001022198A3 (en) 2002-11-07
EP1222508B1 (de) 2006-03-01
DE60026346D1 (de) 2006-04-27
EP1222508A1 (de) 2002-07-17
WO2001022198A2 (en) 2001-03-29
US6512515B1 (en) 2003-01-28
AU1252901A (en) 2001-04-24

Similar Documents

Publication Publication Date Title
DE60021745T2 (de) Datenkompression
DE60115034T2 (de) Verfeinerung von dreidimensionalen polygonalen gitterdaten
DE69831961T2 (de) Bildobjekterzeugungsverfahren für objektbasierte kodierungssysteme unter verwendung von masken und gerundeten mittelwerten
DE60201692T2 (de) Auf 3D Objekten angewendetes 2D Bildverarbeitungsverfahren
DE69919145T2 (de) Stochastiches detailniveau in einer rechneranimation
DE69725480T2 (de) Gitternetzvereinfachung und Konstruktion von Gitternetzen
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE60112103T2 (de) Verfahren und Vorrichtung zur effizientes Verringerung von graphischen Anzeigedaten für ihre Übertragung mittels eines Übertragungsprotokolls für niedrige Bandbreiten
DE60206801T2 (de) Verfahren zur übertragung von datenobjekten von einem server zu einem client-terminal, das sich einer verwaltung des cache bedient
DE69907917T2 (de) Selektive verfeinerung der maschen
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
DE102013022256A1 (de) Verbesserung der Zuweisung eines Bitratensteuerungswerts für Video-Datenstromübertragung auf der Grundlage eines Aufmerksamkeitsbereichs eines Spielers
DE112007002991T5 (de) Computergraphikschattenvolumen unter Verwendung von hierarchischem Okklusions-Culling
DE112018002112T5 (de) Systeme und verfahren zum rendern & vorkodierte lastschätz-basierte codierer-ansprech-bezogene anwendungen
DE112004002391B4 (de) Räumlich-zeitliche Erzeugung von Bewegungsunschärfe
DE60026346T2 (de) Datenkomprimierung durch offsetdarstellung
EP3789962B1 (de) Verfahren und vorrichtung zum erzeugen von daten für eine zwei- oder dreidimen-sionale darstellung zumindest eines teils eines objekts und zum erzeugen der zwei- oder dreidimensionalen darstellung zumindest des teils des objekts
DE112009004075T5 (de) Selektives kommunizieren von daten eines peripheriegeräts zumehreren sendenden computern
EP3347876B1 (de) Vorrichtung und verfahren zur erzeugung eines modells von einem objekt mit überlagerungsbilddaten in einer virtuellen umgebung
DE102013213093A1 (de) System, Verfahren und Computerprogrammprodukt zum simultanen Bestimmen von Einstellungen für eine Mehrzahl von Parametervariationen
DE102013213047A1 (de) System, Verfahren und Computerprogrammprodukt zum Testen von Vorrichtungsparametern
DE112021006157T5 (de) Videocodieren durch nicht-salienz-komprimierung für live-streaming von hochauflösenden videos in einer übertragung niedriger bandbreite
DE112015003626T5 (de) System und verfahren zum erhöhen der bittiefe von bildern
DE69432507T2 (de) Verfahren und Geräte zur Erzeugung von Zeichnungsdaten
DE60106782T2 (de) Mesh-codierungsverfahren auf wavelet-basis

Legal Events

Date Code Title Description
8364 No opposition during term of opposition