Unsere Generation lebt in einer technisierten Umwelt. Mittlerweile findet man an jedem erdenklichen Platz Monitore oder Videotafeln. Neben Qualitätssteigerungen in der Auflösung, das beim aktuell eingeführten High Definition Television der Fall ist, werden zukünftige Entwicklungen der Fernseh- und Videotechnik in eine andere Richtung gelenkt. Der Benutzer soll im Mittelpunkt stehen…
Während sich die standardisierten Formate MPEG-1 und MPEG-2 seit geraumer Zeit gro¬ßer Beliebtheit im Bereich der Video-CD sowie der SuperVideo-CD, DVD und des DigitalVideoBroadcasting bei den Nutzern erfreuen, steuert die Industrie neue Ziele an. Neben noch effizienterer Kodierung soll eine Lösung für das interaktive Eingreifen in eine Szene, das Wiederverwenden von erstellten Inhalten sowie die Nutzung dieser Inhalte zwischen plattformübergreifenden Systemen gefunden werden. Alle gewünschten Eigenschaften werden in dem 1999 festgelegten Standard MPEG-4 vereint. Bei der Erstellung einer MPEG-4-Szene werden die Vorteile der Objektorientiertheit genutzt, indem die einzelnen enthaltenen Ele¬mente je nach Inhalt getrennt komprimiert und beim Empfänger in einen großen Datenstrom integriert werden. Während der Wiedergabe existiert die Möglichkeit, diese Elementardatenströme zu starten, zu wechseln und zu ändern. Diese Änderungen können vom Benutzer, vom Verteiler oder automatisch vorgenommen werden. Über die Integration von diversen Programmiersprachen sowie Sensoren entstehen auf einem Standard basierende interaktive Szenarien. Dieser Eingriff erstellt völlig neue Anwendungsbereiche, die in dieser Form noch nie möglich waren.
Gleichzeitig kann diese interaktive Szene ohne Neukomposition auf verschiedene Plattformen übertragen werden, so dass multimediale Präsentationen auf dem Handy sowie auf der Projektionsfläche mit anderer Sprache dargestellt werden können.
Die Anwendungsgebiete sind wegen der Profile, die im Standard spezifiziert sind, überaus vielfältig. Damit es zu einem geregelten Ablauf in der Produktion einer interaktiven audiovisuellen Szene kommt, ist noch viel Forschungsarbeit im Bereich der benutzerfreundlichen Tools nötig. Einen Schritt in diese Richtung soll der Produktionsweg im Rahmen dieser Diplomarbeit von der Konzepterstellung bis zur fertigen interaktiven MPEG-4-Szene mit den heute verfügbaren Tools aufzeigen. Die TU Ilmenau leistet mit ihrem IAVAS-Projekt große Unterstützung im Bereich der MPEG-4-Produktion.
Inhaltsverzeichnis
1 Einleitung
1.1 Motivation
1.2 Zielsetzung
2 Konzepte und Technische Grundlagen
2.1 VRML – Virtual Reality Modeling Language
2.1.1 Geschichte, Definition und Zukunft
2.1.2 Dateistruktur
2.1.3 Knotentypen
2.1.4 Interaktion
2.1.5 Audio-Elemente
2.1.6 Visuelle Eigenschaften
2.1.7 Instanzierung von Knoten
2.1.8 Prototypen und Inlines
2.1.9 Scripte und Programme
2.1.10 Darstellung von VRML-Szenen
2.1.11 Erstellung von VRML-Welten
2.2 MPEG-4 – Moving Picture Experts Group Part 4
2.2.1 Geschichte, Definition und Zukunft
2.2.2 Einführung in den Standard MPEG-4
2.2.3 Architektur des MPEG-4-Standards
2.2.4 Objekte, Objektdeskriptoren, Elementardatenströme
2.2.5 Übertragungsweg einer MPEG-4-Szene
2.2.6 Integrierte Multimedia-Formate
2.2.7 Binary Format for Scenes (BIFS)
2.2.8 Erstellung von MPEG-4-Szenen
2.2.9 Darstellung von MPEG-4-Szenen
2.2.10 Anwendung
3 Realisierung und technische Umsetzung
3.1 Modellierung der Szene mit einem 3D-Programm
3.1.1 Konzeption der Szene
3.1.2 Wahl eines 3D-Programms und Umsetzung der Szene
3.2 VRML – Informationen im Raum
3.2.1 Dateistruktur und generelle Einstellungen für eine Szene
3.2.2 Gruppenknoten
3.2.3 Shape-Gestaltungsknoten
3.2.4 Geometrische Knoten
3.2.5 Aussehen von geometrischen Objekten
3.2.6 Lichtquellen - Licht ins Dunkel bringen
3.2.7 Tonquellen
3.2.8 Interaktion durch Sensoren
3.2.9 Übertragung von Ereignissen
3.2.10 Interpolatoren
3.2.11 Scripts und Prototypen
3.3 MPEG-4 – Finaler Schritt
3.3.1 Wandlung der erstellten VRML-Datei in das BIFSText-Format
3.3.2 Konvertierung der ES in ein MPEG-4-konformes Format
3.3.3 Von BIFSText zum finalen mp4-Format
4 Problematik und Zukunft
4.1 Derzeitige Problemfelder
4.1.1 Authoring-Tools
4.1.2 MPEG-4-Player
4.2 Zukunft und momentane Entwicklung
Anhang
Anhang A: Navigation mit dem VRML-Browser „blaxxun Contact 5.1“
Anhang B: Video-Erstellung anhand des ENST mp4tool
Literaturverzeichnis
Abkürzungsverzeichnis
Abbildungsverzeichnis
Tabellenverzeichnis
1 Einleitung
1.1 Motivation
Unsere Generation lebt in einer technisierten Umwelt. Mittlerweile findet man an jedem erdenklichen Platz Monitore oder Videotafeln. Neben Qualitätssteigerungen in der Auflösung, das beim aktuell eingeführten High Definition Television der Fall ist, werden zukünftige Entwicklungen der Fernseh- und Videotechnik in eine andere Richtung gelenkt. Der Benutzer soll im Mittelpunkt stehen…
Während sich die standardisierten Formate MPEG-1 und MPEG-2 seit geraumer Zeit großer Beliebtheit im Bereich der Video-CD sowie der SuperVideo-CD, DVD und des DigitalVideoBroadcasting[1] bei den Nutzern erfreuen, steuert die Industrie neue Ziele an. Neben noch effizienterer Kodierung soll eine Lösung für das interaktive Eingreifen in eine Szene, das Wiederverwenden von erstellten Inhalten sowie die Nutzung dieser Inhalte zwischen plattformübergreifenden Systemen gefunden werden. Alle gewünschten Eigenschaften werden in dem 1999 festgelegten Standard MPEG-4 vereint. Bei der Erstellung einer MPEG-4-Szene werden die Vorteile der Objektorientiertheit genutzt, indem die einzelnen enthaltenen Elemente je nach Inhalt getrennt komprimiert und beim Empfänger in einen großen Datenstrom integriert werden. Während der Wiedergabe existiert die Möglichkeit, diese Elementardatenströme zu starten, zu wechseln und zu ändern. Diese Änderungen können vom Benutzer, vom Verteiler oder automatisch vorgenommen werden. Über die Integration von diversen Programmiersprachen sowie Sensoren entstehen auf einem Standard basierende interaktive Szenarien. Dieser Eingriff erstellt völlig neue Anwendungsbereiche, die in dieser Form noch nie möglich waren.
Gleichzeitig kann diese interaktive Szene ohne Neukomposition auf verschiedene Plattformen übertragen werden, so dass multimediale Präsentationen auf dem Handy sowie auf der Projektionsfläche mit anderer Sprache dargestellt werden können.
Die Anwendungsgebiete sind wegen der Profile, die im Standard spezifiziert sind, überaus vielfältig. Damit es zu einem geregelten Ablauf in der Produktion einer interaktiven audiovisuellen Szene kommt, ist noch viel Forschungsarbeit im Bereich der benutzerfreundlichen Tools nötig. Einen Schritt in diese Richtung soll der Produktionsweg im Rahmen dieser Diplomarbeit von der Konzepterstellung bis zur fertigen interaktiven MPEG-4-Szene mit den heute verfügbaren Tools aufzeigen. Die TU Ilmenau leistet mit ihrem IAVAS-Projekt große Unterstützung im Bereich der MPEG-4-Produktion. Es entstehen neue Tools, die für zukünftige Softwarelösungen sehr interessant sind. Die Entwicklung neuer MPEG-4-Implementationen wie Schatten in 3D-Umgebungen ermöglichen immer realistischere Umgebungen in neuen Einsatzgebieten.
Mit diesem Wissen und der Nutzung der verfügbaren Tools wird darauf geachtet, einen möglichst großen Interaktionsumfang in der Szene abzudecken, der die verschiedenen Arten der Wechselwirkungen dokumentiert. Dabei wird eine Vielzahl der zur Integration verfügbaren Formate, wie Bilder, Videos und Töne, eingesetzt und beschrieben. Da sich ein Großteil dieser Diplomarbeit mit dem internet-basierten Standard VRML auseinandersetzt, der Teilstandard von MPEG-4 ist, werden auch diesbezüglich ausführliche Definitionen und Anwendungsgebiete aufgezeigt.
Die Aufteilung dieser Diplomarbeit ist bewusst in einen Theorie- und einen Praxisabschnitt strukturiert. In Kapitel 2 werden die gesamten Konzepte und theoretischen Hintergründe der verwendeten Standards erläutert. Der Umfang dieses Kapitels beschränkt sich vollständig auf die allgemeinen Grundlagen der Themen VRML und MPEG-4. Intensivere und mit Beispielen aus der erstellten Szene beschriebenen Definitionen und Umsetzungen werden im darauf folgenden Kapitel 3 geboten. Der vollständige Produktionsweg wird unter Erklärung der verwendeten Tools dargestellt und auftretende Probleme beschrieben. In Kapitel 4 soll kurz die allgemein existierende Problematik und zukünftige Neuerungen und Erweiterungen präsentiert werden.
1.2 Zielsetzung
Innerhalb dieser Diplomarbeit wird ein produktiver Weg von der Konzepterstellung über die Modellierung einer 3D-Szene bis zur fertigen interaktiven audiovisuellen MPEG-4-basierten Szene erläutert. Besonderer Wert wird auf die Vielfalt der interaktiven Möglichkeiten und auf den großen Umfang der verwendbaren Formate als integrierte Objekte gelegt. Ergebnis ist folglich der komplette Abriss einer MPEG-4-Produktion, der mit einem interaktiven Planetarium in einer Naturszene veranschaulicht wird.
2 Konzepte und Technische Grundlagen
In diesem Kapitel sollen alle notwendigen Begriffe und Erläuterungen zu den in dieser Diplomarbeit verwendeten Standards VRML und MPEG-4 und deren Beziehung zueinander beschrieben werden. Ein Bezug zwischen dem theoretischen Hintergrund und der praktischen Anwendung findet im folgenden Kapitel statt.
2.1 VRML – Virtual Reality Modeling Language
2.1.1 Geschichte, Definition und Zukunft
Informationen aus dem World Wide Web (kurz: WWW) bestanden bisher aus Texten, Bildern und Videos. Dieses weltweite Informationssystem und dessen Oberfläche waren ausreichend für die reine Suche nach Fakten. Dank der virtuellen Realität[2] entsteht eine dritte Dimension, die eindeutig zu unserer Wahrnehmung und Vorstellung beiträgt.
Im Mai 1994 kam es während der ersten internationalen Konferenz über das WWW zu einer Sitzung mit dem Thema „Virtual Reality Markup Language“. Der Entwickler von HTML[3], Tim Berners-Lee, eröffnete seine Vorstellung von einem plattform-unabhängigen Standard zur Darstellung von 3D-Welten im Internet. Damit entstand der Begriff VRML. Der Hauptkern von VRML 1.0 wurde durch einen Teil des Datenformates Open Inventor[4] geprägt. Auf der zweiten internationalen Konferenz über das WWW im Oktober 1994 wurde VRML von Tony Parisi und Gavin Bell präsentiert und die Entwicklung von VRML-Buildern und -Browsern[5] begann. Im August 1995 erging ein Aufruf an alle Interessierten, die Sprache weiterzuentwickeln, und es wurde die VRML Architecture Group (VAG) gegründet. Hauptaugenmerk der Evolution sollte die Möglichkeit auf Interaktion und Bewegung sein. Dazu wurde eine allgemeine, plattform-unabhängige Schnittstelle zwischen VRML und Script- und Programmiersprachen gesucht. Man einigte sich auf JavaScript und Java[6] und konnte damit VRML 2.0 (= VRML97) präsentieren. Über Prototyping ist es möglich, neue Knotentypen zu definieren, um sie später als neue Instanzen mit individuellen Feldbelegungen wieder zu verwenden.
Wegen der kontinuierlichen Verweise auf Referenzliteratur über die Thematik VRML, wird hier häufig auf die verfügbaren Definitonsquellen [HASE97; WWWC3] Bezug genommen.
Über die International Standards Organization (kurz: ISO) und die International Electrotechnical Commission (kurz: IEC) wurde VRML 2.0 als offizieller, internationaler Standard angenommen (ISO/IEC 14772-1:1997, ISO/IEC 14772-2:2002).
Durch VRML können Szenen einfach beschrieben und modelliert werden. Die Sprache kommt ohne Ablaufstrukturen aus, besitzt aber umfangreiche graphische Konstrukte und Funktionen. Somit wird sie vom darstellenden System abgearbeitet und direkt wiedergegeben. Weiterhin kann VRML in HTML-Dokumente integriert werden, und umgekehrt ist es möglich, Bilder, Töne, Videos und Animationen der 3D-Objekte in die Szene zu implementieren, um ein hohes Maß an Realität zu erreichen.[7]
Somit kann VRML in den verschiedensten Bereichen eingesetzt werden. Neben technischen und wissenschaftlichen Veranschaulichungen kann es zur multimedialen Präsentation, für Spiele, in anwendungsbezogenen animierten Internetauftritten, Multi-User-Welten[8] etc. genutzt werden.
Zur Erweiterung und Verbesserung der Technologie von VRML wurde X3D[9] vom Web3D Konsortium[10] hervorgebracht. X3D bedient sich der Beschreibungssprache XML[11], die durch das W3C[12] 1998 entwickelt wurde. Durch die zunehmenden Datenformate und Informationen im Internet sollte eine Sprache zur Strukturierung entwickelt werden. Bei der Realisierung von X3D war es von enormer Wichtigkeit, kompatibel mit dem Standard MPEG-4 zu sein. Die größten Neuerungen von X3D gegenüber VRML 2.0 sind die erweiterten Szenengraphfähigkeiten, Unterstützung vieler standardisierter Dateitypen und eine Spezifikation in 3 Teile, so dass eine Erweiterung der Sprache einfach umzusetzen ist.[13]
2.1.2 Dateistruktur
VRML ist im Wesentlichen ein Dateiformat zur Beschreibung von dreidimensionalen Objekten im Raum. Der Inhalt einer Szene besteht aus lesbarem, unverschlüsseltem Text auf Basis von ASCII-Zeichen[14] (VRML 1.0) oder des UTF-8-Formats[15] (VRML 2.0). Jede Datei beginnt mit einem Kommentar, der die VRML-Version und den verwendeten Zeichensatz enthält. Kommentare werden mit dem Zeichen # eingeleitet. Somit hat die erste Zeile bei einer Kodierung gemäß VRML 2.0 die Form:
Abbildung in dieser Leseprobe nicht enthalten
Alle Szenen in VRML bestehen aus Objekten, die als Knoten bezeichnet werden. Außerdem können diese wiederum Kindknoten enthalten. Daraus resultiert eine hierarchische Strukturierung (Szenengraph), die dem Autor eine sehr einfache und angenehme Arbeitsweise schafft. Neben den diversen Knotentypen existieren Prototypen und Routen. In den folgenden Kapiteln werden diese Begriffe noch ausführlich erklärt.
Weiterhin beinhaltet jede Datei ein Weltkoordinatensystem (WKS), das für alle Objekte in dieser Szene gilt, sowie für alle einbezogenen Objekte aus einer externen Datei. Dieses kann in jedem Knoten in Bezug auf das globale WKS neu skaliert werden.
Durch Hyperlinks besteht die Möglichkeit auf andere Dokumente im WWW zu verweisen wie zum Beispiel auf Grafiken, andere Internetseiten oder andere Szenen in Form von VRML-Dokumenten (inline). Die aktuelle Szene wird im letzteren Fall durch die neue überschrieben oder erweitert. Diese Möglichkeit wird angewendet, wenn man Szenen räumlich trennen kann oder sich eine Gesamtszene als zu rechenintensiv erweist[16].
2.1.3 Knotentypen
Knoten werden in verschiedene Klassen eingeteilt. Gruppenknoten (englisch: group nodes) sind die Verzweigungen, die eine beliebige Anzahl von Kindknoten enthalten können. Sie enthalten als Kindknoten wiederum Gruppenknoten oder so genannte Blattknoten (englisch: leaf nodes). Blattknoten wiederum können keine Kindknoten enthalten, aber häufig untergeordnete Knoten. Jeder Knoten ist durch einen eindeutigen Knotentyp gekennzeichnet. Die Definition von Knotentypen wird dem Autor eigener Szenen weitgehend abgenommen, da durch die Spezifikation von VRML 2.0 die Browser die Knotentypen vordefinieren. Weitere Knotentypen können darüber hinaus durch Prototypen definiert und verwendet werden.[17]
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Szenengraph
Abbildung 1 zeigt eine Szenenbeschreibung, auch Szenengraph genannt, der den Zusammenhang zwischen Knoten, Feldern, Sensoren und Ereignissen verdeutlichen soll. Dieses Beispiel stellt einen Kegel dar, der mit einem Touchsensor versehen ist. Wenn der Benutzer den Kegel berührt, dann wird anhand der ROUTE-Verknüpfung das Punktlicht erleuchten.
Gruppenknoten
Neben den Kindknoten, die durch das children-Feld gekennzeichnet sind, können auch andere einfache Knoten wie der Blattknoten enthalten sein. Sie verfügen über kein children-Feld, dennoch sind untergeordnete Knoten definierbar. Daraus lassen sich willkürlich komplexe Baumstrukturen konstruieren. Der am häufigsten verwendete Gruppenknoten ist Transform. Dessen Operationen, die man als Erweiterung angeben kann, werden auf alle enthaltenen Kindknoten angewendet.
[Abbildung in dieser Leseprobe nicht enthalten]Transform { # Gruppenknoten
translation 2 2 2 # Operationen vom Transform-
scale 2 2 2 # Knoten (Verschieb. und Skalier.)
children [ # Kindknoten
Shape { # Shape-Kindknoten
geometry Cone {...}}, # geometry-Feld zeichnet Kegel
Shape {
geometry Box {...}}, # geometry-Feld zeichnet Quader
]
Abbildung in dieser Leseprobe nicht enthalten
Durch die hierarchische Abarbeitung spielt die Reihenfolge der enthaltenen Knoten und Felder bei einem Gruppenknoten keine Rolle. Weitere Erläuterungen zu den diversen Knotentypen und Feldern werden im Kapitel 3.2 beschrieben.
2.1.4 Interaktion
Die Simulation von Bewegungen ist die Grundlage für Interaktionen. Animationen bedeuten Änderungen der Position von Objekten, die vordefiniert sein können oder direkt durch den Nutzer beeinflusst werden. Im letzteren Fall nimmt der VRML-Browser das Einwirken des Betrachters durch spezielle Objekte wahr, die als Sensoren bezeichnet werden. Diverse Arten von Interaktionen sind möglich, so dass bei einem Sensor das Ansehen eines Objektes ausreicht, um eine Animation zu starten. Bei einem anderen Sensor muss mit dem Cursor ein Objekt berührt werden, damit es in Aktion tritt. Zeitsensoren überwachen den Zeitablauf, der benötigt wird, um Animationen zu bestimmten Zeitpunkten zu starten oder wiederholen zu lassen. Aktive Sensoren erzeugen Ereignisse, die an andere Objekte durch Verbindungen von Knoten (Routes) weitergeleitet werden können. Seit VRML 2.0 existiert der nicht aktiv wahrgenommene Sensor der Kollisionsabfrage. Damit kann man Welten aufteilen oder strukturieren. Eine weitere intelligente Interaktion ist sehr sinnvoll im Rahmen von Multi-User-Welten. Jeder Nutzer kann durch eine virtuelle Person[18] dargestellt werden. Dieses künstliche Wesen agiert anstelle des Betrachters in der virtuellen Umgebung.
Sensoren werden vom Betrachter nicht wahrgenommen, sondern nur die Veränderungen von sichtbaren Objekten oder die Ausgabe von Tönen. Als Reaktion auf die Sensoren müssen Positionen, Koordinaten, Farben oder Intensitäten verändert und an die entsprechenden Objekte gesendet werden. Eine andere Kategorie von Knoten ist dafür definiert: Interpolatoren. Auf diesen Begriff wird an dieser Stelle noch nicht weiter eingegangen. Weitere Erläuterungen folgen im Kapitel 3.2. Größeren Funktionsumfang zur Veränderung bieten Script-Sprachen oder höhere Programmiersprachen wie JavaScript und Java (siehe weiterführend Kapitel 2.1.9).
Das Verhalten von Objekten ist somit gekennzeichnet durch die Fähigkeit zum interaktiven Reagieren und der anschließenden Animation.[19]
2.1.5 Audio-Elemente
Um eine möglichst reale Welt zu schaffen, dürfen auditive Inhalte nicht fehlen. Verschiedene Anwendungsgebiete werden dafür eröffnet. Es besteht die Möglichkeit ambiente Klänge in den Hintergrund der Szene zu legen, die unabhängig von der Position des Betrachters abgespielt werden. Eine andere Umsetzung bietet die Wiedergabe von räumlich begrenzten Tönen[20]. Es wird ein Zentrum definiert, so dass der Betrachter beim Distanzieren davon eine Abnahme der Lautstärke wahrnimmt, bis der vordefinierte Grenzwert zur Stille erreicht ist. Außerdem ist die Orientierung relativ zur Tonquelle wichtig für die Intensität der einzelnen Tonkanäle, da sich der Klang gerichtet ausbreitet.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Tonausbreitung durch Ellipsoid-Be schreib ung [WWWC3 2]
Die Tonquellen können sich irgendwo im WWW befinden. Bei Bedarf lassen sich die Töne wiederholen oder zu einer gegebenen Zeit abspielen. Eine weitere Quelle bietet eine Videodatei mit Tonanteil, der separat vom Video getrennt abgespielt werden kann.
2.1.6 Visuelle Eigenschaften
Um einen bestmöglichen visuellen Eindruck von geometrischen Objekten zu bekommen, versucht man, die Realität zu simulieren. Eine wesentliche Rolle dabei spielt die Kombination von Knotentypen, die die visuellen Eigenschaften bestimmen oder verändern. Dazu gehören verschiedene Arten von Lichtquellen, Materialeigenschaften, Kameras und Blickpunkte. Die Gesamtheit dieser Knotentypen ermöglicht erst eine reale Umsetzung in der virtuellen Welt.
Lichtquellen
Durch Licht und Schatten wird ein Objekt erst sichtbar. Für jede Fläche muss eine Beschreibungsfunktion gefunden werden, wie es mit der Lichtquelle interagiert. Dafür werden zwei verschiedene Beleuchtungsmodelle definiert: die lokale Beleuchtung und die globale Beleuchtung. Bei der lokal begrenzten Beleuchtung hängt die resultierende Farbe und Intensität der bestrahlten Fläche nur von der Lichtquelle und der jeweiligen Fläche ab. Bei der globalen Beleuchtung hingegen bilden alle Lichtursprünge, wie reflektiertes Licht anderer Flächen, eine Gesamtenergie des Lichtes und hat damit die resultierende Farbe und Intensität der bestrahlten Fläche zur Folge.
Geometrische Objekte werden allgemein durch die Summe mehrerer Lichtquellen beleuchtet. In VRML existieren dafür auch verschiedene Arten von Licht.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3: Darstellung der 4 Lichttypen
Ambientes Licht
Diese Beleuchtungsform wird häufig als indirekte oder Hintergrundbeleuchtung bezeichnet. Es ist damit eine triviale Lösung für die globale Beleuchtung. In VRML existiert dafür kein eigener Knotentyp, da es sich additiv aus gestreuten Anteilen der anderen Lichtquellen zusammensetzt. Bei den folgenden drei Lichtarten besteht die Möglichkeit, durch das Feld ambientIntensity zu definieren, wie stark sie sich am gesamten ambienten Licht beteiligen. Ein unrealistischer Eindruck wird erweckt, wenn ausschließlich ambientes Licht verwendet wird, da keine Schattierungen entstehen. In Kombination mit den folgenden Lichttypen können aber Schattenbereiche aufgehellt werden.
Gerichtetes Licht
Hierbei wird versucht, die Sonne oder weit entfernte Quellen zu simulieren. Es entsteht dadurch paralleles, in eine Richtung strahlendes Licht. Die Entfernung der geometrischen Objekte spielt keine Rolle, da die Quelle im Unendlichen angesehen wird. Es werden auch nur die zur selben Gruppe gehörenden Objekte erleuchtet.
Punktlicht
Gegenüber dem gerichteten Licht besitzt das Punktlicht eine reale Quelle. Das abgegebene Licht breitet sich physikalisch korrekt aus, das heißt es strahlt in alle Richtungen und die Intensität nimmt mit dem Quadrat der Entfernung ab. Unabhängig von ihrer Gruppenzugehörigkeit werden alle Objekte erleuchtet.
Spotlicht
Diese Lichtart ist ein spezieller Typ des gerichteten Lichtes, bei der der Lichtkegel genau definiert werden kann. Es besitzt wie das Punktlicht eine begrenzte Reichweite, innerhalb der alle Objekte erleuchtet werden.
Materialeigenschaften
Materialien, auch Texturen genannt, können realistische Effekte erzeugen, ohne die Komplexität des Objektes selbst zu erhöhen. Es gibt eine Vielzahl von Texturtypen, die unterschiedliche Aufgaben erfüllen. Alle Festlegungen der Materialeigenschaften erfolgen in Knoten mit dem Knotentyp Material.
Diffuse Reflexion (eng.: diffuseColor)
Licht wird bei diesen Materialien in alle Richtungen gleich reflektiert, so dass die sichtbare Helligkeit nur von der bestrahlten Fläche abhängt. Die Helligkeit ergibt sich nun aus dem Winkel zwischen der Normalen der Fläche und der Lichtquelle, sowie einem Reflexionskoeffizienten für jede der drei Grundfarben.
Ambiente Reflexion (eng.: ambientIntensity)
Durch viele Lichtreflexionen entsteht ein diffuses Licht ohne bestimmte Richtung. Der Anteil der ambienten Beleuchtung, der durch die Materialien wiedergegeben werden soll, kann über den Reflexionskoeffizient definiert werden. Von der diffusen Reflexion werden die Grundfarben übernommen.
Spiegelnde Reflexion (eng.: specularColor)
Der Einfallswinkel ist bei glänzenden Flächen gleich dem Ausfallswinkel, wobei die Spiegelung relativ zur Normalen erfolgt. Bei einem Blickpunkt unter dem Reflexionswinkel ist primär die Farbe des gespiegelten Lichtes wahrzunehmen. Weiterhin ist es möglich, für die spiegelnde Reflexion den Glanz (englisch: shininess) anzugeben, um den Abfall der Intensität des reflektierten Lichtes festzusetzen.
Transparenz (eng.: transparency)
Nicht nur Reflexionen sind in VRML möglich, sondern auch Transparenzen. Das Licht wird durch Flächen gelassen. Die Stärke des Effekts wird über den Transmissionskoeffizient bestimmt, der den durchdringenden Anteil des auftreffenden Lichtes angibt. Alle Werte zwischen opak (undurchsichtig; Wert=0) und vollkommen transparent (Wert=1) sind zulässig.
Eigenleuchten (eng.: emissiveColor)
Wie über das ambiente Licht kann man auch einzelne Objekte zum Leuchten anregen. Dieses Eigenleuchten wirkt aber nicht auf benachbarte Objekte und ist auch sichtbar ohne definierte Lichtquellen.
Kamera und Blickfeld
Damit überhaupt ein Abbild der Szene auf dem Monitor zustande kommt, benötigt man Kameras. Diese sind definiert durch eine bestimmte Position in der Szene und deren Blickrichtung. Beliebig viele Ansichten können in jeweils einem Viewpoint-Knoten vereinbart werden, um diese über die Optionen im VRML-Browser zu steuern oder zwischen den verschiedenen Kameras zu wechseln. In den Voreinstellungen definiert man das Blickfeld, welches über den Blickwinkel gesteuert wird. Einstellungen zwischen 0 und 180 Grad sind erlaubt.
2.1.7 Instanzierung von Knoten
In VRML sind viele Knoten definiert, die durch ihre untergeordneten Felder immens erweitert werden können. Um die Größe einer VRML-Datei zu reduzieren, ist es möglich, häufig verwendete identische Knoten zu definieren und anschließend diese mehrfach wieder zu verwenden. Dafür muss bei der Vereinbarung unter Voranstellung des Schlüsselwortes DEF ein Name zugeteilt werden. Die allgemeine Form lautet:
[Abbildung in dieser Leseprobe nicht enthalten] DEF name knotentyp { felder, ereignisse }
Um diese Knoten an einer gewünschten Stelle wieder zu verwenden, muss darauf durch einen Zeiger Bezug genommen werden. Es entsteht eine direkte Verbindung zum Originalknoten, so dass eine Veränderung vom Original bis zur Instanz weiter getragen wird. Eine Referenz zu einem benannten Knoten wird durch das Schlüsselwort USE gefolgt vom Namen des referenzierten Knotens realisiert.
2.1.8 Prototypen und Inlines
Prototypen ermöglichen die Erweiterung von Knotentypen. Ein Prototyp kann definiert werden als Beschreibung einer Mini-Szene, die bereits existierende Knoten, Prototypen und, wenn erwünscht, Routen besitzt. Somit ist es eine Abwandlung der Instanzierung, wobei aber durch Veränderung der Parameter das Aussehen von Objekten variiert werden kann. Erst durch die Nutzung des definierten Namens kann der Prototyp in der Szene angewendet werden.
Die Mini-Szene wird auch Prototyp-Definition genannt. Die Schnittstelle, auch als Prototyp-Deklaration bekannt, enthält eine Liste mit beliebig vielen Feldern. Weitere Knoten auf der obersten Hierarchiestufe der Prototyp-Definition werden ignoriert. Weitere Erklärungen zu Prototypen folgen im Kapitel 3.2.11.
Ähnlichen Funktionsumfang erhält man über den Gruppenknoten mit dem Knotentyp inline (deutsch: einfügen). Es existiert aber keine Schnittstelle zur Kommunikation. Ohne das Dokument zu verlassen, kann man durch das Inlining weitere VRML-Dateien in die aktuelle Szene integrieren. Eine Aufteilung der Szene kann realisiert werden, um Teile der Welt in einer anderen Umgebung wieder zu verwenden oder um eine Teamarbeit zu gewährleisten.
2.1.9 Scripte und Programme
Die Möglichkeiten von VRML 2.0 reichen nicht mehr aus, wenn komplexe Entscheidungen bei Animationen oder Verhalten von Objekten gefällt werden müssen. Auch komplizierte Bewegungsabläufe oder die Speicherung von Zuständen erfordern oft einen größeren Funktionsumfang, als es VRML zulässt. Über Script-Knoten besteht die Möglichkeit, Scripte[21] oder Programme[22] in die Szene zu integrieren. Über diese Knoten können
- umfangreiche Berechnungen durchgeführt werden;
- Werte gespeichert werden, die bestimmte Zustände beschreiben;
- Ereignisse von anderen Knoten empfangen, weiterverarbeitet und bei Bedarf neue Ereignisse gesendet werden;
- Verbindungen zwischen Servern aufgenommen werden, um zum Beispiel in Multi-User-Welten Avatare zu koordinieren.
Die Definition der Script-Knoten erfolgt ähnlich der der Prototypen. Beliebig viele Felder und Ereignisse können in der Schnittstellen-Beschreibung festgelegt werden. Die Felder dienen zur Speicherung von Werten, wobei die Ereignisse zur Übertragung von Werten zwischen dem Script oder Programm und dem Knoten der Szene genutzt werden. Als implementierbare Sprachen können nur diese verwendet werden, die der VRML-Browser unterstützt (zur Zeit: JavaScript, Java, C/C++, Perl, TCL, VisualBasic). Über das Feld url im Script-Knoten erfolgt die Einbindung. Diese kann als Inline verstanden werden oder es kommt zur Abarbeitung von externen Dateien.
Wenn der Script-Knoten ein Ereignis empfängt, wird das Script oder Programm ausgeführt. Über die Funktionen und Methoden, die im Script oder Programm enthalten sind, werden Ereignisse verarbeitet. Es existieren drei verschiedene Techniken zur Kommunikation mit der Szene:
- über den Eingang eines Ereignisses kann eine Funktion oder Methode gestartet werden, die eine beliebige Funktion ausführt
- vom Script oder Programm kann auf die Felder und Ereignisse des Script-Knotens zugegriffen werden, woraufhin ein Wert zur Schnittstelle gesandt wird, der via Route zu einem Knoten übermittelt wird, der Daten verändern und schreiben kann
- ein direkter Zugriff auf untergeordnete Knoten kann vollzogen werden, so dass Werte aus den Feldern und Ereignissen gelesen und geschrieben werden können.
Andere spezielle Funktionen ermöglichen zusätzlich die Kommunikation mit dem Browser oder die Abarbeitung von Ereignissen vor, während oder nach dem Starten eines in die Szene integrierten Ereignisses.
2.1.10 Darstellung von VRML-Szenen
Damit man sich in der virtuellen Welt bewegen kann, benötigt man sogenannte Browser. Diese Programme interpretieren den Quellcode einer VRML-Datei und geben das Resultat auf einem entsprechenden Ausgabegeräte (Monitor, Beamer für Präsentationszwecke) aus. Der Funktionsumfang, den man geboten bekommt, ist abhängig von der Art des Browsers. Hierbei ist zwischen einem WWW-Browser mit externer Zugangsquelle zum VRML-Viewer[23] und einem eigenständigen VRML-Browser zu unterscheiden. Der WWW-Browser besitzt viele integrierte Module zum Abspielen diverser Multimedia-Daten, so dass für die Wiedergabe dieser Dateien kein externes Programm aufgerufen werden muss. Anders ist es bei den VRML-Betrachtern, die im Wesentlichen auf die Wiedergabe von VRML-Dateien spezialisiert sind. Diese Programme beherrschen zwar die Protokolle des Internets, müssen aber auf eigenständige Programme zurückgreifen, sobald andere Dateiformate abgespielt werden sollen. Empfohlen werden an dieser Stelle Gesamtpakete, die alle erforderlichen Dateitypen erkennen und abspielen wie zum Beispiel der Microsoft InternetExplorer oder die OpenSource-Variante Mozilla mit der Erweiterung eines VRML-PlugIns[24]. Heutzutage stehen verschiedene Lösungen zur Verfügung. Ein funktionaler Vergleich diverser Browser wird unter [SEIDMAN96] zur Verfügung gestellt.
Nach [WWWC3 1] existiert eine Übereinstimmung bei VRML-Browsern in den folgenden Punkten:
- Lesbarkeit beliebiger VRML-Dateien, die mit dem Basis-Profil übereinstimmen;
- Festlegung der grafischen sowie auditiven Charakteristika in VRML-Knoten;
- korrekte Umsetzung der Benutzerinteraktionen und Ereigniserstellung, wie sie in ISO/IEC 14772 spezifiziert sind.
Der für diese Arbeit benutzte Browser stammt von blaxxun[25]. Der blaxxun Contact 5.1 Player eröffnet eine umfassende Reihe an Eigenschaften, wie Technologien von Multi-User-Welten bis Multimediaumgebungen. Alle Features können über WWW-Browser angesteuert werden, entweder über HTML, Java oder PlugIns. Weiterhin ist der VRML-Player auf dem aktuellen Stand der Technik, unterstützt somit aktuelle Grafik- und Soundkarten. Die daraus gewonnenen Ressourcen können in interaktive komplexe Geometrien gesteckt werden, um Szenen interessanter oder realistischer zu gestalten.
Weiterführende Erläuterungen zur Benutzung und Navigation in Szenen folgen im Anhang.
2.1.11 Erstellung von VRML-Welten
Prinzipiell kann man sich bei der Erstellung von VRML-Welten jede andere professionelle Umsetzung von Computerprogrammen als Grundlage nehmen. Eine Reihe von Schritten ist durchzuführen, um die Arbeit nicht unnötig schwer zu gestalten. Die Idee ist das Grundgerüst für jede Umsetzung. Aus der Idee folgt eine Konzeption, die möglichst detailliert niedergeschrieben oder skizziert werden sollte, um die wichtigsten Hauptcharakteristika für die Szene zu fixieren. Mit der geeigneten Intuition zum Detail kann damit die Position, Größe, Form, Farbe und Textur von Objekten festgelegt werden, sowie Lichtquellen, Kameras und aktive Sensoren definiert werden. Hinzu kommen alle weiteren Knotentypen, die anhand eines Szenengraphs illustriert werden können. Mit solchen theoretischen Überlegungen kommen häufig noch neue Ideen dazu.
Die anschließende Planung beinhaltet die Auswahl der Hilfsmittel sowie die Einarbeitung in den Umgang damit. Als VRML-Builder können direkt dafür zugeschnittene Programme, wie Nendo von der Firma IZware, benutzt werden. Eine umfangreichere Modellierung ist über 3D-Programme möglich. Bei der Auswahl eines solchen Produktes ist darauf zu achten, ob eine geeignete Export-Funktion in das Zielformat VRML existiert. Dies ist bei vielen aktuellen 3D-Grafikprogrammen der Fall, als Beispiel sei genannt: discreet 3D Studio Max 5, Maxor Cinema 4D 8, Autodesk AutoCAD 13 oder Alias|Wavefront MAYA 5. Wenn die im Softwareumfang enthaltene Export-Funktion fehlerhafte oder falsche VRML-Dateien erzeugt, kann von verschiedenen Anbietern ein PlugIn zur Erweiterung installiert werden, welches sich in das Hauptprogramm verstrickt, um standardisierten VRML-Code auszugeben. Zusätzlich besteht die Möglichkeit, Erweiterungen für die Erstellung von VRML-Funktionen zu erhalten. Diese Module erweisen sich als sehr hilfreich, wenn die neuen VRML2.0-Funktionen in eine Szene implementiert werden sollen. Um Sensoren, Verknüpfungen zwischen zwei Objekten oder Animationen zu realisieren und zu visualisieren, kann man diese Helfer nutzen.
Um sich für ein Modellierungsprogramm zu entscheiden, muss der Funktionsumfang geprüft werden und eine intensive Auseinandersetzung in dem Umgang stattfinden, um einen reibungslosen Arbeitsgang sicherzustellen. Wenn in dem angestrebten 3D-Programm keine VRML-Export-Funktion existiert, so gibt es noch andere Möglichkeiten, um aus einem proprietären 3D-Format eine VRML-Datei zu erzeugen. Anhand von diversen Datei-Konvertern[26], wie NuGraf der Firma Okino oder vrml1to2 von SGI und Sony, werden Übersetzungen der Datei vorgenommen, um eine mehr oder weniger[27] standardisierte VRML-Datei zu erhalten.
Für die weitere Arbeit direkt im VRML-Code soll an dieser Stelle noch auf einen Texteditor eingegangen werden, der die Darstellung der diversen Knotentypen farblich hervorhebt und viele nützliche Funktionen bereitstellt. Von der Firma ParallelGraphics wurde im Jahr 2002 das Tool VRMLPad 2.0 herausgegeben, um die Arbeit mit 3D-Welten zu vereinfachen. Eine Darstellung über den gesamten Szenengraph sowie weiterführende Veröffentlichungstools, wie Quellcodeoptimierung und Kompression, dienen dem Benutzer als Helfer.
Es existieren somit viele Möglichkeiten, um an das gewünschte und angestrebte Ziel zu kommen.
2.2 MPEG-4 – Moving Picture Experts Group Part 4
2.2.1 Geschichte, Definition und Zukunft
Die Moving Picture Experts Group (kurz: MPEG) ist eine Arbeitsgemeinschaft innerhalb der ISO und wurde 1988 mit der Aufgabe gegründet, die Entwicklung und internationale Standardisierung von De-/Komprimierungsalgorithmen für Video, Audio und die Kombination aus beiden zu beginnen. Die MPEG Video Group ist die größte Arbeitsgruppe innerhalb der MPEG und veranstaltet drei bis fünf Mal jährlich ein Treffen, an denen etwa 100-150 Videoexperten aus 20 Ländern teilnehmen. Bei diesen Versammlungen wird über die Zukunft der Video- und Audiokompressionen diskutiert, um neue Standards festzusetzen, damit die Kompression flexibler und effizienter wird.[28]
MPEG-1
Im Jahr 1991 wurde der ISO ein Entwurf von MPEG-1 vorgelegt, der unter dem Namen ISO/IEC 11172-2 im Jahr 1992 veröffentlicht wurde. Das Ziel bestand darin, Video- und Audiodaten auf eine CD zu bannen, da zu dieser Zeit die CD eine hohe Speicherkapazität bei relativ geringen Kosten hatte. Die maximale Datenrate wurde auf 1,5Mbit/s festgesetzt, weil die damaligen CD-Laufwerke diesen Wert als höchsten Datendurchsatz boten. Unkomprimierte bewegte Bilder benötigen immensen Speicherplatz, so dass eine Lösung gesucht und gefunden wurde.
MPEG-1 wurde im Standard Interchange Format[29] entwickelt und definiert eine Kreuzung aus DCT[30] - und DPCM[31] -Kodierung. Dabei kommt es zu einer Reduktion im Bereich Redundanz[32] und Irrelevanz[33]. Die aufeinander folgenden Bilder werden nicht vollständig gespeichert, sondern nur die Veränderung zum Referenzbild.
Im Bereich des Audios entwickelte sich ein Format als wichtiger Meilenstein in der Geschichte: MPEG-1 Layer 3 (kurz: MP3). Dieser Standard wurde wegen der geringen Datenrate und dafür hohen Qualität intensiv im Internet zur Übertragung von Musik und Sprache in verschiedensten Bereichen (Internet-Radio, Internet-Telefonie) genutzt.
MPEG-2
Durch den gesteigerten Bedarf nach höherer Bildqualität wurde MPEG-1 schnell von dem Nachfolgestandard MPEG-2 verdrängt. Die ISO verabschiedete 1994 den Standard ISO/IEC JTC1/SC29/WG11 N0702, mit dem wesentlich höhere Datenraten (bis zu 10 Mbit/s) ermöglicht wurden. Außerdem sollte auf die kommenden Ansprüche geachtet werden, so dass eine Auflösung bis hin zum HD-TV[34] implementiert wurde. Weiterhin kamen als Funktionen das Zeilensprungverfahren (interlace), vordefinierte Profile sowie DolbySurround hinzu.
Die verbreiteste Anwendung findet man auf DVDs sowie auf SuperVideo-CDs. Weitere Einsatzbereiche werden in vielen Teilen der Welt gerade erschlossen. Dazu zählen das Digitale Fernsehen sowie die Übertragung von Bildmaterial über Satelliten.
MPEG-4
Absehbar durch die kontinuierliche Annäherung der Telekommunikationsindustrie mit der Computer- sowie TV/Film-Industrie wurde das Bedürfnis nach mehr Interaktivität für zukünftige Anwendungen eröffnet. Die folgenden Merkmale sollten die Grundlage für die nächste Generation im MPEG-Standard darstellen:
- universale Zugänglichkeit und Robustheit in fehleranfälligen Umgebungen - Multimediale Video-Audio-Daten müssen über heterogene Netzwerkumgebungen (mobile Kanäle) transportiert werden,
[...]
[1] DigitalVideoBroadcasting (kurz: DVB) = Digitale Videobereitstellung
[2] engl.: virtual reality; virtuell: Begriff aus der physikalischen Optik als erdachtes Spiegelbild
[3] HTML: Hypertext Markup Language
[4] Open Inventor: Dateiformat der Firma Silicon Graphics Inc. (SGI) zur Beschreibung von virtuellen Welten
[5] Builder = dt.: Erbauer; Browser = dt. hier: Programm, das VRML-Dateien interpretieren kann
[6] JavaScript: Programmiersprache der Firma Netscape aus dem Jahr 1995; Java: Programmiersprache der Firma Sun Microsystems
[7] vgl. zur Geschichte des VRML: HASE97: S. 1-11
[8] Szenen mit Interaktion durch verschiedene Teilnehmer, die meist auf einem zentralen Server vermittelt werden, z.B. Chat-Räume
[9] X3D: eXtensible 3D (extensible = dt.: erweiterbar)
[10] Web3D Konsortium: Non-Profit-Unternehmen zum Umsetzen von 3D-Anwendungen im Internet (VRML, X3D); Koorperationen zu W3C (Wold Wide Web Consortium) und zu MPEG existieren
[11] XML: eXtensible Markup Language
[12] W3C: World Wide Web Consortium
[13] siehe http://www.web3d.org/x3d/
[14] ASCII: American Standard Code for Information Interchange
[15] UTF-8: Universal Multiple-Octet Coded Character Set Transformation Format
[16] Beispiel: gesamte Stadt inklusive begehbare Häuser
[17] vgl. HASE97: S. 28ff
[18] künstliche Person = Avatar: bedeutet im Hinduismus die Herabkunft einer Gottheit in die Welt der Menschen für die Spanne eines Menschenlebens
[19] vgl. HASE97: S. 23f
[20] räumliche Töne = eng.: spatialized sounds (3D-Audio)
[21] Script: Folge von Anweisungen einer Script-Sprache, die der VRML-Browser interpretiert
[22] Programm: Anweisungen einer Programmiersprache, die vorher kompiliert werden muss
[23] Viewer = dt.: Betrachter
[24] PlugIn: Programmerweiterung, die installiert und auf Anfrage aufgerufen werden kann
[25] blaxxun: http://www.blaxxun.com
[26] Konverter = Umwandler
[27] Firmen passen häufig den übersetzten Code an die Interpretationsmöglichkeiten des hauseigenen VRML-Browsers an
[28] vgl. [WWWDR 1]
[29] kurz: SIF; definiertes Videoformat mit einer Auflösung von 352 x 288 Pixeln (PAL) und einer Bildfrequenz von 25Hz
[30] DCT: Discrete Cosinus Transformation
[31] DPCM: Discrete Pulse Code Modulation
[32] Komprimierung ohne Datenverlust anhand Verfahren wie Run-Length-Kodierung, Huffman-Kodierung, Differenzkodierung (Beispiele sind: RAR, ZIP, GIF)
[33] Komprimierung durch Anpassung an das menschliche Sehempfinden (Kontrast, Oblique-Effekt, Textureffekt etc.; Beispiele sind: JPEG, MP3)
[34] High Definition – Television: Auflösung bis 1920 x 1152 Pixel
-
-
-
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X.