-
Hintergrund der Erfindung
-
(Gebiet der Erfindung)
-
Die
vorliegende Erfindung bezieht sich auf ein System zum Übermitteln
und Empfangen von Datenströmen
zum Bilden eines dreidimensionalen virtuellen Raums, der durch dreidimensionale
Computergrafik (im Folgenden als „3-DCG", bezeichnet) dargestellt wird, auf
Basis eines Netzes wie dem Internet und insbesondere auf eine Vorrichtung
und ein Verfahren zum Übermitteln
und Empfangen von Datenströmen,
die für
eine dreidimensionale Skelettstruktur repräsentativ sind, um so in effizienter
Weise natürliche
Bewegungen eines Charakters mit einer komplizierten Skelettstruktur
beispielsweise eines Menschen, zu übermitteln und zu empfangen.
-
(Beschreibung des Standes der Technik)
-
In
den letzten Jahren haben virtuelle Einkaufszentren, elektronischer
Handel und verschiedene relevante Homepages im Internet wie dem World-Wide-Web (WWW) eine beträchtliche
Aufmerksamkeit als ein Anwendungsgebiet von 3-DCG auf sich gezogen.
Dank der schnellen Entwicklung des Internet hat insbesondere der
Trend in Richtung einer einfachen Handhabung von relativ hochqualitativen
3-DCG wie Spielen und Filmen zu Haus an Schwung aufgenommen. Wie
in 8 gezeigt, sind eine Mehrzahl von „Client" genannten Maschinen PCC1-PCCn,
beispielsweise Personal Computer, mit einer „Server" genannten Maschine PCS, beispielsweise
einem Personal Computer oder einer Workstation, über das Internet im WWW oder ähnlichem
verbunden. Durch Restrukturieren von Information wie Tönen, Texten
und Layout-Informationen, die von dem Server PCS bei Bedarf heruntergeladen
werden, kann die von dem Server PCS übermittelte Information durch
die Clients PCC1-PCCn erhalten werden. Üblicherweise wird ein Kommunikationsverfahren
auf Basis des Transmission Control Protocol/Internet Protocol (TCP/IP)
zur Kommunikation zwischen dem Server PCS und den Clients PCC1-PCCn verwendet.
-
Herkömmlich waren
die von dem Server PCS bereitgestellten Daten im Wesentlichen auf Textdaten
und Bilddaten beschränkt.
Der jüngste Fortschritt
der Standarisierung der Virtual Reality Modeling Language (VRML)
und Browsern für
die VRML haben einen Anstoß für die Übertragung
von 3-DCG selbst als Formen und Szenen gegeben. Die oben angesprochene
VRML wird im Folgenden kurz beschrieben. In einem bekannten Daten-Layout,
das im Wesentlichen aus Bildern und Text besteht, wie in der Hypertext
Markup Language (HTML), sind enorme Zeit und Kosten nötig, um
Bilddaten zu übertragen, insbesondere
Daten zu bewegten Bildern. Daher besteht in existierenden Vorrichtungen
eine Grenze im Netzverkehr. Andererseits wird bei 3-DCG alle Information
einschließlich
von Formen, Blickpunktinformationen und Lichtquelleninformation
in dreidimensionalen Daten verarbeitet. Ein jüngster Fortschritt in der Computergraphik-Technologie (im Folgenden
als „CG" bezeichnet) hat
eine rapide Verbesserung der Qualität von Bildern mit sich gebracht,
die mittels CG hergestellt sind. Daher ist es von einem Standpunkt der
Datenmenge aus gesehen recht effizient, die CG-Daten selbst zu übermitteln.
-
Auch
wenn eine Menge von CG-Daten nicht mehr als ein Hundertstel der
herkömmlichen
Bilddaten beträgt,
sind üblicherweise
die CG-Daten dazu in der Lage, Bilder mit eine Qualität wiederzugeben,
die äquivalent
zu der von herkömmlichen
Bilddaten ist. Mit anderen Worten haben die CG-Daten ein Kompressionsverhältnis das
nicht weniger als 100 Mal größer als
das von herkömmlichen
Bilddaten ist. Daher wurde bei der Übermittlung von Bilddaten über ein
Netz eine Anstrengung unternommen, CG-Daten zu verwenden, insbesondere
3-DCG Daten als ein Standard. Als ein Beispiel dieser Anstrengung
wurde die oben erwähnte
VRML vorgeschlagen (VRML Ver2.0). Die VRML Ver2.0 fordert ein Datenformat von
Formdaten, das „primitiv" genannt wird, Lichtquellendaten,
Blickpunktdaten, Texturdaten, etc. und wie eine Verschiebung eines
festen Körpers
spezifiziert wird. Ein solches Datenformat wird aus Gründen der
Vereinfachung als „VR-Format" (VRF) bezeichnet.
-
Andererseits
wurde bei herkömmlicher
CG in letzter Zeit Aufmerksamkeit auf eine Animationstechnik zum
Bilden von Bildern auf Echtzeitbasis gerichtet. Durch Verwenden
dieser Echtzeitanimationstechnologie, werden reale Bewegungen eines
CG-Charakters im Wesentlichen in Werbemitteilungen und Filmen wiedergegeben.
Als ein Beispiel kann eine komplizierte Form wie ein Mensch, die
durch eine Skelettstruktur und differenzierte Bewegungen der Skelettstruktur
ausgedrückt
wird, in natürlicher
Weise durch Definieren von Bewegungsausmaßen an den Gelenken des Skeletts
wiedergegeben werden, die sich momentan ändern.
-
Bei
herkömmlichen
3-DCG Modellierungssprachen im Internet, im Wesentlichen der VRML, war
es unmöglich,
Bewegungen auf einer Echtzeitbasis an der Form mit der komplizierten
Struktur wie dem Menschen zu vermitteln. Derweil war es ebenso unmöglich, ein
System zu formulieren, in dem eine Mehrzahl von Benutzern einen
gemeinsamen dreidimensionalen Raum in einem virtuellen Raum haben, wobei
ein Netz involviert ist, so dass ihre Avatare interaktiv in dem
gemeinsamen dreidimensionalen Raum bedient werden. Ferner war es
unmöglich, Sprache
oder Musik auf einer Echtzeitbasis synchron mit Bewegungen der Avatare
in dem gemeinsamen dreidimensionalen Raum zu übermitteln und zu empfangen.
-
EP 0 753 835 offenbart ein
System zur gemeinsamen Nutzung eines dreidimensionalen virtuellen
Realitätsraums
und ein entsprechendes Verfahren. Entsprechend dem in
EP 0 753 835 offenbarten Konzept wird
der Umfang der Kommunikation minimiert, die nötig ist, um bewegte Bilder
darzustellen. Wenn ein Objekt an einem Client-Terminal bewegt wird,
wird eine Nachricht, die die Bewegung des Objektes angibt, an ein
Server-Terminal übermittelt.
Das Server-Terminal übermittelt
die Nachricht an die anderen Client-Terminals. Jeder der Client-Terminals speichert
im Vorfeld eine Nachrichtentabelle, um die Nachricht auszuführen. Entsprechend
der Nachrichtentabelle wird ein Bild zum lokalen Bewegen eines Objektes
erzeugt und angezeigt. Dies erlaubt kooperativen Bewegungen der
Mehrzahl von Unterobjekten, in einem dreidimensionalen virtuellen
Realitätsraum
glatt dargestellt zu werden, der von einer Mehrzahl von Benutzern
geteilt wird.
-
Zusammenfassung der Erfindung
-
Entsprechend
ist es eine wesentliche Aufgabe der vorliegenden Erfindung, eine
Vorrichtung und ein Verfahren zum Übermitteln und Empfangen von Daten strömen, die
für einen
dreidimensionalen virtuellen Raum repräsentativ sind, vorzustellen,
bei denen Bewegungen auf einer Echtzeitbasis an einer Form mit einer
komplizierten Struktur wie einem Menschen vorgenommen werden können, wobei
eine Mehrzahl von Benutzern einen gemeinsamen dreidimensionalen
Raum in einem virtuellen Raum haben, wobei ein Netz involviert ist,
so dass deren Avatare interaktiv in dem gemeinsamen virtuellen dreidimensionalen
Raum bedient und Sprache oder Musik auf Echtzeitbasis synchron mit
Bewegungen der Avatare in dem gemeinsamen virtuellen dreidimensionalen Raum übermittelt
und empfangen werden können.
-
Um
diese Aufgabe der vorliegenden Erfindung zu lösen, umfasst eine Vorrichtung
zum Übermitteln
von Datenströmen
gemäß Anspruch
1, eine Vorrichtung zum Empfangen von Datenströmen gemäß Anspruch 2 und eine Vorrichtung
zum Übermitteln
und Empfangen von Datenströmen
ein Übermittlungselement,
ein Empfangselement und ein Übermittlungsmittel
zum Koppeln des Übermittlungselementes
und des Empfangselementes in bidirektionaler Weise, wobei ein Formdatenstrom,
ein Bewegungsdatenstrom und ein Audiodatenstrom, die für eine Form
und eine Bewegung einer Skelettstruktur in 3-DCG und einem mit der
Bewegung synchronen Ton repräsentativ
sind, jeweils von dem Übermittlungselement
an das Empfangselement übermittelt werden,
sodass das Empfangselement die 3-DCG durch Synchronisation des Bewegungsdatenstroms und
des Audiodatenstroms erzeugt, wobei das Übermittlungselement aufweist:
ein Übermittlungsmittel, das
ausgebildet ist, gleichzeitig auf Echtzeitbasis in Antwort auf eine
Anforderung von dem Empfangselement den Formdatenstrom, den Bewegungsdatenstrom
und den Audiodatenstrom synchron mit dem Bewegungsdatenstrom als
eine Mehrzahl von Strömen
entsprechend einem Format eines vorbestimmten Datenstroms zu übermitteln,
so dass das Übertragungsmittel
interaktiv die Ströme
von dem Übermittlungselement
an das Empfangselement übermittelt, wobei
das Empfangselement aufweist: ein Datenstromempfangselement, das
ausgebildet ist, die von dem Übermittlungselement über das Übertragungsmittel übermittelten
Ströme
zu empfangen, um so die Arten und Formate der empfangenen Ströme zu unterscheiden,
und um die Ströme
zu empfangen, gegebenenfalls auf einer Echtzeitbasis, um so die
unterschiedenen Ströme
jeweils den für
die Ströme
benötigten
Wiederherstellungsverarbeitungen zu unterwerfen, ein Erzeugungs-mittel
für dreidimensionalen virtuellen
Raum, das ausgebildet ist, die Form der Skelettstruktur in dem dreidimensionalen
virtuellen Raum oder den dreidimensionalen virtuellen Raum unter
Verwendung eines Formstromes der von dem Empfangselement empfangenen
Ströme
oder von vorbereitend gelesenen dreidimensionalen Formdaten zu erzeugen,
und das ausgebildet ist, die Form der Skelettstruktur unter Verwendung
eines Bewegungsstromes der Ströme
zu bewegen, und ein Tonerzeugungsmittel, das ausgebildet ist, im
Fall das die Ströme
einen Audiostrom enthalten, den Audiostrom synchron mit dem Bewegungsstrom
wiederzugeben.
-
Derweil
umfasst ein Verfahren zum Übermitteln
und Empfangen von Datenströmen,
die für
einen dreidimensionalen virtuellen Raum repräsentativ sind, entsprechend
Anspruch 11 gemäß der vorliegenden
Erfindung, bei dem ein Formdatenstrom, ein Bewegungsdatenstrom und
ein Audiodatenstrom, die für
eine Form oder eine Bewegung einer Skelettstruktur in 3-DCG und
einen mit der Bewegung synchronen Ton repräsentativ sind und die jeweils
von einem Übermittlungselement
an ein Empfangselement übermittelt
werden, sodass das Empfangselement ausgebildet ist, die 3-DCG durch
Synchronisation des Bewegungsdatenstromes und des Audiodatenstromes
zu erzeugen, die Schritte: einen ersten Schritt des simultanen Übermittelns
des Formdatenstromes, des Bewegungsdatenstromes und des Audiodatenstromes
synchron mit dem Bewegungsdatenstrom als eine Mehrzahl von Strömen entsprechend
einem Format eines vorbestimmten Datenstromes auf einer Echtzeitbasis
in Reaktion auf eine Anforderung von dem Empfangselement, einen
zweiten Schritt des Koppelns des Übermittlungselementes und des
Empfangselementes in bidirektionaler Weise, um so die Ströme von dem Übermittlungselement
interaktiv an das Empfangselement zu übertragen, einen dritten Schritt
des Empfangens der übertragenen
Ströme,
um die Arten und Formate der empfangenen Datenströme zu unterscheiden
und dem Empfangens der Ströme
auf einer Echtzeitbasis, um so die unterschiedenen Ströme den jeweiligen
Wiederherstellungsverarbeitungen für die Ströme zu unterwerfen, einen vierten
Schritt des Erzeugens der Form der Skelettstruktur in dem dreidimensionalen
virtuellen Raum oder des dreidimensionalen virtuellen Raums unter
Verwendung des Formdatenstroms der von dem Empfangselement empfangenen Ströme oder
vorbereitend gelesener dreidimensionaler Formdaten und des Bewegens
der Form der Skelettstruktur unter Verwendung eines Bewegungsdatenstromes
der Ströme,
und eines fünften
Schritts des Wiedergebens des Audiodatenstromes synchron mit dem
Bewegungsstrom, im Fall, dass die Ströme einen Audiostrom enthalten.
-
Mittels
der oben erwähnten
Anordnung der Vorrichtung und des Verfahrens der vorliegenden Erfindung
werden die Formdaten der Skelettstruktur wie beispielsweise eines
Menschens als der Formdatenstrom übermittelt, die grundsätzliche
Bewegung des Skeletts als der Bewegungsdatenstrom geliefert und
die Audiodaten, die die Bewegung der Skelettstruktur begleiten,
als der Audiodatenstrom übermittelt,
zusammen mit Information zur Synchronisation und Kompression in
jedem der Datenströme
und der Entsprechung zwischen den Datenströmen.
-
Weitere
Ausführungsbeispiele
der Erfindung sind in den abhängigen
Ansprüchen
definiert.
-
Daher
können
gemäß der vorliegenden
Erfindung in Antwort auf eine Anforderung eines Benutzers glatte
Bewegungen eines Charakters in einem Übermittlungs- und Empfangssystem
auf Basis eines Netzes und Audioinformation synchron mit den Bewegungen
interaktiv übermittelt
und empfangen werden und die Quantität der zu übertragenden Daten deutlich
reduziert werden.
-
Kurze Beschreibung der Zeichnungen
-
Diese
Aufgabe und Merkmale der vorliegenden Erfindung werden anhand der
folgenden Beschreibung offensichtlich, die mit Bezug auf deren bevorzugte
Ausführungsformen
mit Verweis auf die beiliegenden Zeichnungen ausgeführt wird,
bei denen:
-
1 ein
Blockdiagramm ist, das eine Minimalkonfiguration einer Vorrichtung
zum Übermitteln und
Empfangen von Datenströmen,
die für
einen dreidimensionalen virtuellen Raum repräsentativ sind, gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt,
-
2 ein
Blockdiagramm eines 3-DCG-Datenstromübermittlungsabschnitts ist,
das in der Vorrichtung von 1 verwendet
wird,
-
3 ein
Blockdiagramm eines 3-DCG-Datenstromempfangsabschnitts ist, der
in der Vorrichtung von 1 verwendet wird,
-
4 eine
Ansicht ist, die ein Beispiel eines Formats eines 3-DCG-Datenstroms in der
vorliegenden Erfindung zeigt,
-
5 eine
Ansicht ist, die ein anderes Beispiel des Formats des 3-DCG-Datenstroms in der vorliegenden
Erfindung zeigt,
-
6 ein
nachahmendes Diagramm von Paketen eines Animationsstroms ist, der
als der 3-DCG-Datenstrom in der vorliegenden Erfindung auftritt,
-
7 ein
nachahmendes Diagramm von Paketen eines Bewegungsstromes ist, der
als der 3-DCG-Datenstrom in der vorliegenden Erfindung auftritt,
-
8 ein
nachahmendes Diagramm ist, das die Vorrichtung von 1 zeigt,
bei der eine Mehrzahl von Klienten mit einem einzelnen Server gekoppelt
sind,
-
9 eine
Ansicht ist, die erläuternd
für eine grundsätzliche
Skelettstruktur des 3-DCG-Datenstroms in der vorliegenden Erfindung
ist,
-
10 ein
nachahmendes Diagramm ist, das eine allgemeine virtuelle Datenstruktur
zeigt, die für
eine Skelettstruktur eines Avatars in dem 3-DCG-Datenstrom in der vorliegenden Erfindung
repräsentativ
ist,
-
11 ein
nachahmendes Diagramm ist, das ein Format eines Datenstroms zeigt,
der für
eine Bewegung relativ zu der Skelettstruktur (Ausgangswert) von 10 ist,
-
12 eine
Ansicht ist, die erläuternd
für ein beschreibendes
Beispiel auf Basis der Virtual Reality Modeling Language (VRML)
einer dreidimensionalen Szene in der vorliegenden Erfindung ist,
-
13 ein
nachahmendes Diagramm ist, das eine Szenenstruktur entsprechend
dem beschreibenden Beispiel von 12 zeigt,
-
14 eine
Ansicht ist, die erläuternd
für ein Beispiel
eines synchronen Verfahrens des 3-DCG-Datenstroms in der vorliegenden
Erfindung ist,
-
15 ein
Ablaufdiagramm ist, das ein gemeinsames Nutzen von dreidimensionalem
Raum in einem Multi-User-Netz von 8 zeigt,
-
16 ein
Ablaufdiagramm ist, das eine Übermittlung
und ein Empfang von dreidimensionalen virtuellem Raum in einem Einzel-User-Netz
von 1 zeigt,
-
17 ein
Ablaufdiagramm ist, das eine synchrone Bearbeitung der 3-DCG-Daten zum Zeitpunkt
der Wiedergabe der 3-DCG in der vorliegenden Erfindung zeigt, und
-
18 eine
perspektivische Ansicht eines Personal Computers zur Verwendung
mit einer Floppy-Disk zum Aufzeichnen von Programmen zum Veranlassen
des Personal Computers zum Ausführen eines
Verfahrens der vorliegenden Erfindung mit den Schritten der Ablaufdiagramme
von 15 bis 17 ist.
-
Bevor
die Beschreibung der vorliegenden Erfindung fortschreitet, ist zu
bemerken, dass ähnliche Elemente
mit ähnlichen
Bezugszeichen durch verschiedene Ansichten der beiliegenden Zeichnungen hinweg
bezeichnet sind.
-
Detaillierte Beschreibung
der Erfindung
-
Im
Folgenden wird eine Ausführungsform der
vorliegenden Erfindung mit Bezug auf die beiliegenden Zeichnungen
beschrieben. 1 zeigt eine Minimalkonfiguration
einer Vorrichtung 100 zum Übermitteln und Empfangen von
Datenströmen,
die für
einen dreidimensionalen virtuellen Raum repräsentativ sind, entsprechend
einer Ausführungsform der
vorliegenden Erfindung. Die Vorrichtung 100 wird von einem
Server PCS, der an einer Übermittlungsseite
angeordnet ist, einem Client PCC, der an einer Empfangsseite angeordnet
ist, und einem Über mittlungsabschnitt
TR zum Koppeln des Servers PCS und des Clients PCC gebildet. Der
Server PCS erzeugt 3-DCG-Datenströme, die für einen dreidimensionalen virtuellen
Raum repräsentativ
sind, entsprechend einem Befehl, der von dem Benutzer mit einem
Stromautorenmittel eingegeben wird, das üblicherweise außerhalb
vorgesehen ist. Der Betrieb dieses Stromautorenmittels wird später beschrieben.
-
Der
Server PCS kodiert (Formatumsetzung) einen 3-DCG-Datenstrom DS zum
Bilden des dreidimensionalen virtuellen Raums einschließlich eines Avatars
des Benutzers, um so den kodierten Datenstrom DS1 zu erzeugen. Derweil
werden ein Format VRF des 3-DCG-Datenstroms DS und der kodierte Datenstrom
DS1 später
mit Bezug auf die 4, 5 und 11 beschrieben
werden. Der Übertragungsabschnitt
TR, der den Server PCS und den Client PCC in bidirektionaler Weise
koppelt, überträgt nicht
nur den kodierten Datenstrom DS1 vom Server PCS zum Client PCC,
sondern überträgt auch
modifizierte Daten bezüglich
der 3-DCG-Daten, die von dem Client PCC eingegeben wurden, an den
Server PCS. Der Server PCS dekodiert (Formatumsetzung) nämlich den
3-DCG-Datenstrom
DS durch ein Zurückübersetzen
eines Formats des eingegebenen kodierten Datenstroms DS1 und gibt
ein 3-DCG-Bild wieder, das für
den dreidimensionalen virtuellen Raum repräsentativ ist. Derweil, im Fall,
dass der Benutzer eine Änderung
an dem dreidimensionalen virtuellen Raum durch Bedienen seines eigenen
Avatars am Server PCS verursacht hat, erzeugt der Server PCS Modifikationsdaten
DM, die für
die Änderung repräsentativ
sind, und übermittelt
die Bildmodifikationsdaten DM über
den Übertragungsabschnitt
TR an den Client PCC.
-
Üblicherweise
werden der Server PCS und der Client PCC im Wesentlichen durch Software
in einem Computer wie einer Workstation oder einem Personal Computer
formuliert. Der Server PCS schließt einen 3-DCG-Datenstrom-Übermittlungsabschnitt 1 ein,
während
der Übertragungsabschnitt
TR einen 3-DCG-Datenstrom-Übertragungsabschnitt 2 einschließt. Derweil
umfasst der Client PCC einen 3-DCG-Datenstrom-Empfangsabschnitt 3,
einen Erzeugungsabschnitt 4 für dreidimensionalen virtuellen Raum
und einen Tonerzeugungsabschnitt 5. Der Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum ist mit dem 3-DCG-Datenstrom-Empfangsabschnitt 3 über einen
Datenbus gekop pelt, um so eine Eingabe des 3-DCG-Datenstroms DS
von dem 3-DCG-Datenstrom-Empfangsabschnitt 3 zu
empfangen. Der Erzeugungsabschnitt 4 für dreidimensionalen virtuellen
Raum erzeugt nicht nur 3-DCG auf Basis des 3-DCG-Datenstroms DS, sondern erzeugt auch
einen Audiodatenstrom Sa. Der Tonerzeugungsabschnitt 5 ist
mit dem Erzeugungsabschnitt 4 für dreidimensionalen virtuellen
Raum über
eine Signalleitung gekoppelt und gibt Ton in Antwort auf die Eingabe
des Audiodatenstroms Sa von dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum wieder.
-
Die
Vorrichtung 100 übermittelt
nämlich
simultan über
den Übermittlungsabschnitt 1 für dreidimensionalen
Datenstrom eine Mehrzahl von 3-DCG-Datenströmen, die den kodierten Datenstrom DS1
bilden. Auf Basis der über
den Übertragungsabschnitt
TR empfangenen 3-DCG-Datenströme
erzeugt der Client PCC eine dreidimensionale Animation einschließlich Ton.
-
In
diesem Beispiel ist die Minimalkonfiguration der Vorrichtung 100 beschrieben,
bei der der einzelne Client PCC mit dem einzelnen Server PCS über den Übertragungsabschnitt
TR gekoppelt ist. Es ist jedoch unnötig zu sagen, dass eine Mehrzahl
der Clients PCCn (n = natürliche
Zahl) mit dem Server PCS mittels des Übertragungsabschnitts TR gekoppelt
werden kann, wie in 8 gezeigt.
-
2 zeigt
ein Beispiel einer Konfiguration des 3-DCG-Datenstrom-Übermittlungsabschnitts 1 im
Server PCS. Der 3-DCG-Datenstrom-Übermittlungsabschnitt 1 ist
mit dem Übertragungsabschnitt 2 für dreidimensionalen
CG-Datenstrom über
eine bidirektionale Signalleitung gekoppelt, um so Anforderungssignale
Sr auszutauschen, die von dem Client PCC und dem Server PCS erzeugt
werden. Der 3-DCG-Datenstrom-Übermittlungsabschnitt 1 umfasst
einen Skelettstruktur-Strom-Übermittlungsabschnitt 11 zum
Erzeugen eines Skelett-Datenstroms Ss des Avatars, einen Bewegungsstrom-Übermittlungsabschnitt 12 zum
Erzeugen eines Bewegungsdatenstroms Sm des Avatars, einen Audiostrom-Übermittlungsabschnitt 13 zum
Erzeugen des Audiodatenstroms Sa des Avatars, einen Stromumsetzer 14 zum
Durchführen
einer Kodierung zum Umsetzen des Skelett-Datenstroms Ss, des Bewegungsdatenstroms
Sm und des Audiodatenstroms Sa des Avatars in ein vorbestimmtes
For mat und einen Zustandskontroller 15 zum Steuern von
Zuständen
wie einer Identität
(ID) des Clients und eines Zustandes des Avatars in der Vorrichtung 100.
-
Der
Stromumsetzer 14 ist mit dem Skelett-Strukturstrom-Übermittlungsabschnitt 11 und dem
3-DCG-Datenstrom-Übertragungsabschnitt 2 in bidirektionaler
Weise gekoppelt und kodiert den Skelett-Datenstrom Ss des Avatars
in einen Skelett-Datenstrom Ss1, um so den Skelett-Datenstrom Ss1 dem
3-DCG-Datenstrom-Übertragungsabschnitt 2 zuzuführen. In ähnlicher
Weise ist der Stromumsetzer 14 mit dem Bewegungsstrom-Übermittlungsabschnitt 12 und
dem 3-DCG-Datenstrom-Übertragungsabschnitt 2 in
bidirektionaler Weise gekoppelt und kodiert den Bewegungsdatenstrom
Sm des Avatars in einen Bewegungsdatenstrom Sm1, um so den Bewegungsdatenstrom
Sm1 dem Übertragungsabschnitt 2 für dreidimensionalen
Datenstrom zuzuführen.
Ferner ist der Stromumsetzer 14 mit dem Audiostrom-Übermittlungsabschnitt 13 und
dem 3-DCG-Datenstrom-Übertragungsabschnitt 2 in
bidirektionaler Weise gekoppelt und kodiert den Audiodatenstrom
Sa in einen Audiodatenstrom Sa1, um so den Audiodatenstrom Sa1 dem
3-DCG-Daten-Übertragungsabschnitt 2 zuzuführen.
-
In
Antwort auf das von dem Client PCC übermittelte Anforderungssignal
Sr veranlasst der 3-DCG-Datenstrom-Übermittlungsabschnitt 1 den Skelett-Strukturstrom-Übermittlungsabschnitt 11, den
Bewegungsstrom-Übermittlungsabschnitt 12 und
den Audiostrom-Übermittlungsabschnitt 13,
den Skelett-Datenstrom
Ss, den Bewegungsdatenstrom Sm und den Audiodatenstrom Sa jeweils
zu erzeugen und an den Stromumsetzer 14 auszugeben. Der Skelett-Datenstrom Ss umfasst
hierarchische Daten zur Definition einer hierarchischen Beziehung
einer Skelettstruktur und Information, die für einen Ausgangszustand der
hierarchischen Daten, Zustände von
Gelenken eines Skeletts, eine Form, die dem Skelett entspricht,
und eine Beziehung entsprechend der Skelettstruktur repräsentativ
ist. Der Bewegungsdatenstrom Sm umfasst Information zu grundsätzlichen
Bewegungen der Skelettstruktur. Der Audiodatenstrom Sa umfasst Information,
die für
einen Ton repräsentativ
ist, der synchron mit einer Bewegungsinformation ist, die durch
den Bewegungsdatenstrom Sm ausgedrückt ist.
-
Der
Stromumsetzer 14 vermittelt spezifische Identifikationsinformation
jeweils zu den Datenströmen
Ss, Sm und Sa, um so den Skelett-Datenstrom Ss1, den Bewegungsdatenstrom
Sm1 und den Audiodatenstrom Sa1 eines unterschiedlichen Formats zu
erzeugen, und gibt die Datenströme
Ss1, Sm1 und Sa1 an den 3-DCG-Datenstrom-Übertragungsabschnitt 2 aus.
Wie zuvor beschrieben, können
vorzugsweise ein Format der Virtual Reality Modeling Language (VRML)
oder ein erweitertes Format der VRML vorzugsweise als das Format
der Datenströme
Ss1, Sm1 und Sa1 verwendet werden. Das Format der VRML ist in der
VRML Ver.2.0 standardisiert. Derweil können CG-Formdaten, die nicht über einen Strom übermittelt
werden müssen,
zuvor mittels eines Netzes unter Verwendung der gewöhnlichen
Hypertext Markup Language (HTTP) übermittelt werden oder aus
Dateien auf einer lokalen Maschine gelesen werden.
-
3 zeigt
einen detaillierten Aufbau des Empfangsabschnitts 3 für dreidimensionalen
CG-Datenstrom. In der gleichen Weise wie der 3-DCG-Datenstrom-Übermittlungsabschnitt 1,
ist der 3-DCG-Datenstrom-Empfangsabschnitt 2 mit dem 3-DCG-Datenstrom-Übertragungsabschnitt 2 in
bidirektionaler Weise gekoppelt, um so die Anforderungssignale Sr
des Clients PCC und des Servers PCS auszutauschen. Der 3-DCG-Datenstrom-Empfangsabschnitt 3 umfasst
einen Stromumsetzer 31, einen Skelett-Strukturstrom-Empfangsabschnitt 32, einen
Bewegungsstrom-Empfangsabschnitt 33 und einen Audiostrom-Empfangsabschnitt 34.
-
Der
Stromumsetzer 31 ist mit dem Übertragungsabschnitt 2 für dreidimensionalen
CG-Datenstrom und dem Skelett-Strukturstrom-Empfangsabschnitt 32 in
bidirektionaler Weise gekoppelt. Der Stromumsetzer 31 wandelt
ein Format des Skelett-Datenstroms Ss, das von dem 3-DCG-Datenstrom-Übermittlungsabschnitt 1 über den
3-DCG-Datenstrom-Übertragungsabschnitt 2 eingegeben
wurde, zurück,
um so den Skelett-Datenstrom Ss1 in den originalen Skelett-Datenstrom
Ss zu dekodieren, und führt
den Skelett-Datenstrom Ss dem Skelett-Strukturstrom-Empfangsabschnitt 32 zu.
Ebenso ist der Stromumsetzer 31 mit dem 3-DCG-Datenstrom-Übertragungsabschnitt 2 und
dem Bewegungsstrom-Empfangsabschnitt 33 in bidirektionaler Weise
gekoppelt und dekodiert den Bewegungsdatenstrom Sm1 in den Bewegungsdatenstrom
Sm, um so den Bewegungsdatenstrom Sm dem Bewegungsstrom-Empfangsabschnitt 33 zuzuführen. Zusätzlich ist
der Stromumsetzer 31 mit dem 3-DCG-Datenstrom-Übertragungsabschnitt 2 und
dem Audiostrom-Empfangsabschnitt 34 gekoppelt und dekodiert
den Audiodatenstrom Sa1 in den Audiodatenstrom Sa, um so den Audiodatenstrom
Sa dem Audiostrom-Empfangsabschnitt 34 zuzuführen.
-
Der
Skelett-Datenstrom Ss1, der Bewegungsdatenstrom Sm1 und der Audiodatenstrom Sa1,
die von dem 3-DCG-Datenstrom-Übermittlungsabschnitt 1 übermittelt
werden, werden nämlich
dem Stromumsetzer 31 mittels des 3-DCG-Datenstrom-Übertragungsabschnitts 2 eingegeben.
Der Stromumsetzer 31 setzt die eingegebenen Datenströme Ss1,
Sm1 und Sa1 in das originale Format bei Bedarf zurück, um so
die Datenströme
Ss1, Sm1 und Sa1 jeweils in den Skelett-Datenstrom Ss, den Bewegungsdatenstrom
Sm und den Audiodatenstrom Sa zu dekodieren, und gibt die Datenströme Ss, Sm
und Sa jeweils an den Skelett-Strukturstrom-Empfangsabschnitt 32,
den Bewegungsstrom-Empfangsabschnitt 33 und den Audiostrom-Empfangsabschnitt 34 aus.
Wie oben beschrieben, wird der kodierte 3-DCG-Datenstrom DS1, der
von dem 3-DCG-Übertragungsabschnitt 2 übertragen
wird, in den 3-DCG-Datenstrom DS durch den Stromumsetzer 31 dekodiert
und der 3-DCG-Datenstrom DS wird als der Skelett-Datenstrom Ss,
der Bewegungsdatenstrom Sm und der Audiodatenstrom Sa jeweils von
dem Skelett-Strukturstrom-Empfangsabschnitt 32, dem Bewegungsstrom-Empfangsabschnitt 33 und
dem Audiostrom-Empfangsabschnitt 34 empfangen.
-
Im
Folgenden wird der Betrieb der Vorrichtung 100 kurz beschrieben.
In Antwort auf die Anforderungssignale Sr von einer Mehrzahl der
Clients PCC übermittelt
der 3-DCG-Datenstrom-Übermittlungsabschnitt 1 des
Servers PCS die hierarchischen Daten zur Definition der hierarchischen
Beziehung der Skelettstruktur des Avatars und Daten zum Ausgangszustand
der hierarchischen Daten, beschränkende
Bedingungen der Gelenke des Skeletts, eine Form entsprechend dem
Skelett und eine Beziehung entsprechend der Skelettstruktur als
den Strom. Der Stromumsetzer 14 führt eine Formatumsetzung und Kompression
des 3-DCG-Datenstroms DS aus, um so den kodierten Datenstrom DS1
zu erzeugen. Wenn der 3-DCG-Datenstrom DS von einem zusammengesetzten
Typ ist, wird der 3-DCG-Datenstrom DS in den separaten Strom für Bewegung
oder Ton aufgeteilt und der Skelett-Datenstrom Ss wird bei Bedarf
komprimiert.
-
Derweil
sind Skelett-Daten des Avatars im Detail in der
japanischen Patentanmeldung No. 9-100453 beschrieben,
die am 17. April 1997 von dem vorliegenden Anmelder eingereicht
wurde. Die Struktur von Skelettdaten des Avatars wird jedoch mit Bezug
auf die
9 und
10 später kurz
beschrieben werden.
-
Erste
und zweite Beispiele des Standartformats VRF des 3-DCG-Datenstroms DS der
vorliegenden Erfindung sind im Folgenden jeweils mit Bezug auf die 4 und 5 beschrieben.
Im ersten Beispiel des Formats VRF in 4 wird jeder
Datenstrom, beispielsweise der Skelett-Datenstrom Ss, von einem
Haupt-Datenkopf MH, einem Unter-Datenkopf SH und einem Datenkörper DB
gebildet. Die Art der Daten, die Reihenfolge der Daten, eine Unterscheidung
zwischen Kompression und Nicht-Kompression, eine Startzeit und eine
Stopzeit des Stroms (oder eine Bild-Nummer), ein Vorliegen oder
ein Nicht-Vorliegen einer Schleife, ein Vorliegen oder ein Nicht-Vorliegen
eines Zeitstempels, der für
eine synchrone Wiedergabe verwendet wird, ein Versatz zum Zeitpunkt
der Wiedergabe, usw. werden in den Haupt-Datenkopf MH geschrieben.
Die Größe der Daten
usw. werden in den Unter-Datenkopf SH geschrieben, der mit dem Datenkörper DB
ein Paar bildet. Außer
wenn es in der folgenden Beschreibung anderweitig angegeben ist,
werden der Skelett-Datenstrom Ss, der Bewegungsdatenstrom Sm und
der Audiodatenstrom Sa in diesem Format VRF ausgedrückt.
-
Im
zweiten Beispiel des Formats VRF in 5, das auf
einen Datenstrom von zusammengesetztem Typ gerichtet ist, werden
entweder Bewegungsdaten MD und Audiodaten AD oder Bewegungsdaten
MD und Bewegungsdaten MD nacheinander in einem Strom angeordnet.
In diesem Fall sollten die ersten und zweiten Daten, die nacheinander angeordnet
sind, üblicherweise
miteinander zum Zeitpunkt der Wiedergabe synchronisiert sein. Die Bewegungsdaten
MD oder die Audiodaten AD sind in geeigneter Weise in kleine Einheiten
unterteilt, die „Pakete" genannt werden und
jeweils eine Länge
haben, die zur Synchronisation nötig
ist, wobei die Pakete angeordnet sind. Diese Reihenfolge der Daten wird
in dem Haupt-Datenkopf MH bestimmt. Als Beispiele der oben angeführten Pakete
zeigt 6 Pakete eines Animationsstroms und 7 zeigt
Pakete eines Bewegungsstroms.
-
Im
Folgenden wird die Datenstruktur des Skelett-Datenstroms Ss und
des Bewegungsdatenstroms Sm des Avatars mit Bezug auf die 9, 10 und 11 beschrieben.
Zunächst
zeigt 9 eine grundsätzliche
Skelettstruktur. Aus Gründen
der Übersichtlichkeit
wird eine Skelettstruktur des Ellenbogens des Avatars beschrieben.
Es sind nämlich
zwei Glieder LK1 und LK2 miteinander in hierarchischer Beziehung
durch ein Gelenk J verbunden. Unter beispielsweise der Annahme,
dass das Glied LK1 ein Oberarm und das Glied LK2 ein Unterarm ist,
wird eine solche vertikale hierarchische Struktur gebildet, bei
der das Glied LK1 ein Elternteil und das Glied LK2 ein Kind ist.
-
Dann
zeigt 10 eine allgemeine hierarchische
Struktur eines Ganzes eines Avatars. In 10 entspricht
jeder Block, der in durchgezogenen Linien gezeigt ist, dem Gelenk
J von 9 und jeder Block, der mit einer durchgezogenen
Linie gezeigt ist, steht für
eine Grenze eines jeden hierarchischen Systems. In diesem Beispiel
sind nämlich
drei Systeme R1, R2 und R3 von einer Wurzel R eines Hauptkörpers geführt. In
dem primären
System R1 schreiten die Leiste JR1-1 des rechten Beins, das rechte
Knie JR1-2, der rechte Knöchel
JR1-3 und die rechte Zehenspitze JR1-4 hierarchisch tiefer fort,
so dass das rechte Beinsystem R1, das mit der Wurzel R des Avatars verbunden
ist, gebildet wird. In ähnlicher
Weise wird das linke Beinsystem R2 von der Leiste JR2-1 des linken
Beins, dem linken Knie JR2-2, dem linken Knöchel JR2-3 und der linken Zehenspitze
JR2-4 gebildet. Da jedoch das System R3 eine obere Körperhälfte repräsentiert,
zweigen drei sekundäre
Systeme R31, R32 und R33 von der Hüfte JR3-1 ab. Das sekundäre System
R31 bildet ein rechtes Armsystem, das von einer Hierarchie des rechten
Nackens JR31-1, der rechten Schulter JR31-2, dem rechten Ellenbogen
JR31-3, dem rechten Handgelenk JR31-4 und der rechten Hand JR31-5
gebildet wird. In ähnlicher
Weise bildet das sekundäre
System R32 ein linkes Armsystem, das von einer Hierarchie des linken
Nacken JR32-1, der linken Schulter JR32-2, dem linken Ellenbogen
JR32-3, dem linken Handgelenk JR32-4 und der linken Hand JR32-5
gebildet wird. Das sekundäre
System R33 bildet ein Kopfsystem, das von einer Hierarchie des Halses
JR33-1 und des Scheitels JR33-2 gebildet wird.
-
Wenn
die Hierarchie jedes Systems weiter vertieft und in weitere Schichten
aufgeteilt wird, ist es derweil möglich, den Avatar mit einem
Freiheitsgrad der Bewegung zu repräsentieren, der sich mehr dem eines
tatsächlichen
Menschen annähert.
Wenn Finger für
die rechte und linke Hand JR31-5 und JR32-5 vorgesehen sind, können beispielsweise
15 Gelenke, die den Gelenken jeder Hand entsprechen, vorgesehen
werden.
-
11 zeigt
ein Format, bei dem Bewegungsdaten, die der oben erwähnten Skelettstruktur (Ausgangswert)
entsprechen, in dem Bewegungsdatenstrom Sm aufgelistet sind. Die
grundlegenden Bewegungsdaten sind zeitliche Reihendaten eines Rotationswinkels,
bei denen ein Winkel zum Drehen eines jeden Gelenks um eine X-Achse,
eine Y-Achse und eine Z-Achse eine lokalen Koordinatensystems mit
dem Ablauf von Zeit ausgedrückt
sind. Darüber hinaus
sind die grundlegenden Bewegungsdaten zeitliche Reihendaten, die
drei Elemente von Positionskoordinaten X, Y und Z der Wurzel R und
drei Elemente von Richtungsvektoren der Position der Wurzel R in
einem globalen Koordinatensystem aufweisen. Die auf diese Weise
angegebenen Daten werden zu einer Mehrzahl von Zeiten, die der Anzahl
von Bildern entspricht, die für
eine zeitliche Serie nötig
ist, wiederholt und in dem Bewegungsdatenstrom Sm aufgezeichnet.
-
Die
Verarbeitung im Client PCC wird mit erneutem Bezug auf 3 beschrieben.
Der Skelett-Strukturstrom-Empfangsabschnitt 32, der Bewegungsstrom-Empfangsabschnitt 33 und
der Audiostrom-Empfangsabschnitt 34 empfangen jeweils den Skelett-Datenstrom
Ss, den Bewegungsdatenstrom Sm und den Audiodatenstrom Sa, der von
dem 3-DCG-Datenstrom-Übertragungsabschnitt 2 übertragen
wird. Üblicherweise
werden in dem Computer PCC, der an der Empfangsseite angeordnet
ist, eine nötige
Anzahl von Prozessen (oder Threads) zum Empfangen der jeweiligen
Ströme
gleichzeitig erzeugt. Diese Prozesse und der Zustandscontroller 15 (2),
der an der Übermittlungsseite
des 3-DCG-Datenstrom-Übermittlungsabschnitts 1 angeordnet
ist, kommunizieren miteinander mittels der Anforderungssignale SR
und überwachen
die Anzahl und den Zustand der jeweiligen Ströme zu jedem Zeitpunkt.
-
Darüberhinaus
wird in dem Skelett-Strukturstrom-Empfangsabschnitt 32,
dem Bewegungsstrom-Empfangsabschnitt 33 und dem Audiostrom-Empfangsabschnitt 34 zu
jedem Zeitpunkt ein Puffern der Ströme in einem Speicher (oder
gemeinsamem Puffer) durch eine Mehrzahl der Prozesse zum Emp fangen
jedes Stroms durchgeführt.
Diese gepufferten Ströme
liefern die Datenströme
Ss, Sm und Sa zu dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum durch eine Synchronisation in der Zeit zwischen
den Strömen.
Derweil wird der Skelett-Strukturstrom auf Basis der CG-Formdaten reproduziert,
die zuvor über
ein Netz unter Verwendung des herkömmlichen HTTP übertragen
wurden oder von Dateien aus einer lokalen Maschine gelesen wurden,
wie zuvor beschrieben. Darüberhinaus werden
der Bewegungsdatenstrom Sm und der Audiodatenstrom Sa auf einer
Echtzeitbasis synchron mit dem oben erwähnten Skelett-Strukturstrom
an den Erzeugungsabschnitt 4 für dreidimensionalen virtuellen
Raum geliefert.
-
In
dem Erzeugungsabschnitt 4 für dreidimensionalen virtuellen
Raum wird 3-DCG, die in dem 4-DCG-Datenstrom-Übermittlungsabschnitt 1 des Servers
PCS auf Basis des Stroms, der von dem 3-DCG-Datenstrom-Empfangsabschnitt 3 eingegeben
wurde, erzeugt wurde. Der Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum gibt nämlich einen
dreidimensionalen virtuellen Raum unter Verwendung eines VRML-Browsers
zum Wiedergeben eines dreidimensionalen virtuellen Raums oder ähnlichem
wieder. In Antwort auf einen Auslöser von dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum, werden die temporär in den gemeinsamen Puffern
gespeicherten Datenströme
simultan von den Puffern an die Prozesse der Stromverarbeitungsabschnitte 32, 33 und 34 gesendet
und dann an die bestimmten Knoten des dreidimensionalen virtuellen Raums,
die durch die VRML definiert sind. In den Knoten des VRML sind zuvor
der dreidimensionale Raum, Objekte, die Töne erzeugen, und eine Form von
Skelettgelenken bestimmt.
-
12 und 13 zeigen
eine dreidimensionale Szene, die in der Notation der VRML Ver.2.0 beschrieben
ist. 12 zeigt eine Beschreibung der VRML und 13 zeigt
eine Szenenstruktur, die dieser Beschreibung entspricht. In 13 sind
Kreise als „Knoten" benannt und die
als „Form" bezeichneten Knoten
entsprechen Objekten, die im dreidimensionalen Raum vorhanden sind.
Der als „Umformen" bezeichnete Knoten
entspricht derweil Translation, Rotation usw. Darüberhinaus
wird eine hierarchische Information zu der dreidimensionalen Form
durch eine Schachtelbeziehung ausgedrückt, die durch Klammern getrennt
ist. 12 zeigt ein Beispiel, bei dem Werte von Parametern,
die auf „Translati on" und „Rotation" folgen, geändert sind,
wobei die zwei Objekte „Form" entsprechend den
geänderten
Werten der Parameter translatiert und rotiert werden.
-
Durch Ändern des
Werts von „Rotation" eines jeden Gelenks
einer spezifischen dreidimensionalen Skelettstruktur in zeitlicher
Reihenfolge, der von dem Bewegungsstrom-Empfangsabschnitt 33 von 3 empfangen
wird, wird die Position jedes Gelenks der Skelettstruktur entsprechend
der oben angeführten
grundsätzlichen
Konfiguration geändert. Ein
Mensch oder ähnliches
mit der Skelettstruktur in dem dreidimensionalen virtuellen Raum
wird nämlich auf
Echtzeitbasis durch Daten des Bewegungsstroms bewegt. Bezüglich des
Audiostroms wird ein Objektknoten „Form" entsprechend einer Tonquelle in die
dreidimensionale Szene gesetzt, die durch eine in 13 gezeigte
Baumstruktur ausgedrückt
ist. In Antwort auf ein Auslöseereignis
des Benutzers, wird der Audiostrom von dem Audiostrom-Empfangsabschnitt 34 von 3 an
den Knoten „Form" (12 und 13)
entsprechend der Tonquelle geliefert. Ein Sensorknoten des VRML
wird üblicherweise
als Auslöser
des Benutzers verwendet. Im Fall eines gewöhnlichen Personal Computers
werden die Audiodaten an den Tonerzeugungsabschnitt 5 so
wie sie sind geliefert, um ausgegeben zu werden. Der Tonerzeugungsabschnitt 5 wird
von einem digitalen Signalprozessor (DSP) zur Tonwiedergabe, einer
Tonquelle, usw. gebildet. Formate des „Wav", „Aiff", „MIDI", usw. werden im
Allgemeinen für
die Audiodaten verwendet. Allerdings können PCM-Daten für Sprache oder ähnliches
verwendet werden. Da die interne Zeit üblicherweise in dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum kontrolliert wird, können der Bewegungsstrom und
der Audiostrom üblicherweise
miteinander durch Bezeichnen einer Startzeit und Stopzeit synchronisiert
werden.
-
14 zeigt
eine Wiedergabe des CG-Stroms in dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum in zeitlicher Reihenfolge. Wie oben beschrieben,
wird der Audiostrom von dem Tonerzeugungsabschnitt 5 erzeugt
und durch Setzen einer Startzeit T0 und einer Stopzeit Ti wiedergegeben.
Der Bewegungsstrom ändert
sich entsprechend der Leistung des Personal Computers an der Empfangsseite
und der Schwierigkeit der dreidimensionalen Szene. Daher kann die
Bewegung hinter dem Ton zurückbleiben
oder ihm vorauseilen. Um den Ton und die Bewegung durch dessen Eliminieren zu
synchronisieren, wer den Zeitstempel TS in dem Bewegungsdatenstrom
Sm und dem Audiodatenstrom Sa zuvor gesetzt, die voneinander getrennt sind.
Wenn die Zeitstempel TS verwendet werden, wird es einfach, die Wiedergabe
von Bewegung mit der Wiedergabe von Ton an Positionen der Zeitstempel
TS des Audiodatenstroms Sa zu synchronisieren. Wenn nämlich gefunden
wird, dass die Wiedergabe der Bewegung hinter der Wiedergabe des
Tons an einer beliebigen Position der entsprechenden Zeitstempel
TS zurückbleibt,
wird eine Verarbeitung in dem Erzeugungsabschnitt 4 für dreidimensionalen virtuellen
Raum durchgeführt,
in der eine folgende Wiedergabe von Bewegung bis zu der Position
der entsprechenden Zeitstempel TS übersprungen wird. Wenn derweil
eine Wiedergabe von Bewegungen an einer Position von entsprechenden
Zeitstempeln TS abgeschlossen wurde, wird in dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum eine Verarbeitung durchgeführt, bei der eine Wiedergabe von
Bewegung wiederholt wird, bis eine Wiedergabe von Ton an der Position
der entsprechende Zeitstempel TS abgeschlossen ist. Wenn alternativ
ein CG-Datenstrom von zusammengesetztem Typ wie in einem unteren
Bereich von 14 dargestellt verwendet wird
und der Datenstrom in minimale Pakete zur Synchronisation unterteilt
ist, können
Ton und Bewegung synchron zwischen den Paketen wiedergegeben werden.
-
Der
grundsätzliche
Betrieb des Stromautorenmittels, auf das zuvor mit Bezug auf 1 verwiesen
wurde, wird im Folgenden kurz beschrieben. Das Stromautorenmittel
teilt den Skelett-Datenstrom Ss, den Bewegungsdatenstrom Sm und
den Audiodatenstrom Sa, die jeweils eine beliebige Datenlänge aufweisen,
in Datensegmente auf, die beliebige Längen aufweisen, die zur Synchronisation
nötig sind,
um so die Datenströme
Ss, Sm und Sa in die in 4 und 5 gezeigten
Pakete umzusetzen. Die Datenlänge
des Skelett-Datenstroms Ss, die Datenlänge des Bewegungsdatenstroms
Sm und die Datenlänge
des Audiodatenstroms Sa sind jeweils beliebig durch solche Bedingungen
bestimmt, wie die Anzahl von Gelenken und dem Freiheitsgrad, durch
das Anhalten einer Bewegung und durch die Erzeugungszeit eines Tons.
Darüberhinaus
werden Informationen zu den Zeitstempeln TS, die für eine Synchronisation
benötigt
werden, zu jedem Strom hinzugefügt,
wie in 14 gezeigt. Darüber hinaus
können
die Ströme miteinander
bei Bedarf verbunden werden, um so einen neuen Strom zu bilden.
Die so editierten Ströme werden
in dem Server PCS aufgenommen.
-
Im
Folgenden wird ein Betrieb der Vorrichtung 100 der vorliegenden
Erfindung mit Bezug auf die Ablaufdiagramme der 15, 16 und 17 beschrieben. 15 zeigt
ein Teilen eines dreidimensionalen Raums in einem sogenannten Multi-User-Netz,
in dem der Server PCS und eine Mehrzahl der Clienten PCC miteinander
wie in 8 in der Vorrichtung 100 gekoppelt sind.
In 8 ist im Folgenden ein Fall beschrieben, bei dem
der Client PCC1 neu mit dem Server PCCS gekoppelt ist, während eine
Mehrzahl der Clients PCC2 bis PCCn mit dem einzelnen Server PCS
gekoppelt sind und ein dreidimensionaler Raum durch den Server PCS
und die Clients PC2 bis PCCn geteilt wird. In Schritt S1 fordert
der Client PCC1 eine ID von dem Server PCS an. In Schritt S3 gibt
der Server PCS die ID an den Client PCC1 aus. Zu diesem Zeitpunkt
erscheint ein Avatar des Clients PCC1 im dreidimensionalen virtuellen
Raum des Clients PCC1 und des Servers PCS. In Schritt S5 wird beurteilt,
ob der Benutzer den Avatar am Client PCC1 bedient hat. Im Fall des „JA" in Schritt S5 schreitet
der Programmfluss zu Schritt S7 fort. Andernfalls wird die Entscheidung
in Schritt S5 wiederholt ausgeführt.
In Schritt S7 werden Bildmodifikationsdaten DM des Bewegungsdatenstroms
Sm einschließlich
Informationen zur Bewegung des Avatars, die auf der Bedienung des
Users basieren, von dem 3-DCG-Datenstrom-Empfangsabschnitt 3 des Clients
PCC1 erzeugt und über
den Übertragungsabschnitt
TR an den 3-DCG-Datenstrom-Übermittlungsabschnitt 1 des
Servers PCCs übermittelt.
Derweil identifiziert der Server PCS den Benutzer, d. h. den Client
PCC1, auf Basis der ID, die zusammen mit den Bildmodifikationsdaten
DM übermittelt
wird.
-
In
Schritt S9 wird beurteilt, ob die Bildmodifikationsdaten DM und
die ID, die von dem Client PCC1 an den Server PCS übermittelt
wurden, an irgendeinen der Clients PC2 bis PCCn geliefert werden
sollen. Derweil wird diese Entscheidung in Schritt S9 üblicherweise
auf Basis des Anforderungssignals Sr vom Client PCC1 durchgeführt. Sie
kann allerdings auch zuvor vom Client PCC1 an den Server PCS in
Schritt S1 gegeben worden sein. In Schritt S11 wird eine Anfrage,
an welchen der Clients PCC2 bis PCCn, die derzeit mit dem Server
PCS gekoppelt sind, die Bildmodifikationsdaten DM geliefert werden sollen,
an den Client PCC1 gerichtet und eine Antwort auf die Anfrage wird
von dem Client PCC1 empfangen. Es ist jedoch unnötig zu sagen, dass eine solche
Information in Schritt S11 sowohl beim Client PCC als auch bei Server
PCS zuvor bestimmt werden kann. Nachdem Informationen zur Bewegung des
Avatars des Clients Pool mittels der Bildmodifikationsdaten DM in
Schritt S13 an den Client übermittelt wurden,
die der durch den Client PCC1 in Schritt S11 bezeichnet wurde, kehrt
der Programmfluss zu Schritt S5 zurück und die eine Verarbeitung
der Schritte von Schritt S5 bis S13 wird wiederholt, bis der Client
PCC1 das Netz verlässt.
-
Unter
Bezug auf 16 wird dann eine Übermittlung
und ein Empfang von Daten zu einem dreidimensionalen virtuellen
Raum in einem sogenannten Einzel-User-Netz, in dem der einzelne
Client PCC1 mit dem Server PCS wie in 1 gezeigt
gekoppelt ist, in der Vorrichtung 100 beschrieben. Zu Beginn
wird in Schritt S21 ein Objekt, von dem der 3-DCG-Datenstrom DS,
der für
einen dreidimensionalen virtuellen Raum repräsentativ ist, gelesen werden
soll, bestimmt. Im Fall, dass der 3-DCG-Datenstrom DS in dem Client
PCC1 existiert, wird beispielsweise in Schritt S21 eine „NEIN"-Entscheidung getroffen
und der Programmfluss schreitet zu Schritt S23 fort. In Schritt
S23 wird der 3-DCG-Datenstrom DS
aus einem Speicher (nicht gezeigt) des Clients PCC1 gelesen und
dem Erzeugungsabschnitt 4 für dreidimensionalen virtuellen
Raum des PCC1 zugeführt,
in dem ein dreidimensionales virtuelles Raumbild erzeugt wird. Andererseits,
im Fall des „JA" in Schritt S21,
schreitet der Programmfluss zu Schritt S25 fort. In Schritt S25
wird der 3-DCG-Datenstrom DS1 aus einem Speicher (nicht gezeigt)
des Servers PCS gelesen und dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum des Pool zugeführt,
in dem ein dreidimensionales virtuelles Raumbild erzeugt wird. Der
Client PCC1 fordert einen ID von dem Server PCS in Schritt S27 an
und der Server PCS gibt den ID an den Client PCC1 in Schritt S29 aus.
-
In
Schritt S31 wird ein Objekt bestimmt, von dem der Client PCC1 den
3-DCG-Datenstrom
DS des Avatars liest. Im Fall, dass der 3-DCG-Datenstrom DS des
Avatars in dem Client PCC1 existiert, fordert beispielsweise das
Anforderungssignal Sr von dem Client PCC1 nicht, dass der 3-DCG-Datenstrom DS
des Avatars von dem Server PCS gelesen werden soll, so dass eine „NEIN"-Entscheidung in Schritt S31 getroffen
wird, und daher der Programmfluss zu Schritt S33 fortschreitet.
In Schritt S33 wird der 3-DCG-Datenstrom DS des Avatars aus dem
Speicher des Clients PCC1 gelesen und dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum des Clients PCC1 zugeführt. Dann wird ein Bild des
Avatars in dem dreidimensionalen virtuellen Raum auf Basis des 3-DCG-Datenstroms DS
des Avatars erzeugt. Im Gegensatz dazu, im Fall des „JA" in Schritt S31,
schreitet der Programmfluss zu Schritt S35 weiter. In Schritt S35
werden der Skelett-Datenstrom Ss und der Bewegungsdatenstrom Sm
des Avatars auf Basis des Anforderungssignals Sr von dem Client
PCC1 an den Client PCC1 durch den PCS übertragen, wobei sie bei Bedarf
kodiert werden (Formatumsetzung). In Schritt S37 werden der Skelettdatenstrom
Ss (Ss1) und der Bewegungsdatenstrom Sm (Sm1) des Avatars, die von
dem Server PCS übertragen
sind, von dem Client PCC1 empfangen.
-
In
Schritt S39 wird beurteilt, ob der Skelett-Datenstrom Ss (Ss1) und
der Bewegungsdatenstrom Sm (Sm1), die von dem Client PCC1 empfangen
wurden, einem Dekodieren unterworfen werden sollen (rückwärtige Formatumsetzung).
Im Fall des „NEIN" in Schritt S39 schreitet
der Programmfluss zu Schritt S41 fort. In Schritt S41 werden der
Skelettdatenstrom Ss und der Bewegungsdatenstrom Sm dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum über
den Skelett-Struktur-Empfangsabschnitt 32 und den Bewegungsstrom-Empfangsabschnitt 33 zugeführt, ohne
dass sie einer rückwärtigen Formatumsetzung
durch den Stromumsetzer 31 unterworfen wären. Andererseits,
im Fall des „JA" in Schritt S39,
schreitet der Programmfluss zu Schritt S43 fort. In Schritt S43
werden der Skelett-Datenstrom Ss1 und der Bewegungsdatenstrom Sm1
einem Dekodieren (rückwärtigem Formatumsetzen)
in den Skelett-Datenstrom Ss und den Bewegungsdatenstrom Sm durch
den Stromumsetzer 31 unterworfen und dann werden der Skelett-Datenstrom
Ss und der Bewegungsdatenstrom Sm jeweils in ihre vorbestimmten
Einheiten durch den Skelett-Struktur-Stromempfangabschnitt 32 und
den Bewegungsstrom-Empfangsabschnitt 33 unterteilt, um
dem Erzeugungsabschnitt 4 für dreidimensionalen virtuellen Raum
zugeführt
zu werden. Auf diese Weise wird ein dreidimensionales virtuelles
Raumbild, das Bewegungsänderungen
des Avatars wiedergibt, in dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum erzeugt.
-
Dann
wird eine synchrone Verarbeitung des 3-DCG-Datenstroms DS zum Zeitpunkt
der Wiedergabe der 3-DCG durch den Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum des Clients PCC mit Bezug auf 17 beschrieben.
In Schritt 51 wird eine interne Uhr (Zeitsensor) durch
den Erzeugungsab schnitt 4 für dreidimensionalen virtuellen Raum
in Antwort auf ein Ausgeben eines Befehls zum Starten eines Zeichnens
einer 3-DCG-Szene zurückgesetzt.
Die jeweiligen Clients PCC setzen ihre internen Uhren (Zeitsensoren)
nämlich
in Antwort auf eine Anforderung von dem Server PCS simultan zurück. In Schritt
S53 wird beurteilt, ob der Benutzer den Avatar am Client PCC1 bedient
hat. Im Fall des „JA" in Schritt S53 schreitet
der Programmfluss zu Schritt S5 fort. Andernfalls wird die Entscheidung
in Schritt S53 wiederholt durchgeführt. In Schritt S55 werden
der Skelett-Datenstrom Ss, der Bewegungsdatenstrom Sm und der Audiodatenstrom
Sa, die in dem VRML-Format beschrieben sind, aus einem primären Speicher
(nicht gezeigt) des Erzeugungsabschnitts 4 für dreidimensionalen
virtuellen Raum gelesen. In Schritt S57 wird beurteilt, auf Basis einer
Beschreibung in dem Haupt-Datenkopf MH eines jeden Datenstroms,
ob eine synchrone Wiedergabe notwendig ist. Im Fall des „NEIN" in Schritt S57 schreitet
der Programmfluss zu Schritt S59 fort. Zu einem Zeitpunkt, der in
dem VRML-Format durch die interne Uhr (Zeitsensor) bestimmt ist,
wird nicht nur der Bewegungsdatenstrom Sm wiedergegeben, sondern
auch der Audiodatenstrom Sa von dem Tonerzeugungsabschnitt 5 in
Schritt S59 wiedergegeben. Wenn ein Audiodatenformat zusammen mit
einem Startsignal von dem Erzeugungsabschnitt 4 für dreidimensionalen
virtuellen Raum an das Tonerzeugungsabschnitt 5 gesandt
wird, wird nämlich
eine Tonwiedergabe sofort durch das Tonerzeugungsabschnitt 5 gestartet.
-
Im
Gegensatz dazu, im Fall des „JA" in Schritt S57,
schreitet der Programmfluss zu Schritt S61 fort. In Schritt S61
wird beurteilt, ob Inhalte des 3-DCG-Datenstrom
DS den Audiostrom Sa darstellen. Im Fall des „JA" in Schritt S61 schreitet der Programmfluss
zu Schritt S63 fort. In Schritt S63 wird Information zu den Zeitstempeln
TS, die in 14 gezeigt sind, durch den Tonerzeugungsabschnitt 5 zurück in den
Erzeugungsabschnitt 4 für
dreidimensionalen virtuellen Raum gegeben. Andererseits, im Fall,
dass Inhalte des 3-DCG-Datenstroms
DS CG-Daten sind, wird in Schritt S61 eine „NEIN"-Entscheidung getroffen und der Programmfluss
schreitet zu Schritt S65 fort. In Schritt S65 wird die Information zu
den Zeitstempeln TS, die von dem Tonerzeugungsabschnitt 5 zurückgeführt wurden,
in den Erzeugungsabschnitt 4 für dreidimensionalen virtuellen Raum
als ein synchrones Signal eingegeben, oder, im Fall von Tonpaketen,
es wird das Endsignal in den Erzeugungsabschnitt 4 für dreidimensionalen
virtu ellen Raum als ein synchrones Signal eingegeben. In Schritt
S67 wird auf Basis der oben erwähnten
Zeitstempel TS beurteilt, ob ein Lesen von CG-Daten abgeschlossen
ist. Im Fall des „JA" in Schritt S67 schreitet
der Programmfluss zu Schritt S69 fort. In Schritt S69 wird die Wiedergabe
von CG sofort ausgesetzt und der Programmfluss schreitet zu Schritt S71
fort. Derweil wird ein Wiedergabe-Timing der CG durch die interne
Uhr (Zeitsensor) des VRML geregelt. In Schritt S71 wird beurteilt,
ob ein 3-DCG-Datenstrom DS zum weiteren Zeichnen und Wiedergeben
von CG vom Server PCS den Erzeugungsabschnitt für dreidimensionalen virtuellen
Raum eingegeben wird. Im Fall des „JA" in Schritt S71 kehrt der Programmfluss
zu Schritt S51 zurück.
Andernfalls wird die Entscheidung in Schritt S71 wiederholt durchgeführt. Andererseits,
im Fall des „NEIN" in Schritt S67,
schreitet der Programmfluss zu Schritt S73 fort. In Schritt S73
wird eine Wiedergabe von CG bis zu einem Synchronisationszeitpunkt
verlängert, der
von dem nächsten
Zeitstempel TS angegeben wird, und der Programmfluss schreitet zu
Schritt S71 fort. Auf diese Weise können die Wiedergabeströme miteinander
synchronisiert werden.
-
Ein
Verfahren zum Übermitteln
und Empfangen der Datenströme,
die für
einen dreidimensionalen virtuellen Raum repräsentativ sind, entsprechend der
vorliegenden Erfindung weist die oben erwähnten Schritte der Ablaufdiagramme
der 15 bis 17 auf.
Programme zum Veranlassen eines Computers zum Ausführen des
Verfahrens der vorliegenden Erfindung können in einem Aufzeichnungsmedium
aufgezeichnet sein, das durch den Computer lesbar ist. Dazu können ein
Personal Computer PC, der mit dem Internet koppelbar ist, und eine
Floppy-Disk FD, die von dem Personal Computer PC lesbar ist, beispielsweise
jeweils als der Computer und das Auszeichnungsmedium wie in 18 gezeigt
verwendet werden.
-
Derweil
ist die vorliegende Erfindung in der bisher gegebenen Beschreibung
auf ein bidirektionales Kommunikationssystem im Internet gerichtet,
sie kann allerdings in recht ähnlicher
Weise auf ein Übermittlungssystem
wie ein Satellitenübertragungssystem,
ein terrestrisches Wellenübertragungssystem oder ähnliches
angewendet werden, wenn das Übermittlungssystem
zusammen mit dem Internet genutzt wird.
-
Wie
anhand der vorstehenden Beschreibung der vorliegenden Erfindung
klar ist, werden Formdaten der Skelettstruktur wie einer menschlichen
Skelettstruktur als der Formdatenstrom übertragen, die grundsätzliche
Bewegung des Skeletts als der Bewegungsdatenstrom geliefert und
die Audiodaten werden, die die Bewegung der Skelettstruktur begleiten, als
der Audiodatenstrom übertragen,
zusammen mit Information zur Synchronisation und Kompression in jedem
dieser Datenströme
und zur Entsprechung zwischen diesen Datenströmen.
-
Daher
können
gemäß der vorliegenden
Erfindung in Antwort auf die Anforderung des Benutzers glatte Bewegungen
eines Charakters in dem Übermittlungs-
und Empfangssystem basierend auf dem Netz und die Audioinformationen
synchron mit den Bewegungen interaktiv übermittelt und empfangen werden
und die Menge an Daten, die zu übertragen ist,
kann deutlich reduziert werden.