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