Titel der Folie

Werbung
Desktop Video
SPV
2 SWS
SS 2000
Gisbert Dittrich
FBI Unido
[email protected]
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1. Grundlagen
1.1 Videotechnik
1.2 Kompression
1.3 Formate + deren Eigenschaften
1.4 Quicktime
Literatur für v.a. 1.1 + 1.2 :
• Steinmetz, Ralf : Multimedia -Technologie,
Einführung und Grundlagen
Springer-Verlag Berlin Heidelberg ... 1993
28.4.2000
2
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik
•
•
•
•
•
28.4.2000
Das menschliche Auge
Grundlagen zu Signalen
Schwarzweißfernsehen
Farbfernsehen
Videotechnik im Rechner
3
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Das menschliche Auge
• Menschliches Auge ist Rezeptor für Bilder.
• Bildet Randbedingungen für das Folgende.
• Auge:
• ortsabhängiges Auflösungsvermögen
• optischer Tiefpaß: nur begrenztes Vermögen, Kanten (fl hohe
Frequenz) aufzulösen.
• Bewegtbildauflösung: ab ca. 16 Bilder pro Sekunde
• Flimmereffekt: bei ≤ 50 Bilder/sec: periodische Schwankung
der Helligkeitsempfindung
28.4.2000
4
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 1
- Darstellung über Wellen
- Modulation
- Signale: Amplitude, Frequenz, Phase
28.4.2000
5
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 2
• Modulation
– Jede Art der Beeinflussung einer charakteristischen Größe
(Amplitude, Frequenz, Phase) von meist höherfrequenten,
ungedämpften periodischen Vorgängen, im engeren Sinne
von elektromagnetischen [Hochfrequenz]wellen bzw. schwingungen, Lichtstrahlen oder Impulsfolgen zum
Zwecke der Übertragung von Signalen oder Nachrichten ...
28.4.2000
6
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 3
• Beispiele: • Amplitudenmodulation
28.4.2000
7
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 4
• Frequenzmodulation
28.4.2000
8
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 5
• Quadraturmodulation:
– Betrachte Trägerfrequenz und eine um 90 Grad
phasenverschobene Variante derselben.
– Führe Amplitudenmodulation zweier Teilsignale auf diese
Träger durch.
– Summiere diese beiden zu einem neuen Signal auf.
28.4.2000
9
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 6
• Beispiel für Diskretisierung einer kontinuierlichen
Funktion:
28.4.2000
10
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 7
• Lehrsatz der Informationstheorie:
• Abtasttheorem: (zitiert nach Meyers Enzyklopädischem Lexikon)
– Ist ein Signalstrom durch eine kontinuierliche Funktion
f(t) gegeben und wird diese Funktion durch Abtasten in
bestimmten Zeitintervallen Dt in eine aus diskreten
Impulsen bestehende Funktion zerlegt, so läßt sich aus
dieser Impulsfunktion die ursprüngliche Funktion ohne
Informationsverlust wiedergewinnen, wenn für die
Bandbreite B gilt:
•
28.4.2000
Dt < 1/(2B). Oder: Abtastrate 1/Dt > 2B.
11
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Grundlagen zu Signalen 7
• Bandbreite:
• Differenz zwischen größter und kleinster Frequenz in
einem zusammenhängenden Bereich von
Schwingungen unterschiedlicher Frequenzen.
•
In Nachrichtentechnik:
• Breite eines Frequenzbandes zwischen zwei
Grenzfrequenzen, für die die übertragene oder von einem
Bandfilter hindurchgelassene Leistung auf die Hälfte, die
Spannung auf das 0,71fache abfällt; wird absolut in Hz oder
relativ (auf die mittlere Frequenz bezogen) angegeben.
28.4.2000
12
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Schwarzweißfernsehen 1
• Darstellung von Helligkeit : Luminanz
• Zeilensprungverfahren (Schema)
28.4.2000
13
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Schwarzweißfernsehen 2
• in Europa: 625 Zeilen, Breite:Höhe = 4:3
28.4.2000
– also 833 Punkte pro Zeile
14
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Schwarzweißfernsehen 3
• Extreme Übergänge schwarz-weiß-schwarz:
28.4.2000
15
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Schwarzweißfernsehen 4
• BAS-Signal (Schema) [Bild -Austast -Synchronsignal]
28.4.2000
16
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Schwarzweißfernsehen 5
• Abschätzungen zum BAS:
– Für 25 Bilder/sec:
•
•
•
•
•
•
Zeilendauer: 64ms (= 40ms/625 Zeilen)
Abtastfrequenz: 13,5 MHz,
Zeilenfrequenz (1/64ms=) 15,625 KHz
Videobandbr. max: 6,75 MHz; fakt.: 5/5,5 MHz
zudem: "Schwebungseffekte erzeugen unvernünftige Bilder"
--> Kell-Faktor: 0,64 (0,67)
– --> Vertikale Auflösung von 400 Zeilen
28.4.2000
17
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Schwarzweißfernsehen 6
• Amplitudenmoduliertes Videosignal:
28.4.2000
18
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 1
• Erste Grundidee: Zusammensetzen aus z. B. RGB
• Komponentenkodierung:
– Betrachtet die Bestandteile der Videoinformation getrennt
voneinander.
z. B. Synchronisation extra
• Verschiedene Arten:
– RGB
Grundfarben werden angegeben
– Oder: Herausziehen der Luminanz Y:
– YUV
• Luminanz (Leuchtdichte) [braucht man für SW-Fernseher]
• Chrominanz (Farbinformation)
28.4.2000
19
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 2
• Bestimmung von YUV aus RGB:
Y = 0.30 R + 0.59 G + 0.11 B
U = (B-Y) * 0.493
V = (R-Y) * 0. 877
• Analoge Behandlung für YIQ - Signal
(verwendet für NTSC)
Y = 0.30 R + 0.59 G + 0.11 B
I = 0.60 R - 0.28 G - 0.32 B
Q = 0.21 R - 0.52 G + 0.31 B
- Randbedingung (historisch): Als Erweiterung zum SWFernsehen, d.h. zum BAS-Signal
28.4.2000
20
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 3
• FBAS - Signal : Farb - Bild - Austast - Synchronsignal
28.4.2000
21
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 4
• Verschiedene Fernsehnormen
– NTSC National Television Systems Committee (Amerika)
• Bildwechselfrequenz: 30 Hz
• Bild aus 525 Zeilen
• verwendet Quadraturamplitudenmodulation
– SECAM Sequential Coleur avec Memoire (Frankreich, ...)
• Bildwechselfrequenz: 25 Hz
• Bild aus 625 Zeilen
• verwendet Frequenzmodulation
– PAL Phase alternating line (Deutschland, Bruch 1963)
28.4.2000
• Bildwechselfrequenz: Halbbilder 50 Hz
• Bild aus 625 Zeilen
• Grundprinzip: Quadraturamplitudenmodulation
22
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 5
• Bandbreite des FS-Signals (auch SW-FS)
28.4.2000
23
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 5a
• Ergänzende Literatur:
– Conventional Analog Television - An Introduction
www.ee.washington.edu/conselec/CE/kuhn/ntsc/95x4.htm
28.4.2000
24
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 6
• Fernsehen der Zukunft: (?)
– D2-MAC: Duobinary Multiplexed Analog Components
• Komponentenverfahren! 2 hochwertige Stereo- resp. 8
Kanäle niederer Güte für Audio.
(wohl überholt !!!)
– HDTV: High Definition Television
• in Europa: Übertragungsverfahren HD-MAC
(HD = High Definition)
• Höhere Datenrate: gegenüber PAL * 5.33 (überprüfen!!)
absolut: 1,152* 109 bit/s
• durch Datenkompression Reduktion auf 34 Mbit/s
(" ohne merklichen Qualitätsverlust")
28.4.2000
25
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 7
– HDTV (Fortsetzung)
• wird unterschieden in:
–
–
–
–
Studiostandard
Produktionsstandard
Übertragungsstandard
Reproduktionsstandard
– übergeordneter Standard HDP
28.4.2000
(P = Progressiv)
26
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 7a
• Ergänzende Literatur: (Stand 14.4.99)
– HDTV Television - An Introduction
http://www.ee.washington.edu/conselec/CE/kuhn/hdtv/95x5.ht
m
– HDTV (High Definition Television)
http://www.circuitcity.com/tv2/products-tv-hdtv.htm
– High Definition Television
http://meteor.uscolo.edu/ebersole/handbook/hdtv.html
28.4.2000
27
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 8
• HDTV-Entwicklungen:
– HD-MAC Europa
• 1250 Zeilen , 50 Halbbilder, Bildwiederholfrequenz: 100
– MUSE Japan
• 1125 Zeilen 60 Hz
• (seit ´92 auf Sendung, gar keine Kompatibilität)
– NTSC
• 1050 Zeilen, 59,94 Hz
28.4.2000
28
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 9
• Digitales Fernsehen
(gemäß beschlossener Normen)
– Geschlossene Kodierung (denkbar)
• BAS-Signal: 2 x 5MHz x 8bit = 80Mbit/sec
• FBAS-Signal: 4 x 4,43MHz x 8bit = 141 Mbit/s Datenrate
• Probleme:
– -Übersprechen, -Norm-abhängig, -Abtastfrequenz
+Datenreduktion nicht komponentenabhängig,
– Weitere Störungen
– Komponentenkodierung: 4:2:2 Kodierung
•
•
•
•
28.4.2000
Luminanz wird höher gewichtet:
Behandlung von Y (Luminanz) mit 13.5 MHz,
R-Y und B-Y je mit 6.25 MHz.
Je zu 8 bit pro Abtastwert. --> Multiplexen.
29
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Farbfernsehen 10
– Komponentenkodierung (Fortsetzung)
• Erfordert 216 Mbit/sec (= 28,25 Mbyte) Datenrate.
• Paßt nicht in herkömmliche PCM-Hierarchie.
• Daher Substandards mit niedrigerer Datenrate:
–
–
–
–
28.4.2000
1:(5/6,5/6)-->180Mbit/sec
2:(3/4,1/2)--> 135Mbit/sec
3:(2/3,1/3)--> 108Mbit/sec
Weitere Reduktionen möglich.
30
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Videotechnik im Rechner 1
• Fast nie mit Zeilensprungverfahren (Ausnahme: Amiga)
• Bildwechselfrequenz ca. ≥ 70 Hz, daher flimmerfrei.
• Farben über CLUT (Color LookUp Table)
– Anzahl der verwendbaren Farben n << m Anzahl aller
darstellbaren Farben.
• Einige "Standards "(v.a. alte):
– CGA Color Graphics Adapter
Bildgröße: 320*200 Pixel
Anzahl der verfügbaren Farben: 4
Aufwand zur Darstellung eines Bildschirminhaltes:
320*200 Pixel*(2bit/Pixel)/(8bit/byte) = 16 000 byte
28.4.2000
31
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Videotechnik im Rechner 2
– EGA Enhanced GraphicAdapter
Bildgröße: 640*350 Pixel Anzahl der verfügbaren Farben: 16
Aufwand zur Darstellung eines Bildschirminhaltes:
640*350Pixel*(4bit/Pixel)/(8bit/byte) = 112 000 byte
– VGA Video Graphics Array
Bildgröße: 640*480 Pixel
Anzahl Farben: 256
Aufwand zur Darstellung eines Bildschirminhaltes:
640*480Pixel*(8bit/Pixel)/(8bit/byte) = 307 200 byte
– 8514/ A Display Adapter Mode
Bildgröße: 1024*768 Pixel Anzahl Farben: 256
Aufwand zur Darstellung eines Bildschirminhaltes:
1024*768Pixel*(8bit/Pixel)/(8bit/byte) = 786432 byte
28.4.2000
32
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Videotechnik im Rechner 3
– EGA Enhanced GraphicAdapter
Bildgröße: 640*350 Pixel
Anzahl der verfügbaren Farben: 16
Aufwand zur Darstellung eines Bildschirminhaltes:
640*350Pixel*(4bit/Pixel)/(8bit/byte) = 112 000 byte
– VGA Video Graphics Array
Bildgröße: 640*480 Pixel
Anzahl Farben: 256
Aufwand zur Darstellung eines Bildschirminhaltes:
640*480Pixel*(8bit/Pixel)/(8bit/byte) = 307 200 byte
– 8514/ A Display Adapter Mode
Bildgröße: 1024*768 Pixel
Anzahl Farben: 256
Aufwand zur Darstellung eines Bildschirminhaltes:
1024*768Pixel*(8bit/Pixel)/(8bit/byte) = 786432 byte
28.4.2000
33
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.1 Videotechnik - Videotechnik im Rechner 4
– XGA Extended Graphics Array
Bildgröße: 640*480 Pixel
Anzahl der verfügbaren Farben: 65536
Aufwand zur Darstellung eines Bildschirminhaltes:
640*480Pixel*(16bit/Pixel)/(8bit/byte) = 614400 byte
Letztere erfordern hohe Datenraten (v.a. für Bewegtbilder!)
Also: Kompressionsverfahren
28.4.2000
nötig !
34
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1. Grundlagen
1.1 Videotechnik
1.2 Kompression
1.3 Formate + deren Eigenschaften
1.4 Quicktime
28.4.2000
35
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression
•
•
•
•
•
•
•
•
•
28.4.2000
Motivation
Kompressionsverfahren
Anforderungen an Kodierungen
Kodierungen
Klassifikation der Kodierungs- und
Kompressionsverfahren
Grundlegende Verfahren
JPEG
H. 261
MPEG
36
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Motivation 1
• Zur Motivation von Datenkompression
– Beispielrechnungen für typische Werte:
- Abkürzungen: 1kbit = 1.000 bit
1Kbit = 210 bit = 1.024 bit
- Analog für Mbit:
1Mbit = 210 *210 bit = 1.024*1.024 bit
– Speicherplatzbedarf: = Anforderung an Speicherplatz ,
wenn je ein Bildschirminhalt resp. je ein Datenstrom pro
Sekunde unkomprimiert dargestellt wird:
28.4.2000
37
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Motivation 2
• Je ein Bildschirminhalt
– Text
Annahme: je Zeichen der Größe 8*8 Pixel sind 2 Byte
nötig.
Zeichen je Bildschirmseite: 640*480/(8*8) = 4800
Speicherplatzbedarf: 4800*2 = 9600 byte = 9,4 Kbyte
– Vektorbilder
Annahme: typisches Bild besteht aus 500 Geraden,
Koordinate in x-Richtung : 10 bit,
Koordinate in y-Richtung : 9 bit,
Attributvektor pro Gerade: 8 bit.
Bit je Linie: (9+10+9+10+8) bit = 46 bit
Speicherplatzbedarf: 500*46/8 byte = 2875 byte = 2,8 Kbyte
28.4.2000
38
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Motivation 3
• Je ein Bildschirminhalt (Fortsetzung)
– Pixelbild
• Annahme: 256 Farben, d.h. 1byte pro Pixel
Speicherplatzbedarf: 640*480*1 byte = 307200 byte = 300
Kbyte
Von hier ab:
• Platzbedarf für je eine Sekunde
– Sprache in Telefonqualität
• Annahme: Abtastung mit 8kHz, quantisiert mit 8 bit
Datenstrom: 64 Kbit/s
Speicherplatzbedarf: 8 Kbyte
28.4.2000
39
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Motivation 4
• Platzbedarf für je eine Sekunde (Fortsetzung)
– Stereo-Audiosignal in CD-Qualität
• Annahme: Abtastung mit 44,1 kHz, quantisiert mit 16 bit
Datenstrom: 2*44100* 16/8 byte/s = 176400byte/s
Speicherplatzbedarf: 172 Kbyte
– Videosequenz
28.4.2000
• Annahme: 25 Vollbilder pro Sekunde
Luminanz und Chrominanz zusamm. mit 3 byte pro Pixel
Luminanz Y mit 13,5 MHz, Chrominanz (R-Y sowie B-Y)
mit 6,75 MHz.
8 bit-gleichförmige Kodierung:
(13,5 MHz + 2*6,75 MHz) * 8bit = 216*106 bit/s
(entspricht ca. 27 MByte/s)
40
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Motivation 5
– Videosequenz (Fortsetzung)
• Datenrate: 640*480*25*3 byte/s = 23 040 000 byte/s
Speicherplatzbedarf: 22500 Kbyte = 21, 97 Mbyte
Datenübertragungsraten von ungefähr 140 (175,78) Mbit/s.
’ Heute nicht kostengünstig realisierbar.
Kontinierliche Medien erhöhen die Anforderungen an das
System erheblich!
Durch Kompressionsverfahren
"erheblich" reduzierbar.
28.4.2000
41
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Kompressionsverfahren
Kompressionsverfahren
, die immer wieder genannt werden:
– JPEG für Einzelbilder
(Joint Photographic Expert Group)
– MJPEG
– [H.261(px64) für Videosequenzen mit geringer
Auflösung ]
– MPEG für Bewegtbilder als auch Audio
(Motion Picture Expert Group)
– [DVI für Einzelbilder und kontinuierliche Medien
(Digital Video Interactive)]
28.4.2000
42
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Anforderungen an Kod. 1
1. Gute Qualität nach Kodierung - Dekodierung
2. Verfahren möglichst einfach
3. Symmetrisch in Aufwand für KompressionDekompression
– z. B. für Dialogsysteme (Bildübertragung,
Videoconferencing, ..) etwa:
Ende-zu-Ende Verzögerung ≤ 150 msec ( z. B. px64)
4. Kompression mit hohem Aufwand Dekompression schnell
z. B. für Abfragesysteme (audiovisuelle Auskunftssysteme,
...): einmal komprimieren, häufig dekomprimieren,
möglichst in Echtzeit (z.B. DVI)
28.4.2000
43
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Anforderungen an Kod. 2
3.+ 4. sollen erfüllen:
– Formal unabhängig von Bildschirmgröße/ Bildwiederholfrequenz zu definieren
– verschiedene Datenraten für Audio/Video
– Audio/Video exakt synchronisierbar, auch mit anderen
Medienobjekten
– kostengünstig, möglichst Software
– Kooperation von unterschiedlichen Systemen
’ Standards : de jure - de facto
28.4.2000
44
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Anforderungen an Kod. 3
4. soll insbesondere erfüllen:
– schneller Vor- /Rücklauf bei Anzeige der Daten
– wahlfreier Zugriff auf Einzelbilder ≤ 0.5 sec
– Dekompression von Einzelbildern/Videosequenzen direkt,
d.h. ohne Zugriff auf "vorherige" Daten möglich.
’ Editieren nach wahlfreiem Zugriff möglich.
28.4.2000
45
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Kodierungen 1
• Grobe Einteilung:
– Entropiekodierung: verlustfrei
(Entropie: mittlerer Informationsgehalt einer
Zeichenmenge)
– Quellenkodierung:meist verlustbehaftet
nutzt Semantik der Daten,
bzgl. des Kompressionsgrades abhängig vom Medium.
– Kanalkodierung (hier weggelassen)
– hybride Kodierung
28.4.2000
46
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Kodierungen 2
• Wesentliche Schritte der Datenkompression für
Audio und Video (am Beispiel Einzelbild formuliert):
28.4.2000
47
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Kodierungen 3
Schritte der Datenkompression (Fortsetzung)
1. Bildaufbereitung
• z. B. Zerlegung in Blöcke von je 8x8 Pixel
• mit n Bit Beschreibungstiefe pro Block/Pixel
2. Bildverarbeitung
• erzeugt geeignete digitale Darstellung (verschiedenste
Verfahren)
3. Quantisierung
• erzeugt Verlustbehaftung
4. Entropiekodierung
• Bearbeitet linearen Datenstrom; verlustfreie Kompression!
28.4.2000
(2. und 3. können mehrfach iterativ durchlaufen werden).
Dekompression läuft invers.
48
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Klassifikation K&Kverf 1
(wichtig für unseren Kontext; Verfahren werden im
folgenden z. Teil erläutert)
• Entropiekodierung
– Lauflängenkodierung Huffman-Kodierung
– Arithmetische Kodierung
• Quellenkodierung
– Prädiktion:
DPCM
DM
– Transformation:
FFT
DCT
– nach Wichtigkeit, "Layered Coding":
• Bitposition
• Unterabtastung
• Subband Kodierung
28.4.2000
49
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Klassifikation K&Kverf 2
• Vektor-Quantisierung
• Hybride Kodierung
– JPEG
– MPEG
– px64
28.4.2000
50
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 1
Vorbemerkung
Hybride Verfahren verwenden unterschiedliche
grundlegende Verfahren.
Gemäß den Fähigkeiten/Eigenschaften der Sinnesorgane:
unterschiedliche Gewichtungen für verschiedene Attribute,
z. B.
Helligkeit hohes Gewicht,
Farbe niedrigeres Gewicht.
28.4.2000
51
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 2
• Lauflängenkodierung
– Voraussetzung: Bytestrom wird übertragen.
– Bei häufigen Wiederholungen von Bytes:
• Angabe des Bytes + Anzahl des Vorkommens. (Unter
Verwendung von M(arkierungs)-Bytes, z. B. "!“
– Wenn mindestens 4 Bytes gleich, dann wird gezählt. Damit
4 - 259 gleiche in 3 Bytes kodierbar.
– Beispiel ( in vereinfachter Darstellung ) :
Unkomprimierte Daten : a!bbbcccccccccd
Lauflängenkodierung : a! !bbb!c5d
28.4.2000
52
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 3
• Nullunterdrückung
(Spezialfall der Lauflängenkodierung)
– Nur ein spezielles Zeichen wird potentiell gezählt.
– Ab 3-258 gleiche Bytes so auf 2 Bytes reduzierbar.
Variationen möglich.
• Vektorquantisierung
– (vereinfacht:) Zerlegt Datenstrom in Blöcke zu je n Bytes.
– Verwendet Tabelle mit Mustern als Einträgen. Suche
Muster, das gegebenen Block am besten approximiert .
Block erhält Index(vektor) des zug. Musters aus dieser
Tabelle zugeteilt.
28.4.2000
53
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 4
• Beispiel zur Vektorquantisierung:
– Tabelle für Blöcke (hier durch 3 Dezimalziffern dargestellt)
– ´24´,´801´ komprimiert ergibt z.B. (1,1), (6,4), dekodiert:´10´,´794´
Dimension 1
1
2
3
4
5
6
7
28.4.2000
1
10
204
305
401
501
700
901
Dimension 2
2
69
219
328
439
527
726
932
3
110
250
352
455
556
751
955
4
170
271
388
479
597
794
979
Aufwand:
3 Ziffern:12 (10)bit
‚Vektor‘: 3 +2 bit
54
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 5
• Weitere Verfahren
– (Static) Pattern Substitution
• Ersetzt häufige Muster durch einzelne Bytes. (Z.B. BEGIN
in Progspr.)
• Häufig durch Approximation (z.B. für Bilder. fl
Vektorquantisierung)
• Anmerkungen:
– M- Bytes benutzen
– benötigt eine vorher bekannte Codetabelle
– schwierige Musterfindung bei Einzelbildern und Audiodaten
28.4.2000
55
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 6
– Diatomic Encoding
• Variante von Static Pattern Substitution:
• Zusammenfassung je zweier Datenbytes.
Z.B. für englisch: 8 häufigste Paare:
'E ', 'T ', 'TH', ' A', 'S ', 'RE', 'IN', 'HE' (Vorsicht:
Leerzeichen!)
• Allein Ersetzung dieser durch spezielle Bytes, die sonst nie
auftreten ’10% Ersparnis.
28.4.2000
56
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 7
• Dynamic Pattern Substitution
– Grundidee
• wie Static Pattern Substitution
• Erstellung der Codetabelle aber zur Laufzeit
– Problem
• Erkennung der besten Muster
– Beispiel:
Unkomprimierte Daten : ABCDEABCEEABCEE
Komprimierte Daten : ABCDE11
Tabelleninhalt
: 1=ABCEE
• Implementierung
– Lempel-Ziv Encoding: in vielen Programmen eingesetzt
28.4.2000
57
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 8
• Lempel-Ziv Encoding 1
– Grundideen
• Codetabelle wird während der Kompression erzeugt
• jede neue Folge von Bytes in der Codetabelle aufnehmen
– Kompression
• sei #i der i-te Index und W der Inhalt von einem Fenster
– Pseudocode
28.4.2000
1.) Codetabelle initialisieren mit Alphabet
2.) Fenster = [ W ] mit W = leer
3.) Falls ein Zeichen K vorhanden ist, dann Fenster = [ WK ]
Sonst Index von W ausgeben und Programm beenden
4.) Falls Fensterinhalt in der Codetabelle, dann W = WK, 3.)
Sonst füge WK in die Codetabelle ein, Index von
W ausgeben, setze W = K und springe zu Punkt 3.)
58
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 9
• Beispiel für Lempel-Ziv Kodierung :
– Alphabet = { A,B,C } - Originaldaten : ´ABABAAA´
– Lempel-Ziv Kodierung : ´#1 #2 #4 #1 #7´
28.4.2000
59
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 10
• Lempel-Ziv Kodierung 3
– Anmerkungen
• keine explizite Übertragung der Codetabelle
– Tabellengröße
• bestimmt Kompressionsgrad und Geschwindigkeit
• wächst schnell
– Speicherplatzprobleme, Index wird zu groß
– erfordert erneute Initialisierung
28.4.2000
60
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 11
• Lempel-Ziv Kodierung 4
– Dekompression
• inverses Verfahren der Kompression
• Aufbau der Codetabelle
– sortiertes Alphabet initialisiert die Codetabelle
– beim ersten dekomprimierten Index passiert nichts
– sonst das vorherige dekodierte Codewort plus erstes Zeichen
von dem neuen dekodierten Codewort einfügen
28.4.2000
61
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 12
• Lempel-Ziv Kodierung 5
– Sonderfall
• Problem : verspäteter Aufbau der Tabelle um einen Schritt
 letzter Eintrag aus der Codetabelle wurde benutzt
 erster Buchstabe des dekodierten Codewortes wird
benötigt
 Anfang des zuletzt
dekodierten Codewortes
ist gleich dem Anfang
des neuen
 letzter Buchstabe
= erster Buchstabe
28.4.2000
62
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 13
• Statistische Kodierung
• Zeichen können unterschiedlich lang kodiert werden.
• häufig vorkommende Zeichen werden kurz, selten
vorkommende Zeichen werden lang kodiert.
• wichtig: Eindeutige Dekodierung muß möglich sein.
• Beispiele: Huffman, Arithmetische Kodierung (s.u.).
• Huffman Kodierung
• Gegeben: Zeichen mit Wahrscheinlichkeit/ (relative)
Häufigkeit ihres Auftretens.
• Darstellung: Kodierung mit minimaler Anzahl benötigter
Bits über binären Baum.
• Prefix Code: - variable Symbollänge
- kein Codewort ist Prefix eines anderen
28.4.2000
63
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 14
• Beispiel (zu Huffman) :
– Zahl = Anzahl des (relativen) Auftretens des Zeichens
– p(A) = 10, p(B) = 30, p(C) = 5, p(D) = 8, p(E) = 6
’ p(CE) = 11, p(AD) = 18, p(ACDE) = 29, p(ABCDE) = 59
28.4.2000
64
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 15
Beispiel (zu Huffman, Fortsetzung) :
’ Kode: w(A) = 011, w(B) = 1, w(C) = 000, w(D) = 010,
w(E) = 001
• Ersichtlich eindeutige Kodierung, da alle Zeichen an
Blättern stehen.
• Beispiel: ’ABBAC’ wird kodiert durch: 01111011000
• Bei "üblicher" 3bit-Kodierung: 15 Bit nötig.
• Hier nur : 11 Bit nötig.
• In unserem Kontext:
28.4.2000
– Tabelle für jedes Einzelbild oder für mehrere Einzelbilder
– resp. für eine Sequenz oder Menge von Sequenzen.
– Dieselbe Tabelle braucht man für Kodierung und
Dekodierung.
65
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 16
• Arithmetische Kodierung 1
– Motivation
• Huffman- Kodierung liefert keine ausgeglichenen Bäume
– Beispiel
• ein Zeichen kommt zu 90% vor
• ein Bit benötigt bereits zuviel Speicherplatz
– Grundidee
• eine Zeichenkette entspricht einem Intervall zwischen [0..1]
• eine Zahl aus dem Intervall repräsentiert die Zeichenkette
• die Auftrittswahrscheinlichkeit bestimmt die Intervallgröße
– anfängliche Festlegung
• Reihenfolge • Auftrittswahrscheinlichkeiten
28.4.2000
• Intervalle
66
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 17
• Arithmetische Kodierung 2
– auch optimale Kodierung (wie Huffman).
– kodiert Zeichen immer unter Berücksichtigung aller
vorangegangenen Zeichen
’ wahlfreier Zugriff nicht möglich.
28.4.2000
67
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 18
• Arithmetische Kodierung 3
• Kodierung:
Beispiel:
– sei
• low( i ) = untere Intervallgrenze des i-ten Zeichens
• high( i ) = obere Intervallgrenze
• L = 0 und H = 1
– für alle Zeichen i  {1..n} berechne :
L = L + ( H - L ) ·low( i )
H = L + ( H - L ) ·high( i ) // ( alten L-Wert benutzen )
– wähle eine Zahl zwischen L und H
28.4.2000
68
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 19
• Arithmetische Kodierung 4
• Beispiel: ´ACB´ entspricht einer Zahl aus [0,12..0,15[ z.B 0.13
28.4.2000
69
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 20
• Arithmetische Kodierung 5
Zeichen werden nicht einzeln, sondern ganzer String wird
kodiert ’
– Anzahl der komprimierten Zeichen
• Länge vorher übergeben
• Endezeichen
– Eigenschaften
• kein zufälliger Zugriff möglich
• Kompressionsrate ungefähr wie bei der Huffman Kodierung
28.4.2000
70
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 21
• Transformationskodierung
– transformiert Daten in anderen mathematischen Raum, in
dem (hoffentlich) besser kodiert werden kann.
z.B.:
• Diskrete Kosinustransformation DCT (vgl. später JPEG)
• Wavelets
• Fouriertransformation FFT
28.4.2000
71
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 22
• Subbandkodierung
– nur selektive Frequenztransformation
– Qualitätskriterium: Anzahl der Bänder
– gut zur Kompression von Sprache
• Prädiktion/relative Kodierung
– Grundidee: Kodierung von Differenzen von Bytes resp.
Bytefolgen
– Beispiele:
• 1. ein Bild:
– Kanten fl große Differenzwerte für Luminanz/ Chrominanz
– Flächen fl kleine Differenzwerte
– homogene Fläche fl viele Nullen ’ Lauflängenkodierung
28.4.2000
72
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 23
• Prädiktion/relative Kodierung (Fortsetzung)
– Beispiele (Fortsetzung)
• 2. Bilder über der Zeit:
– Bewegtbilder: beschrieben durch Differenz eines Bildes zum
vorherigen.
– z. B. Nachrichtensendung/Bildtelefon: Hintergrund
weitgehend gleich.
– Bewegungskompensation über Bewegungsvektor möglich.
• 3. in Audiotechnik:
Differential Puls Code Modulation (DPCM)
– Folge von PCM-kodierten Abtastwerten werden dargestellt
durch
- erster Abtastwert durch volle Beschreibung
- für die nachfolgenden durch Differenz zum vorherigen Wert.
28.4.2000
73
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 24
• Delta Modulation
– Variation von DPCM
– Kodierung der Differenzwerte durch genau 1 bit.
– (kleine Differenzen sind dadurch sinnvoll beschreibbar.)
• ! DIFFERENZBILDUNG ist wesentliches
Merkmal aller im Multimedia-Bereich eingesetzten
Verfahren!
28.4.2000
74
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 25
• Adaptive Kompressionsverfahren
– Bisherige Verfahren:
• gut in bestimmtem Kontext
• untypische Folgen von Zeichen fl keine Kompression.
– Adaptive Verfahren:
• lassen Anpassung des Verfahrens an zu komprimierende
Daten zu.
• Grundidee:
– Kodierungstabelle (etwa nach Huffman) durch Zähler je
Eintrag für Vorkommen erweitern.
– Die Zuordnung der Kodewörter durch Änderung gemäß der
Häufigkeit der Vorkommen (Zählereinträge!) anpassen!
’ Die häufigst erscheinenden Zeichen werden dann immer am
kürzesten kodiert.
28.4.2000
75
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 26
Adaptive Verfahren (Fortsetzung)
Beispiel:
– Adaptive DPCM (ADPCM, häufig auch nur DPCM).
• wenige Differenzbits beschreiben:
– wenige große Differenzen
– wenige kleine Differenzen
•
•
•
•
Fehler in diesem Kontext: Slope overload (Signalverzerrung)
Wertigkeit der Diffbits durch Faktor beschreibbar.
Änderung der Faktoren adaptiv möglich.
--> nicht gut geeignet für z.B. Audio mit sich häufig
ändernden Anteilen; jedoch:
• CCITT: für Telefonie ADPCM: 8kHz Abtastfrequenz, 4 bit
pro Abtastwert.
28.4.2000
76
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - Grundlegende Verfahren 27
• Weitere grundlegende Verfahren:
– Farbtabellen
– Stummschaltung:
• Daten werden nur kodiert, wenn der Lautstärkepegel
bestimmten Schwellwert überschreitet.
28.4.2000
77
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 1 (Gliederung)
• Anforderungen an JPEG
• Übersicht:Schritte im JPEG-Kompressionsverfahren
Bildaufbereitung (für alle Modi)
• Bildverarbeitung im 1. Modus (FDCT)
• Quantisierung
• Entropiekodierung
• Erweiterter, verlustbehafteter DCT-basierter Mode
• Verlustfreier Mode
• Hierarchischer Mode
• Zur Qualität
28.4.2000
78
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 2
• (Joint Photographic Expert Group)
• J, da 2 Kommissionen beteiligt waren, wohl 1992
veröffentlicht
• für farbige und grauskalierte Standbilder
• auch für Bewegtbildsequenzen, dann M(otion)JPEG
• als Software oder mit spezieller
Hardwareunterstützung verfügbar.
• Vorsicht: z. Teil nur ein Teil von JPEG kommerziell
erhältlich ("Basismode")
28.4.2000
79
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 3
• Anforderungen an JPEG:
– Unabhängigkeit
•
•
•
•
•
von der Bildgröße
von Höhe zu Breite - eines Bildes - eines Pixels.
der Farbvielfalt vom verwendeten Farbraum
von der Komplexität des Bildinhalts
von den statistischen Eigenschaften des Bildinhalts
– Aktueller Stand bzgl. des Kompressionsgrades und der
erreichbaren Bildqualität (nahezu) zu erreichen.
– Softwarelösung sollte auf (möglichst vielen)
Standardprozessoren laufen.
28.4.2000
80
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 4
• Anforderungen an JPEG (Fortsetzung 1)
– Hardwarelösung sollte Komplexität der Verarbeitung
drastisch reduzieren.
– Beim Dekodieren mögliche Alternativen unterstützen:
• sequentiellen Bildaufbau
• progressiven Bildaufbau (Bild wird erst nur grob, dann
immer feiner gezeigt.)
• verlustfreie Dekodierung
• Kodierung mit unterschiedlichen Auflösungen desselben
Bildes.
28.4.2000
81
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 5
• Anforderungen an JPEG (Fortsetzung 2)
–
’ obige "Parametrisierbarkeit" läßt Wahl zu unter:
• Qualität des reproduzierten Bildes
• Dauer der Kompression
• Größe des komprimierten Bildes
– Möglichkeit: nur Kodierer oder Dekodierer nötig
– Austauschformat nach JPEG:
• Parameter + Tabellen des Kodierprozesses
(Manchmal nur als "abbreviated Format", wenn gewisse
"Meta"daten aus dem Kontext schon bekannt)
• Bilddaten
28.4.2000
82
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 6
• Übersicht:Schritte im JPEG-Kompressionsverfahren
28.4.2000
83
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 7
JPEG-Modi:
1. Baseline Process, Basis Mode
– verlustbehafteter, sequentieller DCT-basierter Mode (muß
von jedem JPEG-Decoder unterstützt werden.)
2. Erweiterter verlustbehafteter DCT-basierter Mode
– stellt Menge von Alternativen zur Verfügung.
3. Verlustfreier Mode
--> verlustfreie Reduktion; geringerer Kompressionsfaktor
4. Hierarchischer Mode
– liefert mehrere, unterschiedliche Auflösungen pro Bild
– verwendet Algorithmen aus 1.-3.
28.4.2000
84
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 8
• Bildaufbereitung (für alle Modi)
– Zu beantwortende Frage:
• Wie wird ein (unkomprimiertes) Bild beschrieben und zur
Verarbeitung in Teilinformationen zerlegt ?
– Nach obigem:
• Viele Parameter offen, jedoch werden folgende
Voraussetzungen an die Beschreibung des unkomprimierten
Bildes gestellt:
– Ein Bild besteht aus
N Ebenen/Komponenten
Ci 1≤i≤N, 1≤N≤255.
28.4.2000
85
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 9
• Bildaufbereitung
(für alle Modi; Fortsetzung 1)
– Pro Pixel: p bit Beschreibungstiefe
28.4.2000
• p = 8, 12, falls verlustbehafteter Modus
• 2≤ p ≤ 12 , falls verlustfreier Modus.
• Ansonsten vorweg Transformation in eine solche
Darstellung.
86
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 10
• Bildaufbereitung (für alle Modi; Fortsetzung 2)
– Für 1≤i≤N: Xi Spaltenzahl, Yi Zeilenzahl.
Beispiel 1:
Homogene Auflösung
Auflösung
der Ebenen
28.4.2000
Beispiel 2:
Heterogene
der Ebenen
87
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 11
• Bildaufbereitung (für alle Modi; Fortsetzung 3)
Konkrete Notation eines Bildes durch :
– (N, p, y, x, Vmax, Hmax, (i, Vi, Hi) 1≤i≤N), wobei:
•
•
•
•
x := Min i = 1,.., N Xi , y := Min i = 1,.., N Yi
(X := Max i = 1,.., N Xi , Y := Max i = 1,.., N Yi)
Hi := Xi/x; Vi := Yi/y
(Hmax := Max i = 1,.., N Hi , Vmax := Max i = 1,.., N Vi)
– Dabei Voraussetzung: 1≤Hi ,Vi≤4
– Festlegung: Dateneinheit:
für Hi, Vi¿§
• 1 Pixel, falls verlustfreier Modus
• Block aus 8*8 Pixel, falls ein verlustbehafteter Modus
28.4.2000
88
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 12
• Bildaufbereitung (für alle Modi; Fortsetzung 4)
Verarbeitung:
– nicht über Ebenen
verschachtelt:
– über Ebenen verschachtelt (Interleaving):
• Problem: zusammengehörige Informationen sind zu
verarbeiten, trotz evtl. unterschiedlicher Auflösung der
verschiedenen Ebenen.
• führt zum Begriff der MCU: Minimum Coded Units
28.4.2000
89
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 13
• Bildaufbereitung (für alle Modi; Fortsetzung 5)
– Beispiel:
– Vorgehen:
28.4.2000
• Zerlege jede Komponente/Ebene in Regionen, so daß die
Anzahl der Regionen für jede Ebene gleich groß ist.
• Die jte MCU enthält jeweils die jte Region der Ebene i (für
1≤i≤N).
90
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 14
• Bildaufbereitung (für alle Modi; Fortsetzung 6)
– Für JPEG gilt:
• Jede MCU erfüllt:
– Maximal 4 Komponenten können derart verschachtelt kodiert
werden
– maximal 10 Dateneinheiten können enthalten sein.
– (Ende Bildaufbereitung für alle Modi.)
28.4.2000
91
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 15
• Bildverarbeitung im 1. Modus (FDCT)
– Überblick:
– unkomprimiertes Bild wird in Dateneinheiten zu je 8*8
Pixel zerlegt
– p = 8 [bit]
28.4.2000
92
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 16
• Bildverarbeitung 1. Modus(FDCT) (Fortsetzung1)
– Bildverarbeitung für je 8x8 Pixel:
(F)DCT: Diskrete Cosinus Transformation
•
•
•
•
•
Beschreibe dazu 8*8 Pixel so:
Verschiebe Wertebereich von [0,255] nach [-128, 127]
Dann gilt: Pixelwerte syx aus [-128, 127] für 0≤x,y≤7
Wende darauf FDCT (Forward DCT) an:
Svu = (1/4) cu cv S x= 0,.., 7 S y= 0,.., 7
syx cos((2x+1)up/16) cos((2y+1)vp/16)
• mit cu,cv = 2-1/2 für u,v =0 , sonst cu, cv = 1 für u,v e [0,7].
28.4.2000
93
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 17
• Bildverarbeitung 1. Modus(FDCT) (Fortsetzung2)
– Dies ist interessant, da folgende Interpretation:
• Svu interpretierbar als "zweidimensionale" Frequenz.
• Beispiele:
– S00 DC- Koeffizient
(fl Gleichspannungsanteil; direct current)
bestimmt Grundfarbton für die 64 Pixeldateneinheiten
– andere: AC - Koeffizienten (fl Wechselspannungsanteil)
– S70 = höchste Frequenz, die nur in waagerechter Richtung
auftritt, d. h. dichtest mögliches Muster senkrechter Streifen.
– S77 maximal, wenn 8*8 Dateneinheit aus möglichst vielen, d.h.
1*1 Karos
28.4.2000
94
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 18
• Bildverarbeitung 1. Modus(FDCT) (Fortsetzung3)
– "zweidimensionale"
Frequenzen
28.4.2000
95
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 19
• Bildverarbeitung 1. Modus(FDCT) (Fortsetzung 4)
– Rücktransformation durch IDCT (Inverse DCT) :
• syx = (1/4) S u= 0,.., 7 S v= 0,.., 7
cu cv Svu cos((2x+1)up/16) cos((2y+1)vp/16)
mit cu,cv = 2-1/2 für u,v =0 , sonst cu, cv = 1.
– Anmerkungen:
•
•
•
•
28.4.2000
Cos-Werte in Tabelle erfaßbar.
Hin- und Rücktransformation nicht exakt.
Genauigkeit durch JPEG nicht vorgeschrieben.
Flächen erzeugen viele AC-Koeffizienten zu Null oder fast
Null.
96
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 20
• Quantisierung
– Erzeugt Verlustbehaftung
– pro Block: 64 Quantisierungseinträge; individuell
einstellbar (vom Bildmaterial abhängig)
• Bildqualität <--> Kompressionsgrad einstellbar
– Qvu 8bit ganzzahlige Werte gemäß:
• sqvu = round Svu/Qvu.
• Je größer Tabelleneinträge, desto gröber die Quantisierung.
– Dequantisierung mit derselben Tabelle gemäß
• Rvu = sqvu* Qvu
28.4.2000
97
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 21
• Entropiekodierung
– Vorbereitung der Verarbeitung in der Kodierung
• i.a. unterschiedliche Behandlung von DC- und AC Koeffizienten
• DC-Wert: beschreibt Grundfarbton, differieren i.a. wenig
von Block zu Block. Daher:
– Differenzbildung
benachbarter Werte
28.4.2000
98
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 22
• Entropiekodierung (Fortsetzung 1)
– AC-Werte: "Zick-Zack"- Verarbeitung
nach steigenden
Frequenzen
(entspricht meist
fallenden Werten
--> 0)
28.4.2000
99
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 23
• Entropiekodierung (Fortsetzung 2)
– JPEG-Entropiekodierung
• Zunächst Lauflängenkodierung (von Nullwerten)
• dann: Huffman (/z. T. Arithmetische Kodierung)
--> Liefert ISO- Intermediate-Symbol-Sequenz- Format
i. w. folgende alternierende Angaben:
• Anzahl der folgenden Koeffizienten mit dem Wert Null
• für die Darstellung des danach folgenden Koeffizienten
benutzte Anzahl an Bits
• Wert des Koeffizienten, dargestellt mit der angegebenen
Anzahl an Bits
28.4.2000
100
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 24
• Entropiekodierung (Fortsetzung 3)
– Zudem:
• AC- Werte fi 0 sowie DC- Werte werden so dargestellt, daß
Anzahl benötigter Bits von der Größe des Wertes abhängt
– AC-Werte: 1-10 bits
– DC-Werte: 1-11 bits (i.a. höhere Auflösung)
• Huffman:
– keine Lizenzgebühren für Patente
– schlecht: Anwendung hat Kodierungstabellen bereitzustellen.
• Hier verwendet man: sequentielle Kodierung
28.4.2000
101
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 25
• Bildaufbau bei Dekodierung
– Beispiel:
28.4.2000
102
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 26
• Erweiterter, verlustbehafteter DCT-basierter Mode
– Unterschiede zum 1. Mode:
• p = 8 oder 12
• Neben sequentieller Kodierung: progressive Kodierung
(fl Layered Coding)
– Erlaubt folgenden Bildaufbau bei Dekodierung
• Beispiel:
28.4.2000
103
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 27
• Erweiterter, DCT-basierter Mode (Fortsetzung 1)
– Wird erreicht durch:
• Erweiterung der Quantisierung
--> Alle quantisierten Werte kommen in Puffer
--> Selektive Weiterverarbeitung
– Spectral Selektion:
» zuerst: nur Koeffizienten der niedrigen Frequenzen
» danach: auch Koeffizienten der höheren Frequenzen
– Successive Approximation:
» alle Koeffizienten werden übertragen.
» jedoch nach Wertigkeit weiterverarbeitet
– Neben Huffman: Arithmetischer Kode
• Patentschutz (noch?) - paßt sich autom. den statistischen Eigensch.
des Bildes an.- > keine Tabellen auf Seiten der Anwendung nötig.
28.4.2000
104
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 28
• Erweiterter, DCT-basierter Mode (Fortsetzung 2)
Verschiedene alternative Kombinationen in den Teilschritten:
Bildaufbau
28.4.2000
Bits/ Abtastwert
sequentiell
sequentiell
sequentiell
sequentiell
progressiv sukzessive
progressiv spektral
progressiv sukzessive
progressiv spektral
progressiv sukzessive
progressiv spektral
progressiv sukzessive
progressiv spektral
8
8
12
12
8
8
8
8
12
12
12
12
Entropiekodierung
Huffman - Kodierung
Arithmetische Kodierung
Huffman-Kodierung
Arithmetische Kodierung
Huffman-Kodierung
Huffman-Kodierung
Arithmetische Kodierung
Arithmetische Kodierung
Huffman-Kodierung
Huffman-Kodierung
Arithmetische Kodierung
Arithmetische Kodierung
105
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 29
• Verlustfreier Mode
– Start:
• Dateneinheit: Pixel mit 2- 16 bit Beschreibungstiefe.
Statt Transformationskodierung:
28.4.2000
106
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 30
• Verlustfreier Mode (Fortsetzung 1)
– Prädiktionsverfahren
• Für Pixel X : 1-8 Prädiktoren
Aufgabe: Möglichst gute
Vorhersage von X aus
den bekannten A,B,C
Selektionswert Prädiktion Selektionswert Prädiktion
0
keine Prädiktion
4
A+B+C
1
A
5
A + (B-C)/2
2
B
6
B + (A-C)/
3
C
7
(A + B)/2
Selektionswert sowie Prä(X) - X werden entropiekodiert.
28.4.2000
107
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 31
• Hierarchischer Mode
– nach Bedarf: - verlustbehaftet -verlustfrei
– Kodierungen je eines Bildes mit (mehreren)
unterschiedlichen Auflösungen
• 1. Digitalisiertes Bild "um den Faktor 2n herabsetzen" -->
komprimieren
• 2. Digitalisiertes Bild "um den Faktor 2n-1 herabsetzen"
--> Bild gemäß 1 davon abziehen ("Differenzbild")
--> komprimieren
• 3. 2. geeignet iterieren, bis "vollständiges" Bild
komprimiert.
• Damit Skalierung einfach möglich.
28.4.2000
108
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 32
• Hierarchischer Mode (Fortsetzung)
– Vorteil:
• Anwendung verarbeitet die Auflösung, die ihr angepaßt ist.
--> Berechnung der reduzierten Informationen aus den
detailliert beschriebenen Bildern durch die Anwendung
nicht nötig.
– Nachteil:
• Kodierung ist rechen- und speicherplatzintensiv.
28.4.2000
109
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - JPEG 33
• Zur Qualität
– Für DCT-kodierte Einzelbilder:
• 0,25 bis 0,50 bit/Pixel :Mäßige bis gute Qualität, für einige
Anwendungen ausreichend.
• 0,50 bis 0,75 bit/Pixel: Gute bis sehr gute Qualität, für
viele Anwendungen ausreichend.
• 0,75 bis 1,50 bit/Pixel: Ausgezeichnete Qualität, für die
meisten Anwendungen ausreichend.
• 1,50 bis 2,00 bit/Pixel: Meistens vom Original nicht mehr
zu unterscheiden. Genügt fast allen
Anwendungen, selbst bei höchsten Qualitätsansprüchen.
– Im verlustfreien Modus:
• Kompressionsgrad 2:1 im Mittel.
28.4.2000
110
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - H.261 (px64) 1
• Bewegtbildstandard
• Für Einsatz bzgl. ISDN gedacht für z. B.:
– Bildtelefon
- Videokonferenzsysteme
--> Kodierung + Dekodierung in Echtzeit
– jetzt: für Videokompression auf p x 64 Kbit/sec mit p = 1,
2, . .., 30
• H. 261 Video Codec for Audiovisual Services
at p x 64 kbit/s
– Coder/Decoder
– 1990 verabschiedet
– Voraussetzung: Kompression + Dekompression ≤ 150
msec Signalverzögerung.
28.4.2000
111
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - H.261 (px64) 2
• Bildaufbereitung
– Präzise(re) Voraussetzungen:
• Am Eingang anliegende Bildwechselfrequenz: 29,97 =
30000/1001 (wieso?)
• Geringere Bildwechselfrequenzen für Übertragung
zugelassen (z.B. 10-15)
• Nicht Zeilensprungverfahren.
• Bild mit Y Luminanz, Cb,Cr Chrominanzdifferenzen (gemäß
CCIR 601)
• 2:1:1 kodiert (vgl. YUV (Fernsehen); entspricht wohl 4:2:2)
28.4.2000
112
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - H.261 (px64) 3
• Auflösungen: 4:3 Seitenformat
– CIF (Common Intermediate Format) : optional
• 288*352 Pixel Luminanz
• 144*176 Chrominanz
– QCIF (Quarter CIF)
: vorgeschrieben
• 144*176 Pixel Luminanz
– Zur Hilfe: [(2*3*3*8) *(2*11*8)] für unten
• 72* 88 Chrominanz
[(3*3*8) *(11*8)]
• Nötiger Kompressionsgrad, um mit QCIF über 1 ISDNB-Kanal zu kommen: 1: 47,5. (bei 10 Bildern/sec)
28.4.2000
• Heute technisch machbar.
• CIF benötigt 6 ISDN-B-Kanäle
113
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - H.261 (px64) 4
• Verwendete Unterteilung je eines Bildes:
–
–
–
–
–
28.4.2000
Jede Komponente in Blöcke zu 8*8 Pixel
Makroblock: 4 Blöcke für Y, je 1 für Cb und Cr
Gruppe von Blöcken: 3*11 Makroblöcke
QCIF-Bild: 3 Gruppen
CIF-Bild: 12 Gruppen
114
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - H.261 (px64) 5
• Kodierungsverfahren
– Intraframe. Zur Kodierung werden nur Daten eines Bildes
verwendet
(vgl. Intrapicture bei MPEG; s.u.)
– Interframe: Zur Kodierung werden Daten aus mehreren
Bildern verwendet.
(vgl. P-Bilder in MPEG; s.u.).
– Norm schreibt hier keine Parameter fest.
– Zu Intraframe:
• 8*8 Pixelblock mit DCT (wie bei JPEG)
• DC und AC Koeffizienten unterschiedlich quantifiziert
• Kodierung mit Kode variabler Länge.
28.4.2000
115
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - H.261 (px64) 6
– Zu Interframe:
• Für jeden Makroblock mit Prädiktion möglichst ähnlichen
Block im vorangegangenen Bild suchen.
Relative Lage über Bewegungsvektor festlegen.
• Bewegungsvektor nicht zwingend vorgeschrieben
• Möglich: Differenzen zwischen sequentiell
aufeinanderfolgenden Makroblöcken kodieren.
• Datenstrom
– ist in H.261 in Schichten aufgeteilt. Unterste Schicht:
– Eigenschaften:
komprimierte Bilder
• Fehlerkorrektur möglich • Jedes Bild hat 5 bit lange
Bildnummer • Letztes Bewegtbild kann als Standbild
"eingefroren" werden.
• ........
28.4.2000
116
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG
• Vorbemerkungen zu MPEG
– MPEG: Moving Picture Expert Group
– Derzeitige Fassungen:
(eine Klassifikation, zitiert nach: MPEG Video Webpage,
http://bs.hhi.de/mpeg-video/ (5.5.99)
• MPEG-1: Standard zur Speicherung und zum Information
Retrieval bewegter Bilder und assoziiertem Audio auf
Speichermedien
• MPEG-2: Standard für digitales TV
Noch in Entwicklung:
• MPEG-4: Standard für Multimedia-Anwendungen
• MPEG-7: Standard zur Inhaltsrepräsentation für die
28.4.2000
Inhaltssuche
117
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 1
• Vorbemerkungen zu MPEG-1
• MPEG-1:
• Zur Bearbeitung von Algorithmen zur Audio- und
Bewegtbildkodierung.(s.u.)
• Interntl. Standard seit 92 (MPEG-1 „approved“ Nov. 92).
• berücksichtigt andere Normierungen
– JPEG: Bewegtbild entspricht Folge von Standbildern; JPEG
lag früher vor.
– H.261
• MPEG 1: Datenrate ≤ 1856 Kbit/s (lt. Steinmetz ‚93)
• MPEG-1: Coding of moving pictures and associated audio
for digital storage media at up to about 1,5 Mbit/s
drogo.cselt.stet.it/mpeg/standards/mpeg-1/mpeg-1.htm (5.5.99)
28.4.2000
118
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 2
– Geeignet für symmetrische und asymmetrische
Kompression (incl. Audio)
– MPEG spezifiziert:
- Video
- Audio
- Systemdefinition
• Videokodierung
– Bildaufbereitung (ähnlich H.261)
• Bild ist beschrieben durch:
– Y Luminanz,
– Cb,Cr Farbdifferenzkomponenten
– Y hat in horizontaler und vertikaler Richtung je doppelte
Auflösung (Color Subsampling)
• Es sollte sein: Räumliche Auflösung ≤ 768*576 Pixel
28.4.2000
119
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 3
• Bildaufbereitung (Fortsetzung)
– p = 8 in jeder Ebene
– Weitere Infos bei MPEG:
• 14 unterschiedliche Seitenverhältnisse von Pixeln
• 8 Bildwechselfrequenzen: 23,976 Hz, 24 Hz, 25 Hz, 29,97 Hz, 30
Hz, 50 Hz, 59,94 Hz, 60 Hz.
– Verwendung von Prädiktoren für Bildbereiche
– Aufbau eines Bildes aus Bereichen:
• Block : 8*8 Pixel
• Makroblock: - 16*16 Pixel Luminanz, - 8*8 Pixel je Chrom.
diese 6 Blöcke werden sequentialisiert
– --> der Anwender hat keine MCUs zu definieren
28.4.2000
– 3 Komponenten werden gemeinsam komprimiert/ dekompr.
• kein progressiver Bildaufbau (Bildaufbau in max 41,7 ms)
120
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 4
• Bildverarbeitung
– 4 unterschiedliche
Bildkodierungsarten:
wegen: effiziente
Kodierung <-->
wahlfreier Zugriff
auf Einzelbild/Frame
– Bildarten: I-, P-, B-, D- Bilder
28.4.2000
121
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 5
• Bildverarbeitung (Fortsetzung 1)
Beschreibung grob. (Zu Einzelheiten vgl. [Steinmetz ´93])
– I-Bilder (Intra Coded Pictures)
• wird als Standbild (Einzelbild) behandelt.
• wie in JPEG (8*8 Blöcke, DCT, DPCM für DC-Koeff, ....)
• Kompression jedoch in Echtzeit nötig --> geringe
Kompressionsrate
• bilden Anker für wahlfreien Zugriff
– P-Bilder (Predictive Coded Pictures)
• verwenden vorangegangene I- resp. P-Bilder
--> Bewegungsschätzung:
(Algorithmus ist nicht vorgeschrieben; nur die Kodierung
des Ergebnisses. Bewegungsvektor + Differenzbild)
28.4.2000
122
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 6
• Bildverarbeitung (Fortsetzung 2)
Bewegungsvektoren häufig (fast) gleich. Daher dafür DPCMKodierung.
--> höhere Kompressionsrate als I-Bilder.
• Makroblöcke in P- Bildern auch wie in I-Bildern kodierbar.
• Im Prinzip gleich, im Detail anders als bei JPEG.
– B-Bilder (Bidirectionally Predictive Coded Pictures)
• verwendet vorangegangene und nachfolgende I- und PBilder
--> höchste Kompressionsrate
28.4.2000
123
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 7
• Bildverarbeitung (Fortsetzung 3)
• Beispiel (zu sinnvollem Einsatz von B-Bildern):
Bewegung eines Balles von links nach rechts vor statischem
Hintergrund. Geben sukkzessive Teile des Hintergrundes frei.
Daher Ableitung aus nachfolgenden Bildern günstig.
• u.a. Interpolation von Makroblöcken.
• B-Bilder werden nicht im Dekoder als Referenzbilder
gespeichert.
– D-Bilder (DC-Coded Picture)
• intraframekodiert; nur DC-Parameter (, resp.
niederfrequente AC) • für schnellen Vorlauf
• diese Funktionalität kann auch durch periodisch auftretende
I-Bilder erreicht werden
28.4.2000
124
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 8
• Bildverarbeitung (Fortsetzung 4)
– Weitere Anmerkungen:
• Reihenfolge der Bilder in der Dekodierung und der
Präsentation können unterschiedlich sein. (vgl. Beispiel oben
+ unten)
• Rückwärtslauf hier (evtl.) aufwendig, da Group of Pictures
vorher zu verarbeiten .
• In praktischen Anwendungen von MPEG:
– Bildfolge : I BBPBBPBB I BBPBBPBB I ....
--> Wahlfreier Zugriff auf jedes 9. Bild.
• (Mindestens alle 15 Bilder je ein I Bild gefordert.)
28.4.2000
125
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 9
• Quantisierung
– wird an Bedarf angepaßt
• Audiokodierung
– Abtastraten: eine aus 32 kHz, 44,1 kHz, 48kHz;
Abtastung mit 16 bit.
– Kompression je Audiosignal:
– zu einem von 64, 96, 128, 192 kbit/sec.
– Vorverarbeitung: FF - Transformation (--> also Infos in
Spektraldarstellung)
– Zerlegung des Frequenzbereichs in 32 (disjunkte) Bereiche
(Bänder).
• Können unterschiedlich gewichtet quantisiert werden.
28.4.2000
126
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 10
• Audiokodierung (Fortsetzung)
– 3 Qualitätsstufen:
• Stufe 1+2: PCM-kodiert
• Stufe 3: PCM-kodiert + Huffman
– verarbeitbar:
• 1 Kanal,
• 2 unabhängige Kanäle
• Joint Stereo: nutzt Abhängigkeiten zwischen beiden Kanälen
– kompatibel zu:
• CD-DA (Compact Disc - Digital Audio)
• DAT (Digital Audio Tape)
28.4.2000
127
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 11
• Datenstrom
MPEG spezifiziert feste Syntax für Audio- und Videodatenstrom
– Audiostrom
• besteht aus Frames, diese aus Audio Access Units, diese
wiederum aus Slots.
• Slot: bei niedrigster Komplexität der Kodierung: 4 Byte,
sonst 1 Byte
• Audio Access Unit: kleinstmögliche Audiosequenz
komprimierter Daten, die unabhängig von allen übrigen
Daten vollständig dekodiert werden kann.
– Spieldauern hierfür:
- 48kHz: 8ms
- 44.1 kHz: 8,7ms
- 32 kHz: 12 ms
• Frame: feste Anzahl von Abtastwerten
28.4.2000
128
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 12
• Datenstrom (Fortsetzung 1)
– Videostrom: 6 Schichten
• Sequence
• Group of
pictures
• Picture
• Slice
• Makroblock
• Block
28.4.2000
129
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 13
• Datenstrom (Fortsetzung 1)
– Videostrom: (Fortsetzung)
• Sequence Layer: Steuert Zwischenspeicherung der Daten
– Angaben enthalten u.a.:
» für Sequenz konstante Bitrate
» für Dekodierung min. Speicherplatz
– Video Buffer verifier: Sitzt hinter Quantisierer. Wird zur
Überprüfung der durch die Dekodierung entstehenden
Verzögerungszeit verwendet.
– Zwischen Sequenzen können grundlegende Parameter des
Dekoders neu gesetzt und Initialisierung durchgeführt werden.
28.4.2000
130
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 14
• Datenstrom (Fortsetzung 2)
– Videostrom (Fortsetzung 1)
• Group of Pictures Layer:
– Enthält mindestens ein I-Bild (und das an erster Stelle) .
– Folge im Datenstrom und in der Präsentation können
unterschiedlich sein
Beispiel:
» Reihenfolge bei der Darstellung:
Bildart
Bildnummer
B B I B B P B B P B B I
0 1 2 3 4 5 6 7 8 9 10 11
» Reihenfolge im Datenstrom:
Bildart
Bildnummer
28.4.2000
I B B P B B P B B I B B
2 0 1 5 3 4 8 6 7 11 9 10
131
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 15
• Datenstrom (Fortsetzung 3)
– Videostrom (Fortsetzung 2)
• Picture Layer: beinhaltet
– je ein gesamtes Einzelbild
– zeitlicher Bezug über Bildnummer
– (noch freie weitere Datenfelder [für Erweiterungen])
• Slice Layer
– besteht aus Anzahl von Makroblöcken, die sich von Bild zu
Bild ändern können.
– enthält u.a. Skalierung der DCT-Quantisierung für dieses slice.
• Macro Block Layer
• Block Layer
28.4.2000
132
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 16
• Systemdefinition
– Zusammenfassung von Audio- und Videostrom.
– Multiplexen incl.
• Koordination beim Datentransfer zwischen einkommenden
und ausgehenden Datenströmen
• Justage von Uhren
• Puffermanagement
– Zerlegung des Datenstroms (nach ISO 11172) in Packs.
• Erster Pack enthält Infos z.B. über maximal auftretende
Datenrate. (Headerinfos).
---> Dies Vorgehen kritisch bei Verteilungsanwendung (etwa
späteres Aufschalten!).
– MPEG setzt zur Synchronisation erforderliche Zeitstempel.
28.4.2000
133
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 17
• Systemdefinition (Fortsetzung 1)
– Prototypischer ISO/IEC 11172 Dekoder:
28.4.2000
134
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-1 18
• Anmerkungen
– MPEG verlangt nicht Kompression in Echtzeit.
– MPEG spezifiziert Prozeß der Dekompression, nicht den
Dekoder selbst.
– Weitgehend verfügbar:
MPEG 1
Datenrate: 1.5 Mbit/s
– Wichtig: Qualität, Kompressionsfaktor
– Unwichtig: Kompressionszeit
28.4.2000
135
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 1
• MPEG-2 (ISO 13818) Referenzen:
(Stand: 14.6.98)
– Startseite zu MPEG-2 (ISO 13818): http://www.mpeg2.de/
– MPEG-2-Dokumentation:
http://www.mpeg2.de/doc/index.htm
– Video-Codierung mit MPEG-2: Breites Spektrum
(deutsch) (*)
http://www.mpeg2.de/doc/mpuo05/mpuo05.htm
– MPEG-2 FAQ Table of Contents
http://bmrc.berkeley.edu/projects/mpeg/faq/mpeg2/
28.4.2000
136
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 2
• MPEG-2 (ISO 13818) Referenzen: Fortsetzung
– Überblicke zu MPEG (u.a. MPEG-2):
• The MPEG Home Page:
– http://drogo.cselt.stet.it/mpeg/ (5.5.99)
• MPEG and multimedia communications (Leonardo
Chiariglione) ["Vater" von MPEG]
http://drogo.cselt.stet.it/ufv/leonardo/paper/isce96.htm
(**)
• Recent advances in video compression
http://www.stud.ee.ethz.ch/%7Erggrandi/intro.html
• Anmerkung:
– Dieses Material v.a. nach (*) zusammengestellt.
28.4.2000
137
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 3
• Entwicklungstufen des Standards ISO 13818
(MPEG-2):
–
–
–
–
–
28.4.2000
Working Draft 1 November 1992
Comittee Draft November 1993
Draft International Standard März 1994
International Standard November 1994
"Generische Kodierung von Bewegtbildern und
synchronisiertem Audio" (übersetzt)
138
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 4
• Ziele:
– MPEG 1:
• Kodierung von Video auf CD-ROMs
• Anwendungen bei: Video-CDs (CD-V/heute: DVD), CDInteractive (CD-I), Spieleconsolen
28.4.2000
139
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 5
• Ziele (Fortsetzung):
– Ziele für MPEG 2:
• Für Einsatz im Fernsehfunk (broadcasting):
• Einsatzgebiete:
– Video-On-Demand im Consumerbereich (Home Cinema)
– hochqualitative und verlustfreie Übertragung von Video im
Studiobereich
» Verringerung der Kosten bei Satellitenübertragungen
» Nicht: Videokonferenzen (dazu: --> H.261)
» (würde: --> synchrones Kodierungsverhältnis, geringe
Kodierverzögerung)
– in MPEG-2:
– Verzögerung zwischen analogem Eingangsstrom und digitalem
Videodatenstrom: 1/2 bis 3 Sekunden.
28.4.2000
140
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 6
• Systemansatz:
– Kombination eines oder mehrerer elementarer Video- und
Audioströme mit weiteren Daten in
• einen oder mehrfachen Strom zur
– Speicherung
– Übertragung
– Spezifiziert in
• Program- und
• Transportstrom
– (Vgl. Bild nächste Seite)
28.4.2000
141
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 7
• Systemansatz (Fortsetzung):
28.4.2000
142
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 8
• Verwendete Mechanismen (für Videos):
– bei MPEG-1 und MPEG-2 ähnlich:
• Einzelbilder kodieren
– mit temporären Abhängigkeiten (IPB-frames) und
– zeitlichen Verschiebungen von Bildinhalten (motion vectors).
• Mathematische Verfahren zur Datenreduktion:
– Diskrete-Cosinus-Transform-Kodierung,
– Huffman- und Lauflängenkodierung.
– Ungleicher Kodier-/Dekodier-Aufwand: Studio-/HomeHardware
28.4.2000
143
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 9
• MPEG-2 ermöglicht:
– Skalierbarkeit:
• schnellere Dekodierhardware ---> erhöhte Bildqualität
• räumlich: für 16:9 HDTV-Bild Abwärtskompatibilität zu
herkömmlichem 4:3.
• Bitrate bis 10 Mbit/s.
– erhebliche Flexibilität des Videoteils:
• verschiedene Bildformate
• wahlfreie Bildqualität
• variable Bitraten
28.4.2000
144
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 10
• MPEG-2 ermöglicht: (Fortsetzung 1)
– erhebliche Flexibilität des Videoteils (Fortsetzung)
• channel hopping: wahlfreier Zugriff auf verschiedene
Videokanäle
• nachträgliche und einfache Editierung des kodierten
Bitstroms
• trick modes (z.B. für effektreiche Überblendungen)
• Wiederholung des Kodier- /Dekodiervorgangs darf nicht zu
weiteren Qualitätsverlusten führen.
28.4.2000
145
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 11
• MPEG-2 ermöglicht: (Fortsetzung 2)
– Audioteil
der Kodierung muß mehrere Kanäle (--> Multilingualität) und
niedrigere Sampling-Frequenzen unterstützen.
– Rückwärtskompatibilität zu MPEG-1 und H.261
u.a.: MPEG-2 Kodierer realisieren Sub-Kodierer, die exakt
rückwärtskompatible Datenströme erzeugen.
z.B.: MP@ML: Video Main Profile + Video Main Level ist
MPEG-1 ähnlich.
28.4.2000
146
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 12
• Kodierungs"methoden":
- Profiles und Levels - Scalability - Security
– Profiles (complexity of compression) und
Levels (sample rate, framedimension, coded bitrates)
• schränken die zur Verfügung stehenden Parameter der
Kodierung ein, um dieseEinschränkungen dann in den
Kompressionsalgorithmen ausnutzen zu können.
• Standardisieren Kodierungsparameter.
28.4.2000
147
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 13
• Kodierungs"methoden":(Fortsetzung 1)
– Profile und Level in MPEG-2:
28.4.2000
148
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 14
• Kodierungs"methoden":(Fortsetzung 2)
– Sampling Größen und Bitraten:
28.4.2000
149
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 15
• Scalability:
• ist die Möglichkeit des Dekoders, Teile eines Datenstroms
zu ignorieren und doch sinnvolle und angepaßte Video- und
Audioausgaben zu erzeugen. --> MPEG-2 weitgehend
speicher- und übertragunsmedienunabhängig.
28.4.2000
150
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 16
• Kodierungs"methoden":(Fortsetzung 3)
– Zeitliche Scalability
• Bildrate kann erhöht werden, indem in den normalen Ablauf
des "Base Layers“ zusätzliche B-frames des "Enhancement
Layers" dekodiert werden.
28.4.2000
151
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 17
• Kodierungs"methoden":(Fortsetzung 4)
– Qualitative Scalability
• anstelle der ungenaueren B-frames des "Base
Layers"werden P-frames des "Enhancement Layers"
dekodiert und angezeigt.
28.4.2000
152
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 18
• Kodierungs"methoden":(Fortsetzung 5)
– Pan-Scan-Scalability: ermöglicht die Definition von
Ausschnitten im aktuellen Bild. Diese Ausschnitte können zwar von
Bild zu Bild unterschiedlich eingeteilt werden, die Hauptanwendung
ist jedoch die Definition eines 4:3 Fernsehbildes innerhalb eines 16:9
HDTV-Bildes.
28.4.2000
153
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 19
• Kombinationsmöglichkeiten:
28.4.2000
154
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 20
• Weitere Möglichkeiten von MPEG-2:
– Sicherheit (Vertraulichkeit + Integrität) wird unterstützt
(nicht ausgeführt.)
– Makroblock-Scalability:
einzelne Macroblöcke können mehrfach, in verschiedenen
Qualitätsstufen kodiert werden.
– Block-based Motion Compression Prediction (MCP):
• das Erkennen von relativen Bewegungen einzelner Blöcke
im Vergleich von Bild zu Bild wird im MPEG-2 Format viel
einfacher realisiert.
– Frame Motion Prediction:
• Das Auffinden von ganzen, gleichen Frames innerhalb des
Datenstroms (Frame Motion Prediction) und
28.4.2000
155
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 21
• Weitere Möglichkeiten von MPEG-2:(Fortsetzung 1)
– Field Motion Prediction:
• das Auffinden von gleichen, wie auch immer geformten
Teilen in verschiedenen Bildern und auch innerhalb des
aktuellen Bildes wird ermöglicht. ---> vgl. JPEG
– variabler Farbraum
• für den Studiobereich notwendig, ein Farbverlust ist
während der Produktionsphase von Filmen nicht akzeptabel
• in MPEG-1 wird immer im Verhältnis 4:1:1 kodiert.
28.4.2000
156
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-2 22
• Weitere Möglichkeiten von MPEG-2:(Fortsetzung 2)
– Zu Audio: (kurz)
• für Kodierung von Audiosignalen hoher Qualität
(CD,Studio).
• auch für digitale Quellen ausgelegt, z.B. ISDN.
• unterstützt HDTV, Dolby Sorround (bis zu 5 Kanäle)
– MPEG-2 ist auf Verwendung von Hardware zugeschnitten
--> SetTop Boxen
28.4.2000
157
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 1
• Wo bleibt MPEG 3 ?
– Sollte v.a. HDTV bis zu 1920x1080 Pixel bis zu 30 Hz
mit kodierten Bitraten zwischen 20 und 40 Mbit/sec
bearbeiten. Wurde jedoch allein durch MPEG 1+2
beschreibbar. HDTV ist nun Bestandteil von MPEG-2
High Level-1440. MPEG 3 ist damit gecancelt.
– Anmerkung:
• Vorsicht. MPEG 3 nicht gleich
• MP3 : = MPEG 1 Layer 3 (aktuelles Audioformat !!!!)
28.4.2000
158
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 2
• (Nur) Einstieg in MPEG-4:
– zitiert v.a. nach: Overview of the MPEG-4 Standard
• ISO/IEC JTC1/SC29/WG11 N2725
March 1999/Seoul, South Korea
• www.drogo.cselt.stet.it/mpeg/standards/mpeg-4/mpeg-4.htm
(Stand 5.5.99)
• Inhaltsverzeichnis
28.4.2000
–
–
–
–
–
–
–
Executive Overview
Scope and features of the MPEG-4 standard
Detailed technical description of the MPEG-4
List of major functionalities provided by MPEG-4 in Vers. 1
Verification Test: checking MPEG’s Performance standard
Profiles in MPEG-4 Version 1
- Version 2 of MPEG-4
Annexes
159
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 3
• Executive Overview
– MPEG-4 (offiziell: ISO/IEC 14496) is an ISO/IEC
standard von MPEG entwickelt
– MPEG-4
•
•
•
•
28.4.2000
begonnen Juli 1993
Draft Intnl Standard level Oktober 1998.
Offizieller Standard: 1999
Aktuell wird gearbeitet an MPEG-4 Version 2
(abwärtskompatibel zu MPEG-4 Version 1)
160
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 4
• Executive Overview (Fortsetzung 1)
– MPEG-4 stützt sich auf die nachgewiesenermaßer
erfolgreichen Gebiete:
• Digital television
• Interactive graphics applications (synthetic content)
• Interactive multimedia (World Wide Web, distribution of
and access to content)
– MPEG-4 liefert standardisierte technologische Elemente
für die Integration von
• Produktion
• Verteilung und
• Zugriff auf den Inhalt
aller drei Bereiche von oben. Also: nicht (nur) Kompression !!
28.4.2000
161
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 5
• Executive Overview (Fortsetzung 2)
The MPEG-4
standard: a set of
technologies
to support AVOs
"audio-visual
objects"
28.4.2000
162
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 6
• Executive Overview (Fortsetzung 3)
Satz von Technologien:
– 1. Kodierte Repräsentation von Objekten mit sprachlichem oder
visuellem oder audiovisuellem Inhalt (AVOs)
– 2. Art, wie individuelle AVOs in einer Szene zusammengesetzt
werden;
– 3.Art, wie AVOs gemultiplexed und synchronisiert werden, so
daß sie über Netzwerke transportiert werden können bei
Einhaltung benötigter Qualität.
– 4. Generisches (?) Interface zwischen Anwendung und
Transportmechanismus
– 5. Art für die Benutzerinteraktion mit der Szene
– 6. Projektion der AV Szene gemäß Benutzersicht/Hörpunkt.
28.4.2000
163
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 7
28.4.2000
164
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
1.2 Kompression - MPEG-4 8
• MPEG 4: zielt auf sehr niedrige Bitraten 4800 64000 bits/sec. Bis 176x144 und 10 Hz: Für
Videophone und analoges Telephon.
• Aktuelle Infos zu MPEG-4:
– Overview of the MPEG-4 Standard
• drogo.cselt.stet.it/mpeg/standards/mpeg-4/mpeg-4.htm
(Stand 5.5.99)
– MPEG Informations, Questions and Answers
• http://www.crs4.it/HTML/LUIGI/MPEG/mpegfaq.html
(Stand 5.5.1999)
28.4.2000
165
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
Grundlagen (contd.)
1.3 Formate + deren Eigenschaften
– MiniDV
– IEEE 1394 /FireWire
– Quicktime 3.0/4.0 -> v.a. auch Streaming Technology
1.4 Für die Verarbeitung geeignete
Rechnerarchitekturen Vgl. unseren MacromediaFilm
1.5 Benötigte Peripheriegeräte:
– Camcorder, Recorder
– Für Nachbearbeitung: Rechner mit Platten + Anbindung
1.6 Beispielkonfigurationen
28.4.2000
– erheblich ausgeweitet zusammenstellen (nach
166
Prof. Dr. G. Dittrich
SpV "Desktop Video"
Kapitel 1: Grundlagen
Grundlagen (contd.)
1.6 Formate + deren Eigenschaften
– MiniDV
– IEEE 1394 /FireWire
– Quicktime 3.0/4.0 -> v.a. auch Streaming Technology
28.4.2000
167
Herunterladen