Entwicklung und Teilimplementierung eines Szenarios für interaktive audiovisuelle Anwendungen auf Basis des Objekt- und Szenenkonzeptes MPEG-4


Diplomarbeit, 2004

115 Seiten, Note: 1,0


Leseprobe


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 Ent­wicklungen 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 DigitalVi­deoBroadcasting[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 platt­formü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 Elementardaten­strö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 Plattfor­men ü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 audiovi­suellen Szene kommt, ist noch viel Forschungsarbeit im Bereich der benutzerfreundlichen Tools nötig. Einen Schritt in diese Richtung soll der Produktionsweg im Rahmen dieser Dip­lomarbeit 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ünf­tige Softwarelösungen sehr interessant sind. Die Entwicklung neuer MPEG-4-Implementatio­nen 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ügba­ren 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 Teil­standard von MPEG-4 ist, werden auch diesbezüglich ausführliche Definitionen und Anwen­dungsgebiete 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-basier­ten 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 Plane­tarium 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 prakti­schen 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, Bil­dern und Videos. Dieses weltweite Informationssystem und dessen Oberfläche waren ausrei­chend für die reine Suche nach Fakten. Dank der virtuellen Realität[2] entsteht eine dritte Dimen­sion, die eindeutig zu unserer Wahrnehmung und Vorstellung beiträgt.

Im Mai 1994 kam es während der ersten internationalen Konferenz über das WWW zu ei­ner 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 weiterzuent­wic­­­­­keln, und es wurde die VRML Architecture Group (VAG) gegründet. Hauptaugen­merk der Evolution sollte die Möglichkeit auf Interaktion und Bewegung sein. Dazu wurde eine allge­meine, plattform-unabhängige Schnittstelle zwischen VRML und Script- und Programmier­sprachen 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 wie­der 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 Electro­technical 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 wiedergege­ben. 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 implemen­tieren, um ein hohes Maß an Realität zu erreichen.[7]

Somit kann VRML in den verschiedensten Bereichen eingesetzt werden. Neben techni­schen 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 Kon­sortium[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ähig­keiten, 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 Ob­jekten 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ßer­dem können diese wiederum Kindknoten enthalten. Daraus resultiert eine hierarchische Strukturierung (Szenengraph), die dem Autor eine sehr einfache und angenehme Arbeits­weise 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 (eng­lisch: 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 Knoten­typen 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 Zusam­menhang 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 kom­plexe 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 Kno­tentypen und Feldern werden im Kapitel 3.2 beschrieben.

2.1.4 Interaktion

Die Simulation von Bewegungen ist die Grundlage für Interaktionen. Animationen bedeu­ten Ä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 aus­reicht, 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 wahr­genommene Sensor der Kollisionsabfrage. Damit kann man Welten aufteilen oder struktu­rieren. Eine weitere intelligente Inter­aktion ist sehr sinnvoll im Rahmen von Multi-User-Wel­ten. Jeder Nutzer kann durch eine vir­tuelle 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: Interpola­toren. Auf diesen Begriff wird an dieser Stelle noch nicht weiter eingegangen. Weitere Er­lä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. Verschie­dene An­wendungsgebiete 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 Video­datei 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 Ge­samtheit 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 Be­schreibungsfunktion 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 Inten­sitä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 be­leuchtet. 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 bezeich­net. Es ist damit eine triviale Lösung für die globale Beleuchtung. In VRML existiert da­fü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 beteili­gen. Ein unrealistischer Eindruck wird erweckt, wenn ausschließlich ambientes Licht verwen­det 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 abgege­bene 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 Gruppenzu­gehörigkeit werden alle Objekte erleuchtet.

Spotlicht

Diese Lichtart ist ein spezieller Typ des gerichteten Lichtes, bei der der Lichtkegel genau defi­niert 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 Kom­plexität des Objektes selbst zu erhöhen. Es gibt eine Vielzahl von Texturtypen, die unter­schiedliche Aufgaben erfüllen. Alle Festlegungen der Materialeigenschaften erfolgen in Kno­ten 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 Reflexionskoeffi­zienten 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 Spie­gelung 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 be­stimmt, der den durchdringenden Anteil des auftreffenden Lichtes angibt. Alle Werte zwi­schen 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 Blick­richtung. 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 ver­schiedenen Kameras zu wechseln. In den Voreinstellungen definiert man das Blickfeld, wel­ches über den Blickwinkel gesteuert wird. Einstellungen zwischen 0 und 180 Grad sind er­laubt.

2.1.7 Instanzierung von Knoten

In VRML sind viele Knoten definiert, die durch ihre untergeordneten Felder immens er­weitert 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 Original­knoten, 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 aktu­elle 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 Funk­tionsumfang, 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 Ereig­nisse 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 zwi­schen dem Script oder Programm und dem Knoten der Szene genutzt werden. Als imple­mentierbare Sprachen können nur diese verwendet werden, die der VRML-Browser unter­stü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 ausge­führt. Über die Funktionen und Methoden, die im Script oder Programm enthalten sind, wer­den Ereignisse verarbeitet. Es existieren drei verschiedene Techniken zur Kommunikation mit der Szene:

- über den Eingang eines Ereignisses kann eine Funktion oder Methode gestartet wer­den, die eine beliebige Funktion ausführt
- vom Script oder Programm kann auf die Felder und Ereignisse des Script-Knotens zuge­griffen 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. Hier­bei 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 in­tegrierte 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 eigen­ständige Programme zurückgreifen, sobald andere Dateiformate abgespielt werden sollen. Empfohlen werden an dieser Stelle Gesamtpakete, die alle erforderlichen Dateitypen erken­nen und abspielen wie zum Beispiel der Microsoft InternetExplorer oder die OpenSource-Va­riante Mozilla mit der Erweiterung eines VRML-PlugIns[24]. Heutzutage stehen verschiedene Lösungen zur Verfügung. Ein funktionaler Vergleich diverser Browser wird unter [SEID­MAN96] 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 Con­tact 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 Grundge­rüst für jede Umsetzung. Aus der Idee folgt eine Konzeption, die möglichst detailliert nieder­geschrieben 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 Software­umfang 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 ge­prü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 pro­prietä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 Stan­dardisierung 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 Kom­pression 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 Spei­cherkapazitä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 im­mensen 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 wer­den nicht vollständig gespeichert, sondern nur die Veränderung zum Referenz­bild.

Im Bereich des Audios entwickelte sich ein Format als wichtiger Meilen­stein 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 Übertra­gung von Musik und Sprache in verschiedensten Bereichen (Internet-Ra­dio, Inter­net-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ög­licht 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 Digi­tale 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ünf­tige 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 - Multi­mediale 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

Ende der Leseprobe aus 115 Seiten

Details

Titel
Entwicklung und Teilimplementierung eines Szenarios für interaktive audiovisuelle Anwendungen auf Basis des Objekt- und Szenenkonzeptes MPEG-4
Hochschule
Ernst-Abbe-Hochschule Jena, ehem. Fachhochschule Jena
Note
1,0
Autor
Jahr
2004
Seiten
115
Katalognummer
V30810
ISBN (eBook)
9783638319942
Dateigröße
1995 KB
Sprache
Deutsch
Anmerkungen
Diese Arbeit ist entstanden in Kooperation mit der Technischen Universität Ilmenau, die weltweit führend in der Forschung und Entwicklung von MPEG-4-Anwendungen ist. Dazu zählt die Umsetzung von 3D-MPEG-4-Szenen sowie die folgende Darstellung anhand des IAVAS-3D-Players. Die Arbeit beruht auf dem neuesten Stand in diesem Sektor. Es existiert keine weitere Anwendung in diesem Gebiet. Es entstand eine interaktive audiovisuelle 3D-Szene im MPEG-4-Standard.
Schlagworte
Entwicklung, Teilimplementierung, Szenarios, Anwendungen, Basis, Objekt-, Szenenkonzeptes, MPEG-4
Arbeit zitieren
Henrik Hofmeister (Autor:in), 2004, Entwicklung und Teilimplementierung eines Szenarios für interaktive audiovisuelle Anwendungen auf Basis des Objekt- und Szenenkonzeptes MPEG-4, München, GRIN Verlag, https://www.grin.com/document/30810

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Entwicklung und Teilimplementierung eines Szenarios für interaktive audiovisuelle Anwendungen auf Basis des Objekt- und Szenenkonzeptes MPEG-4



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden