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