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.