-
Die vorliegende Erfindung bezieht
sich auf ein Verfahren zum Decodieren codierter digitaler Signale, die
repräsentativ
sind für
audiovisuelle Daten und die in Form eines kontinuierlichen Bitstroms
im Hinblick auf die binäre
Beschreibung einer zu renderenden Szene auf einer Wiedergabeanordnung,
wobei das genannte Verfahren einen Verarbeitungsvorgang umfasst,
und zwar auf Basis einer sich entwickelnden syntaktischen Sprache
und vorgesehen um in einem ersten Schritt aus dem genannten Bitstrom
bestimmte Elemente, die entsprechend der Struktur der genannten
Szene als Objekte bezeichnet werden, zu Extrahieren, wobei in einem
zweiten Schritt eine individuelle Animation der genannten Elemente
der Szene definiert wird, wobei in einem dritten Schritt bestimmte
Interaktionen zwischen einem Benutzer und den genannten Elementen
definiert werden und wobei in einem vierten Schritt spezifische
Beziehungen zwischen den genannten Szenenelementen und entsprechenden
einzelnen Animationen und/oder Benutzerinteraktionen nach mehreren
Klassen von Applikationen organisiert werden. Diese Erfindung wird
hauptsächlich
in künftigen
MPEG-4-Decodern angewandt.
-
Die wichtigste Aufgabe der bekannten
MPEG-1 und MPEG-2-Normen, die sich mit Frame-basiertem Video und
Audio befassten, war die Speicherung und die Übertragung effizienter zu machen,
und zwar durch Komprimierung der betreffenden Daten. Die künftige neue
MPEG-4-Decodierungsnorm wird grundsätzlich anders sein, da diese
die audiovisuellen Szenen als eine Zusammensetzung von Objekten
statt nur Pixel darstellen wird. Jede Szene wird als eine codierte
Darstellung audiovisueller Objekte definiert, die Beziehungen in Raum
und Zeit gegeben haben, ungeachtet der An und Weise, wie die genannte
gegebene Szene in diesen Objekten vorher organisiert (oder segmentiert)
war.
-
Bisher waren die standardisierten
Körper,
die natürliche
und synthetische Quellen behandelten, verschieden. Da gute dreidimensionale
(3D) Möglichkeiten
ein immer wichtiger Teil vieler Felder werden, einschließlich Multimedia
und World Wide Web Applikationen, die VRML benutzen (VRML – oder Virtual-Reality Modelling
Language – ist
nun die Norm zum Spezifizieren und Liefern von 3D-Graphik-basierten
interaktiven virtu ellen Umgebungen), betrachtet die natürlichen
Materialien (Video, Audio, Sprache) und die synthetischen (2D und
3D Graphiken und synthetischer Schall) und versucht diese zu einem
kombinierten Bitstrom zu kombinieren, und zwar im Hinblick auf die
Präsentation
eines derartigen Multimediainhaltes an einem Terminalschirm. Zum
Zusammenstellen dieser audiovisuellen Information innerhalb der
Szene, soll das räumlich-zeitliche
Verhältnis
zu dem Terminal übertragen
werden.
-
Die MPEG-4-Norm definiert eine syntaktische
Beschreibungssprache zum Beschreiben des binären Syntax einer Bitstromdarstellung
eines audiovisuellen Objektes sowie desjenigen der Szenenbeschreibungsinformation.
Genauer gesagt schlägt
das MPEG-4-System
Verifikationsmodell 4.0 für
die Beschreibung der Szenen ein binäres Format vor unter der Bezeichnung
von "Binary Format
for Scenes (BIFS)".
Diese Beschreibung, konstruiert als eine codierte Hierarchie von
Knotenpunkten mit Attributen und anderer Information, wie Ereignisquellen
und Ziele, basiert auf der Voraussetzung, dass die Szenenstruktur
als eine parametrische Beschreibung (oder eines Scripts) statt eines
Computerprogramms. Die Szenenbeschreibung kann dann in der Zeit
evoluieren durch Verwendung codierter Szenenbeschreibungsaktualisierungen.
Die Knotenpurilctbeschreibungen, die in einem BIFS-Syntax befördert werden,
können
ebenfalls, der Deutlichkeit halber, in textueller Form dargestellt
werden. Einige MPEG-4-Knotenpunkte und Konzepte sind direkt analoge
Formen der VRML 2.0 Knotenpunkte. Andere sind modifizierte VRML
2.0, und wieder andere werden für
spezifische MPEG-4 Anforderungen addiert. Wie der VRLM 2.0 Syntax
hat BIFS Vorkehrungen zum Beschreiben einfacher Verhalten und Interaktion
mit dem Benutzer über
einen Ereignis-Durchführungsmechanismus.
Einige Probleme aber, die nachstehend erläutert werden, werden durch
dieses Formal nicht gelöst.
-
Das erste dieser adressierten Probleme
betrifft eine gleichförmige
Beschreibung eines gemischten 2D- und 3D-Szene. Es gibt tatsächlich eine
wesentliche Differenz zwischen der Beschreibung einer rein 3D-Szene,
der Beschreibung einer rein-2D-Szene und der Beschreibung einer
gemischten 2d/3D-Szene. In einer 3D-Szene basiert die Schichtung
der Objekte auf der Tiefeninformation. In 2D gibt es keinen Eindruck von
Tiefe und die Schichtung soll explizit definiert werden. Weiterhin
kann das Vermischen von 2D- und 3D-Objekten verschiedenartig erfolgen:
- (1) das Einbetten von 3D-Objekten in einer
2D-Szene:
- (a) dies ist beispielsweise der Fall, wenn man versucht, 3D-Objekte
vor einem 2D-Hintergrund zu rendern; in diesem Fall verlagert sich,
wenn der Benutzer in der Szene navigiert, der Hintergrund nicht.
- (b) ein anderes Beispiel ist eine Applikation, wobei die Benutzerschnittstelle
2D-Objekte enthält (wie
Knöpfe oder
Text) und einen 3D-Viewer, in dem die Szene gerendert wird;
- (2) das Einbetten von 2D-Objekten in einer 3D-Szene:
- (a) dies ist beispielsweise der Fall, wenn man ein Video-Objekt
als eine Texturabbildung auf 3D-Objekten benutzt;
- (b) ein anderes Beispiel ist eine Textur aus 2D-Graphikobjekten
(ein Spezialfall davon ist eine "aktive
Abbildung", d. h.
eine 2D-Ebene in einer 3D-Szene, hergestellt aus mehreren zusammengesetzten
2D-Objekten);
- (3) diese zwei Schemen können
rekursiv gemischt werden, beispielsweise zum Einbetten von 3D-Objekten in
einer 2D-Szene und wobei die resultierende Zusammensetzung als eine
Texturabbildung auf 3D-Objekten verwendet wird (diese kann benutzt
werden zum Simulieren der Reflexion an einem Spiegel);
- (4) eine letzte Möglichkeit
ist die gleiche 3D-Szene von verschiedenen Gesichtspunkten aus gleichzeitig
zu betrachten.
-
Zu dem betreffenden Zeitpunkt ist
es nicht möglich
all diese Möglichkeiten,
bei denen eine einzige Szenengraphik verwendet wird, zu beschreiben.
Eine Szenengraphik ist ein Baum, der mit Hilfe einer Hierarchie von
Objekten, die als Knotenpunkte bezeichnet werden, eine Szene darstellt.
Die Szene wird zusammengesetzt aus Gruppierungsknotenpunkten und
Kindknotenpunkten. Die Rolle von Gruppierungsknotenpunkten ist, die
Hierarchie und die räumliche
Organisation der Szene zu definieren. Kindknotenpunkte sind die
Blätter
des Baumes. Diese Knotenpunkte werden benutzt zum Definieren geometrischer
Objekte, von Lichtquellen sowie von mehreren Typen von Sensoren
(Objekte die für
Benutzerinteraktion empfindlich sind). Gruppierungsknotenpunkte
haben Kindknotenpunkte. Diese Kinder können Kindknotenpunkte oder
andere Gruppierungsknotenpunkte sein.
-
Alle Knotenpunkte können Attribute
haben, die als Felder bezeichnet werden. Die Felder können von jedem
beliebigen Typ sein. So ist beispielsweise eine Kugel ein geometrischer
Knotenpunkt. Diese hat ein Feld, das den Radius definiert. Es ist
ein Feld mit nur einem Wert von Task-Intervalltyp (SFFloat). Kindknotenpunkte
eines Gruppierungsknotenpunktes werden in einem Spezialfeld spezifiziert.
Dieses Feld ist ein Mehrfachwert- Feld
(eine Liste von Knotenpunkten) und jeder Wert ist von einem Typenknotenpunkt
(MFNode).
-
Zum Definieren von Animationen und
Benutzerinteraktionen in der Szene ist es möglich, zwischen Feldern eine
Verbindung zu machen, und zwar unter Verwendung eines Ereignisdurchführungsmechanismus,
der als Routing bezeichnet wird. Das Lenken eines Feldes A zu einem
Feld B bedeutet, dass wenn das Feld A sich ändert, das Feld B denselben
Wertwie das Feld A annimmt. Nur Felder vom selben Typ (oder derselben
An) können
miteinander verbunden werden. Felder können spezialisiert sein, einige
können
nur die Bestimmung einer Route sein, sie werden als "eventIn" bezeichnet, andere
können
nur am Anfang einer Route sein, sie werden als "eventOut" bezeichnet, andere können beide,
der Ursprung und die Bestimmung von Routen sein, sie werden als "exposedField" bezeichnet und zuletzt
können
andere nicht verbunden werden, sie werden ganz einfach als "Feld" bezeichnet.
-
In VRML spielen vier Knotenpunkte
(Gesichtspunkt, Hintergrund, Nebel und Navigationsinfo) eine spezielle
Rolle in dem Sinne, dass jeweils nur eines derselben aktiv sein
kann. Diese Knotenpunkte heißen
verbindbar zu sein.
-
Es gibt viele Gründe zu versuchen, beide Merkmale
2D und 3D zu einem kohärenten
Netzwerk zu integrieren:
- – es ist möglich, denselben Ereignisdurchführungsmechanismus
für die
ganze 2D/3D-Szene zu verwenden;
- –die
Darstellung des Inhaltes kann gedrängter sein;
- –die
Implementierung kann optimiert werden, weil 2D- und 3D-Spezifikationen
dazu entworfen worden sind, zusammenzuarbeiten.
-
Um diese Anforderungen zu erfüllen soll
man imstande sein, in einem 2D-Raum
2D- und 3D-Schichten zusammenzustellen, die das Ergebnis der Rendering
einer 2D- oder einer 3D-Szene darstellen, sowie das Ergebnis der
Rendering einer 2D- oder 3D-Szene
als Eingang zu anderen Knotenpunkten in der Szenengraphik zu verwenden.
-
Andere Probleme, die noch nicht gelöst sind,
sollen ebenfalls betrachtet werden, insbesondere die nachfolgenden
Probleme:
- (1) Interaktivität mit den 2D-Objekten: es kann
notwendig sein, dass man imstande ist, mit den Objekten interaktiv
zu sein, die Schichtung zu ändern,
das Hinzufügen
oder Entfernen von Objekten, was nicht möglich ist ohne ein Verfahren
zum Einstellen der Tiefe eines 2D- Objektes, der mit dem Ereignisdurchführungsmechanismus
von VRML 2.0 kompatibel ist;
- (2) Einzelereignislenkmechanismus, um mit Interaktivität und einfachen
Verhaltensmöglichkeiten
versehen zu werden: ein Beispiel davon könnte die Wiedergabe einer 2D-Abbildung in einer
Durchlaufapplikation sein, wobei die Abbildung benutzt wird zum
Navigieren, was die Fähigkeit
erfordert, ein vom Benutzer ausgelöstes Ereignis von einem 2D-Objekt (der Abbildung)
zu einer 3D-Szene (dem Gesichtspunkt) zu lenken;
- (3) globale Hierarchie der Szene: während eine Szenengraphikdarstellung
eine hierarchische Organisation der Szene betrifft, sollen 2D- und
3D-Schichten nicht als andere Graphikobjekte betrachtet werden (weiterhin
können
Schichten hierarchisch sein, wie beispielsweise in der Schichtgraphik
nach 1, wie nachher erläutert);
- (4) Interaktivität
mit Video-Objekten: eines der Merkmale von MPEG-Video ist eine Objektpegelinteraktion, d.
h. die Beschreibung von Video als Satz von Objekten statt eines
Satzes von Pixeln, was die Interaktion mit dem Inhalt des Videos
ermöglicht
(wie Schneiden und Kleben eines Objektes innerhalb eines Videos) und
soll für
jede Applikation durch den Inhaltserzeuger definiert werden (wobei
die genannte Interaktion, die nicht ein Merkmal des Terminals selber
ist, mit Hilfe von BIFS beschrieben werden kann, aber dazu soll die
Zusammensetzung der jeweiligen Video-Objekte in dem BIFS selber
beschrieben werden).
-
Deswegen ist es u. a. eine Aufgabe
der vorliegenden Erfindung, eine Verbesserung der BIFS vorzuschlagen,
um die Zusammensetzung der komplexen Szene, die aus 2D- und 3D-Objekten
gebaut worden ist, völlig
zu beschreiben. Diese Verbesserung ermöglicht eine gleichförmige Darstellung
der kompletten Szene und des Layouts derselben, sowie der Ereignisdurchführung, nicht
nur innerhalb der 3D-Szene (wie in VRML 2.0) sondern auch zwischen
2D- und 3D-Knotenpunkten, und ermöglicht auch die Definition
spezifischer Benutzerschnittstellen, die mit der Szene übertragen
werden können,
statt der Verwendung einer Vorgabe-Benutzerschnittstelle, die von
dem Terminal geliefert wird.
-
Dazu bezieht sich die vorliegende
Erfindung auf ein Verfahren, wie im Oberbegriff der Beschreibung beschrieben,
und das weiterhin dadurch gekennzeichnet ist, dass der genannte
Verarbeitungsvorgang ebenfalls einen zusätzlichen Schritt zum Beschreiben
einer komplexen Szene umfasst, gebaut aus jeder Art von zweidimensionalen
und dreidimensionalen Objekten, entsprechend einem System, das die
beiden zweidimensionalen und dreidimensionalen Merkmale integriert
und die Zusammensetzungs- und Repräsen tationsmechanismen der Szenenstruktur
vereint, wobei der genannte zusätzliche
Beschreibungsschritt einen ersten Haupt-Subschritt aufweist zum
Definieren einer hierarchischen Darstellung der genannten Szene
entsprechend einer Baumstruktur, organisiert in Gruppenknotenpunkten,
welche die hierarchischen Verbindungen angeben, welche die räumliche
Zusammensetzung der betreffenden Szene geben, und in Kinderknotenpunkten, welche
die Blätter
des Baumes bilden, und einen zweiten Hilfs-Subschritt aufweist zum
Definieren möglicher Querverbindungen
zwischen jeder Art von Knotenpunkten.
-
In einer vorteilhaften Ausführungsform
des vorgeschlagenen Verfahrens umfassen die Knotenpunkte der Baumstruktur
wenigstens zweidimensionale und dreidimensionale Objekte, und der
Hilfsdefinitions-Hilfsschritt umfasst einen ersten Vorgang zum Einbetten
wenigstens eines der genannten zweidimensionalen Objekte innerhalb
wenigstens eines der genannten dreidimensionalen Objekte, einen
etwaigen zweiten Vorgang zum Definieren von Querverbindungen zwischen
den genannten dreidimensionalen und zweidimensionalen Objekten,
und einen etwaigen dritten Vorgang zur Steuerung des Definitionsschrittes
wenigstens einer einzelnen Animation und/oder wenigstens einer bestimmten
Interaktion in dem (den) eingebetteten zweidimensionalen Objekten)
sowie in dem (den) ursprünglichen
Objekt(en).
-
In einer anderen vorteilhaften Ausführungsform
des Verfahrens umfassen die Knotenpunkte der Baumstruktur wenigstens
zweidimensionale und dreidimensionbale Objekte und der zusätzliche
Definitions-Hilfs-Schritt umfasst einen ersten Vorgang zum Einbetten
wenigstens eines der genannten dreidimensionalen Objekte innerhalb
wenigstens eines der genannten zweidimensionalen Objekte, einen
etwaigen zweiten Vorgang zum Definieren von Querverbindungen zwischen
den genannten zweidimensionalen und dreidimensionalen Objekten und
einen etwaigen dritten Vorgang zur Steuerung des Definitionsschrittes
wenigstens einer einzelnen Animation und/oder wenigstens einer bestimmten
Interaktion in dem (den) eingebetteten dreidimensionalen Objekten)
sowie in dem (den) entsprechenden ursprünglichen Objekt(en).
-
In einer anderen vorteilhaften Ausführungsform
des Verfahrens umfassen die Knotenpunkte der Baumstruktur wenigstens
dreidimensionale Objekte und der zusätzliche Definitionshilfsschritt
umfasst einen ersten Vorgang zum Einbetten wenigstens eines der
genannten dreidimensionalen Objekte innerhalb wenigstens eines der
genannten dreidimensionalen Objekte, einen etwaigen zweiten Vorgang
zum Definieren von Querverbin dungen zwischen den genannten dreidimensionalen
Objekten und einen etwaigen dritten Vorgang zur Steuerung des Definitionsschrittes
wenigstens einer einzelnen Animation und/oder wenigstens einer bestimmten
Interaktion in dem (den) eingebetteten dreidimensionalen Objekten)
und in dem (den) ursprünglichen Objekt(en).
-
Was diese zwei letzten Ausführungsformen
anbelangt lässt
sich sagen, dass die genannte zusätzliche Rendering wenigstens
einer einzigen dreidimensionalen Szene von mehreren Gesichtspunkten
aus, unter Beibehaltung des dritten Vorgangs zur Steuerung des Definitionsschrittes
der einzelnen Animationen) und/oder bestimmten Interaktion(en).
-
Die vorliegende Erfindung bezieht
sich nicht nur auf das oben beschriebene Verfahren, mit oder ohne die
etwaigen Vorgänge,
sondern auch auf jedes beliebige Signal, erhalten durch Implementierung
eines derartigen Verfahrens in einer der Abwandlungen. Es dürfte beispielsweise
einleuchten, dass die vorliegende Erfindung sich ebenfalls auf ein
Signal bezieht, erhalten, nachdem in einem ersten Schritt aus dem
Eingangsbitstrom bestimmte Elemente extrahiert worden sind, die
als Objekte bezeichnet werden, und zwar entsprechend der Struktur
einer Szene, definiert in einem zweiten Schritt einer einzelnen
Animation der genannten Elemente der Szene, definiert in einem dritten
Schritt bestimmte Interaktionen zwischen einem Benutzer und den
genannten Elementen, organisiert in einem vierten Schritt spezifische
Beziehungen zwischen den genannten Szenenelementen und entsprechend
einzelner Animationen und/oder Benutzerinteraktionen nach mehreren Klassen
von Applikationen und nachdem ein zusätzlicher Schritt durchgeführt worden
ist zum Beschreiben einer komplexen Szene, gebaut für jede Art
von zweidimensionalen und dreidimensionalen Objekten, entsprechend
einem Netzwerk, das die zweidimensionalen und die dreidimensionalen
Merkmale integriert und die Zusammensetzungs- und Darstellungsmechanismen
der Szenenstruktur vereinheitlicht.
-
Ein derartiges Signal erlaubt es,
dass ein zweidimensionales und ein dreidimensionales Objekt gemeinsam
beschrieben wird und dass eine hierarchische Darstellung einer Szene
nach einer Baumstruktur organisiert wird, die an sich in Gruppierungsknotenpunkten,
welche die hierarechischen Verbindungen definieren, und in Kindknotenpunkten
organisiert ist, wobei die genannten Knotenpunkte es ermöglichen,
aus einer 2D-Szenengraphik,
einer 3D-Szenengraphik, einer Schichtenszenengraphik und Querverbindungen
zwischen Knotenpunkten dieser Szenengraphik zusammen eine einzige
Szenengraphik zu bilden.
-
Ein derartiges Signal ermöglicht ebenfalls
2D- und 3D-Szenen zu definieren, die bereits zusammengesetzt sind
oder die an einem Schirm zusammengesetzt werden sollen, mit einer
Darstellung deren Tiefe, oder zum Definieren von 3D Szenen, in denen
andere Szenen eingebettet werden, die bereits aus 2-D und 3D-Objekten
zusammengesetzt sind, oder ebenfalls zum Definieren von Texturen
für 3D-Objekten,
die selber aus anderen 3Doder 2D-Objekten zusammengesetzt sind.
Im Wesentlichen ermöglicht
ein derartiges Signal mit jedem 2D- oder 3D-Objekt der Szene interaktiv
zu sein und jede Art von Übertragung
von Daten zwischen all diesen Objekten der Szene zu organisieren.
Offenbar bezieht sich die vorliegende Erfindung auf ein Speichermedium
zum Speichern des genannten Signals, von welchem Typ oder von welcher
Zusammensetzung dies auch sein mag. Zum Schuss bezieht sich die
vorliegende Erfindung auch auf eine Anordnung zum Wiedergeben oder
Liefern auf jede beliebige Art und Weise von graphischen Szenen
auf Basis von Signalen, wie dies oben beschrieben worden ist, damit
jede Art von Szene mit zweidimensionalen und dreidimensionalen Objekten
rekonstruiert werden kann.
-
Die Merkmale und die Vorteile der
vorliegenden Erfindung dürften
aus der nachfolgenden Beschreibung und den beiliegenden Figuren
der Zeichnung deutlich werden, wobei 1 ein
komplettes Beispiel einer Szenengraphik gibt.
-
Die Szenengraphik nach 1 zeigt eine hierarchische
Darstellung der genannten Szene entsprechend einer Baumstruktur.
Diese Struktur ist eine Hierarchie von Schichten, die rechteckige
Gebiete des Schirms einer Wiedergabeanordnung darstellen und die
genannte Hierarchie ist in Knotenpunkten organisiert (entweder in
Gruppenknotenpunkten GN, welche die hierarchischen Verbindungen
definieren, oder in Kindknotenpunkten CN, welche die Blätter des
Baumes sind), mit, nach der vorliegenden Erfindung, möglichen Querverbindungen
zwischen diesen Knotenpunkten (in 1 beispielsweise
zwischen dem Kindknotenpunkt 3D-Objekt-2 und dem Gruppenknotenpunkt
2D Szene-1, zur Erläuterung
der Situation, in der ein 3D-Objekt eine 2D-Szene enthält, oder
zwischen den Gruppenknotenpunkten 3D-Szene-2 und 3D-Szene-1, zur
Erläuterung
der Situation, in der zwei "Schicht3D" dieselbe 3D Szene
enthalten, dies gesehen von verschiedenen Gesichtspunkten).
-
In der genannten dargestellten Szenengraphik
werden im Wesentlichen drei verschiedene Szenengraphiken geschaffen:
die 2D Graphikszene, die 3D Graphikszenengraphik und die Schichtenszenengraphiken. Wie
in dem Bild dargestellt, zeigt die 3D Schicht-2 dieselbe Szene wie
3D-Schicht-1, aber der Gesichtspunkt kann anders sein. Das 3D Objekt-3
ist ein Erscheinungsknotenpunkt, der die 2D-Szene 1 als ein Texturknotenpunkt
verwendet.
-
Das Prinzip der vorliegenden Erfindung
ist, neue Knotenpunkte vorzuschlagen, welche die Beschreibung der
2D/3D-Zusammensetzungen als eine einzige Graphik vereinfachen.
-
Zunächst werden zwei neue Knotenpunkte
definiert, damit die Hierarchie von 2D- und 3D-Schichten beschrieben
wird. Die 2D- und 3D-Schichten sind als ein hierarchischer Satz
von Rendering-Gebieten zusammengesetzt, die 2D-Ebenen sind:
- – die
Schicht 2D Kindknotenpunkte der Schicht 2D kann eine Schicht2D,
Schicht3D, und alle Knotenpunkte, die für eine 2D-Szenenbeschreibung
zugänglich
sind;
- – die
Schicht3D Kindknotenpunkte der Schicht 3D kann eine 2D- oder eine
3D-Schicht sein und eine Szenengraphik, die eine 3D-Szene beschreibt.
-
Es werden ebenfalls zwei neue Knotenpunkte
definiert, damit man imstande ist, zusammengesetzte 2D- und 3D-Szenen
als Eingang für
eine Textur in einer 3D-Welt zu verwenden, die auf einem 3D-Objekt
abgebildet werden;
- – Zusammengesetzte 2D-Textur:
dies ist eine Texturabbildung, die als Kindknotenpunkte eine 2D-Szene enthält und als
Texturabbildung verwendet wird;
- – Zusammengesetzte
3D-Textur: dies ist eine Texturabbildung mit Kindknotenpunkten,
die eine 3D-Szene definieren. Die zusammengesetzte 3D-Szene wird
als die Texturabbildung benutzt. Es ist insbesondere möglich, diesen
Knotenpunkt zu verwenden zum Abbilden des Ergebnisses der Rendering
einer bestehenden 3D-Szene, gesehen von einem anderen Gesichtspunkt
aus. Dieser Knotenpunkt ist nützlich
zum Simulieren beispielsweise von Reflexionseffekten.
-
Ein nützlicher Spezialfall des Obenstehenden
ist, wenn eine zusammengesetzte 2D-Szene auf einem Rechteck in dem
3D-Raum abgebildet wird. Dies kann als eine "aktive Abbildung" eingeführt in den 3D Raum gesehen
werden. Weil die Implementierung eines derartigen Knotenpunktes
von der Implementierung des zusammengesetzten Textur2D-Knotenpunktes
stark abweichen kann, ist es nützlich,
für diesen
Fall einen spezifischen Knotenpunkt zu entwerfen. In der Fortsetzung
der Beschreibung wird ein Aktivabbildungsknotenpunkt vorgeschlagen.
-
Zum Schluss wird zum Zuführen vorbestimmter
Werte des Gesichtspunktes oder anderer verbindbarer Kindknotenpunkte
zu einem der oben genannten Knotenpunkte, ein bestimmter Bewerterknotenpunkt
definiert. Dieser Knotenpunkt kann in einem breiteren Bereich in
der BIFS-Spezifikation verwendet werden, oder könnte als ein flexibler VRML
2.0 Prototyp definiert werden.
-
Nachdem das Prinzip der vorliegenden
Erfindung erläutert
worden ist, werden in den nachfolgenden Abschnitten (A) bis (F)
die Definition und die Semantik dieser neuen Knotenpunkte genauer
angegeben.
-
(A) Schicht2D Definition
und Semantik
-
Der Schicht2D Knotenpunkt wird als
Gruppenknotenpunkt definiert. Dies definiert ein Gebiet am Schirm,
wobei 2D Objekte gerendert werden. Drei Felder (oder Attribute)
beschreiben, wie dieser Knotenpunkt in Bezug auf andere Objekte
gerendert wird: die Größe, die
Lage und die Tiefe. Diese Felder können der Ursprung oder das
Endziel von Routen sein. Es sind folglich exponierte Felder. Dieser
Schicht2D Knotenpunkt kann der Vater anderer Knotenpunkte vom gleichen
Typ sein (d. h. ebenfalls Schicht2D) oder von einem ähnlichen
Typ, wie nachstehend definiert (Schicht3D). Dies kann durch ein
Mehrwertfeld vom Knotenpunkttyp (MFKnotenpunkt) beschrieben werden.
Außerdem
kann dieser Knotenpunkt der Vater von Knotenpunkten sein, die 2D
Objekte darstellen. Dies kann ebenfalls von einem Mehrwertfeld vom
Knotenpunkttyp (MFKnotenpunkt) beschrieben werden.
-
In der BIFS-Sprache wird der Schicht2D
Knotenpunkt wie folgt beschrieben:
-
-
Das Kind2D Feld kann als Wert jeden
2D Gruppen- oder Kindknotenpunkt haben, der eine 2D-Szene definiert.
Das Kindschichtfeld kann als Wert entweder eine 2Doder eine 3D-Schicht
annehmen. Die Reihenfolge (Schichtung) der Kinder eines Schicht2D Knotenpunktes
wird explizit durch die Verwendung der Transformation2D Knotenpunkte
gegeben. Wenn zwei 2D Knotenpunkte die Kinder derselben Transformation2D
sind, wird die Schichtung von 2D Knotenpunkten gemacht in der Reihenfolge
der Kinder in dem Kinderfeld der Transformation2D.
-
Die Schichtung der 2D- und 3D-Schichten
wird durch die Übersetzungsund
Tiefenfelder spezifiziert. Der Größenparameter wird in Schwebepunktzahl
gegeben und kann in Pixeln ausgedrückt werden, oder zwischen 0,0
und 1,0 in "gaphischen
Metern", je nach
dem Kontext. Dasselbe gilt für
den Übersetzungsparameter. Eine
Größe von – I in der
einen Richtung bedeutet, dass der Schicht2D Knotenpunkt in der betreffenden
Richtung nicht in der Größe spezifiziert
wird, und dass der Zuschauer die Größe des Renderinggebietes bestimmt.
-
Alle 2D Objekte unterhalb desselben
Schicht2D Knotenpunktes bilden ein einziges zusammengesetztes Objekt.
Dieses zusammengesetzte Objekt wird von anderen Objekten als ein
einziges Objekt gesehen Mit anderen Worten: wenn ein Schicht2D Knotenpunkt
A der Vater zweier Objekte B und C ist. die aufeinander geschichtet
sind, wird es nicht möglich
sein, ein neues Objekt D zwischen B und C einzufügen, es sei denn, dass D als
ein Kind von A hinzugefügt
wurde.
-
(B) Schicht3D Definition
und Semantik
-
Auf gleiche Weise wird der Schicht3D
Knotenpunkt als Gruppenknotenpunkt definiert. Er definiert ein Gebiet
am Schirm, wo 3D Objekte gerendert werden. Drei Felder (oder Attribute)
beschreiben, wie dieser Knotenpunkt gegenüber anderen Objekten gerendert
wird: die Größe, die
Lage und die Tiefe. Diese Felder können der Ursprung oder das
Endziel von Routen sein. Sie sind folglich exponierte Felder. Dieser
Knotenpunkt kann der Vater anderer Knotenpunkte vom gleichen Typ
sein (d. h. Schicht3D) oder von einem ähnlichen Typ (Schicht2D). Dies
kann durch ein Mehrwertfeld vom Typ Knotenpunkt (MFKnotenpunkt)
beschrieben werden. Außerdem
kann dieser Knotenpunkt der Vater von Knotenpunkten sein, die 3D
Objekte darstellen. Dies kann ebenfalls durch ein Mehrwertfeld von
dem Typ Knotenpunkt (MFKnotenpunkt) beschrieben werden.
-
In dem speziellen Fall, wo verschiedene
Bilder derselben 2D Welt (oder desselben Objektes) erforderlich
sind, bilden verbindbare Knotenpunkte ein Problem, weil es nicht
länger
möglich
ist, zu sagen, dass nur eines derselben in der ganzen Applikation gleichzeitig
aktiv sein darf. In jeder Schicht3D darf aber nur einer aktiv sein.
Dieses Verhalten erfordert, dass der Schicht3D Knotenpunkt ein exponiertes
Feld für
jeden der verbindbaren Knotenpunkte hat.
-
In der BIFS Sprache wird die Schicht
3D wie folgt beschrieben:
-
-
Das Kinder3D Feld kann als Wert alle
beliebigen 3D Gruppen- oder Kinderknotenpunkte haben, die eine 3D
Szene definieren. Das KinderSchicht Feld kann entweder eine 2D oder
eine 3D Schicht als Werte haben. Die Schichtung der 2D und 3D Schichten
wird von den Übersetzungs-
und Tiefenfeldern spezifiziert. Das Übersetzungsfeld wird ausgedrückt, wie
im Falle der Schicht 2D entweder in Pixeln oder in "Graphikmetern", zwischen 0,0 und
1,0. Der Größenparameter
hat dieselbe Semantik und dieselben Einheiten wie in der Schicht 2D.
Eine Größe von –1 in der
einen Richtung bedeutet, dass der Schicht 3D Knotenpunkt in der
betreffenden Richtung nicht in Größe spezifiziert wird, und dass
der Zuschauer die Größe des Rendering-Gebietes
entscheiden würde.
Alle bindbaren Kinderknotenpunkte werden als exponierte Felder des
Schicht 3D Knotenpunktes verwendet. In der Laufzeit nehmen diese
Felder den Wert der aktuell gebundenen bindbaren Kinder Knotenpunkte
für die
3D Szene, die ein Kind des Schicht 3D Knotenpunktes ist. Dies wird
es ermöglichen,
dass ein aktueller Gesichtspunkt beispielsweise auf eine Schicht
3D eingestellt wird, und zwar in Reaktion auf ein Ereignis, das
nicht erreicht werden kann durch eine direkte Verwendung von "set_bind eventIn" der Gesichtspunktknotenpunkte,
da Szenen zwischen verschiedenen Schichten geteilt werden können.
-
In dem Fall, wo eine 3D Szene zwischen
verschiedenen Schicht3D geteilt wird, wird das Verhalten der jeweiligen
Sensor Knotenpunkte wie folgt definiert: ein Sensor löst ein Ereignis
aus, wenn der Sensor in einer der Schicht3D ausgelöst wird,
die es enthält.
-
(C) Zusammengesetzte 2D
Textur Definition und Semantik
-
Die zusammengesetzte 2D Textur ist
ein Texturknotenpunkt wie der VRML 2.0 Bild Textur Knotenpunkt.
Er wird aber als ein Gruppenknotenpunkt definiert. Es kann der Vater
eines 2D Knotenpunktes sein. Die durch diesen Knotenpunkt dargestellte
Textur ergibt sich aus der Zusammensetzung eines in dem Kinder Feld beschriebenen
2D Szene.
-
In der BIFS-Sprache wird der zusammengesetzte
2D Textur Knotenpunkt wie folgt beschrieben.
-
-
Das Kinder 2D Feld vom Typ MFKnotenpunkt
ist die Liste der 2D Gruppen- und Kinder Knotenpunkte, welche die
an dem 3D Objekt abzubildende 2D Szene definieren. Das Größenfeld
spezifiziert die Größe dieser Abbildung.
Die Einheiten sind dieselben wie in dem Fall der Schicht 2D/3D.
Wenn als Vorgabewert gelassen, wird eine undefinierte Größe benutzt.
Dieser zusammengesetzte 2D Texturknotenpunkt kann nur als Texturfeld eines
Erscheinungsknotenpunktes verwendet werden.
-
(D) Zusammengesetzte 3D
Textur Definition und Semantik
-
Die zusammengesetzte 3D Textur ist
ein Texturknotenpunkt wie der VRML 2.0 Bild Textur Knotenpunkt.
Er wird aber definiert als Gruppenknotenpunkt. Er kann aber der
Vater jedes beliebigen 3D Knotenpunktes sein. Die von diesem Knotenpunkt
dargestellte Textur ergibt sich aus der Zusammensetzung einer in
dem Kinderfeld beschriebenen 3D Szene. Wie für den Schicht 3D Knotenpunkt
wird das Ausliefern bindbarer Knotenpunkte dadurch gelöst, dass
exponierte Felder verwendet werden.
-
In der BIFS-Sprache wird der zusammengesetzte
3D Textur Knotenpunkt wie folgt beschrieben:
-
-
Das Kinder 3D Feld vom Typ MFKnotenpunkt
ist die Liste der 3D Gruppen- und Kinderknotenpunkte, welche die
auf dem 3D Objekt abzubildende 3D Szene definieren. Das Größenfeld
spezifiziert die Größe in Pixeln
dieser Abbildung (wenn als Vorgabewert gelassen wird eine undefinierte
Größe verwendet).
Die vier nachfolgenden Felder stellen die aktuellen Werte der bindbaren
Kinderknotenpunkte dar, die in der 3D Szene verwendet worden sind.
Dieser zusammengesetzte 3D Textur Knotenpunkt kann als ein Texturfeld
eines Erscheinungsknotenpunktes verwendet werden.
-
(E) Zusammengesetzte Abbildung
Definition und Semantik
-
Der zusammengesetzte Abbildungsknotenpunkt
ist ein Spezialfall des zusammengesetzten 2D Texturknotenpunktes,
der in einem Rechteck der z=0 Ebene des örtlichen Koordinatensystems
dargestellt wird. Dieser nützliche
Subsatz eines zusammengesetzten 2D Textur Knotenpunktes wird imstande
sein, auf effiziente Weise viele einfache Fälle kombinierter 2D und 3D
Kompositionen zu schaffen.
-
In der BIFS-Sprache wird der aktive
Darstellung Knotenpunkt wie folgt beschrieben:
-
-
Das Kinder 2D Feld vom Typ MFKnotenpunkt
ist die Liste mit 2D Gruppen und Kinder Knotenpunkten, welche die
auf dem 3D Objekt abzubildende 2D Szene definie ren. Das Szenengrößenfeld
spezifiziert die Größe in Pixeln
der 2D zusammengesetzten Szene (wenn als Vorgabewert gelassen, wird
eine undefinierte Größe verwendet).
Das zentrale Feld definiert die Koordinate der Mitte der zusammengesetzten
Abbildung in dem xOy Koordinatensystem. Das Abbildungsgröße-Feld
spezifiziert die Größe in dem
3D Raummaß des
rechteckigen Gebietes, wo die 2D Szene abgebildet werden soll. Dieser
Knotenpunkt kann als jeder beliebige 3D Kinderknotenpunkt verwendet
werden.
-
(F) Bewerter Definition
und Semantik
-
Der Bewerterknotenpunkt ist ein Knotenpunkt,
verwendet zum Routen eines vordefinierten Wertes zu einem Feld eines
anderen Knotenpunktes. Dabei handelt es sich um ein exponiertes
Feld jedes bestehenden Typs. Der Bewerter wird ausgelöst, wenn
eines der exponierten Felder modifiziert wird oder kann über ein "EventIn" getriggert werden.
-
In der BIFS-Sprache wird der Bewerterknotenpunkt
wie folgt beschrieben:
-
-
Die Semantik des Parameters ist einfach
ein Konstantwerthalter. Dieser Wert kann jedem anderen Feld von
demselben Typ zugeführt
werden, damit es möglich
ist, explizit Feldern Werte zuzuordnen. Das Routen kann mit dem
EreignisIn set_Active Feld aktiviert werden.
-
Die obenstehend beschriebene Lösung löst die adressierten
Probleme. Eine einfache Darstellung für eine komplette 2D/3D-Szene
und eine globale Interaktivität
mit 2D und 3D Objekten werden tatsächlich erhalten und da 2D und
3D Objekte nun in dersel ben Datei (oder in demselben Strom) beschrieben
werden, ist es möglich,
zwischen Feldern denselben Routingmechanismus zu verwenden. Ein
Beispiel dieser Funktionalität ist
die Situation, in der für
eine 3D Szene, zusammengesetzt aus einem Würfel und einer Farbpalette,
dargestellt als 2D Kreise in einer 2D Szene, der Benutzer eine Farbe
in dieser Palette berührt,
wobei die Farbe des Würfels
dann die berührte
Farbe wird.
-
Weiterhin wurden, wie in 1 dargestellt, die zwei
Knotenpunkte Schicht2D und Schicht3D dazu vorgesehen, die Szene
in einer einfachen globalen Hierarcie zu organisieren. Es muss ebenfalls
angegeben werden, dass 2D zusammengesetzte Szenen als Textursabbildungen
und 2D zusammengesetzte Abbildungen im Konzept sehr ähnlich sind.
Die zusammengesetzte Abbildung definiert eine rechteckige Facettentextur,
abgebildet mit einer 2D zusammengesetzten Szene. Die 2D zusammengesetzte
Szene als Texturabbildung ist eine Textur, die auf jeder Geometrie
abgebildet werden kann. In einem etwaigen Beispiel einer zusammengesetzten Abbildung
hat man am Anfang der Welt ein 2,0 × 4,0 rechteckiges Gebiet auf
der Erde, zusammengesetzt aus 2 Bildern. Der Benutzer kann eines
der 2 Bilder berühren
zum Auslösen
einer Aktion (nicht spezifiziert). In einem anderen Beispiel einer
zusammengesetzten Abbildung, gegeben für 3D zusammengesetzte Szenen
als Texturabbildungen, hat man einen Würfel in einer Schicht3D. Dieser
Würfel
hat eine Texturabbildung, die aus der Rendering eines Zylinders
zusammengesetzt ist, gesehen aus einem spezifizierten Gesichtspunkt.
Der Benutzer kann den Zylinder berühren zum Auslösen einer
Aktion (nicht spezifiziert). In Bezug auf viele Darstellungen derselben
Szene ermöglicht
die vorgeschlagene Lösung,
dass eine in verschiedenen Schicht3D Szene aus verschiedenen Gesichtspunkten
wiedergegeben werden kann. Außerdem
kann der Gesichtspunkt durch Berührung
eines 2D Bildes modifiziert werden.
-
Text in der Zeichnung
-
- Ursprungsschicht 2D (GN)
- Schichten Szenen Graphik
- Schicht 2D-1 (GN)
- Schicht 2D-2 (GN)
- 2D Szene Graphik
- Beispiel einer Querverbindung
- 2D Szene-1 (GN)
- Schicht 3D-1 (GN)
- Querverbindung
- Schicht 3D-2 (GN)
- 2D Objekt-1 (GN)
- 2D Objekt-2 (CN)
- 3D Szene-1 (GN)
- 3D Szene-2 (CN)
- 2D Objekt-4 (CN)
- 2D Objekt-3 (CN)
- 3D Objekt-1 (GN)
- 3D Objekt-4 (CN)
- 3D Objekt-5 (CN)
- 3D Szene Graphik
- 3D Objekt-2 (CN)
- 3D Objekt-3 (CN)