Immersives Video

Transcrição

Immersives Video
Johannes Kepler Universität Linz
Institut für technische Informatik und Telematik
Abteilung Telekooperation
Immersives Video-Editing
Diplomarbeit zur Erlangung des akademischen Grades
Diplom-Ingenieur der Informatik
eingereicht bei o. Univ.-Prof. Dr. Max Mühlhäuser.
Christoph Trompler, 9455188
Linz, August 1999
Ich erkläre an Eides Statt, dass ich die vorliegende Arbeit selbstständig und ohne
fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht
benutzt und die den Quellen wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe.
Christoph Trompler
Kurzfassung
Die zunehmende Verbreitung und der Einsatz von Virtual Reality Systemen führte auch zur Erforschung neuer Anwendungsgebiete. In dieser Diplomarbeit wird
ein System zum Bearbeiten von Video in einer immersiven virtuellen Umgebung
beschrieben.
Im Laufe der Zeit hat es zahlreiche Entwicklungen im Bereich des Videoschnittes gegeben. Systeme zum digitalen nicht-linearen Videoschnitt stellen heute den
Standard bei der Bearbeitung von Video dar. Während Verarbeitungsgeschwindigkeit, Qualität und Möglichkeiten der Manipulation von Video ständig verbessert
werden, basieren Bearbeitungsmodell und Benutzerschnittstelle dieser Videoeditoren auf Prinzipien, die bereits bei der Einführung der ersten grafischen Benutzerschnittstellen ihre Anwendung fanden.
Der immersive Videoeditor ermöglicht das Schneiden und Bearbeiten von
Video auf einem hierarchischen, graphenbasieren Modell, dem Schnittgraphen.
Teil des Editors ist eine leistungsfähige Videobrowsingkomponente auf Basis von
Video-Content-Trees, einer 3D-Darstellung von Videoinhalten, zum Zugriff auf
die Quell-Videos. Mittels Schnittgraphen erstellte Videos können strukturiert aufgebaut werden und es können alternative Schnittfolgen erstellt werden. Schnittgraphen ermöglichen sowohl eine top-down als auch eine bottom-up Erstellung von
Video. Neben Video, kann auch Audio bearbeitet werden. Mittels Schnittgraphen
können nicht nur reine Schnittabfolgen definiert werden, es können auch räumliche, zeitliche und inhaltliche Effekte im neuen Video eingesetzt werden.
Abstract
The increasing availability and use of Virtual Reality systems is leading to the
exploration of new application areas. This thesis describes a system for editing
video in an immersive virtual environment.
Video editing has seen a continuos development over the last decades. Today,
digital non-linear editing is standard in the video processing industry. While speed
of operation, quality and possibilities in manipulating the video contents have increased steadily – the editing metapher and the human user interface have not changed and remain based on principles, developed as the first graphical user-interfaces
were introduced.
The immersive video editor enables cutting and manipulating of video, based
on a hierarchical graph-based model (cutting graph). A powerful video browsing
component based on Video-Content-Trees is part of the editor and is used to access
the source video clips. Videos created are structured and may contain alternative
cutting paths. The graph based approach enables bottom-up as well as top-down
development. Besides video – audio is supported too. The editing model supports
the use of spatial, temporal and content based effects in the new video.
Danksagung
Ich möchte mich bei allen bedanken, ohne deren Hilfe diese Diplomarbeit nicht zu
stande gekommen wäre.
Besonderer Dank gilt:
• meinem Betreuer, Knut Manske, der neben seiner hervorragenden Arbeit als
Betreuer die Idee für die Themenstellung hatte und auch immer weiterführende Vorschläge einbrachte, wenn es um die Entwicklung von Konzept und
die Ausführung dieser Arbeit ging;
• Prof. Max Mühlhäuser, für sein Unterstützung in Form von Denkanstößen
zum Thema und der Ermöglichung meiner Teilnahme bei [TMM99];
• dem Team der Abteilung Telekooperation, das bei Problemen immer tatkräftig seine Hilfe anbot;
• meinen Eltern für die Ermöglichung meines Studiums;
• Johann Messner und der Abteilung für wissenschaftliches Rechnen des Zentralen Informatik Dienstes der Universität Linz, für ihre Unterstützung bei
der Verwendung des Virtual Reality Centers und Support mit SGI Produkten.
Ohne der nicht selbstverständlichen Investition und Anschaffung des Virtual Reality Centers für den Universitären Betrieb wäre diese Diplomarbeit nicht
durchführbar gewesen. An dieser Stelle soll den Initiatoren für die Anschaffung
Prof. Stary, von der Abteilung Communications Engineering am Institut für Wirtschaftsinformatik, Prof. Volkert, von der Abteilung für Graphische und parallele
Datenverarbeitung am Institut für Technische Informatik, sowie Dr. Valach vom
Zentralen Informatik Dienst der Universität Linz, gedankt werden.
Inhaltsverzeichnis
1 Einleitung
1.1 Motivation . . . . . . . . .
1.2 Zielsetzung . . . . . . . .
1.3 Arbeitsumfang . . . . . .
1.4 Umfeld . . . . . . . . . . .
1.5 Stand der Forschung . . .
1.5.1 Videobearbeitung
1.5.2 Virtual Reality . . .
1.6 Aufbau . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
3
4
4
4
4
5
6
2 Grundlagen der Videobearbeitung
2.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Video . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Video-Editing . . . . . . . . . . . . . . . . . . . . . . .
2.2 Schnittbeschreibungsformate . . . . . . . . . . . . . . . . . .
2.2.1 Edit Decision List . . . . . . . . . . . . . . . . . . . . .
2.2.2 QuickTime . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Open Media Framework Interchange / Advanced Authoring Format . . . . . . . . . . . . . . . . . . . . . .
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
2.3.1 Geschichte der Videobearbeitungsysteme . . . . . . .
2.3.2 Marktübersicht: Kommerzielle Videobearbeitungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Bearbeitungsmetaphern
von
kommerziellen
Videoschnittsystemen . . . . . . . . . . . . . . . . . .
2.3.4 Akademische Systeme . . . . . . . . . . . . . . . . .
2.3.5 Video-Indexing und Video-Browsing . . . . . . . . . .
9
9
9
10
13
13
14
3 Schnittgraphenmodell
3.1 Kriterien . . . . . . . . . . . . . . . . . . .
3.2 Aufbau und Eigenschaften . . . . . . . . .
3.2.1 Blattknoten . . . . . . . . . . . . .
3.2.2 Innere Knoten . . . . . . . . . . .
3.2.3 Repräsentation von Zeit . . . . . .
3.2.4 Vergleichbare Ansätze . . . . . . .
3.3 Wichtige Knotentypen . . . . . . . . . . .
3.4 Vom Schnittgraph zum Video . . . . . . .
3.4.1 Berechnung der Dauer von Knoten
31
31
32
33
34
35
35
36
41
41
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
16
16
18
20
24
26
x
Inhaltsverzeichnis
4 3D-Visualisierungen von Schnittgraphen
45
4.1 Vorgeschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Erweiterte Video-Content-Trees . . . . . . . . . . . . . . . . . 47
4.3 Hängender Efeu . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 Immersives Video-Editing
5.1 Leistungsumfang . . . . . . . . . . . .
5.2 Benutzerschnittstelle . . . . . . . . . .
5.2.1 Handgestensteuerung . . . . .
5.2.2 Schnittstellenobjekte . . . . . .
5.3 Zusammenstellen von Schnittgraphen
5.4 Arbeitsablauf . . . . . . . . . . . . . .
5.4.1 Vorbereitungen . . . . . . . . .
5.4.2 Bearbeiten . . . . . . . . . . .
5.4.3 Abschließende Schritte . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
53
55
55
56
58
59
59
59
60
6 Implementierung
6.1 Allgemeines . . . . . . . . . . . . . . . . . . . . .
6.2 Hardware . . . . . . . . . . . . . . . . . . . . . .
6.2.1 VR-Center . . . . . . . . . . . . . . . . .
6.2.2 SGI O2 . . . . . . . . . . . . . . . . . . .
6.3 Entwickelte Software . . . . . . . . . . . . . . . .
6.3.1 Schnittgraphen Programmierschnittstelle
6.3.2 Renderingsystem . . . . . . . . . . . . .
6.3.3 Editing-Anwendung . . . . . . . . . . . .
6.3.4 Hardware-Abstraktionsschicht . . . . . .
6.3.5 Interaktionsebene . . . . . . . . . . . . .
6.3.6 Visualisierungsebene . . . . . . . . . . .
6.3.7 Steuerungskomponente . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
61
61
61
63
64
65
65
67
68
69
70
70
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Validierung
71
7.1 Schnittgraphenmodell . . . . . . . . . . . . . . . . . . . . . . 71
7.2 Immersives Video-Editing und die entwickelte Anwendung . . 73
8 Zusammenfassung und Ausblick
75
8.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . 75
8.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Kapitel 1
Einleitung
Unter ’Immersivem Video-Editing’ versteht man die Bearbeitung von Video durch
Eintauchen in eine virtuelle dreidimensionale Umgebung. Video ist ein sequenzielles, zeitdiskretes Medium. Bearbeitung von Video heißt in diesem Fall Videoschnitt, das Bauen einer neuen Sequenz aus einer oder mehreren Quellen unter
der optionalen Anwendung von Effekten zur Veränderung des Bildinhaltes und
der zeitlichen Eigenschaften des Ausgangsmaterials. Im Laufe dieser Diplomarbeit wird ein System beschrieben, das diese Bearbeitung in einer besonderen Art
realisiert.
1.1
Motivation
Video als Informationsmedium wird heute bereits für viele Anwendungen eingesetzt. In naher Zukunft ist eine Zunahme der Einsatzgebiete zu erwarten. Grund
dafür ist das digitale Video, welches in den letzten Jahren Marktreife erreicht hat.
Es erschließt gegenüber seinem analogen Vorgänger viele neue Anwendungsgebiete.
Die digitale Aufbereitung von Video bringt nicht nur Verbesserungen in der
Qualität des Bildsignales, einer der wichtigsten Gründe für seinen Einsatz in der
Fernseh- und Videoindustrie. Im Vergleich zu analogem Video kann ein digitales
Video ohne aufwändige neue Übertragungseinrichtungen über bereits existierende Datenwege versendet werden. Zunehmende Bandbreiten im Internet, sowie die
Entwicklung leistungsfähiger Videocodecs mit guten Komprimierungseigenschaften, liefern die technologische Basis für den aufkommenden Einsatz von Video
im World Wide Web (’Webvideo’). Die kostengünstige Verfügbarkeit von Framegrabbern zur Konvertierung von einem bestehenden analogen Video, sowie digitale Schnittstellen zwischen Kamera, Recorder und Computer (etwa IEEE 1394),
ermöglichen die digitale Weiterverarbeitung am Computer auch für ’low budget’Anwendungen. Billige Datenspeicher, welche die großen Datenmengen, die bei
der Verarbeitung von Video am Computer anfallen, sowie schnellere Prozessoren
und höhere Verarbeitungsgeschwindigkeiten der Computerhardware, erleichtern
ebenfalls den Umgang mit Video, ohne die bisher teuere Anschaffung analoger
Spezialgeräte.
Vor allem im Hinblick auf den größeren Bedarf und dem Angebot des Mediums Video, werden neben leistungsfähigen Werkzeugen zur Erfassung und Archi-
2
Einleitung
vierung bestehenden Videomaterials auch effektivere Werkzeuge zur Bearbeitung
von Video benötigt. Während die Archivierung etwa durch Indizierung, textuelle oder grafische Suchabfragen, Browsing und Videodatenbanken realisiert wird,
haben sich bezüglich der Bearbeitung Systeme zum nicht-linearen Videoschnitt
(non-linear video editing, NLE) am Markt durchgesetzt.
Die ersten NLE-Systeme wurden Anfang der Siebzigerjahre entwickelt, damals
noch für den Einsatz mit analogem Video. Während Verarbeitungsgeschwindigkeit und Bildqualität, sowie die Dauer, der in einem Schritt bearbeitbaren Videosequenzen laufend zugenommen haben, haben sich die Bedienungsmethaphern kaum
verändert. NLE-Systeme ermöglichen das Zusammenstellen einer Bearbeitungsvorschrift, die definiert, wie aus dem Ausgangsmaterial ein neues Video generiert
werden soll. Je nach System erfolgt die Erzeugung des endgültigen Videos entweder in Echtzeit (online) oder erst in weiteren Verarbeitungsschritten (offline). Die
Semantik der Editoren bezieht sich im Wesentlichen auf Arbeitsgänge beim manuellen Schneiden von Film, weshalb man auch von Videobearbeitung im Film-Stil
spricht. Gängige NLE-Systeme verwenden eine grafische Benutzeroberfläche mit
zweidimensionalen Interaktionsobjekten. Die Bearbeitungsvorschrift für das Video wird zumeist mittels einer linearen Zeitleiste veranschaulicht. Diese Art von
Benutzeroberfläche wurde bereits Anfang der Achtzigerjahre eingeführt und seitdem kaum wesentlich weiterentwickelt.
Die Darstellung mittels Zeitleiste, bringt Probleme mit sich. Zum einen ist ein
Kompromiss zwischen Genauigkeit und Überblick bei der Darstellung, wegen der
durch Auflösung und Größe des Bildschirm begrenzten Arbeitsfläche, notwendig.
Zum anderen fehlt die Möglichkeit zur strukturellen Gliederung des Projektes. Die
Zeitleiste definiert eine fixe Zeitachse, daraus entstehen des weiteren Probleme
bei der Änderung von Dauer oder Abfolge der Objekte in der Zeitleiste. Diese
treten besonders in den Fällen in Erscheinung, wo über die Zeitachse Beziehungen
zwischen verschieden Quellen definiert werden.
Die im Laufe dieser Arbeit entwickelten Verfahren zum Zusammenstellen von
Bearbeitungsvorschriften und ihre Visualisierung, sollen eine verbesserte Bearbeitung von Video ermöglichen. Bearbeitungsvorschriften werden hierarchisch strukturiert, mittels Schnittgraphen beschrieben. Die Visualisierung erfolgt in Form
einer dreidimensionalen Darstellung.
Um diese dreidimensionale Darstellung möglichst anschaulich zu halten und
intuitiv bedienbar zu machen, erfolgt die Visualisierung und Manipulation in einer
immersiven virtuellen dreidimensionalen Umgebung.
Im Vorfeld dieser Arbeit entwickelte der Autor als Programmierprojekt einen
Videobrowser, der eine hierarchische dreidimensionale Darstellung zur Erfassung
des Videos verwendet. Die durch diesen Prototypen gewonnenen positiven Einsichten, insbesondere was die Überschaubarkeit und Mächtigkeit der Darstellung
betrafen, liessen darauf schließen, dass die Bearbeitung von Video mittels einer
dreidimensionalen Benutzerschnittstelle ähnliche Erfolge bringen kann.
Für die immersive Realisierung des Editors spricht auch die Tatsache, dass
in naher Zukunft die nötige Hardware für das immersive Erleben virtueller Welten auch am Markt der ’low-end’-Systeme erhältlich sein wird. Als erste Vorreiter dieser Entwicklung können die neueste Generation von Spielkonsolen für den
Heimgebrauch gesehen werden. 3D-Zeichenleistung, die vor nicht allzulanger Zeit
teueren Spezialcomputern vorbehalten gewesen ist, findet man neuerdings in diesen einfachen Heimgeräten.
1.2 Zielsetzung
1.2
Zielsetzung
Primäres Ziel dieser Diplomarbeit war die Entwicklung eines Editors zur Bearbeitung von Video. Der Editor sollte in einer immersiven, virtuellen, dreidimensionalen Umgebung realisiert werden. An der Universität Linz steht seit Oktober 1998
ein ’CAVE’-ähnliches Virtual Reality Center, welches als Zielplattform der Implementierung dienen sollte. Für die Bearbeitung und Visualisierung des zu erzeugenden Videos sollte eine geeignete dreidimensionale Darstellungsform gefunden
werden, die strukturierte hierarchische Eigenschaften haben soll.
Dem Anwender sollte es ermöglicht werden, die Bearbeitung des Videos durch
Manipulationen der dreidimensionalen Repräsentation zu erreichen. Die Interaktion mit den virtuellen Objekten sollte auf eine möglichst intuitive und an die
menschliche Anatomie angepasste Weise geschehen. Die Entwicklung der Benutzerschnittstelle war daher ein wesentliches Augenmerk der Arbeit.
Als Aufsatzpunkt soll der oben angeführte, bereits früher entwickelte dreidimensionale Videobrowser dienen. Die als Video-Content-Tree (VCT) bezeichnete
Darstellung vom sequenziellem Videoabfolgen, die mit dem Browser eingeführt
wurde, stellt das Video als einen Baum dar, siehe Abbildung 1.1. Während die
Wurzel das Video in seiner gesamten Länge darstellt, teilt sich das Video entlang
der Zweiggabelungen in kleinere Untersequenzen auf, bis in die Blätter, die dann
Einzelbilder des Videos repräsentieren.
Der initiale Gedanke für die Realisierung des Editors bestand darin, dass aus
einem VCT, Zweiggabelungen, also einzelne Segmente, abgeschnitten und dann
wieder zu einem neuen Baum zusammengesetzt werden. Das Hantieren mit dem
Baum sollte über direkte Handgesten realisiert werden, um die Forderung leichter
Bedienbarkeit zu gewährleisten. Da der Editor auch die Manipulation des Bildin-
Abbildung 1.1: Eine Videosequenz als Video-Content-Tree visualisiert.
3
4
Einleitung
haltes des Videos gestatten sollte, war dieser Ansatz so zu erweitern, dass damit
die notwendigen Fähigkeiten ermöglicht werden.
1.3
Arbeitsumfang
Der Arbeitsumfang der Diplomarbeit teilt sich in zwei Bereiche auf, dieser schriftlichen Ausarbeitung und der Entwicklung der beabsichtigten Software.
Der schriftliche Teil der Arbeit behandelt Grundlagenwissen von Videobearbeitung und Videobearbeitungswerkzeugen. Sie beschreibt das Design und die
Implementierung der vom Autor entwickelten Software, sowie den theoretischen
Ansatz dahinter.
Die zu entwickelnde Software soll das Schneiden von Videos zulassen. Um
die Komplexität der Software nicht unnötig zu erweitern, werden lediglich digitale
Videos, die in gängigen Datenformaten wie MPEG-Stream, AVI und QuickTime
vorliegen und die unkomprimiert oder komprimiert (MPEG, M-JPEG) sind, behandelt. Video selbst wird zumeist mit begleitendem Audio abgespielt. Der Editor
soll deshalb auch die Mitbearbeitung von Mehrkanal-Audio ermöglichen.
Der Ansatz ist so entwickelt, dass eine Erweiterung für die Bearbeitung von
Film, digitalem, jedoch seriell gespeicherten, Video bzw. analogen Video möglich
sein soll. Erweiterungen zu den bestehenden Effekten, Transitionen, Quellen, usw.
können mittels Plug-ins dynamisch hinzugefügt werden.
1.4
Umfeld
Zielplattform für die Software ist das Virtual Reality Center (VRC) auf dem Gelände der Universität Linz. Die dem VRC zu Grunde liegende Hardware ist ein SGI
Onyx Multiprozessor-Rechner mit einem IRIX Betriebsystem. Die Software soll
nach einem objektorientierten Ansatz entworfen werden und in C++ implementiert
werden.
Zur Erleichterung der Implementierung und des Programmtests wurde eine
Emulation auf der an der Abteilung verfügbaren SGI O2 durchgeführt.
1.5
Stand der Forschung
Der theoretische Hintergrund dieser Arbeit übergreift mehrere Fachgebiete in der
Informatik: zum Einen, das der Multimediatechnik wegen der Behandlung von
Video- und Audiodaten. Zum anderen, das der Computergrafik, von Seiten der
Entwicklung von Virtual Reality, aber auch das was der Bearbeitung von Einzelbildern des Video betrifft. Erkenntnisse im Bereich der Mensch-MaschinenSchnittstellenforschung fließen ebenfalls in diese Arbeit ein, wie auch Ergebnisse
aus der Informationsvisualisierung.
1.5.1 Videobearbeitung
Betrachtet man die Forschung im Bereich der Videobearbeitung und vor allem den
Videoschnitt selbst, findet vieles heute nur noch in den Entwicklungslabors der
einzelnen Hersteller entsprechender Systeme statt. Im akademischen Bereich liegen die Interessen mehr im Bereich von Video-Indexierung und -Analyse, sowie
Repräsentationsformen von gespeichertem Video, etwa effektive Codierung und
1.5 Stand der Forschung
Kompression und die Bearbeitung von Video in komprimierter Form. An dieser
Stelle soll auf das Abschnitt Grundlagen der Diplomarbeit (Abschnitt 2) verwiesen
werden, das eine ausführliche Behandlung des Themas Videobearbeitung darstellt.
1.5.2
Virtual Reality
Die Wurzeln der Forschung im Bereich Virtual Reality liegen bereits weit zurück.
In den späten 50er Jahren begann man mit der Forschung an den ersten Systemen zur Visualisierung von virtuellen Umgebungen mit der Entwicklung des erstes
’Head Mounted Display’, das der entfernten Raumüberwachung dienen sollte. Der
Begriff Virtual Reality selbst wurde erst viel später geschaffen, von Jaron Lanier,
einem der Mitbegründer von VPL Research. Deren ’DataGlove’, ermöglichte es
die Position von Hand und Stellung der Finger zu ermitteln. Das Gerät wurde in
Entwicklung
Design und
Forschung
Produktion
Medizin
Architektur
Marketing
Geophysikalische
Untersuchungen
Sonstige
Anwendungen
Fahrzeugdesign (innen/außen)
Schnelles Produktprototyping
Evaluierung von Aerodynamik
Entferntes kooperatives Design und Testen
Untersuchungen finiter Elemente
Visibilitäts- und Operationsdesign, -simulation und -analyse
Flussdynamik von Flüssigkeiten
Emissionsstudien zur Umweltverschmutzung
Bewegungsstudien
Produktion und Montage: Design und Simulation
Analyse von Baugruppenmontage
Robotik
Teleoperation und Telepräsenz
Volumendarstellung der menschlichen Anatomie
Molekular- und Strukturbiologie
Psychologische Tests und Therapie
Chirurgie: Simulation, Forschung und Training
Neuromedizin
Analyse von Lageplänen
Bebauungsplanung
Innenarchitektur
Stadtplanung
Produktplanung
Konsumententest und -befragung
Präsentationen für Management
Verpackungsdesign
Produktausstellung und -information
Ozeanografie
Seismologie
Astrophysik
Chemie
Geometrisches Modellieren
Simulation und Training für den Einsatz gefährlicher Stoffe
Atmosphärenforschung
Untersuchungen ökonomischer Prozesse
Mikrophysik
Tabelle 1.1: Einsatzbereiche für Virtual Reality im CAVE. [WWW_Lab]
5
6
Einleitung
einem Artikel des Scientific American vorgestellt, wodurch in der Öffentlichkeit
erstmals das Interesse an virtuellen Umgebungen geweckt wurde.
Bei einer virtuellen Umgebung handelt es sich um künstliche sensorische Erlebnisse, bei denen eine Person mit einer von einem Computer erzeugten künstlichen Welt bestehend aus physischen und abstrakten Komponenten, in Aktion tritt.
Immersive virtuelle Umgebungen stellen die dreidimensionale Welt räumlich dar,
der Benutzer empfindet sich als Teil der Umgebung, als ob er in sie eintauchen
würde. [Kal93]
Vor der Erfindung des CAVEs, der 1993 vorgestellt wurde, wurden Head
Mounted Displays (HMD) verwendet, um dem Benutzer das Sehen der virtuellen Umgebung zu ermöglichen. Der CAVE ist ein begehbarer Raum, dessen Seiten
aus Projektionsfächen gebildet werden. Anstatt wie bei HMDs, die Darstellung der
virtuellen Umgebung direkt vor den Augen zu projizieren, wird beim CAVE auf die
Wände projiziert. Mehrere Benutzer können gleichzeitig den Raum betreten und
die Umgebung immersiv erleben. Die Benutzer müssen nur mit speziellen Brillen
(’shutter glasses’) ausgerüstet sein, die das linke und das rechte Auge abwechselnd
abdunkeln, um so die unterschiedlichen Projektion auf den Wänden für das jeweils
bestimmte Auge zu filtern. [CSD93]
Tabelle 1.1 führt Anwendungsmöglichkeiten für den CAVE auf. An der Universität wird das Virtual Reality Center derzeit von verschiedenen Instituten verwendet. An der Abteilung für grafische und parallele Datenverarbeitung (GUP)
arbeitet man in Kooperation mit dem FAW an der Umsetzung von Sicherheitstraining in gefährlichen Umgebungen (Chemiewerk) mit Hilfe von Virtual Reality. Im
Bereich der Wirtschaftsinformatik verwendet man das VRC zur Visualisierung von
Unternehmensorganisation und -abläufen. Im Bereich der Mathematik verwendet
man das VRC für die Visualisierung von komplexen Ergebnissen bei der numerischen Simulation.
In Österreich existiert neben dem VRC an der Universität auch ein weiterer
CAVE, ebenfalls in Linz. Dieser befindet sich im Ars Electronica Center (AEC),
dem ’Museum der Zukunft’. Dieser CAVE ist einer der wenigen öffentlich besichtigbaren auf der Welt. Er wrid neben der Verwendung bei Industrieprojekten, auch für die Verwirklichung von Exponate aus der Computerkunst eingesetzt.
[WWW_AEC]
Kooperative Anwendungen mit virtuellen Umgebungen sind derzeit aktueller
Gegenstand im Bereich der Forschung. Anwender an verschieden Orten können über gemeinsame virtuelle Welten verbunden miteinander kooperativ arbeiten.
[WWW_Ing, WWW_Ele]
1.6
Aufbau
Die schriftliche Ausarbeitung ist in acht Abschnitt aufgeteilt.
Im zweiten Abschnitt werden die wesentlichen Grundlagen für diese Arbeit
erklärt, der Schwerpunkt liegt dabei auf der Videobearbeitung. Abschnitt Drei
erläutert das entwickelte Modell für Bearbeitungsvorschriften. Das darauf folgende Abschnitt beschreibt die gewählte Möglichkeit zur Visualisierung der auf dem
Modell basierenden Vorschriften. Im fünften Abschnitt wird Funktionsweise und
Bedienung der Anwendung dargestellt. Die Hintergründe zur Realisierung der Anwendung werden im sechsten Abschnitt beschrieben. Im siebten Abschnitt erfolgt
die Validierung der entwickelten Applikation. Das letzte Abschnitt bietet eine Zu-
1.6 Aufbau
sammenfassung sowie einen Ausblick auf mögliche Erweiterungen für dieses Projekt.
Im Anhang befindet sich neben Literaturverzeichnis, Tabellen- und Abbildungsverzeichnis eine Reproduktion des ursprünglichen Themenvorschlages für
diese Arbeit. Zum Literaturverzeichnis sei noch angemerkt, dass es zweigeteilt
ist. Der erste Teil enthält Verweise auf publizierte Quellen. Der zweite Teil enthält Ressourcen die ausschließlich über das World Wide Web zu finden sind. Die
angeführten Hyperlinks wurden am Tag der Drucklegung (4. Jänner 2000) noch
auf ihre Gültigkeit hin überprüft. Inwiefern diese zu einem späteren Zeitpunkt
in Inhalt oder Verfügbarkeit übereinstimmen kann, den Eigenschaften des WWW
entsprechend, nicht garantiert werden.
7
Kapitel 2
Grundlagen der Videobearbeitung
In diesem Abschnitt sollen die nötigen Grundlagen für das Verständnis der weiteren
Ausarbeitung bereitgestellt werden.
2.1
Allgemeines
Video-Editing, die Bearbeitung von Video, hat das Ziel ein Video zu erzeugen,
wobei das Video möglicherweise auch mit synchronem Audio versehen sein kann.
Die zu erzeugenden Medientypen sind also Video sowie Audio. Video sowie Audio
existieren in analoger, oder digitaler Form. Analoge Formen von Video bzw. Audio
könne nicht direkt von Computern verarbeitet werden, man kann aber sehr wohl
den Computer zur Steuerung analoger Verarbeitungsgeräte verwenden. Digitale
Formen lassen sich direkt durch Computer bearbeiten.
Was sind die Charakteristika von den Medien Video und Audio? Video wie
auch Audio sind zeitabhängige Medien.
2.1.1
Video
Video ist die elektronische Repräsentation von sequenziellen Einzelbildern. Im
Englischen werden diese als frame bezeichnet.
Bei analogem Video wird ein elektrisches Signal dazu verwendet Bildinformation zu codieren. Je nach Videoformat ist die Codierung dieses Signals unterschiedlich. Die unterschiedlichen Videoformate können durch folgende Eigenschaften charakterisiert werden: Bildwiederholfrequenz, Anzahl der Felder, Anzahl der Bildzeilen, Längenverhältnis, Qualität und Anzahl der Signalkomponenten.
Analoges Video kann auf zwei Arten gespeichert werden: auf Magnetband
oder auf Videodisks. Während Magnetbänder nur einen sequenziellen Zugriff auf
die Videodaten zulassen, erlauben Videodisks, die im CAV (constant angular velocity) Format beschrieben worden sind, wahlfreien Zugriff und des weiteren Standbildwiedergabe, sowie Wiedergabe mit variabler Bildrate. Zum Wiederfinden von
Einzelbildern im gespeicherten Video ist eine Methode zur Positionierung des Lesekopfs am Anfang eines Bildes nötig. Bei Videodisks geschieht dies durch eine
einfache Bildnummer, für Magnetbänder existieren verschiedene Arten von Zeitcode (time code) für diesen Zweck. Ein Zeitcode besteht meist aus acht Ziffern,
10
Grundlagen der Videobearbeitung
wobei jeweils zwei Ziffern für Stunden, Minuten, Sekunden und Bildnummer stehen (hh:mm:ss:ff). Der Zeitcode wird entweder in einer eigenen Spur auf das Band
geschrieben (Longitudinal Time Code, LTC) oder direkt in das Videosignal, in den
nach jedem Bild bestehenden Leerraum (Vertical Interval Time Code, VITC). Die
genaue Form des Zeitcodes ist vom verwendeten Videoformat abhängig. Für verschiedene Videosignalnormen (PAL, SECAM und NTSC) existieren entsprechende Standards. Bei NTSC ist die Anwendung von Zeitcode nicht ganz unproblematisch. NTSC hat eine Bildwiederholfrequenz von 29.97Hz; dadurch laufen der
Zeitanteil des Zeitcodes und die eigentliche Zeit, die das Video zum Abspielen benötigt, auseinander. Beim Zeitcode werden die Einzelbilder von 0 bis 29 gezählt,
aber 30 Einzelbilder entsprechen nicht genau eine Sekunde beim Abspielen. Es
existieren daher zwei Varianten von Zeitcode für NTSC: non-drop frame, bei dem
die Abweichung in Kauf genommen wird, und drop frame Zeitcode, bei dem jeweils die ersten zwei Frame-Nummern nach einer bestimmten Zeit übersprungen
werden um die Zeitdifferenz auszugleichen.
Digitales Video unterscheidet sich vom analogen Video darin, dass die Bilddaten digital vorliegen. Digitales Video ist in der Fernseh- und Übertragungsindustrie weit verbreitet, Grund dafür ist vor allem der Qualitätsverlust von analogen Videosignalen bei Übertragung und Speicherung. Digitales Video benötigt
in seiner unkomprimierten Form hohe Datenbandbreiten, durch den Einsatz von
speziellen Codierungs- und Kompressionstechniken kann der Speicherbedarf aber
verringert werden. Dadurch wurde der Einsatz von digitalem Video auch im Consumer-Markt sowie auf gewöhnlichen Computerarbeitsplätzen möglich. Derzeit
setzt sich dieser Trend weiter fort und ermöglicht den Einsatz von digitalem Video im Internet als Web-Video oder für Internet-basierte Videokonferenzsysteme.
Ähnlich wie bei analogem Video existieren auch bei digitalem Video verschiedene
Formate, die sich durch einige Kenngrößen charakterisieren lassen; dazu zählen:
Auflösung, Datenrate, Bildrate, Codierung und Kompressionsverfahren. Digitales
Video kann entweder durch Synthetisierung, z.B. Erzeugung am Computer, oder
durch Digitalisierung eines analogen Signals gewonnen werden. Im Falle der Digitalisierung sind Abtastfrequenz, Abtastgröße und Quantisierungsgröße weitere
wichtige Kenngrößen.
Digitales Video kann entweder auf gewöhnlichen Datenträgern gespeichert
werden (Festplatte, DAT-Band) oder auf speziellen dafür entwickelten Speichersystemen, die bei unkomprimiertem digitalen Video wegen des hohen Transferund Datenvolumens Einsatz finden.
Bisher wurde nur über die Zielmedien gesprochen. Was sind die Quellen bei
Video-Editing? Zu Zeiten reiner analoger Technik wäre diese Frage einfach zu
beantworten gewesen: Quellen für die Bearbeitung von Video waren ausschließlich
Video- und Audiosequenzen, entweder auf Band oder Videodisk gespeichert. Die
digitale Technik, wie auch der Einsatz von Computern, hat dazu geführt, das Video
wie oben erwähnt synthetisiert werden kann, also nicht nur durch Aufnahme von
einer Videokamera auf einen Speichermedium gewonnen werden kann. [Ste93,
GT95]
2.1.2 Video-Editing
In der Informatik verbirgt sich hinter dem Schlagwort Multimedia eine Vielzahl
von Anwendungen zu denen auch Video-Editing dazugezählt werden kann. Wie
unterscheidet sich die Bearbeitung von Video mit anderen Multimediaanwendun-
2.1 Allgemeines
gen etwa mit der Anfertigung von Multimediapräsentationen oder Hypermedia?
Das beim Video-Editing zusammengestellte Video ist kontinuierlich, statisch und
nicht interaktiv. Multimediapräsentationen andererseits sind meist durch den Benutzer gesteuert, sind interaktiv und dynamisch.
Video kann auf zwei Arten geschnitten werden, linear und nicht-linear (nonlinear):
Linearer Videoschnitt: Linearer Videoschnitt bedeutet, dass ein neues Video
durch vom Bearbeiter manuell gesteuertes direktes Kopieren vom QuellBand auf das Zielband gespielt wird (dubbing).
Der Bearbeiter ist dafür verantwortlich das Quell-Band an die korrekte Startposition zu bringen. Dann wird Quell- und Ziel-Bandlaufwerk gestartet und
das Video übertragen, so lange bis der Bearbeiter das Überspielen beendet
und mit dem nächsten Schnitt beginnt. Dafür muss vielleicht auch ein anderes Quell-Band eingelegt werden, etc.
Quell- und Zielrecorder sind meist durch eine gemeinsame Steuerkonsole
verbunden, um die Geräte synchron starten und stoppen zu können. Komplexere Steuerkonsolen erlauben mehr als einen Quell-Recorder und ermöglichen die Kombination der einzelnen Videoströme über Effekte.
Nicht-linearer Videoschnitt: Bei nicht-linearem Videoschnitt (non-linear
editing, NLE) wird das Ziel-Video nicht direkt, sondern über eine Schnittbeschreibung zusammengestellt. Das Anfertigen der Schnittbeschreibung
versteht man als nicht-linearer Videoschnitt. Die Form der Schnittbeschreibung, das Modell mit dem der Schneidevorgang beschrieben wird und die
Werkzeuge mit denen eine Schnittbeschreibung angefertigt werden können,
sind vielfältig. Am Markt der nicht-linearen Schnittsysteme haben sich
aber einige Modelle und Vorgangsweisen im Laufe der Zeit etabliert, siehe
Abschnitt 2.3.1 und 2.3.2.
Im Gebiet der Multimedia existieren verschiedene Bearbeitungsmethapern.
[GT95] zählt fünf verschiedene Metaphern auf, von denen sich zumindest drei für
den Einsatz mit Video eignen:
’Movie’-Metapher: Zur Herstellung zeitlicher Zusammenhänge. Diese Darstellung beruht auf dem Begriff verschiedener Spuren, auf denen Objekte platziert werden können, die über eine gemeinsame Zeitleiste angeordnet sind.
’Skript’-Metapher: Man verwendet einen prozeduralen Ansatz zur Beschreibung. Die angewandten Skriptsprachen bestehen aus prozeduralen Operationen auf Medienelementen (, z.B. ist VideoScheme [MGM93] eine um
Operationen an digitalem Video und Audio bereicherte Programmiersprache).
’Schaltkreis’-Metapher: Komponenten-basierte Bearbeitung, mittels Medienobjekten, die Quellen-, Senken- und Transformationsobjekte verwenden führt
zur Schaltkreis-Metapher. Schaltkreis deshalb, weil die einzelnen Datenströme einen ähnlichen Fluss wie in einer elektrischen Schaltung beschreiben.
Bei der Anfertigung eines Videos ist die Videobearbeitung nur ein Teilschritt.
Es lassen sich zwei verschiedene Vorgangsmodelle bei der Anfertigung von Videos
unterscheiden:
11
12
Grundlagen der Videobearbeitung
Abbildung 2.1: nicht-linearer (videobasierter) Filmschnitt.
1. Die klassische Produktion ist durch die Aufteilung in Vorproduktion (preproduction), Produktion und Nachproduktion (postproduction) gekennzeichnet.
Wichtigster Schritt der Vorproduktion ist das Schreiben eines Drehbuches.
Während der Produktion werden entsprechend dem Drehbuch die nötigen
Szenen durch Kameras aufgezeichnet. Die Nachproduktion besteht dann im
Wesentlichen in der Durchführung der Videobearbeitung, meist an Vorgaben
durch das Drehbuch gebunden. Die Videobearbeitung besteht dann aus dem
Zusammenfügen der einzelnen gedrehten Szenen einerseits und andererseits,
womöglich in der Integration von Spezialeffekten.
2. Die Zusammenstellung eines Videos aus Archivmaterial, zum Beispiel als
Begleitfilm zu einem Nachrichtenbeitrag im Fernsehen. Hier muss einerseits
aus dem Archiv Videomaterial gefunden werden, das thematisch passt, zum
anderen muss aber auch danach getrachtet werden, das Material zu einem
sinnvollen Ganzen zusammenzufügen. Hier kann es durchaus sein, dass der
Vorgang Material suchen und zusammenstellen bis zum fertigen Endprodukt
ein sich mehrmals iterierender Prozess ist.
Ausgehend von diesen zwei unterschiedlichen Vorgängen, muss auch der Unterschied zwischen Authoring und Composing verstanden werden:
Authoringsysteme verfolgen meist ein top-down Vorgehen. Ausgehend von
einer Gesamtidee bricht der Produzent seine Arbeit rekursiv in mehrere kleinere
Teilkomponenten auf. Beim Herstellen eines Videos würde das bedeuten, zuerst
das gesamte Videoprojekt in mehrere Szenen zu untergliedern und diese dann jede
für sich weiterer Verfeinerung zu unterziehen. Erst auf unterster Ebene, nachdem
bereits die Struktur und Effekte definiert sind, würde durch das Hinzufügen des
Quell-Materials die fertige Produktion entstehen.
Demgegenüber stehen, durchaus durch das Bearbeitungsmodell der meisten
2.2 Schnittbeschreibungsformate
NLE-Systeme aufgezwungen, die Möglichkeiten beim Composingvorgang. Hier
ist das Vorgehen bottom-up. Es werden zuerst die Quell-Sequenzen ausgewählt.
Hat man die nötigen Quellen beisammen geht man dann daran diese im NLESystem zusammenzustellen.
Mit NLE kann nicht nur Video bearbeitet werden. NLE hat sich auch in der
Filmindustrie durchgesetzt. Abbildung 2.1 zeigt einen exemplarischen Filmbearbeitungsvorgang mit Hilfe von NLE. Um den Film bearbeiten zu können, muss
vom Filmmaterial ein Video hergestellt werden. Wichtig ist hier die Beziehung
zwischen Film und Videoposition aufrecht zu erhalten. Zwar hat digitales Video
zunehmend Filmqualität, trotzdem wird meist ausgehend von einer, mit dem nichtlinearen Videoschnittsystem angefertigten, Schnittliste der Originalfilm von Hand
zum fertigen Film zusammengefügt. [Rub95]
2.2
Schnittbeschreibungsformate
Da der Kerngedanke von nicht-linearem Videoschnitt die Anfertigung von Schnittbeschreibungen ist, haben Speicherformate und die auf ihnen definierten Beschreibungsmodelle besondere Bedeutung. Neben einer Vielzahl von proprietären Formaten, jeder Hersteller eines Schnittsystemes hat seine internen Dateiformate, gibt
es drei Formate, denen hier besondere Beachtung gegeben wird.
2.2.1
Edit Decision List
EDL steht für Edit Decison List. Die EDL war eines der ersten Dateiformat für
die Beschreibung eines Schnittvorganges. Abbildung 2.2 zeigt eine solche EDL
vom CMX-Typ. Da EDLs erst 1993 standardisiert worden sind [Soc93], zwanzig
Jahre nach ihrer ersten Entwicklung, haben verschiedene Hersteller mittlerweile
unterschiedliche Formate entwickelt, in ihrem Aufbau sind sie jedoch ähnlich.
EDLs sind zeilenbasiert und enthalten eine Liste von Schnittvorgängen. Jede
Zeile besteht aus mehreren Spalten. Die erste Spalte enthält eine laufende Nummer, die den Bearbeitungsschritt bezeichnet. Ein Schnitt kann in einer oder über
mehrere Zeilen beschrieben werden. Zeilen, die nicht mit einer Nummer beginnen,
sind Kommentare.
In der zweiten Spalte steht die Nummer des Quell-Bandes (reel id). AX bzw.
BL stehen für nicht-bandbasierte Quellen (AX = auxillary, eine externe Quelle; BL
= black, schwarzes Video). Die dritte Spalte gibt an welches Medium bearbeitet
werden soll (V = Video, A = Audio). Die Art des Schnittes wird in der vierten
TITLE: SAMPLE PROJECT
FCM: NON-DROP FRAME
001
001
V
C
00:00:00:00 00:00:02:24 01:00:00:00 01:00:03:12
002
AX
AA
C
00:00:00:00 00:00:21:05 01:00:00:00 01:00:21:05
003 001
V
C
00:00:02:24 00:00:02:24 01:00:03:12 01:00:03:12
003 002
V
D
016 00:00:00:00 00:00:01:27 01:00:03:12 01:00:05:21
EFFECTS NAME IS CROSS DISSOLVE
004
001
V
C
01:00:04:00 01:00:04:08 01:00:05:21 01:00:06:05
005
}
BL
V
C
00:00:05:24 00:00:20:09 01:00:06:05 01:00:21:05
Abbildung 2.2: Beispiel einer Edit Decision List (EDL).
13
14
Grundlagen der Videobearbeitung
Spalte beschrieben (C bedeutet Cut, D steht für Dissolve). Neben dem D steht noch
eine Nummer, ein so genannter wipe code der die Transition näher beschreibt. In
den folgenden vier Spalten stehen jeweils Anfangs- und Endezeit am Quell-Band
und Anfangs- und Endezeit am Ziel-Band als Zeitcode. [Rub95]
2.2.2 QuickTime
QuickTime ist eine Programmierschnittstelle zur Bearbeitung von zeitbasierten
Medien, entwickelt für den Gebrauch auf Apple MacOS und Microsoft Windows
Betriebsystemen. QuickTime basiert auf einem Modell, bei dem verschiedene Medien in Spuren verwaltet werden, siehe Abbildung 2.3a. Die Geamtheit der Spuren
wird als Movie bezeichnet. Movies können verschiedene zeitabhängige und nichtzeitabhängige Medien enthalten, wie zum Beispiel Audio, Video, Standbilder, 3DSzenen, VR-Panoramen, etc. Jede Spur kann jedoch nur Medien eines einzigen
Medientyps beinhalten.
QuickTime enthält auch sein eigenes Dateiformat, Movies werden mit Hilfe
einer hierarchischen Dateistruktur beschrieben. Grundelement dieser Struktur sind
Atome, siehe Abbildung 2.3b. QuickTime bietet die Möglichkeit, die Daten der
Medien direkt in der QuickTime-Datei zu speichern. QuickTime-Dateien können
aber auch nur zur reinen Beschreibung von zusammengesetzten Movies verwendet werden, indem auf die Quellen extern referenziert wird. Seit Version 3 besitzt
QuickTime eine Erweiterung, die es ermöglicht, Effekte in Effektspuren zu definieren, die den Inhalt anderer Spuren bei der Wiedergabe manipulieren können.
QuickTime enthält demnach Möglichkeiten zur Herstellung einfacher Schnittbeschreibungen. [App97, App96, WWW_Appb]
2.2.3 Open Media Framework Interchange / Advanced Authoring Format
Ziel von OMFi (Open Media Framework Interchange) ist ein standardisiertes Format zum Austausch von digitalen Medien auf heterogenen Plattformen zu schaffen. OMFi wurde von der Firma AVID entwickelt und zu einem offenen Standard
ausgerufen. OMFi erlaubt neben dem Transport unterschiedlicher Medien auch
die Darstellung von Metainformation zur Schnittbeschreibung und Darstellung von
(a) Modell: Zeitleiste und Spuren.
Abbildung 2.3: Apple Quicktime.
(b) Dateistruktur: Atom.
2.2 Schnittbeschreibungsformate
Abbildung 2.4: OMFi Composition Mob. CMOB - Composition Mob, MSLT Mob Slot, SEQU - Sequence, TRKD - Track Description, SCLP Source Clip, DDEF - Data Definition.
Medien. OMFi baut auf einem objektorientierten Modell auf. Die Beschreibung
von Schneidevorgängen wird mittels Composition MOBs (MOB = Media OBject) realisiert. Composition Mobs ermöglichen eine strukturierte, geschachtelte
Komponenten-basierte Schnittbeschreibung. Abbildung 2.4 zeigt einen einfachen
Composition-MOB. [WWW_OMF97]
Hinter AAF versteckt sich das Advanced Authoring Format. AAF soll der
Nachfolger von OMFi werden und baut im Wesentlichen auch auf OMFi auf. Es
werden allerdings einige Erweiterungen und Änderungen durchgeführt:
• Das Containerformat für die Speicherung wird auf Microsoft Structured Storage umgestellt.
• OMFi erlaubt nur Audio und Video Medienformate, AAF soll auch andere
Medientypen wie Einzelbilder, Text oder ereignisbasierte Medientypen erlauben.
• OMFi definiert nur einen eingeschränkten Satz von Effekttypen, unter AAF
sollen diese erweiterbar gemacht werden.
• AAF soll auch kompatibel zum COM (Component Object Modell) von Microsoft sein.
Obwohl AAF nicht nur von Microsoft forciert wird, sondern von einer größeren Gruppe von Herstellern unterstützt wird, ist es seit der Pressemitteilung und
Veröffentlichung der Spezifikation im April 1998 still um dieses Projekt geworden.
[WWW_Adv98]
15
16
Grundlagen der Videobearbeitung
2.3
Ausgewählte Videobearbeitungssysteme und
-komponenten
Dieses Abschnitt hat den Zweck, einen Überblick über existierende Videobearbeitungssysteme zu geben. Dem Thema der Diplomarbeit entsprechend, liegt der
Schwerpunkt im Verlauf dieses Abschnitts bei nicht-linearen Videoschnittsystemen.
Nicht-lineare Videoschnittsysteme umfassen zumeist drei Komponenten, die
zum Teil als Hardware- sowie Softwarelösung realisiert sein können:
Videozugriffskomponente: Zugriff auf Video und Audio sowie falls nötig auf
entsprechende Verarbeitungsgeräte (Videoaufzeichnungsgeräte, externe Effektsysteme).
Videoschnittkomponente: Bearbeitungsmodell und dessen Umsetzung in die
Praxis.
Video- und Projektverwaltungskomponente: Ermöglicht Verwaltung der verfügbaren Quellenmedien und bereits angefertigten Bearbeitungsvorschriften, sowie das Auffinden gewünschter Video und Audiosequenzen für den
Videoschnitt.
Vor allem, was die Verwaltung von Videomaterial betrifft, haben die meisten
kommerziellen Systeme keine weitreichende Funktionen, daher wird in einem zusätzlichen Unterkapitel noch ein Einblick in Teilbereiche zur computergestützten
Videoverwaltung gegeben, die Themen Video-Indexing und Video-Browsing werden dabei behandelt.
Davor wird aber mit einem geschichtlichen Überblick vom Anfang der Videotechnik bis zu den ersten digitalen Videobearbeitungsystemem begonnen. Im Verlauf daran werden aktuelle kommerziell erhältliche Videoschnittsysteme betrachtet. Danach werden akademische Ansätze zu Videoschnitt und -bearbeitung besprochen.
2.3.1 Geschichte der Videobearbeitungsysteme
In den 40er und 50er Jahren dieses Jahrhunderts begann man in den Vereinigten
Staaten von Amerika mit dem Einsatz von Fernsehen. Zu diesem Zeitpunkt sendete man noch alle Sendungen live. Durch den Zeitunterschied zwischen Westund Ostküste ergab sich bald das Problem, Live-Sendungen zeitversetzt senden zu
wollen.
1956 wurde deshalb das erste Videoaufzeichnungsgerät entwickelt. In den darauffolgenden Jahren wurden die ersten Versuche unternommen, das aufgezeichnete
Videomaterial zu bearbeiten. Damals versuchte man das Videoband wie herkömmlichen Film oder Audioband zu schneiden, mit Schneidmesser und Klebefolie. Das
Problem das sich dabei stellte war, dass das Band zwischen zwei elektronisch aufgezeichneten Einzelbildern geschnitten werden musste, die Position optisch aber
nicht ersichtlich war. Ein Ausweg war, eine Substanz zu verwenden, die aus feinem Eisenstaub bestand, um die Lücke im Signal zwischen zwei Einzelbildern zu
markieren.
1962 wurde das erste elektronische Schnittsystem Editec entwickelt. Indem
man elektronische Impulstöne entlang des zu bearbeitenden Videobandes anbrach-
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
Abbildung 2.5: “Death Star” Konsole des EditDroid.
te, konnte man die Schnittstellen markieren. Probleme bereitete aber noch die
Synchronisation von Quell- und Ziel-Bandlaufwerk.
1967 war das Jahr, in dem die ersten Videorecorder produziert wurden, die
Zeitcode verstehen. Mehrere Recorder als Quelle konnten über einen Computer
angesteuert werden und ein ununterbrochenes Zielband schreiben.
Drei Jahre späte kam der CMX-600 auf den Markt, er konnte analoges Video
auf verteilten Festplattensystemen (analog) speichern und so innerhalb von weniger als einer Sekunde auf ein beliebiges Einzelbild eines 30 Minuten langen Videos
in reduzierter Qualität zugreifen. Das System arbeitete als nicht-linearer Editor. Es
ermöglichte, auf Lochstreifen eine Schnittfolge auszugeben, die dann von einem
zweiten Gerät, dem CMX-200, zu einem Video in Sendequalität zusammengesetzt
wurde.
1973 brachte CMX das erste System auf den Markt, das eine EDL zur Schnittbeschreibung verwendete.
1979 begann man sich in der Filmindustrie für Video-gestützes Produzieren
von Kinofilmen zu interessieren. In den kommenden Jahren begann Lucasfilm
mit der Entwicklung des EditDroid, einem auf einer SUN Unix Workstation und
LaserDisk basierenden nicht-linearen Video-Editors für die Bearbeitung von Film.
Abbildung 2.5 zeigt den Schneideplatz des EditDroid mit Monitor für Quell- und
Zielvideo, sowie Computermonitor (von links nach rechts im Bild). Der EditDroid
verwendete bereits eine grafische Zeitleiste zur Darstellung und auch Bearbeitung
des Ziel-Videos.
Der EditDroid wurde 1984 das erste Mal öffentlich vorgestellt. Zur selben Zeit
wurde auch ein weiteres System, der Montage Picture Processor, präsentiert. Montage verwendete als erster Anfangs- und Ende-Vorschaubilder zur Identifizierung
einzelner Quellsequenzen, siehe Abbildung 2.6.
Ein weiteres zur damaligen Zeit fortschrittliches System wurde 1985 Marktreif.
Das Ediflex System verwendete ein drehbuchbasiertes Bearbeitungsmodell für Video. Der Cutter hatte die Möglichkeit auf den Dialog der Schauspieler in Textform zuzugreifen und mit den verfügbaren Aufnahmen synchron dargestellt zu
bekommen. Abbildung 2.7 zeigt einen späteren digitalen Prototyp für diese Art
der Bearbeitung. Auf der linken Bildschirmseite ist in einer vertikalen Zeitleiste
das geschnittene Video sichtbar, auf der rechten Seite Drehbuch und verfügbare
17
18
Grundlagen der Videobearbeitung
(a) Arbeitsplatz
(b) Vorschaubilder
Abbildung 2.6: Montage Picture Processor.
Abbildung 2.7: Skript Mimic.
Aufnahmen.
1987 beginnt die Entwicklung der ersten Editing-Systeme die Video für die
offline Bearbeitung digital auf Festplatte speicherten (E-Pix, Avid/1, EMC).
1991 erscheinen die ersten Systeme die auch digitales Video (DVI) Quellmaterial verarbeiten können.
Zwei Jahre werden ’online’ nicht-lineare Schnittsysteme vorgestellt deren Ausgabe Sendequalität besitzt und nicht mehr die Zweiteilung in Bearbeitungs- und
Fertigungssystem aufweisen. [Rub95]
2.3.2 Marktübersicht: Kommerzielle Videobearbeitungssysteme
Kommerzielle Videobearbeitungssyteme existieren in einer großen Vielfalt am
Markt. Zum Zeitpunkt der Erstellung dieser Diplomarbeit hatte das WebVerzeichnis von Videobearbeitungssystemen des amerikanischen DV Magazines
sechzig Einträge verschiedener Systeme. [WWW_Mil]
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
Wie in vielen anderen Produktgruppen auch, gibt es ein starkes Preisgefälle
zwischen Systemen für den Consumer-Markt und Systemen für den professionellen Gebrauch. Der Unterschied in der Leistung liegt vor allem bei der zeitlichen
Länge, der Größe (Auflösung) und Qualität des verarbeitbaren Videomaterials. Bei
digitalem Video kann man bessere Systeme dadurch unterscheiden, ob digitales
Video unkomprimiert bearbeitet und gespeichert werden kann, oder ob man durch
verlustbehaftete Kompression Qualitätsverluste in Kauf nehmen muss. Daneben
unterscheiden sich viele Videoschnittsysteme darin, ob sich Echtzeitbearbeitung,
des Videomaterials, zulassen oder nicht. Günstigere Systeme können zum Beispiel
keine Vorschauen auf gerade bearbeitete Videosequenzen in Echtzeit darstellen,
ohne vorher die Sequenz berechnet zu haben.
Bei den Videobearbeitungsystemen kann man zwischen Systemen unterscheiden, die eher für den Einsatz im Videoschnitt gedacht sind und andererseits Systeme, für die digitale Nachbearbeitung (Compositingsysteme) ausgerichtet sind.
Compositingsysteme sind nur für kürzere Filmsequenzen gedacht, sie haben leistungsfähige Funktionen zur Bildmanipulation und werden vor allem für Spezialeffekte und für die Integration von Computer-generierten Bilder mit realem Videomaterial eingesetzt. Die Schnittfähigkeiten stehen daher eher im Hintergrund.
Compositing-Systeme sind erst seit ein paar Jahren erhältlich, da die erforderliche
Rechenleistung früher noch nicht verfügbar gewesen ist. Schnittsysteme wiederum
können gut mit längeren Filmsequenzen umgehen, führen jedoch Bildmanipulation
nur auf einer höheren Ebene aus. [Kum99]
Videobearbeitungssysteme werden in drei verschiedenen Varianten verkauft:
Software alleine: Der Hersteller verkauft nur die Videobearbeitungssoftware. Mit
Software alleine kommt man nur in wenigen Anwendungsfällen aus. Will
man nur auf digital verfügbares Video zugreifen und dieses bearbeiten kann
man die Software alleine ausreichen. Zum Beispiel, wenn man als Anwendung Videos aus dem Web herunterlädt und am Computer neu zusammenstellen möchte. In allen anderen Fällen benötigt man wahrscheinlich eine
Schnittstelle zu externen Videogeräten (Videorecorder, Videokamera). Bei
digitalen Videogeräten kann man falls verfügbar IEEE 1394 [WWW_Ski]
zum Austausch der Videodaten verwenden. Nur wenige Computer sind jedoch von Fabrik her mit IEEE 1394 Schnittstellen ausgerüstet (Sony VAIO
Notebooks [WWW_Son], Apple G3 [WWW_Appa], SGI Visual Workstation [WWW_SGIb]). Ansonsten benötigt man zusätzlich zur Software entsprechende Hardware in Form einer Steckkarte die für den Transfer von Videodaten zuständig ist.
Im analogen Fall macht diese Hardware den größeren Teil der Anschaffungskosten aus. Hier muss die Karte zum einen analoges Video handhaben können, zum anderen soll sie die externen Geräte wie Videorecorder ansteuern.
Handhabung von analogem Video bedeutet, je nach Anwendungsfall, Digitalisierung eines analogen Videosignales und Ausgabe eines kompatiblen analogen Signals (PAL, NTSC, etc.) bzw. Overlay von analogem Videosignal
auf dem Bildschirm des Anwenders und Hardware zum analogen mischen
mehrerer Video-Quellen auf einen Ausgang.
Gebündelte Pakete: Die oben beschriebene Hardware besitzt voranging proprietäre Programmierschnittstellen. Das bedeutet, dass nicht jede Hardware mit
jeder Software zusammen funktioniert. Aus diesem Grund verkaufen Hersteller von Hardware bzw. Software ihre Systeme meist gebündelt.
19
20
Grundlagen der Videobearbeitung
1
5
2
3
4
Abbildung 2.8: Adobe Premiere.
Turnkey-Systeme: Turnkey-Systeme sind fix aufgesetzte Videoschnittsysteme.
Computer, Videohardware und Software werden vom Hersteller als ein Produkt verkauft.
Die meisten Videobearbeitungssysteme laufen unter MacOS oder Microsoft
Windows NT, einige auch unter UNIX. In den letzen Jahren ist ein Trend zu Windows NT zu verzeichnen.
Was die Kosten betrifft, so ist Consumer-Videoschnittsoftware (z.B. Ulead Video Studio) alleine ab ca. 85 Euro verfügbar. Professionellere Software (z.B. FinalCutPro) kostet ca. 1000 Euro. Für gebündelte Pakete zahlt man zwischen 3000
und 15000 Euro. Die billigsten Turnkeysysteme sind bereits ab 20000 Euro zu
erhalten. Für Turnkey-Compositingsysteme wie SoftImage|DS muss man mit mindestens 120000 Euro rechnen. [RF99, Hof99, WWW_A.R, WWW_upd]
2.3.3 Bearbeitungsmetaphern
Videoschnittsystemen
von
kommerziellen
Alle dem Autor bekannten Videoschnittsysteme, die derzeit kommerziell erhältlich
sind, basieren auf Spuren und Zeitleistenmodell zur Darstellung der Schnittoperationen.
Abbildung 2.8 zeigt die Benutzeroberfläche von Adobe Premiere
[WWW_Ado]. Videoeditoren verwenden eine grafische Benutzeroberfläche.
Die Bedienung erfolgt meist entsprechend des vom Fenstersystem des Betriebsystems vorgegeben Look’n’Feel. Einige Anbieter stützen ihre Systeme mit
eigenen Eingabegeräten aus, die in ihrer Bedienung der von Videoschnittkonsolen
nachempfunden werden soll, vor allem Navigationsoperationen im Video sollen
damit erleichtert werden (Jog/Shuttle Knöpfe, etc.).
Zu den wesentlichen Elementen der Benutzerschnittstelle: Im Fenster (1) ist
eine Liste verfügbarer Quellen abgebildet. Die meisten Systeme erlauben eine
hierarchische Anordnung der Quellen nach Art eines Dateibaums einer Verzeich-
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
Abbildung 2.9: Detail verus Übersicht bei Zeitleistendarstellung (Videomachine/FAST).
nisstruktur. Verzeichnisse heißen in diesem Fall jedoch Bins (Körbe).
Mittels eines Zeigegerätes (z.B. Maus) können die einzelnen Quellen nun aus
einem Bin auf eine der Spuren in der Zeitleiste (2) gezogen werden. Die Zeitleiste
ist das wichtigste Bedienelement. Mit Hilfe von ihr werden die einzelne QuellSequenzen zeitlich platziert. Meist werden das erste und das letzte Bild einer Sequenz dazu verwendet, den Inhalt einer auf der Zeitleiste platzierten Videoquelle
zu symbolisieren.
Zeitleistendarstellungen
Zeitleisten haben meist mehrere Video- und Audiospuren, die zum selben Zeitpunkt belegt sein können. Sind auf mehreren Videospuren gleichzeitig Videosequenzen platziert, so hat das die Bedeutung, dass die einzelnen Videospuren in
Schichten übereinander gelegt im Zielvideo dargestellt werden. Dies macht nur
Sinn, wenn die einzelnen Videospuren mit Transparenz versehene Einzelbilder enthalten.
Neben Video- und Audiospuren können auch andere Spuren in der Zeitleiste
enthalten sein. In diesem Beispiel ist es eine Effektspur. (3) definiert eine mit
einem Effekt versehene Überblendung zwischen den beiden Videosequenzen. Effekte müssen aber nicht bei allen Schnittsystemen in eigenen Spuren, sondern auch
in der Videospur dargestellt sein (single-track-effect).
Neben der Platzierung und Darstellung von einzelnen Quellen kann die Zeitleistendarstellung auch noch dazu verwendet werden, zeitabhängige Parameter einzustellen. So kann man zum Beispiel die Lautstärke bei Audiospuren direkt innerhalb der Spur einstellen (4).
Probleme von Zeitleistendarstellungen
Trotz ihrer verbreiteten Anwendungen haben Zeitleistendarstellungen Nachteile.
Computerbildschirme haben nur beschränkte Auflösung und Größe, daraus ergibt sich das Problem der Genauigkeit der Darstellung, welches in Konflikt mit der
Übersicht steht. Zum einen möchte man möglichst genau arbeiten können, wenn
möglich auf Einzelbildebene, d.h. etwa 25 Einzelbilder pro Sekunde. Zum anderen
möchte man aber auch den Überblick über ein längeres Projekt behalten, das womöglich eine halbe Stunde lang ist und aus vielen kurzen Videosequenzen besteht,
21
22
Grundlagen der Videobearbeitung
(a) Landkarten
Ansatz (Premiere/Adobe).
(b) Perspective Wall Ansatz (Judgement/Edios).
Abbildung 2.10: Zeitleistennavigation.
die vielleicht nicht länger als 30 Sekunden sind. Um dies zu erreichen, kann die
Zeitleistendarstellung in ihrer zeitlichen Auflösung variiert werden, was als Zoom
bezeichnet wird. Stellt man die Auflösung zum Beispiel auf Einzelbildauflösung
ein, kann man zwar bildgenau arbeiten, am Bildschirm wird aber weniger als eine
Minute, meist gerade ein paar Sekunden vom Gesamtvideo angezeigt. Stellt man
die Auflösung so ein, dass die Anordnung aller Quellen dargestellt wird, gehen womöglich nur kurz dauernde Sequenzen in der Darstellung verloren. Abbildung 2.9
zeigt eine Illustration dieser Probleme an einem ähnlichen Beispiel.
Erst kürzlich haben Hersteller von Videoschnittsystemen diese Problematik
aufgegriffen. Zwei Lösungsansätze sollen erwähnt werden:
Adobe Premiere stellt ein Werkzeug zur Verfügung, das eine Lankartendarstellung der gesamten Zeitleiste darstellt, siehe Abbildung 2.10a. Der in der Zeitleiste
sichtbare Bereich wird durch einen Rahmen markiert. Mit Hilfe des Rahmens kann
auch innerhalb der Zeitleiste navigiert werden.
Judgement von Eidos Technologies [WWW_Eid] greift den Perspective-WallAnsatz aus dem Bereich Information Visualization [RCM93] auf. Die Zeitleiste
wird dreidimensional dargestellt, wobei die aktive Position im Vordergrund steht.
Durch die perspektivische Darstellung, wird die aktive Position detaillierter dargestellt, als die zur Seite kleiner werdenden restlichen Regionen des Videos, die
jedoch trotzdem vollständig dargestellt werden können, siehe 2.10b.
Weiter zu erwähnen ist noch die fehlende Möglichkeit zur Strukturierung. Dies
ist aber weniger ein Problem der Darstellung, sondern vielmehr ein Problem des
Zeitleistenmodells an sich.
Storyboard
Während die Zeitleistendarstellung die zeitgetreue Darstellung von Video ermöglicht, erlauben einige Schnittprogramme auch die Darstellung des Videos als Storyboard. Jede Quelle wird mit einem repräsentativen Einzelbild (meist das erste)
bzw. bei Objekten die keine Video-Quelle darstellen mit einem entsprechenden
Symbol. Die Darstellung erfolgt mit einer festen Länge. Abbildung 2.11 stellt eine
Storyboarddarstellung bei AVID dar.
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
Abbildung 2.11: Storyboard (VideoShop/Avid).
Abbildung 2.12: Monitor (Premiere/Adobe).
Monitor
Wie erfolgt die (Vorschau-)Darstellung des erzeugten Videos und wie werden Sequenzen aus längeren Quellen gewählt? Hier gibt es zwei Möglichkeiten: entweder
das Schnittsystem verfügt über einen oder mehrere zusätzliche Bildschirme, auf denen das Material dargestellt wird oder die Anzeige erfolgt in einem gewöhnlichen
Fenster der Anwendung (5).
Hat man eine bestimmte Anordnung von einem Quell- und einem Zielbildschirm zur Darstellung, bzw. zwei explizite Fenster, nennt man diese Einrichtung
Monitor, siehe Abbildung 2.12. Mit Hilfe des Monitors und der Tastatur lassen
sich 3-Punkt-Edits realisieren. Auf der linken Anzeige, der Quelle, markiert man
im Videorecorderstil Anfangs- und Endpunkt der einzufügenden Sequenz. Am
Zielmonitor positioniert man dann an der Stelle im Zielvideo, wo die Sequenz
eingefügt werden soll. Diese Art der Bearbeitung kommt noch aus der Zeit vor
grafischen Benutzerschnittstellen.
Ein anderer Einsatzbereich, wo oft zwei gegenübergestellte Anzeigen zweier Sequenzen verwendet werden, sind ’trim/ripple’-Operationen. Hierbei geht es
darum, eine Feinabstimmung zwischen Endpunkt und Anfangspunkt zweier benachbarter Sequenzen durchzuführen.
Canvas
Als letztes Benuterschnittstellenelement soll hier der Canvas, siehe Abbildung 2.13
erwähnt werden. Der Canvas ist eine Art erweitertes Vorschaufenster. Mit seiner
Hilfe wird die räumliche (2D-)Anordnung von Quellen festgelegt. Canvase eignen
23
24
Grundlagen der Videobearbeitung
Abbildung 2.13: Canvas (VideoShop/Avid).
sich auch zur Festlegung von komplexen Masken zur Erzeugung von transparenten
Zonen in einzelnen Videospuren.
2.3.4 Akademische Systeme
In diesem Abschnitt sollen vier verschiedene Forschungsrichtungen und Forschungsarbeiten im Zusammenhang mit der Zusammenstellung und Bearbeitung
von Video vorgestellt werden.
Authoring
MAD steht für Movie Authoring und Design. MAD stellt Möglichkeiten zur Verfügung, um aufbauend auf top-down- und bottom-up-Techniken sowie hierarchischer
Gliederung die Erzeugung von Filmen (Video) von der anfänglichen Idee, über das
Drehbuch, bis hin zu einer möglichen Realisierung helfend zu begleiten. Ausgangspunkt ist die Beschreibung durch ein Multimediadokument, das Text-, Bild-,
Video- und Tonresourcen einschließen kann, siehe Abbildung 2.14a. Dieses Dokument beinhaltet in seiner Struktur bereits eine zeitliche Komponente und kann
zu jeden Zeitpunkt im Erzeugungsprozess des Films abgespielt werden. Neben der
Sicht als hierarchisches Dokument wird auch die Darstellung als Storyboard zur
Verfügung gestellt, siehe Abbildung 2.14b. Eine wichtige Eigenschaft von MAD
ist, dass fertiges Videomaterial jederzeit in das Drehbuch aufgenommen werden
kann. Von bereits aufgenommenen Videosequenzen kann aber auch umgekehrt ein
Storyboard zusammen gestellt werden. Einzelne Szenen können mit Text und Ton
annotiert werden. [BRF+ 96]
Noch zu erwähnen wäre in diesem Zusammenhang Video Mosaic. Video
Mosaic ist ebenfalls ein Authoringsystem, das den Entwurf von Storyboards ermöglicht, die Text, Bilder aber auch Video enthalten können und mächtigere Beschreibungsmöglichkeiten erlauben, als die üblichen Papier-basierten Storyboards.
[MP94]
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
(a) Drehbuch Sicht.
(b) Storyboard-Sicht.
Abbildung 2.14: Movie Authoring and Design (MAD).
Compressed Video Editing
Digitales Video wird oft in komprimierter Form gespeichert. Um es zu bearbeiten muss, es für gewöhnlich erst in eine unkomprimierte Form gebracht werden.
Nach der Durchführung von Änderungen, wie der Anwendung von Effekten oder
dem Mischen mehrerer Videosequenzen, muss das resultierende Video zur Speicherung komprimiert werden. Für Kompression und Entkompression sind meist
zeitaufwändige mathematische Berechnungen nötig. Nicht selten sind beide Richtungen auch asymmetrisch zueinander, was den Zeitbedarf betrifft. Durch wiederholte Kompression und Entkompression kommt es außerdem, sofern verlustbehaftete Algorithmen verwendet werden, zu einem sich kumulierenden Verlust in der
Bildqualität.
Eine Abhilfe für dieses Problem ist die Durchführung der Bearbeitungsvorgänge direkt am komprimierten Bild bzw. Video ohne den Zwischenschritt der Entkompression bzw. Kompression. Dadurch kommt es einerseits zu Zeitersparnis und
andererseits kann bei bestimmten Manipulationen der Qualitätsverlust vermieden
werden. [SS98] beschreibt in seiner Veröffentlichung blockbasierte Manipulation
auf transformations-komprimierten Bildern und Videos.
In [MC96] wird ein Schnitt- und Analysesystem für Video vorgestellt, das im
komprimierten Raum arbeitet. MPEG-Videos werden analysiert, um Schlüsselbilder zu bestimmen oder Objekte im Bild zu extrahieren. Die durch die Schlüsselbilder repräsentierten Videosequenzen können hierarchisch sortiert dargestellt
werden. Aus einzelnen Sequenzen des komprimierten Videos können neue Videos
zusammengestellt werden, wobei auch visuelle Effekte angewandt werden können.
Zu Berücksichtigen ist dabei die Eigenschaft von MPEG-Videoströmen, die aus
GOP-(Group of Pictures)-Einheiten bestehen. Mehrere Einzelbilder werden wegen der Inter-Frame-Codierung zusammengefasst und bilden eine Einheit (GOP).
Um innerhalb dieser GOP schneiden zu können, müssen die GOP-Einheiten aufgeteilt und neu zusammengesetzt werden, ebenfalls kein trivialer Vorgang.
History Based Editing
In [CMNY98] wird das Videoschnittsystem ’Zodiac’ präsentiert, das auf einer Arbeitshistorie basiert. Die Autoren gehen davon aus, dass der wichtigste Schritt
beim Schneiden von Video die Auswahl der Quell-Sequenzen ist. Im Laufe des Zusammenstellens des Videos wird der Bearbeiter oftmals die verwendeten Quellen
25
26
Grundlagen der Videobearbeitung
ändern, sei es dabei die Quellen selber oder nur ihre zeitliche Anordnung. Über jeden Arbeitsschritt wird vom System Protokoll geführt. Der Bearbeiter kann jederzeit mittels Undo in der Arbeitshistorie zurückwandern. Die Arbeitshistorie wird
als Baum abstrahiert dargestellt. In Erweiterung zu normalen Undo-Mechanismen
kann der Benutzer jederzeit in diesem Baum die Position wechseln und seine Arbeit an einer anderen Stelle wieder aufnehmen. Die Publikation beschreibt auch
eine Möglichkeit, aus der Historie, auf die Struktur der bearbeiteten Quellvideos
schließen zu können und somit Schnitterkennung zu betreiben.
Hierarchical Editing
[UM96] beschreibt ein System zum hierarchischen Zusammenstellen von Video.
Ausgehend von einer automatischen Szenentrennung der Quellvideos während des
Importierens des Videos in das Schnittsystem, werden die einzelnen erkannten Sequenzen als Micons (moving icon) dargestellt. Der Benutzer kann Micons aus
einem Poolfenster entnehmen und zu einem Baum zusammenstellen, wobei die
einzelnen Sequenzen die Blätter des Baumes repräsentieren. Einzelne Sequenzen
werden zu Gruppen zusammengefasst. Die Sequenzen einer Gruppe werden im Video hintereinander, gestellt wiedergegeben. Die Baumstruktur ergibt sich, indem
Gruppen und Sequenzen wieder untereinander zusammengefasst werden können.
Die Visualisierung des Baumes erfolgt in 2D, wobei jedoch die einzelnen Knoten, als Micon dargestellt, eine Tiefe haben, die der kumulierten Länge der Kinder
entsprechen. Die einzelnen Knoten im Baum können textuell annotiert werden.
2.3.5 Video-Indexing und Video-Browsing
Organisationen, wie Nachrichtenagenturen oder Fernsehgesellschaften, müssen
nicht selten mit mehreren tausend Stunden an neuen Aufzeichnungen, welche täglich anfallen, umgehen können. Angesichts dieser Fülle von Information stellt sich
die Frage, wie man effektiv und schnell zu einem späteren Zeitpunkt auf Material
im Archiv zugreifen kann. Hierbei ist die Art und Weise der Archivierung oder
Ablage weniger das Problem, sondern viel mehr wie man für die Anforderung
des Archivkunden das passende Video finden kann. Die Erforschung von textuellen und visuellen Suchsystemen ist ein aktuelles Arbeitsgebiet in der Informatik.
Die Tatsache, dass Video ein wenig strukturiertes Medium ist und Metainformationen bezüglich des Videos fast nie vorhanden sind, erschwert die Entwicklung
von Videosuchsystemen. Bilderkennung ist berechnungsintensiv und noch in seinen Anfängen. Annotation von Video durch den Menschen selbst, mit Werkzeugen
wie [Dav93] (eine visuelle Annoationssprache und computergestütztes Werkzeug
zum Annotieren von Video), benötigt teuere Humanresourcen. Angesichts der
Tatsache, dass Suchabfragen selbst meist eine große Anzahl von Treffern liefern
(als Vergleich mag hier die Treffergenauigkeit von Web-Suchmaschinen angeführt
werden), betreibt man alternativ verstärkt Forschung um Video-Browsing, also die
Möglichkeit Video schnell aber zugleich möglichst umfassend sichten zu können.
Einfache Browsingverfahren
Die einfachste Form, Video-Browsing zu betreiben, ist mit schnellem Vor- und
Rücklauf des Videorecorders. Keine befriedigende Lösung, aber zu Zeiten analoger Videotechnik und Aufzeichnung auf Band die einzige Möglichkeit. Mit Einführung der analogen Aufzeichnung auf Plattenspeicher konnte ein wahlfreier Zu-
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
griff realisiert werden und Video konnte durch Überspringen von mehreren Einzelbildern in Echtzeit gerafft dargestellt werden. Wei Ding beschreibt in [DMT97]
Untersuchungen über die Aufnahmefähigkeit im Sinne von Verständnis und Identifikation von Objekten in Video, welches mit einer verschieden Anzahl von Einzelbildern pro Sekunde gerafft dargestellt wird. Ab 12 Einzelbildern pro Sekunde
konnte ein signifikanter Abfall der Fähigkeit beim Benutzer, Objekte im Video zu
identifizieren festgestellt werden.
Die Ära der digitalen Videotechnik und Computer mit grafischer Benutzeroberfläche eröffnet andere Möglichkeiten zum Video-Browsing. Wesentlich ist,
dass ohne weiterem technischen Aufwand mehrere Einzelbilder räumlich verteilt
gleichzeitig am Bildschirm dargestellt werden können.
In [MCW92] wird ein ’Magnifier Tool for Video Data’ vorgestellt. Das Werkzeug stellt eine Videosequenz als ein horizontales Storyboard da. Der Anwender
kann ein Einzelbild im Storyboard auswählen, und sich, die durch das Einzelbild
repräsentierte Sequenz, als weiters Storyboard unterhalb der aktuellen darstellen
lassen. Diese Vergrößerungsoperation lässt sich bis auf Einzelbildebene fortsetzen.
Der ’Video Streamer’ in [ED94] stellt eine Videosequenz als ein dreidimensionales schiefes rechteckiges Prisma dar. Erreicht wird die Darstellung, indem man
die Einzelbilder des Videos räumlich hintereinander als Stapel anordnet. Es werden aber nur eine bestimmte Anzahl von Bildern gleichzeitig dargestellt. Durch
das Abspielen des Videos werden von vorne neue Einzelbilder in den Stapel hinzugefügt und von hinten entnommen. Weiter hinten liegende Einzelbilder sind von
ihren Vorgängern verdeckt, durch die dreidimensionale Anordnung sind jedoch die
Kanten sichtbar. An Hand des durch die hintereinander angeordneten Kanten erzeugten Musters, kann auf Schnitte im Video geschlossen werden.
Inhaltsgesteuerte Browsingverfahren
Die bereits angeführten Arten des Video-Browsings berücksichtigen nicht den Inhalt des Videos. Die angezeigten Einzelbilder werden in gleichmäßigem Abstand
vom Video entnommen. Inhaltsgesteuerte Browsingverfahren ermöglichen das
Browsen von Video, basierend auf einer vorangegangen Analyse des Videoinhaltes. Mittels Techniken des Video-Indexing wird das Video in Schlüsselbilder zerlegt, die etwa Schnitte zwischen Szenen darstellen können, Sequenzen im Video
mit viel Veränderung und somit mehr Informationsgehalt bestimmen oder repräsentativ für andere Einzelbilder stehen können.
Zur Schnitterkennung und Segmentierung von Video in zeitliche wie auch in
räumliche Objekte existieren verschiedene Ansätze. Eine häufig angewandte Technik beruht auf den Vergleich von Farbhistogrammen aufeinander folgender Einzelbilder. [JHEJ98] gibt einen guten Überblick über diese Technik. Beachtlich ist
in diesem Zusammenhang, dass die Histogrammtechnik auch im komprimierten
Raum möglich ist.
Hampapur beschreibt in [HJW95] die Methode der Analyse von Videosequenzen, aufbauend auf einem Modell, das die immanente Strukturierung von Video
durch dessen Herstellung mittels Videoschnitt berücksichtigt.
[KD98] und [DKD98] verwenden mehrdimensionale Kantenzüge ’VideoTrails’ bzw. Kurven zur Analyse und Visualisierung von Videosequenzen. Indem
man aus den Einzelbildern bestimmte Parameter berechnet, bekommt man einen
Satz ’time depended feature vectors’, die die Stützpunkte einer Kurve im Raum
27
28
Grundlagen der Videobearbeitung
bestimmen. Aus der Form der Kurve lässt sich die Struktur des Videoinhaltes bestimmen. Kurvendarstellungen sind robuster im Vergleich zu Segmentierungen,
die auf den Vergleich von Einzelbilder beruhen und für Störungen im Bild wie
schwankende Lichtstärke und Lichtblitze anfällig sind.
Christel [CSTW98] erzeugt automatisch Zusammenfassungen von Videosequenzen, indem durch Analyse von Video und Audio jene Passagen herausgefiltert werden die für den Inhalt des Videos repräsentativ sind. Die Passagen werden
dann zusammengeschnitten und ergeben die Zusammenfassung des Videos. Die
Wiedergabe erfolgt in normaler Abspielgeschwindigkeit.
Macer [MTCM96] verwendet Schnitterkennung zur automatischen Generierung von Storyboards. In seiner Veröffentlichung vergleicht er sein automatisch
generiertes Storyboard mit dem original Storyboard aus der Vorproduktion beide
überdecken sich annähernd.
’RFrames’ (Repräsentative Einzelbilder) sind Armans [ADHC94] Ansatz zum
inhaltsbasierten browsen von Videosequenzen. Ein RFrame repräsentiert eine Untersequenz im Video. Der RFrame ermöglicht dem Benutzer vier Tätigkeiten: Inhaltsbestimmung, Überprüfung der automatischen Schnitterkennung, Bewegungsabschätzung innerhalb der Sequenz und Längenbestimmung der Sequenz. Das
Browsingsystem erzeugt aus dem darzustellenden Video automatisch RFrames und
ermöglicht dem Benutzer, diese nach zeitlicher Abfolge oder Ähnlichkeit untereinander zu sichten.
Tonomura [TAOS93] stellt Video als ’VideoMAP’ und ’VideoSpaceIcon’ dar.
Eine VideoMAP gibt Überblick über verschiedene Eigenschaften des Videos in
zeitlicher Abhängigkeit, wie Farbhistogramm, durchschnittliche Intensität, usw.
VideoSpaceIcons sind eine räumliche Darstellung des Videos. Das VideoSpaceIcon wird dadurch erzeugt, indem man die Einzelbilder eines Video entlang einer
Tiefenachse zeitlich anordnet; die Besonderheit: Größe und Position der Einzelbilder werden variiert, um die Position und die Objektiveinstellungen der aufnehmenden Kamera nachzustellen.
Video-Browsing an der Abteilung Telekooperation
An der Abteilung Telekooperation wird ein Ansatz zum hierarchischen VideoBrowsing verfolgt, der auf einem im Vorlauf durchgeführten Video-Indexing basiert. In [MMVG98] wurden Anforderungen an einen solchen Ansatz angeführt
und ein Prototyp, der gemeinsam mit der Firma Obvious Technology entwickelt
wurde, vorgestellt.
Im weiteren Verlauf, jedoch unabhängig vom Vorprojekt, wurde ein Browser
entwickelt, der hierarchisches Video-Browsing im Web ermöglicht. Dieser Browser ist in [VMM99] präsentiert worden. Die Darstellung basiert auf VRML.
Video-Content-Trees (VCT) [Man98] sind ebenfalls der Forschungsarbeit an
der Abteilung Telekooperation entsprungen. Video-Content-Trees sind eine animierte an Cone-Trees[RMC91] angelehnte Visualisierung von hierarchisch gegliederten Einzelbildern eines Videos, siehe Abbildung 1.1 in Abschnitt 1.2. Mittels
eines auf MPEG und im komprimierten Raum arbeitenden Indexing-Verfahrens
wird für jedes Einzelbild eine Gewichtung berechnet. Die Gewichtung gibt an,
wie groß der Unterschied im Bildinhalt zwischen ihm und seinen Vorgänger ist.
Ausgehend von den berechneten Gewichtungen werden jene Einzelbilder mit dem
größten Gewicht selektiert, wobei die Anzahl wählbar ist. Jedes selektierte Einzelbild entspricht einer Untersequenz, die bis zum nächsten selektierten Einzelbild
2.3 Ausgewählte Videobearbeitungssysteme und -komponenten
reicht. Für jede Untersequenz wird dieser Auswahlschritt wiederholt. Es entsteht
eine Hierarchie aus Videosequenzen. Diese Hierarchie wird im dreidimensionalen
Raum visualisiert, siehe Abschnitt 4.1.
In [TMM99] wird eine Erweiterung des [Man98] vorgestellten Browsers präsentiert. In der ersten Version war der Browser für eine gewöhnliche, nichtimmersive Grafik-Workstation implementiert. Die zweite Version, ein Nebenprodukt dieser Diplomarbeit, ermöglicht das explorieren der VCT-Darstellung in der
immersiven CAVE-ähnlichen Umgebung des VR-Centers.
29
Kapitel 3
Schnittgraphenmodell
Da für die Visualisierung und Bearbeitung des Videos eine Graphenstruktur verwendet werden soll, musste zuerst ein passendes Modell gefunden werden. Da aber
kein den Kriterien (siehe Abschnitt 3.1) entsprechendes Modell gefunden werden
konnte, wurde mit den Schnittgraphen eine neue Lösung entwickelt. Schnittgraphen sind kein revolutionär neuer Ansatz, vielmehr verbindet das Modell Vorteile
bereits bestehender Ansätze.
Dieser Abschnitt beschreibt die Kriterien, die vom Modell erfüllt sein sollten.
Es werden Aufbau und Eigenschaften der Schnittgraphen erläutert. Ebenfalls wird
erklärt, wie aus Schnittgraphen und Rohmaterial ein neues Video zusammengestellt werden kann.
3.1
Kriterien
Folgende Kriterien müssen vom Modell erfüllt werden:
K-1 Graphenbasiertes Modell: Beim Video-Content-Tree Ansatz wird das Video
als Graph dargestellt und intern als solcher modelliert. Da in erster Linie
dieser Ansatz weiter entwickelt werden sollte, sollte das Modell ebenfalls auf
einen Graphen aufbauen.
K-2 Hierarchische Bearbeitung: Ein weiteres wichtiges Kriterium war, dass das
Modell eine hierarchische Anfertigung des Zielvideos ermöglichen sollte. Ein
Video besteht meist aus mehreren Szenen, einzelne Szenen können zu Gruppen zusammengefasst werden und Gruppen selbst wieder zu neuen Gruppen.
Damit soll bei größeren Projekten der Überblick gewahrt bleiben.
K-3 Modifikation des Inhaltes: Wie bei den meisten NLE-Systemen möglich, soll
die Bearbeitung des Videos über das reine Aneinanderfügen von Sequenzen
hinausgehen. Das Rohmaterial soll durch Effekte modifizierbar werden. Für
das Modell bedeutet dies, dass Möglichkeiten geschaffen werden müssen, diese Manipulationen zu definieren.
K-4 Verarbeitung von Audio: Video wird meist in Begleitung von Audio abgespielt. Neben Video soll auch Audio als zweites Medium vom Modell erfasst
werden.
32
Schnittgraphenmodell
K-5 Dynamische Zusammensetzung: Das entstandene Video soll in seiner Zusammensetzung dynamisch veränderbar sein, und zwar dadurch, dass bestimmte
Szenen entfernt oder hinzugefügt werden. Dies soll zum Beispiel durch einen
global zu definierenden Wert realisiert werden. Von einer fertiggestellten Bearbeitungsvorschrift können dadurch verschiedene Videos hergestellt werden.
Dieses Kriterium ist durchaus sinnvoll: Im Fernsehen werden oft Videos in
einer bestimmten Länge gebraucht. Damit die Sendeanstalt nicht jedes Mal
selbst das Video neu zusammenstellen muss, ermöglicht die dynamische Zusammenstellung, dass von einem Video Alternativen in bestimmten Längen
zur Auswahl sind. Dasselbe gilt auch, wenn es darum geht, Teile aus einem
Video zu entfernen, die für das Publikum nicht geeigneten Inhalt haben. Der
Autor kann mit Hilfe der dynamischen Zusammensetzung die nötigen Kürzungen bereits im vorherein selbst bestimmen.
K-6 Keine absolute Positionierung: Um die Bearbeitung möglichst einfach und
im späteren Verlauf problemlos modifizierbar zu machen, darf keine absolute
Positionierung, wie es beim Zeitleistenmodell der Fall ist, verwendet werden.
Einzelne Quellen sollen nur zueinander in Abhängigkeit stehen und nicht zu
einer globalen Zeitachse.
K-7 Unabhängig vom Zielformat: Die meisten NLE verlangen bei der Anfertigung eines neuen Videos zuerst die Angabe des Zielformates. Eigenschaften
wie Bildgröße, Bildrate oder Zielmedium sollten unabhängig von dem hergestellten Video bzw. der Bearbeitungsvorschrift gehalten sein.
K-8 Einfache Struktur: Das Modell für die Bearbeitung des Videos darf im Hinblick auf die nötige Visualisierung und Bearbeitung durch einen Benutzer (im
dreidimensionalen Raum) keine zu komplexe Struktur haben.
3.2
Aufbau und Eigenschaften
Schnittgraphen sind ein Graphenmodell zur Beschreibung von Bearbeitungsvorschriften um aus Rohmaterial neue Videos anzufertigen. Die Bezeichnung Schnittgraph lehnt sich an die des Szenegraphen an.
Szenegraphen sind Datenstrukturen, die zur Beschreibung einer Szene bei
der Berechnung von dreidimensionalen Grafiken angewandt werden, siehe Abbildung 3.1. Der Begriff wurde von 3D-Programmierbibliotheken wie OpenInventor
[Wer94], oder der 3D-Modellierungssprache VRML [VRM97] geprägt. Szenegraphen bestehen aus einer Menge geordneter Knoten. Jeder Knoten enthält bestimmte Informationen, etwa zur Positionierung (z.B. Rotation oder Translation)
von Objekten, zur Definition von Objektattributen (z.B Farbe oder Textur) oder
zur Definition von grafischen Primitiven (z.B. Würfel, Flächen oder Linien). Zur
Darstellung einer Szene wird zuerst ein Szenegraph aufgebaut. Der komplette Szenegraph wird dann von der Programmierbibliothek interpretiert und am Bildschirm
dargestellt.
Schnittgraphen bestehen ebenfalls aus einer Menge von Knoten, die, wie bereits gesagt, einen Graphen bilden. Die Anordnung der Knoten im Graph besitzt
eine spezielle Struktur, die eines Baumes. Ein Baum [OW93] ist ein gerichteter und
azyklischer Graph und besitzt eine Wurzel, innere Knoten und Blattknoten. Sowohl
innere Knoten, als auch Blattknoten können die Wurzel des Graphen bilden. Ist ein
3.2 Aufbau und Eigenschaften
33
waterMolecule
hydrogenXform1
redPlastic
hydrogen2
hydrogen1
oxygen
sphere1
sphere2
whitePlastic
(a) Szenegraph.
sphere3
hydrogenXform2
(b) Szene.
Abbildung 3.1: Ein Inventor Szenegraph und die gerenderte Szene.
Blattknoten die Wurzel, besteht der Graph nur aus einem Knoten. Blattknoten unterscheiden sich von inneren Knoten darin, dass sie selbst keine weiteren Knoten
als Kinder enthalten können.
Schnittgraphen werden depth-first gelesen, d.h. von oben nach unten, und von
links nach rechts.
Wie beim Szenegraph trägt jeder Knoten bestimmte Informationen. Ein Knoten ist immer von einem bestimmten Knotentyp. Der Knotentyp bestimmt die Art
der Information, die ein Knoten enthalten kann. Die Informationen, die der Knoten
enthält, werden im weiteren Verlauf als Attribute bezeichnet. Ausgehend von der
Einteilung in innere Knoten und Blattknoten können die unterschiedlichen Knotentypen in diese zwei Klassen eingeteilt werden, siehe Abbildung 3.2.
Jeder Knoten in einem Schnittgraphen repräsentiert einen Videostrom sowie
einen dazu synchronen Audiostrom (AV-Objekt). Blattknoten sind die Quellen im
Graph. Die durch die Blattknoten repräsentierten AV-Objekte werden von inneren
Knoten beeinflusst. Innere Knoten können nicht nur Blattknoten als Kinder enthalten, sondern auch wieder innere Knoten. Damit können mehrere Manipulationen
hintereinander ausgeführt werden und Hierarchien erzeugt werden.
In den folgenden zwei Abschnitten werden diese zwei Klassen dargestellt, eine
ausführlichere Betrachtung ausgewählter Knotentypen erfolgt in Abschnitt 3.3.
3.2.1 Blattknoten
Wie bereits erwähnt, repräsentieren Blattknoten AV-Objekte. Je nachdem, wie diese Objekte bei der Generierung eines Videos erzeugt werden, kann man zwischen
verschiedenen Untertypen von Knoten unterscheiden.
Es kann sich um Objekte handeln, die nach einer bestimmten Vorschrift generiert werden. Ein Testbild mit Sinus-Schwingung als Audio, ein Text-Insert oder
auch eine 3D-Szene, wie für ein virtuelles Studio erzeugt, sind Beispiele für diese
Klasse von Knoten.
Die Objekte können aber auch einer Video- oder Audioquelle entsprechen. Bei
der Quelle kann es sich um eine Datei, aber auch um ein bestimmtes Band handeln. Es könnte aber auch genauso eine Sequenz aus einem Film sein. Knoten, die
digitalen Einzelbildern entsprechen, gehören auch zu dieser Kategorie.
34
Schnittgraphenmodell
Knoten
Blattknoten
innere Knoten
passive Knoten
aktive Knoten
Transitionen
Parameter
Sequenz
Effekt
Misch
Schalt
Generator
Quell
Referenz
Abbildung 3.2: Hierarchische Klassifikation der Knotentypen.
Blattknoten können auch Referenzen auf andere Knoten in einem Szenegraphen darstellen, womit Teile anderer Szenegraphen bzw. Teile im selben Szenegraphen wiederverwendet werden können (zyklische Referenzen sind nicht erlaubt;
bei den Referenzen handelt es sich nicht um eine Kante im Graphen).
3.2.2 Innere Knoten
Bei den inneren Knoten können zunächst drei Typklassen unterschieden werden:
aktive Knoten, passive Knoten und als Sonderfall Transitionen.
Die größte Klasse von Knoten sind aktive Knoten. Hierzu zählen Knoten, die
Manipulationen auf AV-Objekte definieren oder die über mehrere Kinderknoten
bestimmen, wie Mischknoten, Sequenzknoten oder Schalterknoten.
Knoten, die direkte Manipulationen auf den Inhalt von Kinderknoten definieren, werden unter Effektknoten zusammengefasst. Manipulationen hierbei können vielfältiger Art sein: Beim Videoanteil sind Transformation des Bildes im
Raum oder Veränderungen im Farbraum denkbar, beim Audio Veränderung der
Amplitude oder des Frequenzspektrums. Effektknoten die Veränderungen im zeitlichen Ablauf des ganzen Objekts bewirken zählen ebenfalls dazu. Knoten können
Anfangs- und Endeattribute haben. Effekte, die in Abhängigkeit der Dauer, den
Wert zwischen mehreren Attributen interpolieren, sind damit möglich.
Sequenzknoten ermöglichen die zeitliche Reihung von Kinderknoten. Mischknoten ermöglichen das Mischen von mehreren Kindern parallel ohne zeitliche
Reihung. Schaltknoten ermöglichen eine Auswahl zwischen alternativen Zweigen
beim Rendern des Videos. Im Vergleich zu Schnittsystemen, die alternative Quellen im Zusammenhang mit dem Einsatz von gleichzeitigem Aufzeichnen mehreren Kamerapositionen erlauben, haben Schalterknoten bei Schnittgraphen keine
Beschränkung, was eine unterschiedliche Dauer der Alternativen betrifft.
Passive innere Knoten sind Knoten, die selbst keine Änderung am AV-Objekt
durchführen, aber Attribute für andere Knoten definieren. Ein Beispiel für diese
Art von Knoten sind Parameterknoten.
Transitionen sind spezielle Kinder von Sequenzknoten. Sie definieren den
Übergang zwischen AV-Objekten von zwei benachbarten Kinderknoten innerhalb
eines Sequenzknotens.
3.2 Aufbau und Eigenschaften
3.2.3
Repräsentation von Zeit
Video ist ein sequenzielles und zeitbestimmtes Medium. Schnittgraphen müssen
diese Eigenschaft ebenfalls beachten. Wie wird Zeit in Schnittgraphen behandelt?
Schnittgraphen verwenden eine kontinuierliche Repräsentation von Zeit. Die
Zeiteinheit ist eine Sekunde. Die Genauigkeit der Auflösung ist im Modell nicht
begrenzt, sie ist erst beim Erstellen des Videos durch dessen Bildfrequenz beschränkt. Jeder Knoten besitzt eine absolute Dauer in Sekunden, die als Attribut
gesetzt ist und möglicherweise auch durch die Dauer seiner Kinder bestimmt ist.
K-6 verlangt die relative Positionierung der einzelnen AV-Objekte.
Um eine zeitliche Abfolge erreichen zu können, existieren Sequenzknoten und
Transitionsknoten. Die absolute Dauer eines Knotens alleine liefert jedoch keine
mächtige Möglichkeiten zur Beschreibung von Abfolgen. Deswegen kann die Dauer der einzelnen Knoten noch nach einer Gewichtungsfunktion vergrößert werden.
Vorbild dafür waren Layoutmanager von grafischen Benutzerschnittstellen, die
einen ähnlichen Mechanismus für die räumliche Anordnung von Benuterschnittstellenelementen erlauben, z.B. grid geometry manager von Tcl/Tk [WWW_Tcl].
Zur Realisierung dieses Mechanismus besitzt jeder Knoten ein zusätzliches numerisches Attribut. Nimmt dieses einen Wert ungleich Null an, so bekommt der
Knoten zusätzliche Zeit zugeteilt. Dieser Mechanismus wird ausführlich in Abschnitt 3.4 erklärt.
3.2.4
Vergleichbare Ansätze
Betrachtet man das Modell der Schnittgraphen genauer und vergleicht es mit Entwicklungen im kommerziellen, wie auch im akademischen Bereich, so findet man
bald Ähnlichkeiten mit objektorientierten Ansätzen zur Beschreibung von Multimedia.
Das in Abschnitt 2.2.3 beschriebene OMFi verwendet beispielsweise
Composition-Mobs zur Beschreibung zusammengesetzter Medienobjekte. Ähnlich zu den unterschiedlichen Knotentypen bei den Schnittgraphen existieren
verschiedene Objekte zur Anfertigung geschachtelter, mit Effekten bereicherter,
Schnittbeschreibungen. Im Vergleich zu Schnittgraphen haben die einzelnen Objekte jedoch eine feste Dauer. Weiterhin existieren Einschränkungen bezüglich der
Medieneigenschaften innerhalb der Struktur eines Composition-Mobs. Nur das
Wurzelobjekt kann unterschiedliche Medientypen enthalten.
Der MPEG-4 Standard [WWW_Mov] verwendet ebenfalls eine auf einen azyklischen Graphen basierende hierarchische Struktur zur Beschreibung einer Szene,
die aus einzelnen audiovisuellen Objekten besteht. Eines der Ziele von MPEG-4
ist die bessere Übertragung von Video. Dadurch, dass das Video aus einzelnen
Objekten besteht, können diese entsprechend den Erfordernissen unterschiedlich
codiert werden und dadurch bessere Ergebnisse, bezüglich Übertragung und Qualität, erreichen. MPEG-4 soll auch eine bessere Wiederverwendung von Video
ermöglichen. Die einzelnen Objekte, können zu unterschiedlichen Szenen zusammengesetzt werden.
Zusammengesetzte Multimediaobjekte mit dynamischer Dauer sind ebenfalls
keine Neuheit. Hamakawa beschreibt in [HR93] ein Modell zum Zusammensetzen
von Multimediadaten, dass das Konzept von temporal glue verwendet. Temporal
glue, zeitlicher Kleber, ist eine Erweiterung des Klebers des Textverarbeitungsprogramms TEX. Multimediaobjekte haben eine gekürzte, normale oder gestreckte
35
36
Schnittgraphenmodell
Dauer. Es existieren verschiedene Steuerungsobjekte, welche die zeitliche Ausrichtung der Multimediaobjekte, basierend auf ihrer variablen Dauer, bestimmen.
Mit Hilfe zusätzlicher, definierbarer Einschränkungen können auch komplexere
zeitliche Zusammenhänge modelliert werden.
Beim Vergleich mit Synchronisationsmodellen im Bereich Multimedia hat
das Schnittgraphenmodell Ähnlichkeit mit der hierarchischen Synchronisation von
Multimediaströmen [BS96]. Synchronisation hat das Ziel bei der Wiedergabe verschiedener Medienströme, die möglicherweise unterschiedliche Zeitbasen haben,
diese an gemeinsamen Synchronisationspunkten auszurichten. Die hierarchische
Synchronisation ermöglicht es, verschieden Medien entweder neben- oder hintereinander anzuordnen. Zueinander angeordnete Medienströme bilden Gruppen, die
wiederum zu anderen Gruppen oder Strömen angeordnet werden können. Es bildet sich dadurch eine hierarchische Struktur. Die Misch- und Sequenzknoten des
Schnittgraphenmodells definieren eine ähnliche hierarchische Synchronisation.
Microsoft DirectX Media [WWW_Mic98], eine Programmierschnittstelle zur
Wiedergabe, Manipulation und Aufnahme von digitalen Video- und Audioströmen
baut auf dem Konzept von Filtergraphen auf. Ein Filtergraph besteht aus steckbaren Komponenten, die als Filter bezeichnet werden. Ein Filter ist entweder eine
Datenquelle, eine Datensenke oder eine Komponente, die eine Transformation auf
einen Datenstrom durchführt. Ein Schnittgraph repräsentiert einen ähnlichen Datenstrom, vor allem im Hinblick auf das Rendern eines Schnittgraphen zu einem
Video.
3.3
Wichtige Knotentypen
Während im vorhergehenden Abschnitt ein Überblick über die Schnittgraphen und
die verschiedenen Klassen von Knotentypen gegeben wurde, sollen hier einige
wichtige Knotentypen genauer beschrieben werden:
Video
Quellknoten
Attribute: Quelle, Start, Dauer, Einpassen, Verhältnis
Anzahl der Kinder: 0
Beschreibung: Video stellt eine Videosequenz, eventuell mit begleitendem Audio dar. Quelle ist ein Verweis auf den Speicherort der Videodaten. Start
und Dauer bestimmen Position und Dauer der Sequenz innerhalb des
Quellvideos in Sekunden. Einpassen gibt an, ob das Video auf die Dimension des Zielvideos skaliert wird. Falls das Video skaliert wird, gibt
Verhältnis an, ob das Seitenverhältnis des Videos beibehalten werden soll
oder nicht.
3.3 Wichtige Knotentypen
Image
37
Quellknoten
Attribute: Quelle, Dauer, Einpassen, Verhältnis
Anzahl der Kinder: 0
Beschreibung: Image ist ein Standbild. Quelle, Einpassen und Verhältnis haben die selbe Bedeutung wie bei Video. Dauer gibt die Zeit an, die das
Standbild dargestellt werden soll.
Audio
Quellknoten
Attribute: Quelle, Start, Dauer
Anzahl der Kinder: 0
Beschreibung: Audio stellt eine Audiosequenz dar. Die Bedeutung von Quelle,
Start und Dauer entsprechen der bei Video.
Zero
Generatorknoten
Attribute: Dauer, Gewicht
Anzahl der Kinder: 0
Beschreibung: Zero repräsentiert einen Knoten, der schwarzes, transparentes
Video und stilles Audio erzeugt. Zero nimmt eine wichtige Rolle bei der
Positionierung von Knoten in einer Sequenz ein. Mittels Dauer und Gewicht kann sein Verhalten als Füllobjekt geregelt werden.
Reference
Referenzknoten
Attribute: Knoten
Anzahl der Kinder: 0
Beschreibung: Reference enthält in Knoten eine Referenz auf einen anderen
Knoten eines Schnittgraphen. Die Referenz enthält den eindeutigen Bezeichner des Schnittgraphen sowie den Knoten innerhalb des Schnittgraphen. Mittels Ref können Knoten und Zweige eines Schnittgraphen an
anderer Stelle wiederverwendet werden.
38
Schnittgraphenmodell
Sequence
Sequenzknoten
Attribute: Anzahl der Kinder: n
Beschreibung: Die Sequence erlaubt die zeitlich sequenzielle Anordnung von
verschieden Knoten. Dieser Knotentyp besitzt eine Beschränkung, was
den Typ seiner Kinderknoten betrifft. Zwei Knoten beliebigen Typs müssen von einem Transitionsknoten getrennt sein.
Hardcut
Transitionsknoten
Attribute: Anzahl der Kinder: Beschreibung: Ein Hardcut ist der einfachste Fall für eine Transition. Er definiert ein einfaches, abruptes Wechseln von Vorgängerknoten auf Nachfolgerknoten in einer Sequenz.
Dissolve
Transitionsknoten
Attribute: Dauer
Anzahl der Kinder: Beschreibung: Ein Dissolve definiert ein allmähliches Überblenden von
Vorgänger- auf Nachfolger. Video und Audio werden gleichermaßen ineinander überblendet. Die Überblendung hat eine bestimmte Dauer. Die
Dauer kann absolut oder relativ zum Vorgänger bzw. Nachfolger angegeben werden. Vorgänger- und Nachfolgeknoten werden entsprechend der
Dauer zeitlich überlappt. Wäre die Transitionsdauer länger als die Dauer
eines der benachbarten Knoten, so wird die Transitionsdauer entsprechend
gekürzt. Ist ein Knoten auf beiden Seiten mit einer Transition in einer Sequenz, so dürfen sich die einzelnen Transition zeitlich nicht überdecken.
LCut
Transitionsknoten
Attribute: Dauer, Versatz
Anzahl der Kinder: Beschreibung: Ein LCut ist eine in der Videobearbeitung gebräuchliche Art
der Überblendung, bei der Audio und Video nicht zum selben Zeitpunkt
geschnitten werden. Versatz gibt den zeitlichen Versatz zwischen den
Schnitten an.
3.3 Wichtige Knotentypen
Param
39
Parameterknoten
Attribute: Name, Wert
Anzahl der Kinder: 1
Beschreibung: Mit Param wird der Wert eines Attributes Name definiert. Der
mit Param definierte Wert kann von Knoten, die unterhalb im Schnittgraph
stehen verarbeitet werden, zum Beispiel von Schalterknoten.
Switch
Schalterknoten
Attribute: Name
Anzahl der Kinder: n
Beschreibung: Ein Switch Knoten ist eine mögliche Form von Schalterknoten.
Abhängig vom Wert des mit Name bezeichneten Attributes wählt der Knoten eines seiner Kinder aus, indem er den ganzzahligen Anteil des Attributes als Index verwendet.
Layer
Mischknoten
Attribute: Anzahl der Kinder: n
Beschreibung: Layer ermöglicht das Übereinanderlegen mehrerer AV-Objekte.
Das Video des ersten Knotens bildet die unterste Schicht, das des letzten
Knotens die oberste. Die Audio-Komponente aller Knoten wird in gleichen Anteilen zusammengemischt.
3DBox
Mischknoten
Attribute: Anzahl der Kinder: 6
Beschreibung: AV-Objekte können nicht nur in Schichten übereinander gelegt
werden, mit einer 3DBox können zum Beispiel AV-Objekte auf die Seitenflächen eines sich im Raum drehenden Würfels projiziert werden.
40
Schnittgraphenmodell
ChromaKey
Effektknoten
Attribute: Farbe, Sensitivität
Anzahl der Kinder: 1
Beschreibung: ChromaKey dient der Entfernung einer mit Farbe bestimmte
Farbe aus dem AV-Objekt, indem die Transparenz der entsprechenden Region verändert wird.
Strobe
Effektknoten
Attribute: Verzögerung
Anzahl der Kinder: 1
Beschreibung: Ein Strobe ist ein zeitlicher Effekt. Der Videoanteil des Kinderknoten wird entsprechend der in Verzögerung angegeben Dauer angehalten. Nach Ablauf der Zeit wird der Effekt mit dem aktuellen Bild
wiederholt. Der Audioanteil wird nicht beeinflusst.
Warp
Effektknoten
Attribute: Beschleunigung
Anzahl der Kinder: 1
Beschreibung: Warp ist ebenfalls ein zeitlicher Effektknoten. Er definiert eine
Streckung bzw. Stauchung des Kinderknotens um den durch Beschleunigung definierten Faktor. Für eine Beschleunigung größer 1 wird das
AV-Objekt gestreckt. Eine Beschleunigung zwischen 0 und 1 bewirkt ein
Stauchung des AV-Objektes. Bei einer Beschleunigung von 1 wird die
Dauer des AV-Objektes dynamisch mittels Gewichtung angepasst.
XForm
Effektknoten
Attribute: MatrixA, MatrixB
Anzahl der Kinder: 1
Beschreibung: XForm ermöglicht eine räumliche Transformation der VideoKomponente eines Kinderknotens. MatrixA und MatrixB definieren 4 × 4
Transformationsmatrizen im Raum. Das Video wird während seiner Dauer entsprechend der Interpolation von MatrixA in MatrixB im Raum transformiert.
3.4 Vom Schnittgraph zum Video
Volume
41
Effektknoten
Attribute: Verstärkung
Anzahl der Kinder: 1
Beschreibung: Volume gehört ebenfalls zur Klasse der Effektknoten. Er verändert die Lautstärke der Audiokomponente eines AV-Objektes. Verstärkung
ist der Faktor, um den die Lautstärke angehoben oder gesenkt wird. Eine
Verstärkung gleich Null entspricht Stille.
Effektknoten
Loop
Attribute: Anzahl der Kinder: 1
Beschreibung: Ein Loop ermöglicht die Spezifikation von Audio-Schleifen, die
etwa für die Vertonung eines Videos benötigt werden. Das im Kinderknoten definierte Audio wird nach Bedarf in einer Schleife wiederholt. Die
Videokomponente entspricht einem schwarzen, transparenten Bild, wie
bei Zero.
3.4
Vom Schnittgraph zum Video
Eine grundlegende Frage ist, wie aus einem fertig erstellten Schnittgraph ein Video
hergestellt werden kann. Schnittgraphen stellen eine Beschreibung des Schnittvorganges dar. Wie ebenfalls bereits in Abschnitt 3.2 ausgeführt, haben die einzelnen
durch Knoten repräsentierten AV-Objekte im Schnittgraph keine globale zeitliche
Positionierung und auch keine feste Dauer. Bevor also ein den Schnittgraphen
interpretierendes Renderingsystem aus diesem und den vorhandenen Quellen ein
Video zusammenstellen kann, müssen die zeitlichen Unbekannten erst aufgelöst
werden.
3.4.1
Berechnung der Dauer von Knoten
Die Festlegung der Dauer der einzelnen AV-Objekte geschieht mit Hilfe von zwei
rekursiven Durchläufen des Szenegraphs.
Im ersten Durchlauf werden für jeden inneren Knoten die minimale Dauer sowie das Gewicht seiner Kinder bestimmt. Je nach Typ von innerem Knoten muss
dabei verschieden vorgegangen werden. Tabelle 3.1 stellt die unterschiedliche Abarbeitungen gegenüber. Bei Schaltknoten muss in diesem Durchlauf auch bestimmt
werden welcher Zweig gerendert werden soll.
Im zweiten Durchlauf erfolgt dann die Festlegung der effektiven Dauer jedes
Knotens. Diese berechnet sich aus der minimalen Dauer und dem Gewicht des
obersten Knotens, sowie die durch die Beschreibung des Zielformates erwünschte
minimale Dauer des Videos. Dabei wird folgendermaßen vorgegangen: Knoten mit
einem Gewicht von Null behalten ihre minimale Dauer, auch wenn die verfügbare
42
Schnittgraphenmodell
Knotentyp
passive innere Knoten
Mischknoten
nicht temporale Effektknoten
temporale Effektknoten
Sequenzknoten
Schalterknoten
minimale Dauer
entspricht Kind
entspricht
längstem
Kind
entspricht Kind
Gewicht
entspricht Kind
Null
von Knoten und Kind abhängig
Summe der Kinder abzüglich Dauer Transitionen
entspricht aktiven Kind
von Knoten abhängig
entspricht Kind
Null falls kein Kind ein
Gewicht ungleich Null
hat, sonst Eins
entspricht aktiven Kind
Tabelle 3.1: Bestimmung von Dauer und Gewicht innerer Knoten.
Zeit größer ist, als die minimale Dauer. Knoten mit einem Gewicht gleich Eins
und größer bekommen eine effektive Dauer, die der verfügbaren Zeit entspricht.
Sequenzknoten werden gesondert behandelt, hier wird die verfügbare Zeit, die über
die ermittelte minimale Dauer hinausgeht, entsprechend der Gewichtung auf die
Kinder übertragen.
Zur besseren Veranschaulichung ein Beispiel: Abbildung 3.3 zeigt einen einfachen Schnittgraphen (Dieser Darstellung nach würde der Schnittgraph keinen
Baum darstellen. Da die Transitionen nicht mit ihrem Vaterknoten sondern mit ihren Geschwisterknoten durch Kanten verbunden sind. Für eine Erklärungsiehe Abschnitt 4.2). Der Schnittgraph definiert einen Bild-in-Bild Effekt zweier Videoströme mit einer hinterlegten Audiokomponente. Die drei Komponenten werden an
Layer
D: ?
W: 0,0
Loop
Xform
Video
D: ?
W: ?
D: 10,0
W: 0,0
D: 0,0
W: 1,0
Sequence
Audio
D: ?
W: ?
Zero
D: 0,0
W: 1,0
Diss
1,0
Video
D: 7,25
W: 0,0
D: 2,5
W: 0,0
Diss
1,0
Abbildung 3.3: Ein Schnittgraph.
Zero
D: 0,0
W: 1,0
3.4 Vom Schnittgraph zum Video
43
Layer
D: 10,0
W: 0,0
Loop
Xform
Video
D: 7,25
W: 1,0
D: 10,0
W: 0,0
D: 0,0
W: 1,0
Sequence
Audio
D: 7,25
W: 1,0
Zero
D: 0,0
W: 1,0
Diss
1,0
Video
D: 7,25
W: 0,0
D: 2,5
W: 0,0
Diss
1,0
Zero
D: 0,0
W: 1,0
Abbildung 3.4: Fixierung: Festlegung der minimalen Dauer.
Layer
D: 10,0
W: 0,0
Video
D: 10,0
W: 0,0
Xform
Loop
D: 10,0
W: 1,0
D: 10,0
W: 1,0
Sequence
Audio
D: 10,0
W: 1,0
Zero
Diss
D: 2,375
W: 1,0
1,0
Video
D: 7,25
W: 0,0
D: 2,5
W: 0,0
Diss
1,0
Zero
D: 2,375
W: 1,0
Abbildung 3.5: Fixierung: Zuteilung zusätzlicher Zeit.
44
Schnittgraphenmodell
der Wurzel des Schnittgraphen mit einem Layer -Knoten verbunden. Das über dem
Hintergrundvideo eingeblendete Video wird mittels eines XForm-Knoten an die
gewünschte Stelle im Bild transformiert. Die zeitliche Positionierung des Videos
erfolgt mit Hilfe eines Sequence-Knotens. Das Video soll dabei zeitlich zum Hintergrundvideo zentriert dargestellt werden. Das Ein- und Ausblenden des Videos
soll durch einen Dissolve-Knoten realisiert werden. Die Transition soll jeweils eine Sekunde andauern. Das Hintergrundvideo hat eine Dauer von 10 Sekunden.
Das Video im Vordergrund 7,25 Sekunden. Die Hintergrundvertonung soll mittels
Loop auf die gesamte Dauer des Videos angewandt werden, die Quellsequenz des
Audios dauert 2,5 Sekunden.
Zur zeitlichen Fixierung wird, wie beschrieben, die Dauer und Gewichtung der
einzelnen Knoten zur Spitze des Schnittgraphen hin weitergegeben. Dieser Schritt
ist in Abbildung 3.4 grafisch dargestellt.
Abbildung 3.5 zeigt, wie dem Knoten aus der errechneten Gesamtdauer, der
definitive Zeitbedarf zugewiesen wird. Dabei wird von der Spitze des Graphen ausgegangen. Die Dauer des Layer -Knotens beträgt zehn Sekunden. XForm-Knoten
und Loop-Knoten haben beide ein Gewicht von Eins. Ihnen wird daher jeweils eine Dauer von zehn Sekunden zugewiesen. Der XForm-Knoten seinerseits gibt die
zehn Sekunden weiter an seinen Kinderknoten dem Sequence-Knoten. Demgegenüber gibt der Loop-Knoten die zehn Sekunden nicht an sein Kind weiter. Seiner Eigenschaft entsprechend wird er beim Abspielen des Graphen während den
zehn Sekunden, sein Kind, die Audioquelle, vier mal hintereinander abspielen.
Der Sequence-Knoten, der eine minimale Dauer von 7,25 Sekunden hat, muss die
zusätzliche Zeit von 2,75 Sekunden auf seine Kinder aufteilen. Der Video-Knoten
hat ein Gewicht von Null, ihm kann keine zusätzliche Zeit zugewiesen werden.
Die 2,75 Sekunden müssen daher den beiden anderen, mit einem Gewicht versehenen, Knoten zugewiesen werden. Die beiden Zero-Knoten haben beide ein
Gewicht von Eins. Die Restzeit muss ihnen daher gleich verteilt zugewiesen werden. Weist man aber jedem Zero-Knoten genau die Hälfte der Zeit zu, also 1,375
Sekunden, so hat die ganze Sequenz nur eine Länge von insgesamt acht Sekunden. Bei den Zero-Knoten, die nicht mehr null Sekunden lang sind, kommen die
Dissolve-Transitionen ins Spiel. Jede Dissolve-Transition überlappt das Zero-AVObjekt mit dem Video-AV-Objekt um eine Sekunde. Daher dauert die Sequenz nur
acht Sekunden. Damit eine korrekte Dauer von zehn Sekunden für den SequenceKnoten erreicht werden kann, muss den beiden Zero-Knoten daher jeweils eine
Dauer von 2,375 Sekunden zugewiesen werden.
Kapitel 4
3D-Visualisierungen von
Schnittgraphen
Dieses Abschnitt beschreibt die zwei in der Video-Editing-Anwendung verwendeten Darstellungen für die dreidimensionale Visualisierung von Schnittgraphen.
4.1
Vorgeschichte
Die zwei vorgestellten Darstellungen haben ihre Wurzeln in der Video-ContentTree (VCT) Visualisierung des in Abschnitt 2.3.5 erwähnten Video-BrowsingSystems. In den folgenden Absätzen werden diese Video-Content-Trees erklärt.
Motivation für die Entwicklung der dreidimensionalen Darstellung der VideoContent-Trees, war eine bessere Ausnutzung gewöhnlicher Bildschirme. Durch
die Anwendung von perspektivischer Projektion erreicht man im Vergleich zu
zweidimensionaler Darstellungen eine größere Informationsdichte am durch Auflösung und Bildgröße beschränkten Darstellungsbereich des Bildschirmes. Der
Ansatz dreidimensionale Darstellungen zur Visualisierung großer Datenmengen
zu verwenden ist nicht neu. Robertson und Mackinlay haben bereits 1991 zwei
solche Visualisierungsmethoden vorgestellt: Cone Trees und Perspective Walls
[RMC91, RCM93]. Cone Trees sind eine Visualisierungsform für hierarchisch
gegliederte Information mit dem Ziel dem Betrachter einen Überblick über alle
Daten auf einen Blick zu ermöglichen. Perspective Walls verfolgen das selbe Ziel,
nur mit dem Unterschied, dass sie für linear repräsentierbare Information angewandt werden. In Abschnitt 2.3.3 wird ein Video-Editing-System erwähnt, dass
den Perspective-Wall-Ansatz zur Darstellung der Zeitleiste verwendet.
Video-Content-Trees sind in ihrer Struktur mit Cone Trees verwandt. Ein
Video-Content-Tree ist eine dreidimensionale Visualisierung der Einzelbilder eines
Videos in einer hierarchischen Form (siehe Abbildung 1.1 in Abschnitt 1.2). Ein
VCT besteht aus ein oder mehreren Zweigen. Jeder Zweig eines Video-ContentTrees entspricht einer Videosequenz. Die für die Videosequenz repräsentativen
Einzelbilder der obersten Hierarchieebene werden entlang eines Zweiges von seinem Anfang bis zum Ende gereiht dargestellt (siehe Abbildung 4.1). Die Auswahl
der Einzelbilder erfolgt nach der in Abschnitt 2.3.5 hierarchischen Gruppierung.
Jeder Zweig enthält mindestens zwei Einzelbilder, erstes und letztes Bild der Videosequenz. Die Position der Einzelbilder kann so gewählt werden, dass sie ent-
46
3D-Visualisierungen von Schnittgraphen
Abbildung 4.1: Einzelner Zweig eines Video-Content-Tree.
weder über die Länge des Zweiges gleich verteilt sind, oder sie sind so platziert,
dass sie die relativen Position, die sie in der Videosequenz haben, repräsentieren.
Die durch zwei aufeinander folgende Einzelbilder definierte Untersequenz
kann in einem neuen Zweig dargestellt werden und entspricht einer Sequenz einer
um einer Ebene tieferen Hierarchie. Eine Untersequenz ist mit ihrer Vatersequenz
mittels einer Gabelung verbunden. Die Gabelung geht vom Einzelbild der höheren Ebene zum Anfang des tieferen Zweigs. Die Zweige der tiefere Ebene werden
räumlich am Ende des Zweiges der höheren Ebene angeordnet. Legt man eine Hülle von der Spitze des übergeordneten Zweiges zu den Spitzen der untergeordneten
Zweige, ergibt sich ein Kegel. Die Darstellung hat daher gewisse Ähnlichkeit mit
Cone Trees.
Video-Content-Trees sind keine statischen Strukturen, sie können vom Benutzer dynamisch exploriert werden. Ausgehend von der Wurzel des Video-ContentTrees können einzelne Äste aufgeblendet oder geschlossen werden und dadurch
in die Details des visualisierten Video vorgedrungen werden bzw. uninteressante
Teile können ausgeblendet werden.
Wie in [RMC91] dargelegt ist eine animierte Darstellung beim Betrachten und
Manipulieren der visualisierten Informationsstruktur besonders wichtig. Die Visualisierung der Video-Content-Trees geht auf diese Anforderungen ein, z.B. beim
Öffnen und Schließen von Ästen, wo sich die Ausdehnung des Baumes ändert,
bewegen sich die einzelnen Zweige animiert in ihre neuen Positionen.
Der Betrachter des Video-Content-Trees, kann mit Hilfe von Navigationsfunktionen, die von der Visualisierungsanwendung bereitgestellt werden, sich durch
den VCT bewegen. Dadurch kann er, durch den Baum selbst, verdeckte Zweige
sichtbar machen. Er kann sich auch an eine, für ihn interessante, Stelle bewegen,
um einen Ausschnitt des Baumes besser betrachten zu können und die angezeigten
Einzelbilder größer, da näher zum Betrachter, dargestellt bekommen. Der Benutzer
kann auch einen ’Flug’ durch das visualisierte Video unternehmen. Dabei fliegt er
den Baum entsprechend seiner temporalen Ordnung ab. Beim Durchfliegen werden
auf Wunsch, in einem transparenten Fenster, dass sich auf der aktuellen zeitlichen
Position im Baum befindet, die in geschlossenen Ästen verborgenen Teile des Videos, die zwischen den visualisierten Einzelbildern liegen, abgespielt.
4.2 Erweiterte Video-Content-Trees
4.2
Erweiterte Video-Content-Trees
Der erste zur Visualisierung verwendete Ansatz sind erweiterte Video-ContentTrees. Wie der Name schon sagt handelt es sich um eine Erweiterung der im vorherigen Abschnitt erklärten VCT.
Anstatt der hierarchischen Einzelbilder einer Videosequenz, wird ein Schnittgraph repräsentiert. Video-Content-Trees dienen der Exploration von Video,
Schnittgraphen der Bearbeitung. Einen Video-Content-Tree kann man sich als
Schnittgraphen vorstellen der nur Sequenz-, Transitions- und Quellknoten enthält.
Verzichtet man auf die explizite Darstellung der Schnittknoten und Quellknoten
so entspricht jeder Kegel einem Knoten. Der von Spitze zur Basis verlaufende
Zweig mit den Einzelbildern entspricht einer Vorschau, des durch das Abarbeiten
des Schnittgraphen durch den einzelnen Knoten, definierte Videosequenz.
Nachdem Schnittgraphen eine Vielfalt von verschieden Knotentypen enthalten,
muss ein Weg gefunden werden diese zu unterscheiden. Erweiterte Video-ContentTrees verwenden dafür dreidimensionale Ikonen. Die Ikonen sind jeweils an der
Spitze eines Kegels positioniert. Für jeden Knotentyp existiert ein entsprechende
Ikone. In Abbildung 4.2 sind neun Ikonen innerer Knoten abgebildet. So wird
eine Sequence als eine Rolle Film dargestellt, Audio als ein Notensymbol, Video
als eine transparente Kugel mit dem einem Einzelbild des Videos im Inneren zur
Identifikation.
Attribute eines Knotens, zum Beispiel die Anfangs- und Endematrix eines
XForm, lassen sich mit dieser gewählten Abstraktion der Darstellung nicht visualisieren.
Abbildung 4.3 zeigt einen Schnittgraph, der einen Bild-in-Bild-Effekt zweier Videos repräsentiert, die mit einer Tonschleife hinterlegt sind, als erweiterten
Video-Content-Tree, ähnlich dem Beispiel in Abschnitt 3.4.1.
Es fällt auf, dass anders als bei den gewöhnlichen Video-Content-Trees, und
mehr den Cone Trees entsprechend, die verbindenden Gabelungen nicht von den
Einzelbildern entlang des Zweiges entspringen, sondern ausschließlich von der
Spitze der Kegel.
Die Darstellung von Sequenzen und ihren Transitionen nimmt eine Sonderstellung ein. Wie schon im vorhergehenden Abschnitt bei den 2D-Skizzen von Schnittgraphen, sind Transition nicht mit dem übergeordneten Knoten verbunden, sondern
mit ihren beiden Nachbarn. Diese Form der Darstellung wurde bezweckt gewählt
um den temporalen Zusammenhang innerhalb einer Sequenz besser kennzeichnen
zu können. Er ist jedoch nur für die Darstellung des Schnittgraphen eingeführt
worden und spiegelt nicht den konzeptionellen noch den implementierten Aufbau
(siehe Abschnitt 6.3.1) wieder.
Nicht alle Knoten haben eine Vorschau. Vorschauen von Knoten, die nur eine ’leere’ Videokomponente haben, werden nicht dargestellt. Transitionen haben
keine eigene Vorschau, dafür ist die Vorschau der Sequenzknoten von der anderer
Knoten unterschiedlich.
Die Anzahl der Vorschaubilder ist frei wählbar. Auf den Vorschaubildern wird
das durch den Knoten definierte und beim Rendern erzeugte AV-Objekt dargestellt.
Vorschaubilder werden gleichmäßig verteilt aus dem AV-Objekt entnommen und
zwischen Spitze und Basis des Kegels angeordnet. Die Vorschau bei Knoten vom
Sequenztyp unterscheidet sich von der normalen Vorschau dahingehend, dass zumindest für jeden Kindknoten, Anfangs- und Endebild, nach entsprechender Anwendung möglicher Transitionen, sowie ein Vorschaubild nach Ablauf der Hälfte
47
48
3D-Visualisierungen von Schnittgraphen
Abbildung 4.2: Auswahl von 3D-Ikonen. 1-XForm, 2-Loop, 3-Sequenz, 4-Zero,
5-Hardcut, 6-Warp, 7-Switch, 8-Dissolve, 9-Layer.
der Dauer jeder Transition, in der Vorschau enthalten ist. Die Position der Vorschaubilder der Sequenzknoten sind daher nicht gleichmäßig verteilt angeordnet,
sonder entsprechend ihrer zeitlichen Position.
Für die Ausrichtung von Ikonen und Vorschaubildern existieren zwei Modi.
Die Ausrichtung kann fix und parallel zur Basis der Kegel sein. Der andere Modus gestaltet sich so, dass die Ikonen und Vorschaubilder normal und aufrecht zur
Blickrichtung des Betrachters gedreht werden.
Wie bei den Video-Content-Trees auch, können Zweige ein und ausgeblendet
werden. Eine Erweiterung stellt jedoch die Möglichkeit dar, auch einzelne Knoten
ausblenden zu können. So könnte der Graph der in der Abbildung 4.3 so dargestellt
sein, dass nur der Layer - und die beiden Video-Knoten angezeigt werden. Dieses
Eigenschaft ist dahingehend gerechtfertigt, weil bei der Zusammenstellung von
Graphen mit mehreren hintereinander geschalteten Effektknoten leicht entartete,
unnötig in die tiefe gehende Darstellungen entstehen können. Das Ausblenden
der Knoten ermöglicht komplexere Effekte übersichtlich, betreffend der Quellen,
darzustellen.
Der Durchmesser der Kegel ist von den Kindern jedes Knotens abhängig. Alle
Kegel haben die selbe Höhe. Die Höhe ist frei wählbar, vor allem um sich an
4.3 Hängender Efeu
Abbildung 4.3: Erweiterte Video Content Tree Visualisierung (Entwurfsskizze).
die ebenfalls frei wählbare Anzahl der verwendeten Vorschaubilder anzupassen.
Der transparent dargestellte Kegelmantel und die Vorschauen können bei Bedarf
ausgeblendet werden.
Je nach Umfang des visualisierten Schnittgraphen bzw. je nachdem welche
Knoten und Zweige dargestellt werden, benötigt die Darstellung einen gewissen
Raum. Da in der Anwendung im VR-Center mehrere Graphen gleichzeitig dargestellt werden müssen, stellt sich die Frage, wieviel Raum eine Visualisierung
verwenden darf? Was passiert, falls zusätzliche Knoten dargestellt werden sollen,
wie wächst die Darstellung des Baumes?
Hier gibt es zwei Antworten. Die Erste man lässt den Baum beliebig wachsen,
d.h. Höhe der Kegel und Größe der Vorschaubilder bleibt gleich. Dabei nimmt
man in Kauf, dass die Darstellung wo möglich weit über die handhabbare Größe
hinauswächst. Die andere Antwort lautet, den erlaubten Raum für den Baum zu
begrenzen. Sollen zusätzliche Knoten dargestellt werden, führt das dazu, dass der
komplette Baum entsprechend kleiner skaliert dargestellt werden muss. Die Visualisierung bleibt besser handhabbar. Die Kosten sind, dass die Darstellung zu
klein geraten kann. Details können nicht mehr erkannt werden. Der Anwender ist
dann gezwungen, den zugeteilten Raum zu vergrößern. Abbildung 4.4 zeigt die
Änderung des zugeteilten Raumes im VRC mittels einer handle box.
4.3
Hängender Efeu
Neben den eben beschriebenen Größenproblemen, ist, die auf Cone Trees basierende Darstellung, problematisch beim Durchführen von Bearbeitungsschritten, wie
sie beim Editieren verlangt werden. Teile des Schnittgraphen sind bei der Video-
49
50
3D-Visualisierungen von Schnittgraphen
Abbildung 4.4: Teil der Visualisierung mit handle box zur Skalierung.
Content-Tree Visualisierung immer verdeckt. Beim Betrachten und interaktiven
Erforschen von Video-Content-Trees ist dies ein geringeres Problem, da man meist
nur an einer bestimmten Stelle, die die man grade betrachtet, das meiste Interesse
hat. Durch Hinzufügen neuer Knoten beim Editieren verändert sich die Zusammensetzung des Graphen oft, die Visualisierung auch, und die Position an der man
weiterarbeiten möchte muss möglicherweise erst wieder durch Drehen des Baumes
an die richtige Position gebracht werden.
Vor allem in Hinblick auf die Bearbeitung des Videos wurde daher als zweiter Ansatz zur Visualisierung das Konzept des Hängenden Efeus geschaffen (Die
Namengebung wurde von der internen Projektbezeichnung für den Editor poison
ivy inspiriert). Dieser zweite Ansatz unterscheidet sich vom ersten hauptsächlich
in der Art und Weise wie die Knoten angeordnet werden.
Anders als wie beim ersten Ansatz in Form von Kegel, werden bei beim Hängenden Efeu, die Knoten flach in der Eben ausgelegt, vergleichbar mit der in Abschnitt 3.4.1 verwendeten 2D-Darstellung. Abbildung 4.5 zeigt eine solche Darstellung. Es werden zwei Ansichten auf die Struktur dargestellt. Die Ansicht
rechts, unten soll die Anordnung der Knoten in einer Ebene verdeutlichen.
Die Struktur kann wie beim erweiterten Video-Content-Tree Ansatz manipuliert werden. Neben den Ikonen sind Steuerungsobjekte sichtbar. Diese steuern das
Auf- und Wegblenden von Zweigen unterhalb der Knoten und das Anzeigen und
Verstecken einzelner Knoten wie im letzten Abschnitt beschrieben.
Deutlich zu sehen ist wie die Stränge der Vorschau nach unten fallend angeordnet sind. Anders als bei den erweitern Video-Content-Trees können die Vorschauen
unterschiedliche Länge haben. Die Länge der Stränge entspricht in diesem Fall der
Dauer des Knotens.
Dadurch das die Struktur des Schnittgraphen in einer Ebene angeordnet ist,
umgeht man das Problem der verdeckten Zweige im Baum. Der freie Bereich
4.3 Hängender Efeu
Abbildung 4.5: Hängender Efeu Visualisierung.
oberhalb des Graphen kann dazu benutzt werden Annotationen oder textuelle Attribute der Knoten anzuzeigen, wie es in der Abbildung für den Zero-Knoten der
Fall ist.
Nachteil dieser Darstellung ist die Tatsache, dass mit zunehmender Tiefe die
Visualisierung des Graphen in der Breite zunimmt. Die bei der dreidimensionalen
Darstellung zum Zug kommende perspektivische Projektion mildert diese negative
Eigenschaft, vor allem dann, wenn der Bearbeiter von der Spitze in die Tiefe des
Baumes blickt.
51
Kapitel 5
Immersives Video-Editing
In diesem Abschnitt wird die immersive Video-Editing-Anwendung (IVY) beschrieben. In Abschnitt 3 ist bereits das Bearbeitungsmodell vorgestellt worden,
auf dem der Editor aufbaut, die Schnittgraphen. Zwei Arten der Visualisierung
aus diesem Modell erzeugter Graphen wurden im vorhergehenden Abschnitt näher
erläutert.
Es soll erklärt werden, wie man mittels der Anwendung Schnittgraphen anfertigen und modifizieren kann und dadurch, schließlich, Video bearbeiten kann. Den
wichtigsten Teil der Benutzerschnittstelle stellen die visualisierten Schnittgraphen
selbst dar. Diese sind jedoch als alleinige Benutzerschnittstelle nicht ausreichend.
Welche zusätzlichen Benutzerschnittstellenobjekte werden noch benötigt? Wie geschieht die Interaktion mit diesen Schnittgraphen? Wie stellt sich der Arbeitsprozess als Ganzes dar? Bevor diese Fragen beantwortet werden, folgt zuerst ein Blick
auf den Leistungsumfang der Anwendung.
5.1
Leistungsumfang
Die Anwendung arbeitet mit digitalem Video und Audio, das in Dateiform und
akzeptiertem Dateiformat, vorliegen muss. Zugriff darauf erfolgt über das Dateisystem des unterliegenden Betriebsystems, was einen wahlfreien Zugriff auf Einzelbilder ermöglicht. Die Tabelle 5.1 zeigt eine Liste verfügbarer Video- und Audioformate für die Quellen. Das Zielvideo kann als Apple QuickTime, Microsoft
AVI oder SGI Movie ausgegeben werden, das bevorzugte Format ist QuickTime
mit M-JPEG Kompression. Dieser Leistungsumfang ergibt sich aus den verfügbaren Programmbibliotheken auf der Zielplattform.
Bei IVY wird nicht nur das herzustellende Video mittels Schnittgraphen beschrieben, Videosequenzen, die als Quelle dienen, werden dem Benutzer ebenfalls als Schnittgraph präsentiert. Anders, als bei den in Abschnitt 2.3 erwähnten
kommerziellen Produkten hat der Benutzer damit integrierten Zugriff auf eine leistungsfähige Video-Browsing-Komponente. Damit aus einem flachen Video, wie
es bei den vorliegenden digitalen Formaten der Fall ist, ein Schnittgraph aufgebaut
werden kann, wendet man die bei den VCT geschaffene Technik zur Berechnung
hierarchischer Darstellungen von Video an. Basierend auf dem in Abschnitt 2.3.5
genannten externen Bewertungswerkzeug wird eine Hierarchie erzeugt und ein entsprechender Schnittgraph, wie in Abschnitt 4.1 bzw. 4.2 beschrieben aufgebaut.
54
Immersives Video-Editing
Medium
Format
Beschreibung
Video
(bewegt,
optional
mit
Audio)
avi
mpeg1s
mpeg1v
qt
sgimv
difdv
bmp
gif
hdf
jfif
mpnt
pcd
pic
pict
pix
pnm, pbm, ppm, pgm
ras
rgb
rla
rle
rpbm, rpgm, rpnm, rppm
soft
synu
tga
tiff
viff
x
xbm
xwd
aiff, aifc
avr
bicsf
iff
mpeg1a
next
rawaudio
voc
wave
AVI movie
MPEG-1 systems bitstream
MPEG-1 video bitstream
QuickTime
SGI movie
DIF/DV bitstream
Microsoft Windows Bit Map
Graphics Image File
Hierarchical Data Format
JPEG File Interchange Format
Apple Macintosh MacPaint
Kodak PhotoCD
PIXAR Picture
Apple Macintosh QuickDraw/PICT
Alias Pixel
Portable {Any, Bit, Pixel, Grayscale} Map
Sun Raster
SGI RGB image
Wavefront Raster
Utah Runlength-encoded
Raw Portable {Bit, Grayscale, Any, Pixel} Map
SoftImage PIC
SDSC Synu
Truevision Targa
Tagged Image File Format
Khoros Visualization Image File Format
Stardent AVS X
X11 Bit Map
X Window Dump
Audio Interchange File Format /w compression
Audio Visual Research
Berkeley/IRCAM/CARL Sound File Format
Amiga IFF/8SVX
MPEG-1 audio bitstream
NeXT/Sun audio
Raw audio data
Creative Labs VOC
WAVE audio
Video
(Einzelbild)
Audio
Tabelle 5.1: Verfügbare Quell-Datenformate.
Der Benutzer kann die, als erweiterte Video-Content-Tree visualisierte Quelle nach
der gesuchten Untersequenz sichten und auswählen.
Andere Quellen, die kein Video enthalten, wie Audio und Einzelbilder werden
nicht als Schnittgraph dargestellt, sondern nur als Quellknoten dem Benutzer zur
Verfügung gestellt. Es soll bereits vorweg genommen werden, dass der Benutzer,
daher keine Möglichkeit hat, bei Audio, Anfangs- und Endzeit der Sequenz zu
bestimmen. Da es sich bei der Anwendung jedoch nur um einen Prototypen zur
Validierung des vorgestellten Ansatzes handeln soll und noch nicht ein Werkzeug
für den Produktionsbetrieb, ist diese Einschränkung vernachlässigbar.
Weitere Einschränkungen sind auch die beschränkte Anzahl von verfügbaren
inneren Schnittgraphenknoten und die Tatsache, das die Attribute der inneren Knoten innerhalb der Anwendung nicht direkt abänderbar sind. Um trotzdem Knoten
gleichen Typs mit verschieden Attributen testen zu können, existiert eine Anzahl
von Knoten mit vordefinierten Werten, die als Prototypen zur Erzeugung neuer
Knoten während der Anwendung dienen.
Wesentlich für den Editor ist, neben dem Schnittgraphenmodell, die Realisierung in einer immersiven virtuellen Umgebung. Von Seite der Anzeige- und Projektionstechnik kann dies nach heutigem Stand der Technik entweder mittels eines
Head Mounted Displays oder eines Spatial Immersive Displays geschehen. Vorgegeben war in diesem Fall das letztere System, das CAVE-ähnliche VR-Center am
Universitätsgelände. Eine genaue Beschreibung findet sich in Abschnitt 6.2.1. Das
VR-Center erlaubt eine stereoskopische, räumliche Darstellung einer dreidimensionalen virtuellen Welt. Mit Hilfe der verfügbaren auf 3D abgestimmten Eingabegeräte wird die entsprechende Interaktion, soweit diese von der darunter liegenden
Anwendung zur Verfügung gestellt wird, realisiert.
5.2 Benutzerschnittstelle
(a) Ruheposition
55
(b) Zeigen
(c) Greifen
(d) Stopp
(e) Menü
Abbildung 5.1: Handgesten.
Bei IVY hat der Benutzer die Möglichkeit, mittels seiner Hand, deren Position und Stellung mit Hilfe eines Datenhandschuhs erfasst wird, mit der virtuellen
Umgebung auf natürliche Weise zu interagieren.
5.2
Benutzerschnittstelle
Zur Benutzerschnittstelle zählen zum einen die Objekte mit denen der Benutzer
interagieren kann und zum anderen die Art und Weise der Interaktion selbst.
5.2.1 Handgestensteuerung
Die Bedienung des Videoeditor geschieht durch die Handbewegungen des Bedieners, dabei können vier verschiedene Modi unterschieden werden:
Direkte Manipulation: Mittels seiner Hand verändert der Benutzer Objekte der
virtuellen Welt. Beispiele dafür sind drehen einer Schnittgraphvisualisierung
im Raum oder das Verändern ihrer Größe.
Befehlsaktivierung: Bestimmte Objekte stehen für ausführbare Befehle. Etwa
existieren Steuerfelder mit Schaltflächen. Mit seiner Hand kann der Benutzer
eine Schaltfläche drücken und die gewünschte Aktion ausführen.
Drag’n’Drop: Die Bearbeitungsvorgänge an Schnittgraphen werden mittels einer
Drag’n’Drop-Funktion ausgeführt.
Navigation: Die Hand kann auch zum Navigieren in der dargestellten Welt verwendet werden.
Der Editor unterscheidet fünf verschiedene Handgesten die in Abbildung 5.1
dargestellt sind.
Geste (e) dient zum Öffnen und Schließen eines speziellen Steuerfeldes.
Für direkte Manipulation, Befehlsaktivierung und Drag’n’Drop finden die Gesten (a), (b) und (c) Anwendung. Geste (a) ist die Hand in Ruheposition, hier findet keine Interaktion mit der Umgebung statt. Stellt der Benutzer seine Finger
zur Geste (b), der Zeigegeste, zusammen, kann er Objekte im Raum auswählen.
Durch farbliche Markierung zeigen die Objekte, die von der Hand berührt werden
ob sie auf eine der drei Modi reagieren. Auf markierten Objekten kann dann beim
Formen der Greifgeste (c) die jeweilige Operation ausgeführt werden.
Zur Navigation in der 3D-Welt werden die Gesten (d) und (a) verwendet. Um
in den Navigations-Modus zu gelangen, betätigt der Benutzer einen Schalter am
56
Immersives Video-Editing
Abbildung 5.2: Betrachter in Mitten der Visualisierung.
Datenhandschuh. Indem er weiters seine Hand aus der Ruhelage bewegt, beginnt
er in die Richtung der Fingerspitzen durch die virtuelle Welt zu fliegen. Je weiter
er die Hand aus ihrer Ruheposition bewegt, umso schneller ist der Flug. Durch
Kippen der Hand nach rechts oder links, kann der Benutzer die Welt um seine
Standachse drehen. Durch Deuten der Geste (d) oder Betätigen des Schalters am
Handschuh beendet er seinen Flug. Abbildung 5.2 zeigt einen Benutzer in der
Mitte eines visualisierten Schnittgraphen. Neben der manuellen Navigation durch
die Welt mittels Handgesten, ermöglicht die Anwendung auch das Ansteuern eines
Punktes von Interesse im Raum. Eine andere Möglichkeit die Position zu einem
Objekt zu verändern, ist dieses zu sich heranzuziehen mittels ’direkter Manipulation’.
5.2.2 Schnittstellenobjekte
Neben den visualisierten Schnittgraphen existieren auch noch zusätzliche Benutzerschnittstellenobjekte die bestimmte Funktionen ermöglichen. Im Folgenden
werden diese Benutzerschnittstellenobjekte aus der Sicht des Anwenders erklärt.
Betritt der Anwender das erste Mal den virtuellen Raum so sieht er links und rechts
auf der Seite zwei Ablagen stehen, siehe Plan auf Abbildung 5.3.
Die Ablage auf der linken Seite enthält sein Quellmaterial. Diese Ablage dient
im späteren Verlauf auch dazu neu angefertigte oder modifizierte Schnittgraphen
wieder abzulegen und damit zu speichern. Die Ablage dient sozusagen als Lager. Nimmt der Anwender ein Objekt, also einen einzelnen Quellknoten oder auch
einen Schnittgraphen aus der Ablage, so wird nur eine Kopie erzeugt und das Original verbleibt in der Ablage. Indem der Anwender einen Schnittgraph in ein leeres
Fach der Ablage legt, wird der Graph gespeichert und muss, um wieder bearbeitet
zu werden, aus dem Fach wieder entnommen werden. Indem man einen Schnitt-
5.2 Benutzerschnittstelle
57
Müllkübel
VRC
Ablage:
innere Knoten
Ablage:
Quellen & Schnittgraphen
virtueller
Videorecorder
Abbildung 5.3: Anordungsplan der einzelnen Benutzerschnittstellenobjekte.
graphen in ein bereits belegtes Fach ablegt, überschreibt man seinen gespeicherten
Inhalt.
Die Ablage auf der rechten Seite enthält eine Anzahl von inneren Knoten mit
denen er später einen Schnittgraph aufbauen kann. Im Vergleich zur Ablage auf der
linken Seite des Raumes können hier keine Knoten oder Schnittgraphen abgelegt
oder ersetzt werden, siehe Abbildung 5.4.
Neben diesen beiden Ablagen befinden sich vorne links und rechts zwei weitere Objekte. Ein Videorecorder, sowie ein Mülleimer. Der Videorecorder dient zum
Abspielen eines Schnittgraphen. Der Benutzer zieht eine Schnittgraphendarstellung auf den Videorecorder, um mit dem Abspielen zu beginnen. Dazu erscheint
eine Projektionsfläche auf dem das Video dargestellt wird. Unterhalb der Projektionsfläche befinden sich die typischen Steuerungelemente eines Videorecorders
Abbildung 5.4: Ablage mit inneren Knoten.
58
Immersives Video-Editing
Abbildung 5.5: Drag’n’Drop von Schnittgraphen.
(Wiedergabe, Stopp, Vorwärts, Rückwärts, ...) und eine Bildlaufleiste mit deren
Hilfe man sich zeitlich innerhalb des Videos bewegen kann. Während das Video
abgespielt wird, werden die aktiven Äste des Schnittgraphen für den Benutzer farblich kenntlich gemacht.
Der Müllkübel wird dazu verwendet unbenötigte Schnittgraphendarstellungen
aus der Welt zu entfernen, indem diese dem Drag’n’Drop-Prinzip folgend vom
Benutzer auf den Müllkübel gezogen werden.
Weiters existiert auch noch das mit der Menügeste aktivierbare Steuerfeld. Das
Steuerfeld enthält eine Reihe von Schaltflächen um z.B. die Anwendung zu beenden oder beim Bearbeiten der Schnittgraphen bestimmte Zustände zu ändern.
Alle eben aufgezählten Steuerungsobjekte bewegen sich beim Navigieren
durch die virtuelle Welt mit dem Benutzer mit. Der Benutzer kann mittels dem
Steuerfeld ihre Darstellung ausschalten und mit der Hand neu im Raum positionieren um damit sein Arbeitsumfeld selbst zu gestalten.
5.3
Zusammenstellen von Schnittgraphen
Wie verläuft der Bearbeitungsvorgang auf den Schnittgraphen? Schnittgraphen
können mittels drei Operationen bearbeitet werden: Einfügen, Ersetzen und Löschen. Unter Einfügen versteht sich das Hinzufügen eines Knotens unter einem Vaterknoten an einer beliebigen Position. Beim Ersetzen wird ein Knoten im Schnittgraph mit einem anderen ausgetauscht. Löschen ist das Entfernen eines Knotens
aus einem Schnittgraph.
Die Durchführung dieser Operationen geschieht mittels Drag’n’Drop der jeweiligen Knoten auf ihre jeweiligen Ziele. Damit die Durchführung auf diese
Art effektiv bewerkstelligt werden kann, sind Platzhalterknoten eingeführt wor-
5.4 Arbeitsablauf
den. Platzhalterknoten markieren wo bei einem inneren Knoten Kinder angehängt
werden können. Um also einen Knoten oder einen längeren Zweig eines Schnittgraphen an einen anderen Anzuhängen wird dieser in den Platzhalter gezogen und
losgelassen (siehe Abbildung 5.5). Im Normalfall wird immer eine Einfügeoperation ausgeführt, lässt man den Knoten im Platzhalterknoten los, so nimmt der Knoten
die Position des Platzhalters ein und der Platzhalter wird zum rechten Nachbarn des
eingefügten Knotens. Knoten können aber nicht nur in Platzhalterknoten gezogen
werden sie können auch in jeden anderen Knoten los gelassen werden und werden
gleichermaßen eingefügt. Kann ein innerer Knoten nur eine bestimmte Anzahl von
Knoten aufnehmen und diese ist bereits erreicht, so wird wenn man den Knoten auf
einem Platzhalter positioniert, dieser ersetzt und ansonsten die Einfügeoperation
nicht durchgeführt.
Zum Ersetzen muss man mittels des Steuerfeldes den Einfügemodus auf Ersetzen umstellen. Zieht man einen Knoten in einen anderen, so wird dieser vom
losgelassenen Knoten ersetzt.
Knoten werden gelöscht indem man sie aus dem Schnittgraph herauszieht und
falls man sie nicht mehr braucht in den Mülleimer zieht. Will man den Knoten
nicht löschen, sondern nur ’leeren’, kann man diesen durch einen Platzhalter ersetzt
werden.
Drag’n’Drop Operationen von Knoten entfernen also die Knoten aus ihrer ursprünglichen Position. Will man, dass nur eine Kopie eines Knotens oder eine
Referenz auf einen Knoten in einem Schnittgraphen erzeugt wird, so muss dies
zuerst über das Steuerfeld ausgewählt werden. Zieht man daraufhin einen Knoten
aus einem Schnittgraphen, so wird das Original im Graphen behalten und man fügt
eine Kopie des Knotens und aller seiner Unterknoten in den neuen Graphen ein
bzw. eine Referenz auf das Original.
Desweitern bietet die Anwendung eine Undo-Funktion an, mit der falsche Arbeitsschritte rückgängig gemacht werden können. Die Undo-Funktion bringt den
manipulierten Schnittgraph wieder in die gewünschte Ausgangsstellung zurück.
5.4
Arbeitsablauf
Nachdem die Benutzerschnittstelle und die Interaktionsmöglichkeiten vorgestellt
worden sind, bleibt noch der Arbeitsablauf beim Anfertigen der Bearbeitungsbeschreibung eines Videos offen. Dieser Ablauf wird in den folgenden drei Abschnitten erklärt.
5.4.1
Vorbereitungen
Die einzelnen Quellen müssen in die Anwendung geladen werden. Für den Prototyp muss dieser Arbeitsschritt noch extern durchgeführt werden. Die Quellvideos müssen zudem noch durch ein Werkzeug automatisch bewertet werden und
aus Bewertung ein Schnittgraph für die im weiteren Verlauf benötige Darstellung
gewonnen werden. Sind diese Aufgaben beendet, kann die Anwendung gestartet
werden und der Benutzer betritt die immersive Arbeitsumgebung.
5.4.2
Bearbeiten
Der Benutzer findet seine Arbeitsumgebung entweder in der oben beschrieben Ausgangsstellung vor oder in dem Zustand in dem er sie das letze Mal verlassen hat.
59
60
Immersives Video-Editing
In dem letzeren Fall wurde der Zustand der Welt persistent zwischengespeichert.
Um ein neues Video herzustellen, kann der Benutzer nach belieben top-down
oder bottom-up vorgehen. Er kann aus der rechten Ablage innere Knoten entnehmen und daraus die Struktur seines Videos entwerfen. Oder er geht bottom-up vor
und entnimmt aus der linken Ablage Quellen. Aus den Schnittgraphen kann er die
gewünschten Untersequenzen entnehmen. Die Schnittgraphen können aber auch
gleich umgebaut werden. Einzelne Bäume und Knoten bleiben, losgelassen und
nicht in ein anderes Objekt gezogen frei im Raum schweben. Zusammengesetzt
wird, wie bereits erklärt, mittels Drag’n’Drop-Technik.
Die Vorschauen in der Visualisierung der Schnittgraphen zeigen die durch die
Bearbeitung entstehende Videosequenz. Der Benutzer kann aber auch jederzeit
den virtuellen Videorecorder dazu benutzen, sich das definierte Video anzusehen.
Nachdem der Benutzer seinen Bearbeitungsvorgang abgeschlossen hat, verlässt er die immersive Umgebung. Der Zustand der Welt wird gespeichert und
kann, wie bereits erwähnt, später wieder betreten werden.
5.4.3 Abschließende Schritte
Um das Video, das durch den angefertigten Schnittgraphen definiert worden ist, an
anderer Stelle zu verwenden, kann der Benutzer von außen auf den gespeicherten
Schnittgraphen zugreifen und mit einem Werkzeug daraus ähnlich wie mit dem
virtuellen Videorecorder eine Videodatei herstellen. Die Videodatei, die in einem
der in Abschnitt 5.1 aufgezählten Formate, erzeugt werden kann, kann dann mit
gängigen Wiedergabeprogammen abgespielt werden.
Kapitel 6
Implementierung
Während in den vorhergehenden Kapiteln die theoretischen Grundlagen des immersiven Video-Editing erarbeitet und die Bedienung der Anwendung erklärt wurde, wird in diesem Abschnitt auf die eigentliche Implementierung eingegangen.
Von einer überblickenden Darstellung der Komponenten der Implementierung ausgehend, wird auf jeden Bereich einzeln eingegangen.
6.1
Allgemeines
Wesentlich für die Implementierung war das Zusammenspiel zwischen Hardware
und Software. Teile des geschrieben Codes dienten ausschließlich zur Steuerung
der Hardware. Die, für gewöhnlich existierenden Programmierschnittstellen zur
ausreichenden Abstraktion der Hardware, waren in diesem Fall nicht verfügbar
oder nicht anwendbar.
Daher erfolgt vor der eigentlichen Beschreibung der entwickelten Software ein
eigener Abschnitt zur Erläuterung der verfügbaren Hardware, auf den sich diese
Implementierung stützt.
6.2
Hardware
Für die Implementierung standen zwei, unter einem UNIX Betriebsystem (IRIX)
operierende, Hardwareplattformen zur Verfügung: das VR-Center und eine SGI
O2 am Institut. Beide Plattformen werden in den nächsten zwei Abschnitten näher
beschrieben.
6.2.1
VR-Center
Das Virtual Reality Center (VRC) besteht seit Oktober 1998 auf dem Campus der
Universität (siehe Abbildung 6.1). Beim VRC handelt es sich um ein System zur
Erzeugung von virtuellen Realitäten, ähnlich dem am Electronic Visualization Laboratory der Universität of Illinois entwickelten CAVETM [CSD93].
Das VRC basieriert auf eine räumliche immersive Anzeige (spatial immersive
display). Die Darstellung erfolgt auf drei Schirmen durch Rückprojektion. Jeder
Schirm ist 2,5 Meter breit und 2 Meter hoch und besitzt eine Auflösung von 1025×
62
Implementierung
Abbildung 6.1: Das VR-Center der Universität Linz
768 Bildpunkten. Die Schirme stehen im rechten Winkel zueinander, und bilden
linke, vordere und rechte Seite eines Raumes. Innerhalb des Raumes können sich
mehrere Betrachter frei bewegen.
Für den räumlichen Eindruck muss der Betrachter auf dem linken und dem
rechten Auge eine unterschiedliche Sicht haben. Diese stereoskopische Sicht wird
mit speziellen Brillen ermöglicht. Sie dunkeln, mit Hilfe von LCDs, jeweils das
linke oder das rechte Auge ab, wobei an den drei Wänden synchron, jeweils eine,
um den Augenabstand verschobene Sicht, der darzustellenden Szene, angezeigt
wird.
Um die Sichten berechnen zu können, muss die genaue Position des Betrachters festgestellt werden. Dazu verwendet man ein Trackingsystem. Im VRC wird
der IS-600 Mark 1 der Firma Intersense [Int98] eingesetzt. Dieses System verwendet Trägheits- und Ultraschallsensoren zur Positionsbestimmung mit 6 Freiheitsgraden. Neben der Bestimmung der Augenposition, wird das Trackingsystem auch
noch für die Bestimmung der Position weiterer Eingabegeräte verwendet, siehe
Abbildung 6.2a.
Dem Benutzer im VRC stehen als Eingabegeräte ein Datenhandschuh, sowie
ein funkgesteuerter Trackball zur Verfügung. Der immersive Video Editor benutzt
nur den Datenhandschuh als Eingabegerät. Ein Datenhandschuh liefert Informationen über die Positionierung der einzelnen Finger der behandschuhten Hand. Im
VRC kommt ein Gerät der Marke Virtex zum Einsatz. Der CyberGlove besitzt
18 Sensoren, die die Stellung der Gelenke in der Hand und der Finger registriert.
[Vir97] Mittels eines allgemeinen Modells der Hand, kann die Position der Finger
ausgehend von den Winkelmesswerten bestimmt werden, siehe Abbildung 6.2b.
Die nötige Rechen- und Graphikleistung für das System liefert eine SGI Onyx.
[WWW_Sil] Die SGI Onyx ist ein Mehrprozessorrechner auf shared-memoryBasis. Acht R4400 Prozessoren mit 180 MHZ Taktrate teilen sich 1 GB Hauptspeicher. Für die Graphikausgabe ist die Onyx mit drei RealityEngineII Graphik-
6.2 Hardware
63
(a) IS600.
(b) Cyberglove.
Abbildung 6.2: Trackingsystem und Datenhandschuh.
subsystemen (graphic pipelines) ausgerüstet. Je eine Pipe ist für die Berechnung
der Anzeige eines Schirms zuständig. Bei der genannten Auflösung von 1025×768
wird eine physikalische Bildwiederholfrequenz von 120 HZ erreicht, d.h. 60 HZ
pro Auge, da jeweils eine Sicht für das rechte und das linke Auge erzeugt werden
muss.
Für die Tonausgabe ist im VRC ein Surround-Sound-System eingebaut. Dieses
wird von der Onyx mit einem digitalen Audiosignal angesteuert.
6.2.2
SGI O2
An der Abteilung steht eine SGI O2 Visual Workstation [WWW_SGIa] zur Verfügung. Sie dient als Entwicklungsrechner und Testplattform während der Implementierung des Editors. Die O2 weist in ihrer Systemarchitektur eine Besonderheit auf: Sie besitzt eine sogenannte Unified-Memory-Architecture (UMA). Im
Vergleich zu anderen Systemarchitekturen greifen bei der UMA alle Systemeinheiten auf einen Hauptspeicher zu. Hauptspeicher für Programme, Bildspeicher,
z-Buffer, Texturenspeicher, Speicher für Analog-Digital-Wandlung von Video und
Audio, sind eine Einheit. Diese Architektur erlaubt schnelle Speichertransfers zwischen den einzelnen Systemeinheiten. Die O2 eignet sich daher sehr gut für den
Einsatz mit Graphik-, Bild- und Video-intensiven Anwendungen.
Obwohl die O2 im Vergleich mit der Onyx, was Rechen- und Graphikleistung betrifft, schwächer ist, ist sie was die Manipulation von digitalem Video betrifft, um einiges schneller. Hier kommt vor allem die im System integrierte JPEGHardware-Kompression zum Tragen. Ein weiterer Leistungsvorteil ergibt sich bei
der O2 bei texturintensiven Graphikanwendungen. Da Texturen im Hauptspeicher
angelegt werden, und daher kein dezidierter Texturenspeicher Anwendung findt, ist
die Anzahl der gleichzeitig darstellbaren Texturen nicht begrenzt. Die Darstellung
der Schnittvorschau beim immersen Video-Editor ist eine typische Anwendung,
bei der viele Texturen zum Einsatz kommen.
Obwohl die O2 für eine stereoskopische Darstellung wie im CAVE die nötige
Software- und Hardwareunterstützung aufweist, sind weder Stereobrillen noch der,
für die Ansteuerung notwendige Signalausgang an der Maschine, vorhanden.
Als 3D-Eingabegerät steht ein Logitech Cyberman II zur Verfügung, siehe Abbildung 6.3. Der Logitech Cyberman II ist ein 6DOF-Joystick. Er ist für sechs
64
Implementierung
Abbildung 6.3: Logitech Cyberman II, 6-DOF Joystick.
Immersive Editing Anwendung
Renderingsystem
Schnittgraphen Programmierschnittstelle
Abbildung 6.4: Softwarekomponenten.
Achsen sensitiv, und besitzt zusätzlich acht Drucktasten. Er ist ähnlich in der
Bedienung der SpaceMouse [WWW_Log], die auch vom selben Konzern erzeugt
wird. Da es sich beim Cyberman um einen digitalen Joystick handelt, dieser aber
nicht von der O2 unterstützt wird, ist das Gerät mit einem PC verbunden. Auf dem
PC ist das LINUX-Betriebssystem installiert, das die notwendigen Treiber für die
Ansteuerung des Joysticks enthält. Die empfangenen Signale des Joysticks werden
vom LINUX-Rechner über ein IP-Netzwerk als UDP-Strom an die O2 weitergeleitet, und können so zur Steuerung der auf der O2 laufenden Anwendung verwendet
werden.
6.3
Entwickelte Software
Die folgenden Unterkapitel sollen einen Einblick in die entwickelte Software geben. Es wird auf Entwurfdetails der Implementierung wo nötig näher eingegangen,
verwendete Entwurfsmuster werden aufgezeigt.
Abbildung 6.4 stellt die drei Hauptkomponenten der entwickelten Software dar.
Auf die Implementierung der Schnittgraphen Programmierschnittstelle bauen das
Renderingsystem und die eigentliche Bearbeitungsanwendung auf.
Die Implementierung der Software erfolgte in C++ und, mit wenigen Ausnahmen, in C. Neben den in den einzelnen Kapiteln erwähnten zusätzlichen Bibliotheken, wurde die Standard Template Library [WWW_Sil99] für die Verwendung
erweiterter Datenstrukturen, wie Hashtabellen, eingesetzt.
6.3 Entwickelte Software
6.3.1
Schnittgraphen Programmierschnittstelle
Die Schnittgraphen Programmierschnittstelle (SGAPI) stellt ein Klassenmodell zur
Erzeugung und Bearbeitung von Schnittgraphen zur Verfügung. Die SGAPI ist als
einziger Teil der Implementierung größtenteils plattformunabhängig, d.h. die Portierung auf ein anderes (UNIX-)System sollte möglich sein. Die einzige Bibliothek
die verwendet wird ist gnome-xml [WWW_Vei]. Schnittgraphen werden als XMLDateien gespeichert. Gnome-xml stellt eine Programierschnittstelle zum Einlesen
und Speichern von XML [WWW_W3C] zur Verfügung.
Kern der SGAPI ist die PsnManager Klasse. Eine statische Klasse, die eine Liste der zur Startzeit bekannten Knoten, die als Plug-Ins dynamisch geladen
werden, verwaltet. Der PsnManager dient weiters als Factory-Klasse für die Erzeugung neuer Knoten und steuert das Laden und Speichern von Schnittgraphen.
Jeder Knotentyp wird durch eine eigene Klasse implementiert. Die Basis
der Klassenhierarchie der Knoten bildet, die abstrakte PsnNode Klasse. Dazwischen befinden sich weitere, ’Zwischen’-Klassen zur Gruppierung der verschiedenen ’Typklassen’ von Knoten (PsnInner , PsnLeaf , PsnTransition, PsnSource, ...).
Die Basisklasse PsnNode und die ’Zwischen’-klassen werden nicht dynamisch geladen.
PsnInner implementiert generelle Bearbeitungsfunktionen auf den Schnittgraphen bzw. auf die unmittelbaren Kinder der Knoten im Graph: Entfernen, Ersetzen
und Einfügen. Die abgeleiteten Klassen müssen durch Überschreiben einer Funktion definieren, welche Knotentypen bei Einfügen und Entfernen erlaubt sind, oder
ob das Entfernen gestattet ist.
In PsnInner ist ebenfalls die nötige Funktionalität für einen UndoMechanismus enthalten. Ausgeführte Operationen auf Knoten werden in einem
globalen Kommandospeicher gespeichert und können wieder rückgängig gemacht
werden. In der derzeitigen Realisierung ist ein Rückgängigmachen von geänderten
Attributwerten noch nicht vorgesehen.
In der SGAPI sind keine Methoden zur Herstellung eines Videos aus der
Schnittbeschreibung enthalten. Nur die temporale Fixierung des Graphen ist in
der SGAPI enthalten. Ebenfalls ist keine Visualisierung enthalten, diese wird an
einer anderen Stelle implementiert.
6.3.2
Renderingsystem
Das Renderingsystem übernimmt die Herstellung eines Videos oder die Berechnung einzelner Vorschaubilder aus einem Schnittgraphen. Renderingsystem und
SGAPI sind miteinander gekoppelt, jedoch ist das Renderingsystem selbst beliebig austauschbar. Je nach Arbeitsplattform und dem gewünschten Medientyp des
Videos (digital/analog, Datei/Band), ist eine alternative Implementierung denkbar.
Für jeden Knoten existiert, gleichermaßen wie beim SGAPI, eine eigene Klasse,
die die nötigen Befehle zur Realisierung des vom Knoten definieren Effektes oder
die Bereitstellung der durch den Knoten beschrieben Quelle, übernimmt.
Im weiteren Verlauf dieses Abschnitts wird die für die IRIX Plattformen
(Onyx und O2) durchgeführte Implementierung besprochen. Die Implementierung ermöglicht das Rendern von digitalem Video. Von SGI wird ein reichhaltiges Sortiment an Funktionsbibliotheken zur Unterstützung von digitalen Medien
[CM96, ENB96] angeboten. Für die besprochene Implementierung kamen vor allem die Movie Libraries, welche Unterstützung für Videodateien geben, die Audio
65
66
Implementierung
PB 1
S1
PB 1
V1
V2
diss
PB 1
S2
diss
PB 1
PB 2
PB 2
V3
V4
cut
PB 2
PB 2
Abbildung 6.5: Datenfluss in einem Renderingbaum.
Libraries, die den Zugriff auf Audiodateien ermöglichen, sowie die Image Format
Library und die ImageVision Library zur Bearbeitung von digitalen Bildern zum
Einsatz.
Wie erfolgt die Herstellung des Videos? Ausgehend von einem durch die Klassen der SGAPI-modellierten Schnittgraphen, wird ein Renderinggraph erstellt. Jeder Knoten im Renderinggraph kann für einen Zeitpunkt (der von Null bis zur
effektiven Dauer des zu ihm gehörenden Schnittgraphenknotens geht) ein Einzelbild, sowie eine Audiosequenz, in der Länge, die der Bildfrequenz des Videos
entspricht, generieren.
Vom Wurzelknoten wird für jeden Zeitpunkt entsprechend der Bildfrequenz
und Dauer des Gesamtvideos jeweils ein Bild und Audio angefordert. Aus diesen
Komponenten wird das neue Video zusammengestellt. Die Knoten im Renderingbaum geben die Anforderungen an ihre Kinder bis zu den Quellknoten weiter. Wo
es die Eigenschaften des Knotens (Sequence, Loop, ...) erfordern, wird der angeforderte Zeitpunkt verändert. Von den Quellknoten aufwärts erfolgt dann die
Rückgabe der Bild- und Audiodaten. Diese werden von den einzelnen inneren
Knoten entsprechend manipuliert.
Zur Über- bzw. Weitergabe der Bild- und Audiodaten existieren spezielle
Bufferstrukturen, um einen sparsamen Umgang mit den verfügbaren (Speicher)Resourcen zu ermöglichen. Für die Bilddaten war anfänglich gedacht, spezielle, von einer IRIX-Funktionsbibliothek zur Verfügung gestellten ’dmFX’-Buffer
(digital media special effects buffer) zu verwenden. Es stellte sich im Laufe der
Arbeit heraus, dass diese mit IRIS Perfomer (siehe 6.3.3) nicht vereinbar waren,
und zu fehlerhaften Verhalten von OpenGL führten. Daher verwendet die derzeitige Implementierung pBuffer, eine spezielle Form von Pixel-Buffer, die eine SGI-spezifische Erweiterung zu OpenGL darstellen [Silc]. Auf pBuffer kann
hardware-beschleunigt gezeichnet werden, und man benötigt kein, mit dem gra-
6.3 Entwickelte Software
fischen Fenstersystem (X-Windows) assoziiertes Fenster. Die Verarbeitung und
Übergabe der einzelnen Bilder geschieht somit hardware-beschleunigt direkt über
die Grafikhardware.
Die Grafik in Abbildung 6.5 zeigt den Datenfluss in einem Renderingbaum zu
einem bestimmten Zeitpunkt dar. In der Sequenz S1 wird die Videoquelle V2 wird
mit einer Sequenz S2 überblendet. S2 selbst besteht aus zwei aneinandergefügten
Videoquellen V3 und V4. Zum beobachteten Zeitpunkt wird in S2 gerade auf V4
geschnitten. PB1 - PB3 stellen die verwendeten pBuffer dar.
6.3.3
Editing-Anwendung
Die Implementierung der Editing-Anwendung, die der Benutzerschnittstelle des
System entspricht, ist an die Zielplattform und der dafür verfügbaren Bibliotheken
und Hardware gebunden. Trotzdem wurde versucht, eine möglichst plattformneutrale Lösung zu realisieren.
Eine der wichtigsten Entscheidungen war die Wahl der Grafikbibliothek, auf
der aufgesetzt werden sollte. Als Grafikbibliotheken standen in erster Linie IrisGL
und OpenGL [NDW94], sowie die darauf aufbauenden Klassenbibliotheken OpenInventor [Wer94], IRIS Performer [RH94] sowie OpenGL Optimizer [EKW98]
zur Auswahl, welche auf der SGI Onyx verfügbar sind.
Die Wahl fiel auf IRIS Performer in Version 2.2. IRIS Performer bietet
eine umfangreiche Programmierschnittstelle mit C++-Bindungen für EchtzeitGrafiksimulation und anderen interaktiven Grafikanwendungen. Neben einer
low-level-Renderingbibliothek, die eine Kapselung der unterliegenden Hardwarenahen Grafikbibliothek, in diesem Fall OpenGL, stellt IRIS Performer szenegraphbasierende Renderingfunktionalität zur Verfügung, die für den Multiprozessorbetrieb optimiert ist. OpenInventor im Vergleich, besitzt keinen threadsicheren Szenegraphen. Da im VR-Center simultan in mehr als nur einem Display dieselbe
Szene mit einer anderen Sicht dargestellt werden muss, ist gerade das gleichzeitige
Abarbeiten des Szenegraphens ein wichtiges Kriterium, um die für die Echtzeitdarstellung nötige Bildfrequenz zu erreichen. Optimizer besitzt zwar einen multithread- bzw. multiprozess-tauglichen Szenegraph, um jedoch die auf der Onyx zur
Verfügung stehenden acht Prozessoren ausnützen zu können, wäre im Vergleich zu
IRIS Performer die Entwicklung eines eigenen Prozessmodells nötig gewesen.
IRIS Performer bietet zwar eine einheitliche Programmierschnittstelle auf allen unterstützten SGI-Systemen, jedoch keine Abstraktion der Visualisierungsumgebung und ihrer Peripherie. Für gewöhnlich wird diese Funktionalität bei CAVEAnwendungen von der CAVE-Library [WWW_VRC] ermöglicht. Diese Bibliothek stand jedoch zur Zeit der Programmentwicklung für die Diplomarbeit an der
Universität nicht zur Verfügung. Daher bestand die zusätzliche Aufgabe eine Abstraktion zur Peripherie und zum Visualisierungsumgebung zu schaffen.
Die Implementierung der Benutzerschnittstelle erfolgte auch im Hinblick eventueller späterer Portierung in Schichten (siehe Abbildung 6.6).
Hardwareabstraktions- und Interaktionsschicht sind unabhängig von der eigentlichen Implementierung der Editier-Anwendung und können auch für andere Anwendungen verwendet werden. Die drei Schichten werden von einer Steuerungskomponente kontrolliert. Alle vier Komponenten werden in den nächsten Abschnitten erklärt.
67
68
Implementierung
Schnittgraphen API
Renderingsystem
Steuerung
Visualisierungsschicht
Interaktionschicht
Hardwareabstraktionsschicht
Betriebsystem, Performer, OpenGL, dmedia, …
Abbildung 6.6: Schichten in der Editing Anwendung.
6.3.4 Hardware-Abstraktionsschicht
Die Hardwareabstraktionsschicht ersetzt die Funktionalität der fehlenden CAVELibrary. Sie führt die plattformabhängige Konfiguration von Performer durch, und
enthält Treiber für die zu bedienenden Eingabegeräte wie Tracker, Datenhandschuh
oder 6DOF-Joystick. In diesem Zusammenhang soll auf folgende Punkte eingegangen werden: die Projektionsberechnung im VRC, die Ansteuerung von Tracker
und Datenhandschuh sowie die Berechnung der nötigen Position von Kopf-, Handund Fingerstellungen.
Wesentlich für den korrekten räumlichen Eindruck ist die genaue Berechnung
der notwendigen Projektionen für das rechte und das linke Auge auf allen drei
Wänden des VRC. Dafür wird die genaue Position der Augen benötigt. Um diese
zu bestimmen, muss mit einem Tracker die Position des Kopfes und seine Orientierung erfasst werden. Das verfügbare Trackingsystem ist hier wenig entgegenkommend, da es nur drei Positions- und einen Rotationssensor besitzt. Man kann
nur von einem Objekt im Raum die genaue Positon und Orientierung bestimmen,
und von zwei weiteren Punkten die Position. Nachdem die Anwendung aber auch
von der Hand des Benutzers die genaue Position und Orientierung benötigt, musste eine Behelfslösung gefunden werden. Die Anwendung geht davon aus, dass
der Benutzer seinen Kopf nicht zur Seite neigt, und berechnet von den zwei Positionssensoren die Position der Augen, in der Annahme, dass sich diese in einer
Ebene zum Boden befinden. Die Berechnung der Projektionsmatrix selbst, ist in
folgenden zwei Quellen genau beschrieben [PSD99, WWW_Bou98].
Was die Berechnung der Handstellung betrifft, so geschieht diese durch eigens
entwickelte Funktionen. Die vom Hersteller des Datenhandschuhs verfügbare Bibliothek [Vir95] bot zwar die Möglichkeit zur teilweisen Berechnung der nötigen
Positionsdaten, lag aber im falschen Binärformat vor. Die Erkennung der Handgesten erfolgt schlussendlich durch einfache Vergleiche der Gelenksstellungen der
Hand und Finger.
Abbildung 6.7 zeigt einen Anwender, der mit den notwendigen Sensoren aus-
6.3 Entwickelte Software
69
Shutter-Brillen
Datenhandschuh
Positionsgeber
Rotationssensor
Abbildung 6.7: Anwender mit Shutterbrillen, Trackinggeräten und Datenhandschuh.
gestattet ist.
Tracker und Datenhandschuh sind über serielle Anschlüsse mit der SGI Onyx
verbunden. Die Ansteuerung der seriellen Anschlüsse und die Kommunikation mit
den Geräten über deren Protokolle erfolgt von eigenen Subprozessen, die nebenläufig zur Anwendung ausgeführt werden. Die Übertragung der berechneten Koordinaten zur Hauptanwendung geschieht über gemeinsame Speicherpositionen.
6.3.5
Interaktionsebene
Die Interaktionsebene stellt eine Sammlung von auf Benutzereingaben reaktive
Peformer-Objekte dar. Diese Objekte umfassen Buttons, sowie Skalierungsboxen,
aber auch einfache Szenegraphenknoten, die das Bewegen von beliebiger Geometrie im virtuellen Raum durch den Benutzer ermöglichen.
Die Interaktionsebene verarbeitet Ereignisse, die von den 3D-Eingabegeräten
kommen.
Anfänglich war der Gedanke vorrangig, Gegenstände in der virtuellen Welt direkt mit der Hand zu greifen. Ist jedoch ein physischer Gegenstand, z.B. die Hand
des Betrachters, in Sichtlinie zwischen Auge und Wand, führt das dazu, dass die
räumliche Wahrnehmung von virtuellen Objekten für den Betrachter leicht verloren geht (vgl. [CSD93]). Deswegen wird nun der sogenannte HOMER Ansatz
[BH97] verwendet. Mit Hilfe eines Selektionsstrahles der von der Hand des Benutzers geführt wird, werden die Gegenstände der Welt auswählt. Hat der Benutzer
einen Gegenstand selektiert, wird die Hand zum Gegenstand hin ’verschoben’. Der
70
Implementierung
Benutzer kann den Gegenstand nun so bewegen, als ob er ihn tatsächlich angreifen
würde. Die Bewegung der Hand wird dann auf den Gegenstand übertragen. Es
reicht aus, dass die Interaktionsebene nur Position, Orientierung, sowie aktuelle
Geste der Hand kennen muss.
Die programmtechnische Realisierung der Strahlselektion verwendet ein Liniensegment. Dieses dient Performer dazu die Schnittpunkte mit der dargestellten
Welt zu berechnen. Ausgehend vom ersten geschnittenen Objekt im Szenegraph,
wird entlang dem Pfad, vom geschnitten Objekt zur Wurzel des Szenengraphen
nach Interaktionsobjekten gesucht. Wird ein solches gefunden, bekommt es eine
Ereignissmeldung. Auf diese reagiert entweder das Objekt selbst oder es delegiert
das Ereignis zum nächsten Interaktionsobjekt im Pfad.
6.3.6 Visualisierungsebene
Die Visualisierungsschicht basiert auf der Verwendung von Interaktionsobjekten,
und anderen Performerobjekten, mit denen Schnittgraphen als eine der in Abschnitt 4 erklärten Visualisierungsformen, dargestellt werden.
Wie es auch bei den Renderinggraphen der Fall ist, existiert bei der Visualisierung für jeden Schnittgraphenknoten eine eigene Klasse. Ausgehend von der
Basisklasse VisNode, unterscheiden sich die von ihr abgeleiteten Knotenklassen
jedoch nur wenig. Lediglich eine andere 3D-Ikone wird im Konstruktor der Klasse
definiert.
Ein interessanter Aspekt ist hierbei, dass beide Visualisierungsformen mit derselben Szenegraph-Struktur beschrieben werden können. Einzig die Positionierung der einzelnen, durch den Graph beschriebenen Elemente, erfolgt unterschiedlich. Durch die Verwendung eines Dekorators [Gam94], mit zwei Ausprägungen
(VisConeLayout und VisFlatLayout ) erfolgt die programm-technische Umsetzung.
Schnittgraph und Szenegraph der Visualisierung stehen in einer SubjectOberserver-Beziehung. Änderungen am Schnittgraph führen dazu, dass dieser
eine Meldung an seine Visualiserungen sendet. Der Szenegraph ist selbst dafür
verantwortlich seine Darstellung dem geänderten Schnittgraphen anzupassen.
Beim Ausführen von Bearbeitungsoperationen durch den Benutzer auf den visualisierten Schnittgraph, delegiert dieser, die durch den Bediener visuell gesetzten
Bearbeitungsbefehle an das unterliegende Schnittgraphenmodell weiter.
Die Vorschauen der Schnittgraphenknoten in der Visualisierung werden mit
dem in Abschnitt 6.3.2 beschriebenen Renderingsystem erstellt. Die Berechnung
von neuen Vorschaubildern erfolgt nach jeder Änderung im Schnittgraphen. Durch
eine Änderung betroffene Vorschaubilder, müssen neu erstellt werden. Dieser Prozess geschieht im Hintergrund, und kann je nach Umfang und Komplexität des
Schnittgraphs eine längere Zeit in Anspruch nehmen.
6.3.7 Steuerungskomponente
Sinn und Zweck der Steuerungskomponente ist die generelle Initialisierung und
Kontrolle der gesamten Anwendung. Sie lädt und speichert den Zustand der virtuellen Welt, und verwaltet die einzelne Benutzerschnittstellenobjekte. Sie beinhaltet
auch die Hauptschleife der Anwendung, welche den Zeichenprozess von Performer
und die Behandlung des Benutzerinputs synchronisiert.
Kapitel 7
Validierung
Nachdem ’Immersives Video-Editieren’ in all seinen Einzelheiten vorgestellt worden ist, ist es Zeit sich der Frage zuzuwenden, inwiefern das vorgestellte System
und seine Methodik, die Erwartungen und Versprechungen gegenüber bestehenden
Ansätzen in der Videobearbeitung halten kann.
In dem folgenden Unterkapitel wird das Schnittgraphenmodell, wesentlicher
Bestandteil des immersiven Video-Editing, mit der zeitleistenbasierenden Beschreibung verglichen. Im zweiten Abschnitt sollen die wesentlichen Vorteile des
immersiven Video-Editing-Ansatzes seinen Nachteilen bzw. Mängel gegenübergestellt werden.
7.1
Schnittgraphenmodell
Die Vorteile des vom immersiven Video-Editors eingesetzten Schnittgraphenmodells gegen über dem Zeitleistenmodell sind:
Hierarchische Gliederung: Von der Struktur des Inhaltes betrachtet, bestehen
viele Videos aus Aufnahmen, die zu Szenen zusammengefasst sind. Über
den gesamten Handlungsablauf des Videos betrachtet, können Szenen in
mehreren Ebenen gruppiert sein. Schnittgraphen ermöglichen eine Nachbildung dieser hierarchischen Gliederung. Videoschnittsysteme, die mit einem Zeitleistenmodell arbeiten, können den inhaltlichen Ablauf nur linear
modellieren und ermöglichen keine implizierte Strukturierung.
Robust bei Änderungen: Schnittgraphen sind robust bei lokalen Änderungen.
Im Vergleich dazu, sind beim Zeitleistenmodell Komponenten des Videos
entlang einer Zeitleiste angeordnet. Ändert man Zeitpunkt und Dauer einer
einzelnen Komponente, so wirkt sich die Änderung auf alle ihrere Nachfolger aus. Problematisch ist dies vor allem für den Fall, wo mehrere Spuren innerhalb der Zeitleiste existieren und sich Komponenten anderer Spuren mit
der geänderten, zeitlich überlappen. Ebenfalls problematisch ist es, wenn
auf die geänderte Komponente Effekte bzw. Transitionen definiert gewesen
sind. Durch die starre Beziehung der Komponenten zur Zeitleiste, und der
fehlenden Beziehung zueinander, ist ein manuelles Ändern der durch die
Abänderung der Komponente betroffenen Komponenten, notwendig. Eine
kleine Änderung kann so einen Schneeballeffekt hervorrufen.
72
Validierung
top-down- und bottom-up- Vorgehen: Das Schnittgraphenmodell ermöglicht sowohl ein top-down-, genauso aber auch das gewöhnliche bottom-upVorgehen bei der Anfertigung von Bearbeitungsvorschriften. Beim Zeitleistenmodell müssen erst die Quellen für die Anwendung von Effekten existieren. Schnittgraphen ermöglichen es, die Struktur bereits im Vorhinein
festzulegen und erst als letzten Schritt die Quellen hinzuzufügen. Das bedeutet, dass die gespeicherten Schnittgraphen ohne Quellen als Vorlage für
öfter verwendete Schnittfolgen eingesetzt werden können.
Aufteilbar: Mit der Möglichkeit externe Schnittgraphen zu referenzieren und in
einen Graphen einzubinden, sowie den bereits angeführten Eigenschaften,
eignet sich der immersive Video-Editor dazu, ein größeres Videoprojekt in
kleinere Teile aufzuteilen. Die einzelnen Teile können von mehreren Benutzern, in unterschiedlichen Anwendungssitzungen bearbeitet werden, und
nahtlos, ohne nachträgliche Änderungen, in das Gesamtprojekt wieder integriert werden.
Erstellung von Varianten: Schnittgraphen ermöglichen die Erstellung von Varianten. Eine Variante muß erst fixiert werden zum Zeitpunkt, da aus der
Bearbeitungsvorschrift, in Form des Schnittgraphen, das endgültige Video
hergestellt wird.
Welche Nachteile sind besonders hervorzuheben?
Aufgezwungene Gliederung: Eine hierarchische Gliederung im Handlungsablauf muss nicht gewollt sein. Parallele Handlungsverläufe werden häufig
als gestalterisches Mittel im Video oder in Kinofilmen verwendet. Verschiedene, zur gleichen Zeit verlaufende Handlungsstränge, lassen sich mit einer hierarchischen Gliederung, in der Form wie sie bei Schnittgraphen vorkommt, schwer erfassen. Grund dafür ist, dass der Schnittgraph einen temporalen Zusammenhang beschreibt.
Fehlende Genauigkeit: Anwender von Videoschnittsystemen wollen ihr Video
oft auf das Einzelbild genau zusammenstellen. Dies widerspricht dem Konzept der Schnittgraphen. Zum einen gibt es bei Schnittgraphen keine Möglichkeit Video auf Einzelbildbasis zu adressieren. Schnittgraphen verwenden keinen abstrakten Zeitcode, sondern natürliche Repräsentation der Zeit.
Zum anderen definiert die Bildfrequenz des herzustellenden Zielvideos, zu
welchen Zeitpunkten ein Einzelbild von einer Quelle entnommen wird. Start
und Dauer der Quelle geben nur obere und untere Schranke der verwendbaren Quellsequenz an.
Synchronisierung zwischen Video und Audio: Will man z.B. einer längeren
Audiosequenz zu verschiedenen Zeitpunkten Videosequenzen synchron zuordnen, hat man mit Schnittgraphen das Problem, dass dies nicht trivial lösbar ist. Zwei Wege sind denkbar: Man schneidet die Audiosequenz an den
Synchronisationspunkten in entsprechende Untersequenzen auf. Will man
dies nicht, so existiert eine weitere Lösung mit Zero-, Sequence- und Layer Knoten, wobei die einzelnen Videosequenzen dann mittels Zero-Knoten und
Sequence-Knoten zeitlich an den jeweiligen Synchronisationspunkt verschoben werden und mit dem Layer -Knoten verbunden werden müssen.
7.2 Immersives Video-Editing und die entwickelte Anwendung
Probleme beim Rendern: Die Herstellung eines Videos anhand der Beschreibung durch den Schnittgraphen bedarf hohe Anforderungen an die Hardware, vor allem wenn die Herstellung in Echtzeit geschehen soll. Der durch den
Schnittgraphen definierte Datenfluss hat keine Beschränkung dahingehend,
wie viele Quellen gleichzeitig aktiv sein können. Videoschnitthardware, digital oder analog, ist selten für mehr als zwei Echtzeitströme ausgelegt.
7.2
Immersives Video-Editing und die entwickelte
Anwendung
Bearbeitungsmodelle, die auf zusammengesetzten Multimediaobjekten oder vergleichbaren hierarchischen Strukturen basieren, sind nicht unbekannt (siehe Abschnitt 3.2.4). Es stellt sich die Frage, warum sich die entsprechenden Bearbeitungswerkzeuge, die auf die Modelle aufbauen, sich nicht durchgesetzt haben,
bzw. dass zwar die Modelle zur Beschreibung verwendet werden, dem Benutzer
jedoch noch immer eine zeitleistenbasierende Visualisierung angeboten wird (vergleiche Avid und OMFi). Das könnte einerseits auf eine fehlende Akzeptanz durch
den Benutzer deuten (besonders in der Geschichte des Video-Editing sieht man,
dass sich die Systeme immer an bestehenden manuellen Bearbeitungsmethapern
orientiert haben), es kann aber auch daran liegen, dass die bisher geschaffenen Bearbeitungswerkzeuge sich wegen eventuell vorhandener Mängel nicht durchsetzen
haben.
Zusammenfassung der Vorteile von immersivem Video-Editing:
Übersichtlichkeit: Die Durchführung der Bearbeitung in einer virtuellen immersiven Umgebung stellt dem Benutzer mehr nutzbaren Raum zur Verfügung
als eine gewöhnliche, zweidimensionale Benutzerschnittstelle. Der Benutzer
kann leichter den Überblick über die von ihm zu bearbeitenden Strukturen
bewahren.
Variable Darstellung: Die Visualisierung der Schnittgraphen ist dynamisch änderbar. Knoten und Zweige der Schnittgraphen können ein- und ausgeblendet werden, die Komplexität entsprechend der Arbeitssituation und dem Interesse angepasst werden. Anordnung und Ausrichtung einzelner Elemente, wie Vorschau oder Ikonen der Knoten, können vom Benutzer eingestellt
werden. Die Größe der Schnittgraphenvisualisierung kann ebenfalls vom
Benutzer gewählt werden. Die Schnittgraphen selbst, können in zwei verschiedenen Formen dargestellt werden: Als erweiterte Video-Content-Trees
oder als Hängender-Efeu. Bei Änderungen in der Struktur des Graphen werden diese animiert durchgeführt, um dem Benutzer eine erneute Orientierung
in der Darstellung zu ersparen.
Einfache Interaktion: Die Konstruktion neuer Schnittgraphen erfolgt auf einfache Weise. Knoten werden mittels Drag’n’Drop-Technik zusammengestellt.
Die Interaktion in der immersiven Welt geschieht mit Hilfe von Handgesten
des Benutzers.
Integriertes Browsing: Die Auswahl von Quellsequenzen erfolgt mit Hilfe des
VCT-Videobrowsingansatzes. Dieser ist nahtlos in die Bearbeitung integriert
73
74
Validierung
und verwendet dieselbe Visualisierung wie zur Erstellung neuer Schnittgraphen. Der Unterschied zwischen Quelle und Ziel verwischt, und der Benutzer arbeitet nur mit einer Repräsentation von Video.
Erweiterbarkeit: Die Anwendung selbst, lässt sich in ihrem Funktionsumfang,
bezüglich neuer Knotentypen einfach erweitern. Da Knoten als Plug-In vom
System beim Start geladen werden, muss nur eine Implementierung des neu
hinzuzufügenden Knotens realisiert werden. Beschreibung, Aktion und Visualisierung der Knoten ist getrennt voneinander gehalten, und muss jeweils
eigens implementiert werden.
Was sind die Nachteile des Ansatzes? Was fällt beim Betrachten der Realisierung
negativ auf?
Ungewohntes Beschreibungsmodell und Arbeitsumgebung: Wie in der Einleitung zu diesem Unterkapitel bereits erwähnt, ist ein neuartiges Beschreibungsmodell und Benutzerschnittstelle für einige potenzielle Anwender ein
abschreckendes Szenario.
Keine integrierte Lösung: Ebenfalls bereits erwähnt, handelt es sich beim Prototypen noch nicht um eine vollständige Lösung. Vor allem fehlt die Unterstützung für externe Quellen. Neues Videomaterial muss manuell von außen
in die Anwendung eingebracht werden.
Fehlende Bearbeitungsmöglichkeiten: Attribute von Knoten können nicht bearbeitet werden. Zur Berarbeitung müssten weitere Steuerungsobjekte geschaffen werden. Die Hängende-Efeu-Visualisierung von Schnittgraphen
eignet sich gut für textuelle Annotationen. Es existiert jedoch keine Möglichkeit zur Texteingabe. Daher können sich die Annotationen nur auf die
Anzeige der Attributwerte beschränken.
Weiterhin können Audiosequenzen nicht in ihrer Länge beschnitten werden.
Ebenfalls existiert kein integriertes Werkzeug um Quellvideos linear zu beschneiden.
Wenngleich außerhalb der Aufzählung aber trotzdem nicht außer Acht zu lassen, ist die Qualität und Angemessenheit der für die Erzeugung von Virtual Reality
nötigen Hardware. Zum einen stellt sich die Frage, ob eine CAVE-ähnliche VRInstallation für Anwendungen wie immersives Video-Editing angemessen ist, oder
ob nicht eher eine Lösung mit Head-Mounted-Display vorzuziehen ist. In dieser
Hinsicht fehlten dem Autor die Vergleichsmöglichkeiten, auch was den Einsatz in
einem vollwertigem CAVE betrifft.
Was im Laufe der Arbeit jedoch klar wurde war, dass sich der CAVE nicht für
die Bearbeitung von Objekten die in unmittelbarer Nähe des Betrachters liegen,
geeignet ist. Es entsteht das Problem, die eigene Hand die sichtbare Geometrie
verdeckt und die Darstellung selbst, auf Grund der perspektivischen Projektion,
über die Projektionsfläche hinaus geht, was zum unmittelbaren Verlust der räumlichen Wahrnehmung führt.
Trotzdem haben CAVEs den Vorteil des Erlebens der Visualisierung mit anderen Beobachtern unmittelbar teilen zu können. Dies ermöglicht lokale Kooperation, Vorführung wie auch einfacheres Einschulen als mit einer HMD-Lösung.
Kapitel 8
Zusammenfassung und Ausblick
8.1
Zusammenfassung
In dieser Diplomarbeit wurde ein neuartiger Ansatz zur Bearbeitung von Video
vorgestellt, der auf drei Merkmalen basiert. Diese sind das Bearbeitungsmodell der
Schnittgraphen, Integration von Video-Browsing für das Quellmaterial sowie die
Realisierung der Benutzerschnittstelle in einer immersiven virtuellen Umgebung.
Der Einsatz von Computern im Bereich der Videobearbeitung hat lange Tradition. Die rasch fortschreitende Entwicklung im technischen Bereich hat im methodischen Bereich keinen gleichartigen Niederschlag gefunden. Die Methaphern
sind die gleichen geblieben. Heute wird nicht-linearer Viedoschnitt noch immer
mit linearen Zeitleistenmodellen und graphischen Darstellungen von Zeitleisten
am Computer durchgeführt. Die Nachteile dieses Ansatzes wurden in der Diplomarbeit an mehren Stellen aufgezeigt.
Schnittgraphen ermöglichen einen strukturierten Aufbau von Video durch Verwendung eines baumartigen Graphen zur Repräsentation des zu erstellenden Videos. Die Blätter des Graphen repräsentieren die Quellen des Videos, seine innere Knoten, Manipulationen sowie eine temporale Ordnung auf den Quellen des
neuen Videos. Schnittgraphen ermöglichen des weiteren die Anfertigung von variablen Schnittvarianten. Neben dem Medium Video wird auch die Verwendung
von synchronem Audio unterstützt. Die Idee der Verwendung von Schnittgraphen
entstand im Laufe der Zusammenarbeit mit Knut Manske. Es mußten jedoch erst
programm-technische Mittel zur Realisierung gefunden werden.
Die Immersive-Video-Editing-Anwendung war als eine Fortsetzung der Arbeit
des Autors an einem Videobrowsingsystem, dass auf Video-Content-Trees basiert,
gedacht. Dieser Videobrowsingansatz ist Teil des Bearbeitungskonzeptes der neuen Videoschnittanwendung, und ermöglicht beim Beschreibungsprozess des neuen
Videos aus bestehendem Quellmaterial schnell die gesuchten Videosequenzen zum
Einbau zu finden.
Eine immersive viruelle Umgebung, wie beim VR-Center, ermöglicht eine
bessere Übersicht und intuitive Bedienung bei der Durchführung der Videobearbeitung. In naher Zukunft ist zu erwarten, dass die nötige Technik für immersive Virtual-Reality-Anwendungen, auch in gewönliche Arbeitsumgebungen und
für den Heimgebrauch erhältlich sein wird. Fallende Preise und der andauernde Fortschritt, was die Leistungsfähigkeit von Computern und 3D-Zeichenleistung
76
Zusammenfassung und Ausblick
betrifft, unterstützen diese These.
Der vorgestellte Weg zur Videobearbeitung hat Potential beim Umgang mit,
der wie schon in der Einleitung erwähnten, Zunahme der Verwendung von digitalem Video und Bedarf nach leistungsfähigen und zugleich effektiven Videobearbeitungsystemen Anwendung zu finden.
Zur Realiserung der Anwendung war entsprechender Einsatz in der Erstellung
notweniger Treiber für Peripheriegeräte und Abstraktion des VR-Centers erforderlich.
8.2
Ausblick
Dieser Abschnitt führt denkbare Weiterentwicklungen am vorgestellten Konzept
des immersiven Video-Editing einerseits, und den Schnittgraphenmodell andererseits, auf.
Weitere Entwicklungen des immersiven Video-Editings umfassen:
Vervollständigung fehlender Bearbeitungsmöglichkeiten: Die
Benutzerschnittstelle müsste erweitert werden. Eingabe von Text sollte ermöglicht
werden, entweder über ein verbessertes virtuelles Steuerfeld, per Handgesten oder durch Spracheingabe. Attribute der Knoten müssen änderbar
werden. Hier ist ebenfalls die Einführung von weiteren Steuerelementen
notwendig.
Plattformunabhängigkeit: Die Anwendung ist wegen der Verwendung von
IRIS-Performer, SGI OpenGL-Erweiterungen und SGI digital-mediaBibliotheken nicht auf andere Plattformen portierbar.
Integration von einer Videodatenbank: Derzeit müssen Quellen noch manuell
in die Anwendung eingebunden werden. Denkbar wäre die Integration einer
Schnittstelle zu einer Videodatenbank.
Kooperatives Editing: Kooperatives Arbeiten in virtuellen Umgebungen ist ein
aktuelles Forschungsthema. Interessant erscheint die Möglichkeit, basierend
auf dem immersiven Video-Editing System, kooperatives Video-Editing zu
betreiben. Einige realistische Arbeitsszenarien wären: Mehrere Cutter arbeiten kooperativ an verschieden Orten am selben Schnittgraphen; Regisseur und Cutter besprechen das zu erstellende Video verteilt mit Hilfe einer
immersiven Schnittgraphenvisualisierung kooperativ im virtuellen Raum.
Dem Schnittgraphenmodell müssten vor allem zwei Merkmale hinzugefügt
werden:
Variable Attribute Attribute können nur feste Werte zugewiesen bekommen.
Denkbar wäre, dass die Attribute ihre Werte zeitlich basiert verändern können, etwa mit Hilfe von speziellen Berechnungsknoten.
Feste Referenzen Die Referenzknoten im Schnittgraphenmodell haben nur den
Charakter eines Verweises. Ein Beispiel: Durch Parameterknoten definierte Attribute oberhalb eines Referenzknotens finden keine Anwendung auf
den referenzierten Zweig eines Schnittgraphen. Eine feste Referenz würde
bedeuten, dass Attribute im referenzierten Zweig angewendet würden.
8.2 Ausblick
Es könnte auch die Möglichkeit verfolgt werden, das Schnittgraphenmodell
getrennt von der immersiven Editing-Anwendung einzusetzen, zum Beispiel durch
die Entwicklung einer 2D-Repräsentation und einer Benutzerschnittstelle zum Bearbeiten von Schnittgraphen.
77
Abbildungsverzeichnis
1.1 Eine Videosequenz als Video-Content-Tree visualisiert. . . .
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3
12
13
14
15
17
18
18
20
2.10
2.11
2.12
2.13
2.14
nicht-linearer (videobasierter) Filmschnitt. . . . . . . . . . . .
Beispiel einer Edit Decision List (EDL). . . . . . . . . . . . . .
Apple Quicktime. . . . . . . . . . . . . . . . . . . . . . . . . .
OMFi Composition Mob. . . . . . . . . . . . . . . . . . . . . .
“Death Star” Konsole des EditDroid. . . . . . . . . . . . . . .
Montage Picture Processor. . . . . . . . . . . . . . . . . . . .
Skript Mimic. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adobe Premiere. . . . . . . . . . . . . . . . . . . . . . . . . .
Detail verus Übersicht bei Zeitleistendarstellung (Videomachine/FAST). . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zeitleistennavigation. . . . . . . . . . . . . . . . . . . . . . . .
Storyboard (VideoShop/Avid). . . . . . . . . . . . . . . . . . .
Monitor (Premiere/Adobe). . . . . . . . . . . . . . . . . . . .
Canvas (VideoShop/Avid). . . . . . . . . . . . . . . . . . . . .
Movie Authoring and Design (MAD). . . . . . . . . . . . . . .
3.1
3.2
3.3
3.4
3.5
Ein Inventor Szenegraph und die gerenderte Szene.
Hierarchische Klassifikation der Knotentypen. . . . .
Ein Schnittgraph. . . . . . . . . . . . . . . . . . . . .
Fixierung: Festlegung der minimalen Dauer. . . . . .
Fixierung: Zuteilung zusätzlicher Zeit. . . . . . . . .
33
34
42
43
43
4.1
4.2
4.3
4.4
4.5
Einzelner Zweig eines Video-Content-Tree. . . . . . . . . . .
Auswahl von 3D-Ikonen. . . . . . . . . . . . . . . . . . . . . .
Erweiterte Video Content Tree Visualisierung (Entwurfsskizze).
Teil der Visualisierung mit handle box zur Skalierung. . . . .
Hängender Efeu Visualisierung. . . . . . . . . . . . . . . . . .
46
48
49
50
51
5.1
5.2
5.3
5.4
5.5
Handgesten. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Betrachter in Mitten der Visualisierung. . . . . . . . . . . . . .
Anordungsplan der einzelnen Benutzerschnittstellenobjekte. .
Ablage mit inneren Knoten. . . . . . . . . . . . . . . . . . . .
Drag’n’Drop von Schnittgraphen. . . . . . . . . . . . . . . . .
55
56
57
57
58
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
22
23
23
24
25
6.1 Das VR-Center der Universität Linz . . . . . . . . . . . . . . . 62
6.2 Trackingsystem und Datenhandschuh. . . . . . . . . . . . . . 63
6.3 Logitech Cyberman II, 6-DOF Joystick. . . . . . . . . . . . . . 64
80
Abbildungsverzeichnis
6.4
6.5
6.6
6.7
Softwarekomponenten. . . . . . . . . . . . . .
Datenfluss in einem Renderingbaum. . . . . .
Schichten in der Editing Anwendung. . . . . . .
Anwender mit Shutterbrillen, Trackinggeräten
handschuh. . . . . . . . . . . . . . . . . . . . .
. . .
. . .
. . .
und
. . .
. . . . .
. . . . .
. . . . .
Daten. . . . .
64
66
68
69
Tabellenverzeichnis
1.1 Einsatzbereiche für Virtual Reality im CAVE. . . . . . . . . .
5
3.1 Bestimmung von Dauer und Gewicht innerer Knoten. . . . . . 42
5.1 Verfügbare Quell-Datenformate. . . . . . . . . . . . . . . . . 54
Literaturverzeichnis
[ADHC94] Arman, F.; Depommier, R.; Hsu, A. und Chiu, M.-Y. Content-based
browsing of video sequences. In Proceedings of the Second ACM
International Conference on Multimedia (MULTIMEDIA ’94), Seiten
97–104. ACM Press, New York, Oktober 1994. ISBN 0-201-609746.
[App96]
Apple Computer, Inc. QuickTime File Format, Specification, Mai
1996.
[App97]
Apple Computer, Inc. Inside Macintosh, QuickTime, August 1997.
[BH97]
Bowman, Doug A. und Hodges, Larry F. An evaluation of techniques
for grabbing and manipulating remote objects in immersive virtual
environments. In Procedings of the 1997 Symposium on Interactive
3D Graphics. 1997.
[BRF+ 96]
Baecker, R.; Rosenthal, A.; Friedlander, N.; Smith, E. und Cohen, A.
A multimedia system for authoring motion pictures. In Proceedings of
the Fourth ACM Multimedia Conference (MULTIMEDIA’96), Seiten
31–42. ACM Press, New York, NY, USA, November 1996. ISBN
0-201-92140-X.
[BS96]
Blakowski, Gerold und Steinmetz, Ralf. A media synchronization
survey: Reference model, specification, and case studies. IEEE Journal on Selected Areas in Communications, Band 14(1):5–35, Januar
1996.
[CM96]
Creek, Patricia und Moccia, Don. Digital Media Programming Guide. Silicon Graphics, Inc., 1996.
[CMNY98] cker Chiueh, Tzi; Mitra, Tulika; Negoi, Anindya und Yang, ChuanKai. Zodiac: A history-based interactive video authoring system. In
Proceedings of ACM Multimedia ’98, Seiten 369–374. ACM, Bristol,
UK, September 1998.
[CSD93]
Cruz-Neira, Carolina; Sandin, Daniel J. und DeFanti, Thomas A.
Surround-screen projection-based virtual reality: The design and implementation of the CAVE. In Kajiya, James T., Herausgeber, Computer Graphics (SIGGRAPH ’93 Proceedings), Band 27, Seiten 135–
142. August 1993.
84
Literaturverzeichnis
[CSTW98] Christel, Michael G.; Smith, Michael A.; Taylor, C. Roy und Winkler,
David B. Evolving video skims into useful multimedia abstractions.
In Proceedings of ACM CHI 98 Conference on Human Factors in
Computing Systems, Band 1 von Navigation, Seiten 171–178. 1998.
[Dav93]
Davis, M. Media streams: An iconic visual language for video annotation. In Glinert, Ephraim P. und Olsen, Kai A., Herausgeber,
Proceedings of the 1993 IEEE Symposium on Visual Languages, Seiten 196–203. IEEE Computer Society Press, Bergen, Norway, August
1993. ISBN 0-8186-3970-9.
[DKD98]
DeMenthon, Daniel; Kobla, Vikrant und Doermann, Davis. Video
summarization by curve simplification. In Proceedings of ACM Multimedia ’98, Seiten 211–217. ACM, Bristol, UK, September 1998.
[DMT97]
Ding, Wei; Marchionini, G und Tse, Tony. Previewing video data:
Browsing key frames at high rates using a video slide show interface.
In International Symposium on Research, Development & Practice in
Digital Libraries (ISDL9́7), Seiten 425–426. 1997.
[ED94]
Elliott, Eddie und Davenport, Glorianna. Video streamer. In Proceedings of ACM CHI’94 Conference on Human Factors in Computing
Systems, Band 2 von INTERACTIVE EXPERIENCE, Seiten 65–66.
1994.
[EKW98]
Eckel, George; Kempf, Renate und Wennerberg, Leif. OpenGL Optimizer Programmer’s Guide: An Open API for Large-Model Visualization. Silicon Graphics, Inc., 1998.
[ENB96]
Eckel, George; Neider, Jackie und Bassler, Eleanor. ImageVision Library, Programming Guide. Silicon Graphics, Inc., 1996.
[Gam94]
Gamma, Erich. Design Patterns. Professional Computing Series.
Addison-Wesley Longman, Inc., 13. Auflage, 1994.
[GT95]
Gibbs, Simon J. und Tsichritzis, Dionysios C. Multimedia Programming. ACM Press. Addison-Wesley Publishing Company, 1995.
ISBN 0-201-422282-4.
[HJW95]
Hampapur, Arun; Jain, Ramesh und Weymouth, Terry. Digital video
segmentation. In Multimedia 94, Seiten 357–364. ACM, San Francisco, CA, USA, Oktober 1995.
[Hof99]
Hoffer, Avi. Real time, all the time: Nonlinear editing systems compared. DV, Seiten 14–36, 1999.
[HR93]
Hamakawa, Rei und Rekimoto, Jun. Object composition and playback models for handling multimedia data. In Proceedings of the
First ACM International Conference on Multimedia (MULTIMEDIA
’93), Seiten 273–282. ACM Press, New York, August 1993. ISBN
0-201-56160-3.
[Int98]
InterSense. IS-600 User Manual, 1998.
85
[JHEJ98]
Jiang, Haitao; Helal, Abdelsalam (Sumi); Elmagarmid, Ahmed K.
und Joshi, Anupam. Scene change detection techniques for video
database systems. Multimedia Systems, Band 6:186–195, 1998.
[Kal93]
Kalawsky, Roy S. The science of virtual reality and virtual environments. Addison-Wesley Publishing Company, 1993. ISBN 0-20163171-7.
[KD98]
Kobla, V. und Doermann, D. Video trails: Representing and visualizing structure in video sequences. In Proceedings of The Fifth ACM
International Multimedia Conference (MULTIMEDIA ’97), Seiten
335–346. ACM Press/Addison-Wesley, New York/Reading, November 1998. ISBN 0-201-32232-3.
[Kum99]
Kummer, Horst. Entwicklungstendenzen bei compositingsystemen.
digital production, Seiten 163,176–177, 2 1999.
[Man98]
Manske, Knut. Video browsing using 3d video content trees. In Proceedings of the CIKM ’98 Workshop on New Paradigms in Information Visualization and Manipulation. Bethesda, Maryland, USA, November 1998.
[MC96]
Meng, J. und Chang, S.-F. CVEPS : A compressed video editing and
parsing system. In Proceedings of the Fourth ACM Multimedia Conference (MULTIMEDIA’96), Seiten 43–54. ACM Press, New York,
NY, USA, November 1996. ISBN 0-201-92140-X.
[MCW92]
Mills, Michael; Cohen, Jonathan und Wong, Yin Yin. A magnifier
tool for video data. In Proceedings of ACM CHI’92 Conference on
Human Factors in Computing Systems, Visualizing Objects, Graphs,
and Video, Seiten 93–98. 1992.
[MGM93]
Matthews, James; Gloor, Peter und Makedon, Fillia. VideoScheme: A
programmable video editing system for automation and media recognition. In Computer Graphics (Multimedia ’93 Proceedings), Seiten
419–426. ACM, Addison-Wesley, August 1993.
[MMVG98] Manske, Knut; Mühlhäuser, Max; Vogel, Simon und Goldberg, Morris. Obvi: Hierarchial 3d video browsing. In Proceedings of ACM
Multimedia ’98, Seiten 369–374. ACM, Bristol, UK, September
1998.
[MP94]
Mackay, W. und Pagani, D. Video mosaic: Laying out time in a physical space. In Proceedings of the Second ACM International Conference on Multimedia (MULTIMEDIA ’94), Seiten 165–172. ACM
Press, New York, Oktober 1994. ISBN 0-201-60974-6.
[MTCM96] Macer, Peter J.; Thomas, Peter J.; Chalabi, Nouhman und Meech,
John F. Finding the cut of the wrong trousers: Fast video search
using automatic storyboard generation. In Proceedings of ACM CHI
96 Conference on Human Factors in Computing Systems, Band 2 von
SHORT PAPERS: Information Structure, Seiten 303–304. 1996.
86
Literaturverzeichnis
[NDW94]
Neider, Jackie; Davis, Tom und Woo, Mason. OpenGL Programming
Guide: The Official Guide to Learning OpenGL, Release 1. AddisonWesley Publishing Company, 1994.
[OW93]
Ottmann, Thomas und Widmayer, Peter. Algorithmen und Datenstrukturen. Nummer 70 in Reihe Informatik. BI-Wissenschaftsverlag,
zweite Auflage, 1993.
[PSD99]
Pape, Dave; Sandin, Dan und DeFanti, Tom. Transparently supporting a wide range of vr and stereoscopic display devices. In Proceedings of SPIE, Band 3639. San Jose, California, Januar 1999.
[RCM93]
Robertson, George; Card, Stuart K. und Mackinlay, Jock D. Information visualization using 3D interactive animation. Communications
of the ACM, Band 36(4):57–71, April 1993.
[RF99]
Roberts, Blake und Feeley, Jim. Nonlinear editing systems, a buyer’s
guide. DV, Seiten 46–56, 1999.
[RH94]
Rohlf, John und Helman, James. IRIS performer: A high performance multiprocessing toolkit for real–Time 3D graphics. In Glassner, Andrew, Herausgeber, Proceedings of SIGGRAPH ’94 (Orlando,
Florida, July 24–29, 1994), Computer Graphics Proceedings, Annual
Conference Series, Seiten 381–395. ACM SIGGRAPH, ACM Press,
Juli 1994.
[RMC91]
Robertson, George G.; Mackinlay, Jock D. und Card, Stuart K. Cone trees: Animated 3D visualizations of hierarchical information. In
Proceedings of ACM CHI’91 Conference on Human Factors in Computing Systems, Information Visualization, Seiten 189–194. 1991.
[Rub95]
Rubin, Michael. Nonlinear : a guide to digital film and video
editing. Triad Publishing Company, Santa Cruz, California, USA,
dritte Auflage, Oktober 1995. ISBN 0-201-52983-1.
[Silc]
Silicon Graphics, Inc. OpenGL on Silicon Graphics System.
[Soc93]
Society of Motion Picture ans Television Engineers. SMPTE 258M1993: Transfer of Edit Decison Lists, 1993.
[SS98]
Shen, Bo und Sethi, Ishwar K. Block-based manipulations on
transform-compressed images and videos. Multimedia Systems,
Band 6:113–124, 1998.
[Ste93]
Steinmetz, Ralf. Multimedia-Technologie. Springer-Verlag, 1993.
ISBN 3-540-56724-0.
[TAOS93]
Tonomura, Yoshinobu; Akutsu, Akihito; Otsuji, Kiyotaka und Sadakata, Toru. VideoMAP and videospaceicon: Tools for anatomizing
video content. In Proceedings of ACM INTERCHI’93 Conference on
Human Factors in Computing Systems, Structuring Images for Interaction, Seiten 131–136. 1993.
87
[TMM99]
Trompler, Christoph; Manske, Knut und Mühlhäuser, Max. Immersive exploration of video content trees. In 5èmes Journées d’Études et
d’Échanges ”COmpression et REprésentation des Signaux Audiovisuels”, Seiten 327–334. France Telecom, Sophia-Antipolis, France,
Juni 1999.
[UM96]
Ueda, H. und Miyatake, T. Automatic scene separation and tree
structure GUI for video editing. In Proceedings of the Fourth ACM
Multimedia Conference (MULTIMEDIA’96), Seiten 405–406. ACM
Press, New York, NY, USA, November 1996. ISBN 0-201-92140-X.
[Vir95]
Virtual Technologies. Virtual Hand Programers Guide, Juni 1995.
[Vir97]
Virtual Technologies. CyberGlove User’s Manual, Juni 1997.
[VMM99]
Vogl, Simon; Manske, Knut und Mühlhäuser, Max. A vrml approach
to web video browsing. In Part of the IS&T/SPIE Conference on
Multimedia Computing and Networking, Band 3654, Seiten 276–283.
San Jose, California, USA, Januar 1999.
[VRM97]
VRML Consortium Incorporated. The Virtual Reality Modeling Language, International Standard ISO/IEC 14772-1:1997, 1997.
[Wer94]
Wernecke, Josie.
The Inventor Mentor:Programming ObjectOriented 3D Graphics with Open Inventortm . Addison-Wesley Publishing Company, release 2 Auflage, 1994.
Verzeichnis von Internet-Quellen
[WWW_Ado]
Adobe Systems Incorporated.
Adobe Premiere 5.1.
http://www.adobe.com/prodindex/premiere/main.html.
[WWW_Adv98] Advanced Authoring Format Promoters. Advanced Authoring
Format, April 1998. http://www.microsoft.com/aaf.
[WWW_AEC]
AEC, Linz, Österreich.
ARS ELECTRONICA CENTER.
http://www.aec.at/center2/index.html.
[WWW_Appa]
Apple Computer, Inc. Apple - Products - PowerMac G3.
http://www.apple.com/powermac/specs.html.
[WWW_Appb]
Apple Computer, Inc. Apple - QuickTime - Developers.
http://www.apple.com/quicktime/developers/.
[WWW_A.R]
A.R.T.
Computeranimation
Ges.m.b.H.
tria.
(Preise
für)
SOFTIMAGE|DS
http://www.art.at/preise/winnt/komplett.html.
[WWW_Bou98]
Bouchaud, Patrick.
Multipipe Utility MPU.
Silicon Graphics, Inc., Mai 1998.
http://wwwdevprg.sgi.de/devtools/tools/MPU/index.html.
[WWW_Eid]
Eidos
Technologies.
Justice
|
http://www.eidostechnologies.com/html/jj.htm.
[WWW_Ele]
Electronic Visualization Laboratory (EVL). Teleimmersion at
EVL. http://www.evl.uic.edu/cavern/.
[WWW_Ing]
Ingångssida - Nada, KTH. Collaborative Work in Virtual Environments. http://www.nada.kth.se/k̃ai/lectures/CWVE.html.
[WWW_Lab]
Laboratory for Scientific Visual Analysis. Applications for a
CAVE. http://www.sv.vt.edu/future/vt-cave/apps/.
[WWW_Log]
LogiCad3D, A Logitech Company. SPACE MOUSE Products.
http://www.spacemouse.com/products/.
[WWW_Mic98]
Microsoft. DirectX Media - Multimedia Services for Microsoft Internet Explorer and Microsoft Windows, Dezember 1998.
http://www.microsoft.com/directx/overview/dxmedia/whitepaper.asp.
[WWW_Mil]
Miller Freeman, Inc.
Digital Video Buyer’s Guide.
http://ww2.infoxpress.com/mfidm/dv/buyersguides/bg1/.
Aus2.1.
Judgement.
90
Verzeichnis von Internet-Quellen
[WWW_Mov]
Moving Picture Experts Group. Overview of the MPEG-4 Standard. http://drogo.cselt.stet.it/mpeg/standards/mpeg-4/mpeg4.htm.
[WWW_OMF97] OMF Developers’ Desk, Avid Technology, Inc, Tewksbury, MA, USA.
Open Media Framework, OMF Interchange Specification Version 2.1, September 1997.
ftp://ftp.avid.com/pub/omf/doc/omfspec21.pdf.
[WWW_SGIa]
SGI, Inc. SGI - O2 Workstation. http://www.sgi.com/o2/.
[WWW_SGIb]
SGI, Inc. Welcome to the SGI Visual Workstation Home Page.
http://visual.sgi.com/.
[WWW_Sil]
Silicon Graphics, Inc. SGI - Onyx InfiniteReality Graphics System. http://www.sgi.com/products/remanufactured/onyx/.
[WWW_Sil99]
Silicon Graphics Computer Systems, Inc.
dard Template Library Programmer’s Guide,
http://www.sgi.com/Technology/STL/.
Stan1999.
[WWW_Ski]
Skipstone,
Inc.
Information
http://www.skipstone.com/info.html.
1394.
[WWW_Son]
Sony
Electronics
Inc.
Sony
Computing
Products:
VAIO
Notebook
Computers.
http://www.ita.sel.sony.com/products/pc/notebook/.
[WWW_Tcl]
Tcl/Tk Consortium.
grid - Geometry manager
that
arranges
widgets
in
a
grid.
http://www.tclconsortium.org/resources/manpages/tk80/grid.n.html.
[WWW_upd]
update.co.at edv gmbh. (Preise für) Ulead Video Studio.
http://www.update.co.at/html/body_ulead_video_studio.html.
[WWW_Vei]
Veillard, Daniel.
The XML library
http://rufus.w3.org/veillard/XML/xml.html.
[WWW_VRC]
VRCO. CAVE Library. http://www.vrco.com/CAVE_USER/index.html.
[WWW_W3C]
W3C.
Extensible
http://www.w3.org/XML/.
Markup
on
IEEE
for
Language
Gnome.
(XML).
Aufgabenstellung
Immersives Video-Editing
Die zunehmende Verwendung von digitalen Videos und die Verfügbarkeit von Systemen für den nicht-linearen Videoschnitt lassen neuartige Ansätze zur Bedienung erwarten.
Allerdings verwenden auch aktuelle Videoschnittsysteme immer noch eine sogenannte Zeitleiste (timeline) zur Bearbeitung der Schnittfolge: In zwei Spuren werden die Videosequenzen als Blöcke eingefügt und über einen Effektkanal durch mehr oder weniger trickreiche
Effekte miteinander verbunden.
An der Abteilung Telekooperation wurden verschiedene Ansätze entwickelt, VideoBrowsing durch hierarchische interaktive Visualisierungen zu ermöglichen. Videoinhalte
werden hierdurch schnell erfaßbar und selektierbar, ohne das Videomaterial vollständig betrachten zu müssen.
Im Rahmen eines Programmierprojektes hat Herr Christoph Trompler einen VideoBrowser entwickelt, der basierend auf einer Cone-Tree-Visualisierung [RMC91] eine dreidimensionale hierarchische Darstellung der Videoinhalte ermöglicht. Die Videoinhalte werden interaktiv explorierbar. Durch die Ausnutzung der drei Dimensionen wird ein bisher
nicht vorhandener Überblick über die Hierarchie geschaffen.
Ziel der Diplomarbeit „Immersives Video-Editing“ ist es, basierend auf dem Ansatz der
hierarchischen Strukturierung des Videos und dreidimensionalen Visualisierung ein System
zum interaktiven Editieren von Videos in drei Dimensionen zu entwerfen und zu realisieren.
Die immersive dreidimensionale Umgebung des CAVEs der Universität dient als Zielplattform. Die Einbindung der vorhandenen Möglichkeiten zur Positionserfassung (tracking) und
VR-Dateneingabe sind zu nutzen und in das Modell einzubinden.
Die Videobearbeitung soll auf hierarchischen Strukturierungen der Videodaten basieren. Überblendeffekte, Überlagerungseffeke und Vertonungen sollen als spezielle Elemente
dieser Strukturen eingeführt werden. Es ist eine Schnittstelle zu allgemein verwendbaren
Videoformaten zu schaffen.