PDF-Version - Universität Osnabrück
Transcription
PDF-Version - Universität Osnabrück
Multimedia-Praktikum Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück [email protected] In dieser Veranstaltung werden die grundlegenden Techniken zur Digitalisierung, Komprimierung und Manipulation von audiovisuellen Medien behandelt. Darauf aufbauend werden Web-Publishing-Konzepte vorgestellt, mit denen diese Medien auf Webseiten veröffentlicht werden können. Die zum Betrachten der multimedialen Effekte erforderliche Software gibt es bei den jeweiligen Herstellern und auch im Plugin-Verzeichnis der HTML-Version. FlashPix Flash Midi RealVideo Quicktime VRML PDF http://www.mgisoft.com http://www.macromedia.com http://www.liveupdate.com http://www.real.com http://www.apple.com http://www.cai.com/cosmo http://www.adobe.com Downloadadressen der Hersteller 1 Zielsetzung In dieser Veranstaltung sollen die Grundkenntnisse zu folgenden drei Bereichen vermittelt werden: Digitalisierung und Komprimierung von audiovisuellen Medien • Text • Pixelgrafik • 2D-Vektorgrafik • 3D-Vektorgrafik • Audio • Video Bearbeitung der Medien mit Software-Werkzeugen • Adobe Photoshop (Pixeleditor) • Macromedia Flash (2D-Vektorgrafik) • Micrografx Simply 3D (3D-Vektorgrafik) • Creative Wavestudio (Audiobearbeitung) • Adobe Premiere (Videoschnitt) • RealNetworks Realproducer (Streaming-Media-Konverter) Publizieren der Medien im Internet • Web-Server • Web-Browser • Hypertext Transfer Protokoll • Hypertext Markup Language 2 2 Internet 2.1 Geschichte Das Internet ist ein weltweiter Zusammenschluß von Computernetzen: • 100 Länder sind beteiligt. • 100.000 Netzwerke sind miteinander verbunden. • 100.000.000 Nutzer wurden für 1998 geschätzt. • 100 neue Nutzer kommen pro Minute hinzu. Der Ursprung liegt in einem Ende der 60-er Jahre von der Advanced Research Projects Agency geförderten Forschungsnetz des US-Verteidigungsministeriums. Ziel war es,nach einem Atomschlag die Kommunikationsfähigkeit zwischen den amerikanischen Regierungsbehörden aufrechtzuhalten. Daraus entstand das ARPANET, ein Netzwerk mit autonomen Knoten, Paketvermittlungen, Fehlertoleranz und alternativen Übertragungswegen. Vernetzungsstruktur 2.2 Internetdienste Unter Verwendung von TCP/IP (Transmission Control Protocol /Internet Protocol) stehen auf den im Internet beteiligten Hosts verschiedene Dienste zur Verfügung, mit denen Klienten vom Server Daten abrufen können. Zur eindeutigen Kennzeichnung verwendet man einen Uniform Resource Locator (URL) mit folgendem Aufbau: <Protokoll>://<Computername>:<Port>/<Verzeichnis>/<Dokument>. Dienst EMAIL NEWS FTP TELNET HTTP Zweck Nachricht verschicken mit Newsgroup diskutieren Dateien transferieren mit Rechner verbinden durch Hypertext navigieren Beispiel-URL mailto:[email protected] news://news.rrzn.uni-hannover.de ftp://ftp.rz.uni-osnabrueck.de telnet://draco.informatik.uni-osnabrueck.de http://www-lehre.inf.uos.de/mmii/seite.html Internetdienste 3 2.3 HTTP Neben den rein textbasierten Protokollen email, news, ftp und telnet avancierte schließlich zum populärsten Dienst das Hypertext Transfer Protokoll (HTTP). Es wurde 1989 am CERN - European Laboratory for particle physics entwickelt und ist ein zustandsloses, verbindungsorientiertes Protokoll für ein verteiltes Hypermedia-Informationssystem basierend auf dem Client/Server-Prinzip. Nach Kontaktaufnahme mit dem Server verlangt der Klient mit der Methode GET eine bestimmte Seite und teilt gleichzeitig mittels ACCEPT mit, welche Dateiformate er bereit ist, anzunehmen. Der Inhalt der Seite wird mit der Hypertext Markup Language (HTML) formuliert. 2.4 HTML Eine HTML-Seite besteht aus Content und Formatierungsanweisungen. Der Content besteht aus Text und Verweisen auf Dateien mit multimedialen Komponenten wie Bild-, Audio- und Videodateien. Die Formatierungsanweisungen sind in der Hypertext Markup Language formuliert. <HTML> <HEAD> <TITLE>Beispiel fr eine einfache HTML-Seite</TITLE> </HEAD> <BODY BGCOLOR="silver"> <H1>Dies ist die berschrift </H1> <P>Es gibt <B>Fettdruck</B> und <I>Kursivdruck</I>. <P>Hier kommt eine Tabelle: <TABLE CELLPADDING=5 BORDER=1> <TR><TD>Autor</TD><TD>Titel</TD></TR> <TR><TD>Karl May</TD><TD>Durch die Wste</TD></TR> <TR><TD>Erika Mustermann</TD><TD>Tpfern in der Toskana</TD></TR> <TR><TD>Willi Wacker</TD><TD>Selber Atmen</TD></TR> </TABLE> <CENTER> Dieser Satz wird zentriert.</CENTER> <P>Hier geht’s zur <A HREF="http://www.uos.de">Homepage</A>der Uni. </BODY> </HTML> Quelltext einer HTML-Seite Die multimedialen Daten werden vom Server dem Klienten unter Nennung ihres MIME-Typen (MultiPurpose Internet Mail Extension) ankündigt. Verfügt der Browser über die geeigneten Plugins, so ist er in der Lage, diese Inhalte zu visualisieren. In den folgenden Kapiteln sollen nun die wichtigsten Formate zur Darstellung multimedialer Inhalte vorgestellt werden. 4 3 Text 3.1 Kodierung von Text When in the Course of human events, it becomes necessary for one people to dissolve the political bands which have connected them with another, and to assume among the powers of the earth, the separate and equal station to which the Laws of Nature and of Nature’s God entitle them, a decent respect to the opinions of mankind requires that they should declare the causes which impel them to the separation. We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness. That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed. That whenever any Form of Government becomes destructive of these ends, it is the Right of the People to alter or to abolish it, and to institute new Government, laying its foundation on such principles and organizing its powers in such form, as to ... Amerikanische Unabhängigkeitserklärung: 181 Worte, 1084 Zeichen, 1 KB 01010111 01101000 01100101 01101110 00100000 01101001 01101110 00100000 01110100 01101000 01100101 00100000 01000011 01101111 01110101 01110010 01110011 01100101 Binärdarstellung der Worte ’When in the Course’ 3.2 Kompression von Text Die wichtigsten Verfahren zur (verlustfreien) Kompression von Text lauten • Run Length Encoding: mehrfaches Vorkommen desselben Zeichens wird durch Angabe der Anzahl und des Zeichens kodiert. • Huffman-Encoding: Selten vorkommene Zeichen werden mit viel Bits kodiert, häufig vorkommene Zeichen werden mit wenig Bits kodiert. • LZW-Komprimierung: Mehrfach auftretende Teilstrings werden in einem Wörterbuch gespeichert und über einen Index referiert. 5 4 Pixelbilder 4.1 Grundlagen - Millimeter ¾ - Mikrometer ¾ - Nanometer ¾ Hertz 108 109 1010 1011 1012 1013 1014 1015 1016 1017 1018 nm 109 UKW 108 107 106 104 105 Mikrowelle 103 Infrarot 102 101 100 Röntgen ultraviolett sichtbares Licht 3.8 · 1014 780 rot cyan grün gelb 7.8 · 1014 Hertz 380 nm magenta blau Farbspektrum Wellenlänge · Frequenz = Lichtgeschwindigkeit (= 2.998 · 108 m/sec). Farbspektrum := Verteilung der Wellenlängen 400 700 schwarz 400 700 weiß Beispiele für Farbspektren 6 400 700 grün RGB-Modell (additiv) Jeder Farbpunkt wird durch ein RGB-Tripel beschrieben, welches den Rot-, Grün- und Blauanteil ausdrückt. grün (0, 1, 0) gelb (1, 1, 0) cyan weiß (0, 1, 1) (1, 1, 1) schwarz rot (0, 0, 0) (1, 0, 0) blau magenta (0, 0, 1) (1, 0, 1) RGB-Würfel Es gilt: 0, 0, 0 1, 0, 0 0, 1, 0 0, 0, 1 1, 1, 0 0, 1, 1 1, 0, 1 1, 1, 1 nichts nur rot nur grün nur blau rot und grün grün und blau rot und blau rot und grün und blau ergibt schwarz ergibt rot ergibt grün ergibt blau ergibt gelb ergibt cyan ergibt magenta ergibt weiß CMY-Modell (subtraktiv) Bei Farbdrucken empfängt das Auge nur solche Anteile des weißen Lichts, die reflektiert werden. Die gedruckten Farben entziehen also dem weißen Licht gewisse Bestandteile. Es bietet sich daher ein subtraktives Farbmodell an. Ein CMY-Tripel beschreibt, wieviel von den Grundfarben Cyan, Magenta, Yellow reflektiert bzw. von den Grundfarben Rot, Grün, Blau absorbiert wird. Jeder Farbpunkt wird durch ein CMY-Tripel beschrieben, welches angibt, wieviel von den Rot-, Grün- und Blau-Anteilen absorbiert wird (=wieviel von den Cyan-, Magenta- und Yellow-Anteilen reflekiert wird). 7 magenta (0, 1, 0) blau (1, 1, 0) rot (0, 1, 1) schwarz (1, 1, 1) weiß (0, 0, 0) cyan (1, 0, 0) gelb (0, 0, 1) grün (1, 0, 1) CMY-Würfel Es gilt 0, 0, 0 0, 0, 1 0, 1, 0 1, 0, 0 0, 1, 1 1, 0, 1 1, 1, 0 1, 1, 1 absorbiert nichts absorbiert blau absorbiert grün absorbiert rot absorbiert cyan absorbiert violett absorbiert gelb absorbiert alles (0, 1, 0) Magenta gemischt mit (1, 0, 0) Cyan gemischt mit (1, 0, 0) Cyan gemischt mit bleibt weiß bleibt gelb bleibt magenta bleibt cyan bleibt rot bleibt grün bleibt blau bleibt schwarz (0, 0, 1) Gelb ergibt (0, 1, 1) Rot (0, 0, 1) Gelb ergibt (1, 0, 1) Grün (0, 1, 0) Magenta ergibt (1, 1, 0) Blau Es gilt (R, G, B) = (1, 1, 1) − (C, M,Y ). Speicherbedarf und Zahl der Farben Typischerweise wird zur Speicherung eines Farbanteils ein Byte (= 8 Bits) verwendet, für ein RGB-Tripel werden daher 3 Byte benötigt. Pro Farbanteil gibt es 256 Helligkeitsstufen. Insgesamt gibt es 256 × 256 × 256 ≈ 16 Millionen erschiedene Farbmöglichkeiten. Auflösung Die Auflösung gibt die Zahl der Pixel pro Längeneinheit an und wird gemessen in Dots per Inch (dpi). Scanner-Auflösung: Zahl der CCD-Elemente in einer Sensorzeile (z.B. 300 dpi) Scan-Auflösung: Gewählte Auflösung beim Scanner Bildauflösung: Zunächst Scan-Auflösung, später Mittelung oder Interpolation Bildschirmauflösung: Pixel pro Zoll. Ein Computermonitor hat etwa 75 dpi. Druckerauflösung: Zahl der Druckerpunkte, die der Druckkopf setzen kann. Bei 3 Grundfarben wird jedes Farbpixel durch eine Rasterzelle mit 16 x 16 Druckerpunkten dargestellt. Druckauflösung: Druckerauflösung/Rasterzellengröße. 300 dpi-Inkjet liefert 300/16 = 18.75 dpi. 300 dpi Laserdrucker liefert 300 dpi. 8 Auflösung Kleinbild-Dia: Das Einscannen eines 36 x 24 mm Dias mit 2.500 dpi ergibt eine Datei mit Breite 3,6 cm / 2,54 cm * 2.500 = 3.543 Pixeln mit Höhe 2,4 cm / 2,54 cm * 2.500 = 2.363 Pixeln mit Platzbedarf 3.543 × 2.363 ≈ 25 MB Mit einem 300 dpi-Laserdrucker entsteht daraus ein Abzug ... ... mit Breite 2.54 cm × 3.543/300 ≈ 30 cm ... mit Höhe 2.54 cm × 2.363/300 ≈ 20 cm 9 4.2 Adobe Photoshop Programm zur Bearbeitung von Pixel-Dateien (Pixel-Editor) • Erzeugen und Manipulieren von Liniengrafiken mit Malwerkzeugen • Erzeugen und Manipulieren von Schrifteinblendungen • Importieren von Pixel-Dateien verschiedener Formate • Exportieren von Pixel-Dateien in verschiedene Formate • vielfältige Selektionsmöglichkeiten der zu bearbeitenden Bildteile • geometrische Transformationen und Verzerrungen • Verpflanzung von Bildteilen durch Stempelwerkzeug • Filteroperationen • Kantendetektion • Weich- und Scharfzeichner • Farb-, Helligkeit- und Kontrastmanipulation • Retusche durch Aufhellen, Abdunkeln, “Verschmieren” • Wechsel der Farbtiefe • Dithering • Strukturierung des Bildes in Ebenen • Strukturierung der Ebene in Kanäle • Definition einer Auswahl durch eine Maske • Definition einer Auswahl durch einen Pfad 10 Screenshot vom Bildbearbeitungswerkzeug Adobe Photoshop 11 4.3 GIF Bei den auf WWW-Seiten verwendeten Grafikformaten nimmt GIF den Spitzenplatz in punkto Häufigkeit ein. Insbesondere bei künstlich erzeugten Bildern mit einheitlich gefärbten Farbflächen ist es an Kompaktheit nicht zu schlagen. bauarbeiter.gif, Dateigröße: 2K Die Einbettung des Bildes in eine Web-Seite geschieht unter Nennung des Dateinamens mit dem sogenannten Image-Tag, wobei optional weitere Parameter angegeben werden können. <HTML> <HEAD> <TITLE>Einbettung eines Bildes</TITLE> </HEAD> <BODY BGCOLOR="DDDDDD"> <CENTER> <H1> Einbettung eines Bildes </H1> <IMG SRC="bauarbeiter.gif" WIDHT=100 HEIGHT=113 > <P>Datei: bauarbeiter.gif, Gre: 13 K </CENTER> </BODY> </HTML> HTML-Seite mit Bild-Einbettung Zwei Kompressionsideen tragen zur Datenreduktion bei: Farbpalette: Statt in jedem Pixel das komplette RGB-Tripel mit 3 Byte = 24 Bit Farbinformation zu speichern, werden für geeignetes p die 2 p wichtigsten Farben in einer Tabelle, genannt Farbpalette, gehalten und über einen p-Bit langen Index referiert. Für p = 8 schrumpft der Platzbedarf daher auf ein Drittel. LZW: Das von Lempel, Ziv und Welch entwickelte und als Patent geschützte Verfahren zur Kompression beliebiger Zeichenfolgen basiert auf der Idee, in einer sogenannten Präfix-Tabelle die Anfangsstücke bereits gelesener Strings zu speichern und wiederholtes Auftauchen derselben Strings durch Verweise in die Tabelle zu kodieren. 12 000 001 002 003 R 127 086 235 117 G 213 194 003 126 B 056 152 241 089 251 252 253 254 255 018 130 219 208 029 020 212 007 178 120 110 144 254 094 212 Color Table Beide Ansätze zahlen sich insbesondere dann aus, wenn die Vorlage weite Bereiche mit identischer Information enthält, wie es bei computergenerierten Grafiken, wie z.B. Logos, der Fall ist. Zum einen enthält das Bild dann gar nicht die theoretisch verfügbare Zahl von 2563 ≈ 16 Millionen Farben, sondern nur wenige Dutzend, und kann daher völlig verlustfrei durch eine Palette mit 256 Einträgen dargestellt werden. Zum anderen führen Folgen von identischen Pixelindizes zu kompakten Einträgen in der Präfixtabelle. Bei der Umwandlung eines True-Color-Bildes in ein Palettenbild mit Hilfe eines Bildbearbeitungsprogramms gibt es zwei Ansätze: Standard oder individuell. Standard bedeutet die Verwendung einer mit 216 repräsentativ gewählten Farben vorbesetzten Farbtabelle (z.B. vom Netscape-Browser). Diese wird eventuell dem gegebenen Bild nicht optimal gerecht, aber die Auswirkungen bei der Präsentation sind vorhersehbar. Individuell bedeutet, eine für die jeweilige Bildvorlage maßgeschneiderte Farbpalette zu vorgegebener Farbzahl 2 p zu konstruieren. Hierzu werden im Median-Cut-Algorithmus die beobachteten Farbhäufigkeiten im RGB-Würfel angeordnet und dieser dann längs eines orthogonal verlaufenden Schnittes (Median) in zwei Subwürfel geteilt (Cut), mit etwa gleichmächtiger Pixelzahl. Diese Partitionierung wird solange fortgeführt, bis 2 p Würfel entstanden sind, die dann jeweils durch einen Index der Farbpalette repräsentiert werden. Durch ein sogenanntes Floyd-Steinberg-Dithering kann die ohnehin kaum wahrnehmbare Differenz zum Originalbild weiter reduziert werden. Hierzu wird der beim Quantisieren längs einer Scanline verursachte Fehler (d.h. die Differenz zwischen wahrem und approximiertem Farbwert) den nachfolgenden Pixeln vor ihrer Quantisierung zugeschlagen, so daß auf größere Flächen bezogen die Summe der konstruierten Farbwerte mit dem Ausgangsmaterial übereinstimmt. GIF ist streamingfähig; durch ein sogenanntes Interlacing wird zunächst nur jede 8. Zeile übertragen und danach jeweils die mittlere Zeile der verbleibenden Lücken. 13 Folgende Bilder zeigen Original und quantisierte Versionen einer 14×14 Ausschnittvergrößerung, erstellt von einem 814×517 True-Color-Bild. Die Zahl der Farben bezieht sich jeweils auf das Gesamtbild. Verwendet wurde der Median-Cut-Algorithmus mit anschließendem Floyd-Steinberg-Dithering. 24 Bit pro Pixel, 16 Mill. Farben 8 Bit pro Pixel, 256 Farben 4 Bit pro Pixel, 16 Farben 2 Bit pro Pixel, 4 Farben Das GIF-Format erlaubt auch die Abspeicherung mehrerer Bilder in einer Datei, welche zudem mit Timing-Information versehen werden können (animated GIF). Hierdurch ist die Erstellung einfacher Animationen möglich, bei denen wenige kleine Grafiken in schneller Abfolge die Illusion eines Films verursachen. 14 4.4 JPG Wie soeben erläutert, liegen die Stärken von GIF in der Wiedergabe von computergenerierten gleichfarbigen Flächen. Geht es dagegen um die Reproduktion einer fotorealistischen Vorlage, reichen 256 Tabelleneinträge oft nicht aus, sanfte Farbverläufe zu beschreiben. Hier kommt JPEG zu Hilfe, ein Verfahren benannt nach der Gruppe, die es entwickelt hat, der Joint Photographic Expert Group, Mitglieder der Standardisierungsgremien CCITT und ISO. Zunächst wird das RGB-Bild in den YUV-Raum transformiert, d.h. die Farbinformation wird verlustfrei durch einen Helligkeitsanteil Y und zwei Farbdifferenzen U und V kodiert. Da das Auge für Helligkeitssprünge sensitiver ist als für Farbdifferenzen, kann man nun die Y -Matrix in der vollen Auflösung belassen und in den U, V -Matrizen jeweils 4 Pixel mitteln (4:1:1 Subsampling). Für je 4 Originalpixel mit insgesamt 12 Bytes werden nun 4 + 1 + 1 = 6 Bytes benötigt (pro Bildpunkt also 6 · 8/4 = 12 Bit). Die Reduktion beträgt 50 %. Nun werden die drei Matrizen in Blöcke mit 8×8 Abtastwerten aufgeteilt. Anschließend durchlaufen die Blöcke folgende Schritte: Diskrete Cosinus Transformation: Hierdurch wird die 8×8 Ortsmatrix verlustfrei in eine 8×8 Frequenzmatrix umgewandelt. Die Helligkeitsinformation einer Fläche ist nun kodiert als Überlagerung von 64 zweidimensionalen Schwingungen. Quantisierung: Die errechnete Matrix hat längs einer im Zickzack laufenden Scanline von links oben nach rechts unten Werte abnehmender Größe. Da die Werte rechts unten den hohen, für das menschliche Auge eher unwichtigen Frequenzen entsprechen, werden alle Einträge längs dieser Scanline durch Faktoren zunehmender Größe dividiert. Komprimierung: Die Folge der quantisierten Koeffizienten wird einer Lauflängenkomprimierung unterzogen und anschließend durch eine empirisch ermittelte Huffman-Tabelle kodiert. Um aus dem komprimierten Bild das Original zu rekonstruieren, werden die Schritte in umgekehrter Reihenfolge und inverser Funktionalität durchlaufen. Die nächsten beiden Bilder zeigen die Auswirkungen der drei Phasen angewendet auf eine 8×8 Grauwertmatrix. Ausgangsbildmatrix rekonstruierte Bildmatrix Durch die Wahl der Rundungstabelle läßt sich der Tradeoff zwischen Qualität und Kompression beliebig steuern. Ein typisches Farbbild läßt sich auf etwa 5% seiner Originalgröße reduzieren, ohne 15 daß ein menschlicher Betrachter die Detailfehler bemerken könnte. Bei 2% und weniger entstehen deutlich sichtbare Artefakte in Form von einfarbig gefärbten Klötzchen. Dateigröße: 7,3 KB Kompression 22:1 Dateigröße 2,5 KB Kompression 65:1 JPEG-Kompression eines 200 × 279 True-Color-Bildes, unkomprimierter Speicherbedarf: 163 KB 16 4.5 FlashPix Gesamtansicht JPEG-Ausschnitt FlashPix-Ausschnitt Auswirkung der FlashPix-Technologie in einem Online-Shop Um beim Web-Browser eine gewisse Zoomfähigkeit bei Pixelbildern zu erreichen, wurde das Format FlashPix entworfen. Die Idee geht zurück auf eine gemeinsame Anstrengung der Firmen Kodak, Microsoft und Hewlett Packard bei der Suche nach einem neuen Bildformat und ist recht einfach: Das im Web-Browser zu präsentierende Bild wird in mehrfachen Versionen unterschiedlicher Auflösung auf dem Server gehalten und jeweils der vom Klienten angeforderte Teil in passender Größe übertragen. Typischer Einsatzbereich sind Online Shops, die ihr Warenangebot auf Web-Seiten in einer Weise präsentieren wollen, daß der Kunde ausgehend von einer Totalansicht des Objekts fast beliebig nah heranzoomen und somit alle Details inspizieren kann. Wegen der Verfügbarkeit der abzubildenden Waren für den Shop-Anbieter ist auch die Gelegenheit für die Erstellung hochauflösender Bilder durch die Verwendung einer professioneller Kameraausrüstung gegeben. In der einfachsten Form erfordert dies beim Klienten keine weiteren Vorkehrungen, da der LivePicture Image Server den angeforderten Bildteil als JPEG-Bild liefert. Welcher Teil eines bereits im Browser geladenen Bildes in erhöhter Auflösung angefordert wird, kann durch die Koordinaten des Mausklicks bestimmt werden. Auf diese Weise führt der Betrachter einen Zoomvorgang aus, der ohne die übliche Rasterung abläuft. Daß auf dem Server ggf. große Datenmengen vorgehalten werden müssen, kümmert den Klienten wenig; er profitiert vielmehr von kurzen Kommunikationszeiten, da immer nur der Teil übertragen wird, den er benötigt. Die komfortablere Version von FlashPix verwendet ein Plugin oder setzt einen Java-fähigen Browser voraus, der ein leichtgewichtiges Applet vorweggeschickt bekommt. Vorteil dieser beiden Ansätze ist eine höhere Funktionalität beim Betrachten der Bilder wie z.B. Vor- und Zurückzoomen sowie Verschieben des Betrachterausschnitts. Neben der multiplen Auflösung, die ja bereits auf der Kodak Foto CD Verwendung fand, gehören folgende Features zum FlashPix-Format: Kompression: Für jede Auflösungsstufe wird das Bild nach dem JPEG-Verfahren kodiert. Es besteht auch die Möglichkeit, ohne Kompression zu speichern. Text: Textuelle Zusatzinformation kann gespeichert werden. Diese Daten sind strukturiert anhand der Schlüssel, wie z.B: Quelle, Urheber, Inhalt, Kameraeinstellungen, Filmcharakteristika, Scancharakteristika. 17 Farbräume: Neben unkalibrierten RGB-Werten gibt es monochrom und Photo YCC Transformation: FlashPix-Bilder halten neben den Rohdaten einige wenige Filter- und Transformationsmatritzen vor, die jeweils nur auf den zur Zeit sichtbaren Teil angewendet werden müssen. Beispiele sind Translation, Rotation, Skalierung, Schärfe, Kontrast, Helligkeit und Farbbalance. Hierdurch reduziert sich der Hauptspeicherbedarf eines Bildverarbeitungsprogramms und gleichzeitig erhöht sich seine Bearbeitungsgeschwindigkeit, da die Masse der Bilddaten unbearbeitet auf der Platte verbleiben können. Vorlage für 360-Grad-Projektion (Kreißsaal des Marienhospitals Osnabrück) LivePicture eröffnet mit seinem FlashPix-Plugin auch die Möglichkeit zum interaktiven Betrachten von 360-Grad Panoramen. Bei der Herstellung solcher Bilder ist der Ausgangspunkt eine Folge von Einzelschnappschüssen, die mit einer konventionellen Kamera im Kreis erstellt wurden. Nach dem Digitalisieren werden mit dem Werkzeug LivePicture PhotoVista die Aufnahmen, unter automatischer Berücksichtigung der überlappenden Bereiche, zu einem länglichen Schlauch im JPEG-Format zusammengeschweißt. Vorteil der Verwendung dieses gängigen Bildformats ist natürlich die Möglichkeit, mit jeder Bildverarbeitungssoftware weitere Manipulationen an dem Rundblick durchführen zu können. PhotoVista erzeugt neben dem JPEG-Bild noch eine gleichnamige Datei mit der Endung ivr. Die dort gespeicherte Information benutzt das Plugin zur perspektivisch richtigen Umrechnung des JPEGBildes in ein interaktiv drehbares Panorama. Als multimediale Zugabe können der Datei noch Klanginformation und Animationen beigefügt werden. 18 4.6 Morphing • gleichförmige Transformation eines Quell-Bildes in ein Ziel-Bild. • Definition von korrespondierenden Punkten in Quelle und Ziel. • Quell-Pixel wandern zu Ziel-Pixel unter gleichzeitiger Farbanpassung. Screenshot vom Morph-Editor Ulead Morph Studio Morphresultat: Professor Treiffen 19 4.7 Java-Applets Bildmanipulationen durch Java-Applets bietet die Seite http://www.anfyteam.com 20 5 2D-Vektor-Grafik 5.1 Grundlagen Dateien mit 2D-Vektor-Grafiken beschreiben ein 2-dimensionales Bild durch Angabe von x/yKoordinaten und geometrischen Attributen (Strichstärke, Farbe, Füllmodus, Transparenz). Der zugehörige Player rendert aus diesen Angaben ein Pixelbild. Algorithmus zum Zeichnen einer Linie: void bresenham_linie(Point p, Point q) /* zeichnet Linie von Punkt p zu Punkt q im 1. Oktanden */ { int dx, dy, error, delta, schwelle; dx = q.x - p.x; dy = q.y - p.y; error = -dx; delta = 2*dy; schwelle = -2*dx; while (p.x <= q.x) { set_pixel(p); p.x++; error += delta; if (error > 0) { p.y++; error += schwelle; } } } Vom Bresenham-Algorithmus erzeugte Linien Durch Antialiasing (angepasste Grauwerte in der Umgebung) kann der Pixelverlauf geglättet werden. 21 Algorithmus zum Zeichnen eines Kreises void bresenham_kreis (int r) /* zeichnet Kreis um Punkt 0,0 mit Radius r */ { int x, y, d, dx, dxy; x=0; y=r; d=1-r; dx=3; dxy=-2*r+5; while (y>=x) { set_pixel (new Point(x,y)); if (d < 0) { d += dx; dx += 2; dxy += 2; x++; } else { d += dxy; dx += 2; dxy += 4; x++; y--; } } } Vom Bresenham-Algorithmus erzeugte Kreise 22 5.2 Macromedia Flash • Werkzeug zum Editieren und Animieren von zweidimensionalen Vektorgrafiken. • Durch kompaktes Speicherformat geeignet für plakative, animierte Grafiken im Internet. Screenshot vom Vektorgrafikwerkzeug Macromedia Flash 23 Gesamtansicht des Stadtplans Teilansicht des Stadtplans Rasterfreies Zoomen bei Dateien im Flash-Format durch Vektorgrafik <HTML> <HEAD> <TITLE>Macromedia Flash</TITLE> </HEAD> <BODY BGCOLOR="f9d1a1"> <CENTER> <H1>Eingebetteter Flash-Film</H1> <EMBED src="vogel.swf" width=700 height=200 Loop="True" Play="True" BGColor="f9d1a1" Quality="Autohigh" Scale="showall" SAlign="" > <P>Dateiname: vogel.swf, Gre: 6 K </CENTER> </BODY> </HTML> HTML-Seite mit Flash-Einbettung 24 6 3D-Vektor-Grafik 6.1 Grundlagen Dateien mit 3D-Vektor-Grafiken enthalten Angaben zu 3-dimensionalen Szenen inkl. synthetischer Kamera und Beleuchtung. Der zugehörige Player rendert daraus eine photorealistische Darstellung. Typische Einsatzgebiete: • CAD (Architektur & Maschinenbau) • Visualisierung (von Messergebnissen) • Simulation (Physik/Chemie/Biologie) • Unterhaltung (Virtual Reality) Repräsentation • Approximiere Körper durch Polyeder • Speichere Polyeder als Liste von Polygonen P4 h12 h11 F3 h10 P2 P3 h2 F1 h9 h7 h1 h3 F4 P4 h8 h5 h4 F2 P1 h6 Tetraeder mit 4 Knoten, 12 Halbknoten, 4 Flächen 25 P4 Die synthetische Kamera wird beschrieben • Bildebene (Vektoren U,V ) • Eckpunkte des Fensters (xmin , ymin , xmax , ymax ) • Blickrichtung (Vektor N) • Entfernung des Augenpunktes (d) (xmax , ymax ) V U d Auge (xmin , ymin ) 26 N 6.2 Projektion Gegeben sind • das zu projizierende Objekt mit den Koordinaten (x, y, z) • die Bildebene = x − −y - Ebene • das Projektionszentrum (Augenpunkt) bei (0, 0, −a) P = (x, y, z) y x z P’ }y’ x’ (0, 0, 0) (0, 0, −a) z z x P y z P z −x x’ P’ x −y a y’ y P’ a −z −z x0 := x 1 + z/a y0 := y 1 + z/a Jedes Objekt ist beschrieben durch seine Modellkoordinaten. Seine Orientierung in der Szene wird beschrieben durch eine Transformationsmatrix mit akkumulierten Schiebe-, Dreh- und Skalier-Anteilen. 27 6.3 Caligary trueSpace Werkzeug zum Modellieren, Rendern und Animieren von 3D-Objekten. 3D-Editor unter Verwendung von • hierarchischer Objektstruktur, • Polygonvereinigung, -schnitt, -komplement, • Translation, Skalierung, Rotation, • Extrusion, • Verformung, • Drehkörpern, • Kurven. Projektion und Rendern unter Berücksichtigung von • Lichtquellen, • Kamerastandpunkten, • Spiegelung, Transparenz, Lichtbrechung, • Texture Mapping, Bump Mapping. Animation durch • Keyframes, • Pfade. Ausgabe als • Bitmapdateien, • VRML-Welten, • AVI-Files. 28 Szene mit 5 Objekten, berechnet mit Raytracer unter Verwendung von Reflektion, Transparenz, Texture-Mapping, Bump-Mapping, Hintergrund-Mapping Screenshot vom 3D-Werkzeug Caligary trueSpace 29 6.4 VRML VRML, sprich Wörmel, ist eine für das WWW entworfene Virtual Reality Modelling Language zur Beschreibung von 3-dimensionalen Szenen mit multimedialen Komponenten und Animation. Analog zum 2D-Vektorformat Flash gelangen Szenen nicht durch Einscannen in den Rechner, sondern durch eine geometrische Beschreibung aller räumlichen 3D-Koordinaten. Die gerenderte Projektion der Szene kann von jedem Web-Browser geliefert werden, der über ein passendes Plugin verfügt. VRML-Szenen werden beschrieben in ASCII-Dateien mit der Endung *.wrl, welche innerhalb einer HTML-Seite mit dem EMBED-Kommando referiert werden, z.B. <EMBED SRC=quader.wrl WIDTH=400 HEIGTH=300> Ein entsprechend konfigurierter Web-Server schickt dem anfordernden Klienten als Vorspann dieser Daten den Mime-Typ VRML, worauf das zur Betrachtung installierte Plugin, z.B. Cosmo Player 2.0 von Silicon Graphics, die eingehenden Daten in eine interne Datenstruktur einliest, von wo sie zur Berechnung einer fotorealistischen Projektion verwendet werden. In welcher Weise Blickwinkel und Orientierung in der Szene modifiziert werden können, bleibt dem Plugin überlassen: Mit Mauszeiger und Keyboard Shortcuts wandert der Benutzer durch eine virtuelle Welt, verkörpert im wahrsten Sinne des Wortes durch einen Avatar, seiner geometrischen Repräsentation, beschränkt in seiner Beweglichkeit durch physikalische Restriktionen und durch eine simulierte Schwerkraft. Wichtigster Bestandteil von VRML-Szenen ist der sogenannte Knoten, der wie ein Programmiersprachenrecord aus Feldern verschiedenen Typs besteht. Diese Felder verweisen entweder auf nicht weiter strukturierte Objektknoten oder andere Gruppenknoten, die wiederum mittels ihrer Felder verzweigen können. Es folgt eine einfache VRML-Szene, in der ein Quader mit Kantenlänge 2 im Ursprung des Weltkoordinatensystems plaziert wird. Die x-Richtung entspricht der horizontalen Bewegung, y beschreibt die vertikale Richtung und z wächst auf den Betrachter zu. Der Box-Knoten hat dabei als einziges (optionales) Feld die Kantenlänge. Dieser Quader wird referiert über das geometry-Feld des Shape-Knotens, zuständig für die Gestaltung eines Objekts. Über das appearance-Feld wird die Materialbeschaffenheit in Form einer RGB-Farbe und eines Transparenz-Koeffizienten spezifiziert. Der Shape-Knoten wiederum ist als eins der Kinder im Transform-Knoten eingetragen, der über ein translation-Feld für die Verschiebung des Quaders sorgt. Screenshot vom VRML-Würfel 30 7 Audio 7.1 Grundlagen Amplitude Zeit Periodische Luftdruckschwankung erzeugt Ton: • Frequenz bestimmt die Höhe. • Amplitude bestimmt die Lautstärke. • Schwingungsform bestimmt den Klang. Der hörbare Bereich liegt zwischen 20 Hz und 20 KHz. Der ertragbare Bereich liegt zwischen 0 und 130 dB. 31 Schallintensität = Leistung pro Fläche notiert in (Watt/m2 ). Schallpegel = 10facher dekadischer Logarithmus vom Verhältnis zweier Schallintensitäten notiert in db, dezibel. 10−12 0 Hörschwelle 10−11 10 ruhiges Aufnahmestudio 10−10 20 ruhiger Wohnraum 10−9 30 ruhiges Büro 10−8 40 10−7 50 10−6 60 10−5 70 10−4 80 10−3 90 10−2 100 10−1 110 100 120 101 130 102 140 103 150 104 160 gedämpfte Unterhaltung normales Büro normale Unterhaltung kleines Orchester Geschäftsstraße normale Fabrik Schwerlasttransport U-Bahn laute Rockmusik Donner Flugzeug, Stadtbahn Dampfhammer Schmerzgrenze Flugzeugturbine in abgeschlossenen Räumen Typische Lautstärkepegel, angegeben in Watt pro m2 und in dezibel 32 Digitalisierung PCM = Pulse Code Modulation: kontinuierlich analoges Signal Abtastung diskontinuierliche Folge analoger Werte Quantisierung diskontinuierliche Folge diskreter Werte digitale Darstellung 11110 01000 00110 00000 11111 00010 00101 00001 11110 33 Folge digitaler Werte als Ergebnis der Digitalisierung (in Zweierkomplement−Darstellung) Anforderungen an die Digitalisierung: • Abtastfrequenz muss mindestens doppelt so groß sein wie die höchste vorkommende Frequenz. Aliasing-Effekt bei Verwendung von 8/7 der Originalfrequenz • Da der hörbare Bereich sich bis 20 KHz erstreckt, ist eine Abtastfrequenz von mind. 40 KHz erforderlich. • Etwa 6 dB entsprechen einem Verdoppeln der Amplitude 16 Bit können 16 · 6 = 96 dB abdecken. Eine Single-Speed Audio-CD verwendet 44.100 Hz in Stereo ⇒ 2 × 16 × 44.100 = 1.34 MBit/sec Telefon (Frequenzbereich 200 - 3200 Hz) verwendet 8.000 Hz in Mono ⇒ 8 × 8.000 = 62.5 KBit/sec 34 7.2 Creative WaveStudio Werkzeug zur Aufnahme, Manipulation und Wiedergabe von Audiodaten. • Digitalisierung eines analogen Audiosignals, • verschiedene Samplingfrequenzen, • verschiedene Quantisierungsauflösungen, • Mono/Stereo-Wahl, • Ein- und Ausblenden, • Invertieren, • Echoeffekte, • Mischen von Audioquellen. Windows Audiorecorder <HTML> <HEAD> <TITLE>Wave-Datei</TITLE> </HEAD> <BODY BGCOLOR="DDDDDD"> <CENTER> <H1>Eingebettete Wave-Datei</H1> <EMBED SRC="toccata.wav" WIDTH=150 HEIGHT=40 AUTOSTART=FALSE > <P> Dateiname: toccata.wav, Dauer: 4 Sekunden, Gre: 625 KByte </CENTER> </BODY> </HTML> HTML-Datei mit Wave-Einbettung 35 7.3 mp3 Ziel: CD-Tonqualität bei Datenrate von 2 × 64 KBit/sec. Dies entspricht einer Reduktion um den Faktor 1.378/128 ≈10. Konzepte von mp3 (Audio Layer III von mpeg-2): • Fouriertransformation der PCM-Abtastwerte • Spektralanalyse der Frequenzverteilung • Partitionierung in 32 Subbänder à 20000/32 = 625 Hertz. • Berücksichtigung eines psychoakustischen Modells • Ausnutzung eines Maskierungseffekts durch gegenseitige Überlagerung • Lauflängenkodierung und Huffman-Kodierung Streaming Audio vom Server gabriel.informatik.uni-osmanrueck.de (40 KBit/sec) WinAmp-Player zum Abspielen von mp3-Dateien 36 7.4 RealAudio <HTML> <HEAD> <TITLE>RealAudio</TITLE> </HEAD> <BODY BGCOLOR="silver"> <center> <H1>Audio on Demand mit 40 KBit-Verbindung</H1> <EMBED SRC="rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004/oliver/geh-du-mal-ran-40.rm" type="audio/x-pn-realaudio-plugin" CONSOLE="Clip1" CONTROLS="All" HEIGHT=120 WIDTH=320 AUTOSTART=false > </center> </BODY> </HTML> HTML-Seite mit RealAudio-Einbettung über EMBED-Tag 37 <HTML> <HEAD> <TITLE>RealAudio</TITLE> </HEAD> <BODY BGCOLOR="silver"> <center> <H1>Audio on Demand mit 40 KBit-Verbindung</H1> <OBJECT CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" WIDTH ="320" HEIGHT ="120"> <PARAM NAME="controls" VALUE="All"> <PARAM NAME="console" VALUE="lied"> <PARAM NAME="autostart" VALUE="false"> <PARAM NAME="src" VALUE="rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004/oliver/geh-du-mal <EMBED SRC = "rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004/oliver/geh-du-mal-ran-40.rm TYPE = "audio/x-pn-realaudio-plugin" CONSOLE = "lied" CONTROLS = "ALL" WIDTH = "320" HEIGHT = "120" AUTOSTART = "false"> </EMBED> </OBJECT> </center> </BODY> </HTML> HTML-Seite mit RealAudio-Einbettung über OBJECT-EMBED-Tag URL für eingebetteten RealPlayer: rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004/olive URL für Popup-Player: http://vs1.rz.uni-osnabrueck.de:554/ramgen/public/mmp/mmp2004/oliver/stenkelfel Streaming Audio vom RealServer gabriel.informatik.uni-osnabrueck.de 38 7.5 Midi Durch die Digitalisierung von Klanginformationen entstehen sehr umfangreiche Dateien, wenn die für HiFi-Qualität erforderlichen Abtastfrequenzen von 44 Kilohertz bei 16-Bit Auflösung verwendet werden: Pro Minute werden etwa 10 MByte benötigt. Dieser Vorgang entspricht dem Einscannen einer Bildvorlage. Analog zur Vektorgraphik läßt sich die Klanginformation wesentlich kompakter speichern, wenn die Soundinformation nicht gesampelt werden muß, sondern im Computer entstehen kann. Hierzu ist eine Notation erforderlich, welche im wesentlichen den Verlauf jeder einzelnen Melodiestimme durch eine Sequenz von Ereignissen kodiert. Die beiden nächsten Bilder zeigen beispielhaft, wie aus einer konventionellen Notenschrift eine Befehlsfolge entstanden ist, welche für jeden Schlag eines jeden Taktes unter Angabe des Zeitpunktes in Millisekunden die Notendauer, die Notenhöhe und die Anschlagstärke angibt. Kodierung von Musik durch Notenhöhe, Notendauer und Anschlagstärke Die zu diesem Zweck entworfene Sprache MIDI (Musical Instrument Digital Interface) entstand 1982 als Ergebnis einer Kooperation der Gerätehersteller Sequential Circuits, Roland, Yamaha, Kory und Kawaii und war ursprünglich konzipiert als Kommunikationssystem zur Ansteuerung elektronischer Musikinstrumente. Mit der Verbreitung von Personal-Computern kamen weitere Komponenten hinzu (1987 Midi Time Code, 1988 Midi Files). Inzwischen ist General Midi ein weitverbreiteter Standard zur Spezifikation, Manipulation, Übertragung und Speicherung von elektronisch erzeugter Musik. In Kombination mit einem PC reicht ein sogenanntes Masterkeyboard, welches über ein 5-poliges Kabel die Beschreibung des Musikstückes an die Soundkarte schickt, wo sie dann von einem Synthesizer, ggf. mit Unterstützung von digital abgelegten Klangsamples, in Töne umgesetzt wird. Midinachrichten sind Byte-orientiert und werden über eine serielle Schnittstelle mit 31250 Baud übertragen. Es wird unterschieden zwischen Status-Bytes und Datenbytes. Status-Bytes beginnen mit einer 1, und enthalten vier Kanalbits, mit denen 16 angeschlossene Instrumente assoziert werden sowie drei Befehlbits, mit denen die in folgender Tabelle gezeigten acht Aktionen angekündigt werden können. 39 000 001 010 011 100 101 110 111 Note off Note on Polyphonic Aftertouch Control Change Program Change Channel Aftertouch Pitch Bend Systembefehl schaltet Ton aus schaltet Ton an Anschlagdruck für eine Taste Realzeitmeldung, z.B. Lautstärke Instrument/Klangfarbe Anschlagdruck für alle Tasten Auslenkung Tonhöhenrad z.B. zur Synchronisation Befehle im Statusbyte Einem Statusbyte folgen ggf. mehrere Datenbytes. Z.B. gehören zum Note-On -Befehl zwei Parameter: Notennummer und Anschlaggeschwindigkeit. Mit 128 Werten können mehr als 10 Oktaven abgedeckt werden, eine Klaviertastatur mit 88 Tasten von Subkontra A bis zum fünfgestrichenen C belegt das Intervall 33 bis 120. Zum Note-Off -Befehl gehören wiederum Notennummer und Loslaßgeschwindigkeit. Um den zeitlichen Aspekt beim Abspielen einer Midi-Datei zu rekonstruieren, wird die Zeitachse zu sogenannten Tics diskretisiert. Z.B. beträgt beim Sequenzer Cubasis die zeitliche Auflösung 384 Tics pro Viertelnote. Beim Abspeichern einer Notensequenz werden die Intervalle zwischen den Events als sogenannte Delta Times abgespeichert. Hierzu werden bis zu 4 Bytes verwendet. <HTML> <HEAD> <TITLE>Midi</TITLE> </HEAD> <BODY BGCOLOR="#DDDDDD"> <CENTER> <H1>Midi</H1> <EMBED SRC="i-left-my-heart-in-san-francisco.mid" HEIGHT=45 WIDTH=300 AUTOSTART=FALSE > <P> Dateiname: i-left-my-heart-in-san-francisco.mid, <BR> Gre: 29 KB, Dauer: 2:47 min </CENTER> </BODY> </HTML> HTML-Seite mit eingebetter Midi-Datei 40 8 Video 8.1 Grundlagen Aufnahme • CCD-Kamera (Charge Coupled Device) • Linsensystem • Speicherzellen mit Photodiode und Kondensator • zyklisches Auslesen der Zellen Wiedergabe • luftleer gepumpter Glaskolben (Bildröhre) • Phosphorschicht • durch Magnetspule abgelenkter Elektronenstrahl Formate PAL NTSC HDTV Kino Super-8 768 640 2000 36 6 × 576 × 480 × 1250 × 24 mm Zelluloid × 4 mm Zelluloid 25.00 Hz (Halbbilder) 29.97 Hz (Halbbilder) 50.00 Hz (Halbbilder) 24 Hz 18 Hz Aufnahmesignal Spule Magnetkern Magnetschicht magnetisches Moment Prinzip der magnetischen Speicherung eines Signals 41 VHS (Video Home System) • analoge Speicherung auf Magnetband • Breite: 1/2 Zoll • Geschwindigkeit: 2.4 cm/sec • rotierende Videoköpfe • Bild- und Toninformation in Schrägspur • 250 Linien • zusätzlich Ton in Randspur L"angsspur: Ton Schr"agspur: Bild + Ton VHS-Aufzeichnung Mini-DV • Digitale Speicherung auf Magnetband • 500 Zeilen • 16-Bit-PCM-Ton • Firewire-Kabel für Bild, Ton & Steuerung 42 Synchronspur 12.7 mm 8.2 AVI & Quicktime Microsoft AVI (Audio/Video-Interleaved) und Apple Quicktime sind Dateiformate zum Speichern und Synchronisieren von Video- und Audioinformationen. Gängiges Format zum Abspielen von CD-ROM: • 240 × 180 Pixel • 15 Bilder/sec • software-komprimiert <HTML> <HEAD> <TITLE>Quicktime</TITLE> </HEAD> <BODY BGCOLOR="DDDDDD"> <CENTER> <H1>Eingebetteter Quicktime-Film</H1> <EMBED SRC="morphing.mov" WIDTH=240 HEIGHT=196 AUTOSTART=FALSE LOOP=TRUE > <P>Dateiname: morphing.mov, Dauer: 8 Sekunden, Gre: 1 MB </CENTER> </BODY> </HTML> HTML-Seite mit eingebettetem Quicktime-Film Quicktime-Film 8 sec, 240 x 180 Pixel, 1.0 MB 43 8.3 Fast AV Master Videodigitalisierungskarte zur Kompression und Dekompression von Live-Video auf bzw. von der Festplatte in FBAS- und S-Video-Qualität. • Eingabe vom Camcorder und Analog/Digital-Wandlung • Zielformat = MJPEG (Motion JPEG) als AVI-Datei • Kompressionsrate einstellbar • Overlay zeigt Video in Echtzeit auf dem Monitor • Eine Minute Video in VHS-Qualität belegt etwa 120 MByte • Video-Ausgabe • Digital/Analog-Wandlung und Ausgabe auf Videorecorder Screenshot vom Video-Capture-Werkzeug Fast AV-Master 44 8.4 Adobe Premiere Schnittsoftware Adobe Premiere Editor zum Bearbeiten von Video-Clips: • verwendete Dateitypen: AVI, MOV, BMP, WAV, PTL • Zeitleiste mit mehreren Spuren • Überblendungen • Titeleinblendungen • Bluescreen-Effekte • Geometrische Transformationen • Bild- und Audio-Filter Screenshot vom Videoschneidewerkzeug Adobe Premiere 45 8.5 MPEG • 25 PAL-Fernseh-Bilder pro Sekunde im Format 768 × 576 bei 24 Bit Farbtiefe ergeben einen Datenstrom von 32 MBytes/sec. • Auf eine CD mit 660 MByte Speicherkapazität würde demnach ein 20-Sekunden-Film passen. • Single-Speed-CD-ROM-Laufwerk mit 1.34 MBit/sec wäre um den Faktor 180 zu langsam. Drei Komponenten tragen zur Datenreduktion bei: 1. Vereinfachung des Video-Signals (Subsampling, Faktor 4), 2. Ausnutzung räumlicher Redundanz (JPEG, Faktor 15), 3. Ausnutzung zeitlicher Redundanz (MPEG, Faktor 3). Vorher Nachher Motion Vektor kodiert verschobene Macroblöcke 46 8.6 DVD • MPEG-1 erlaubt maximal 1.5 MBit/sec für Video- & Audio-Information. Zielmedium: CD-ROM mit 240 × 180 Auflösung. • MPEG-2 erlaubt 2-10 MBit/sec für Video- & Audio-Information. Zielmedium: DVD mit voller PAL-Auflösung. Digital Versatile Disc gibt es in mehreren Standards: • DVD-ROM (Read Only, für Daten) • DVD-Video (für Video) • DVD-Audio (für Audio) • DVD-R (Recordable, für einmalige Aufzeichnung) • DVD-RW (Rewritable, mehrfache Aufzeichnung) Die Speicherkapazitäten werden beeinflusst durch • SS Single Side • DS Double Side • SL Single Layer • DL Double Layer Bezeichnung DVD-5 DVD-9 DVD-10 DVD-18 Seiten SS SS DS DS Schichten SL DL SL DL Kapazität 4,38 GB 7,95 GB 8,75 GB 15,90 GB Spieldauer > 2 Std. Video ≈ 4 Std. Video 4,5 Std. Video > 8 Std. Video • 720 × 576 à 25.00 Hz in Europa • 720 × 480 à 29,97 Hz in USA und Japan Obacht: Keine quadratischen Pixel ! 47 8.7 RealVideo Client beginnt mit Abspielen, bevor das komplette Video vom Server eingetroffen ist. Streaming Video vom RealServer vs1.uni-osnabrueck.de <HTML> <HEAD> <TITLE>RealVideo</TITLE> </HEAD> <BODY BGCOLOR="silver"> <center> <H1>Video on Demand mit 200 KBit/sec Verbindung </H1> <!-- Videofenster --> <EMBED type = "audio/x-pn-realaudio-plugin" CONSOLE = "rudolf" CONTROLS = "ImageWindow" WIDTH = "280" HEIGHT = "210" AUTOSTART= "false" > <BR> <!-- Kontrollfenster --> <EMBED SRC = "rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004/oliver/rudolf-280-200.rm" type = "audio/x-pn-realaudio-plugin" CONSOLE = "rudolf" CONTROLS = "All" WIDTH = "280" HEIGHT = "120" > </center> </BODY> </HTML> 48 HTML-Seite mit RealVideo-Einbettung über EMBED-Tag <HTML> <HEAD> <TITLE>Real Video</TITLE> </HEAD> <BODY BGCOLOR="silver"> <CENTER> <H1>Video on Demand mit 200 KBit/sec Verbindung </H1> <!-- Videofenster --> <OBJECT CLASSID = "clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" WIDTH = "280" HEIGHT = "210" > <PARAM NAME="controls" VALUE = "ImageWindow"> <PARAM NAME="console" VALUE = "rudolf"> <PARAM NAME="autostart" VALUE = "false"> <EMBED TYPE="audio/x-pn-realaudio-plugin" CONSOLE = "rudolf" CONTROLS = "ImageWindow" WIDTH = "280" HEIGHT = "210" AUTOSTART = "false"> </EMBED> </OBJECT> <BR> <!-- Kontrollfenster --> <OBJECT CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" WIDTH ="280" HEIGHT ="110"> <PARAM NAME="controls" VALUE="All"> <PARAM NAME="console" VALUE="rudolf"> <PARAM NAME="autostart" VALUE="false"> <PARAM NAME="src" VALUE="rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004/oliver/rudolf-280 <EMBED SRC = "rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004/oliver/rudolf-280-200.rm" TYPE = "audio/x-pn-realaudio-plugin" CONSOLE = "rudolf" CONTROLS = "ALL" WIDTH = "280" HEIGHT = "110" AUTOSTART = "false"> </EMBED> </OBJECT> </CENTER> </BODY> </HTML> HTML-Seite mit RealVideo-Einbettung über OBJECT-EMBED-Tag 49 URL für die eingebettete RealVideo-Datei: rtsp://vs1.rz.uni-osnabrueck.de/public/mmp/mmp2004 URL für Popup-Player: http://vs1.rz.uni-osnabrueck.de:554/ramgen/public/mmp/mmp2004/oliver/rudolf-512 50 8.8 RealProducer Werkzeug zum Erzeugen von Streaming-Video-Dateien aus AVI-Dateien oder aus Webcam: • Input-Format = AVI-Datei (*.avi) • Output-Format = RealVideo-Datei (*.rm) • Bitrate einstellbar • Single Rate für Web-Server (enthält nur eine Bitrate) • Sure-Stream für RealServer (enthält mehrere Bitraten) • Vorrang für Schärfe bzw. fließende Bewegung einstellbar Screenshot vom RealProducer 51 8.9 Netmeeting Microsoft Netmeeting • überträgt Videodaten einer Webcam • überträgt Audiodaten vom Mikrophon • organisiert Tastatur-Dialog mit Chat-Tool • erlaubt gemeinsames Zeichnen mit Maus auf Whiteboard • erlaubt Filetransfer Screenshot vom Videokonferenzwerkzeug Microsoft Netmeeting 52 9 Multimedia 9.1 SMIL Mit Hilfe von SMIL (Synchronized Multimedia Integration Language) läßt sich in einer Textdatei (Endung *.smi) das Zusammenspiel von mehreren streaming-fähigen Medien (RealText, RealPix, RealAudio, RealVideo) beschreiben. Der RealServer von RealNetworks überträgt die Medien separat; der RealPlayer mischt sie beim Abspielen gemäß SMIL-Datei. Streaming Media, synchronisiert mit SMIL (Synchronized Multimedia Inegration Language) <smil> <head> <meta name="title" content="Goldene Hochzeit"/> <meta name="author" content="Oliver Vornberger"/> <meta name="copyright" content="(c) 2000"/> <layout> <root-layout width="384" height="288" background-color="black" <region id="text_region" left="150" top="30" width="50" height="20" z-index="2" < region id="image_region" left="0" top="0" width="384"height="288" </layout> </head> <body> <par> <text src="zahlen.rt" region="text_region" begin="3s" fill="freeze" <img src="paar.rp" region="image_region" fill="freeze" /> <audio src="glen-miller.rm" clip-end="17s"/> </par> </body> </smil> 53 /> /> /> /> Synchronistation mehrerer Medien durch SMIL 9.2 Pulse3D Die Firma Pulse3D liefert eine Character-Animation kombiniert mit Text-To-Speech-Konvertierung. Ausgehend von einem 3D-Modell für den Sprecher wird aufgrund einer Texteingabe eine Gesichtsmuskelanimation berechnet, welche von einer synthetisierten Stimme begleitet wird. Real Time Text-to-Speech von www.pulse3d.com 54