Neue Technologien im Internet und WWW
Thema: Videokodierung (Alexander Endter)
1
Seminar Wintersemester 2003/04 Dr. rer. nat. Harald Sack Institut für Informatik Universität Jena
Gliederung I 1. 2. 3. 4. 5. 6.
2
Einleitung Visuelle Wahrnehmung & Farbräume Digitale Videokodierung Komprimierungstechniken für Videobilder MPEG 1, 2, 4 Containerdatenformate
Einleitung - Rückblick z z z
Vor Videokodierung hauptsächlich Audio- & Bildkodierung Jetzt bewegte Bildsequenzen mit synchronem Ton Für Übertragung im Internet war die Bandbreite zu gering (ISDN/DSL erst später)
? 3
Einleitung – Motivation
4
Worum geht es? z Bild- und Videodaten abspeichern z Mit geringem Platzbedarf z Schneller Zugriff / Übertragung z Hohe Bildqualität
Dazu brauchen wir: z Einheitliches Datenformat z Audio-, Bildkomprimierung (siehe vergangene Vorträge) z Videokomprimierung
Gliederung II 1. 2. 3. 4. 5. 6.
5
Einleitung Visuelle Wahrnehmung & Farbraum Digitale Videokodierung Komprimierungstechniken für Videobilder MPEG 1, 2, 4 Containerdatenformate
Visuelle Wahrnehmung & analoges TV z z
Das menschliche Auge ist träge! – Ab 16fps - Schein eines kontinuierlichen Stromes Fernsehstandards PAL/NTSC – Alle 20ms ein Halbbild gesendet – 2mal 25/30Hz ergeben 50/60Hz ungerade
6
gerade
PAL/NTSC-Interlace
Farbraum z
YUV-Farbraum – – –
z
Helligkeitskomponente 1.Farbkomponente 2.Farbkomponente
YUV Familie: –
YUV YIQ
–
YCbCr
–
7
Y (Luminanz) U (Rot-Cyan Balance) V (Gelb-Blau Balance)
in PAL eingesetzt in NTSC eingesetzt (Chrominanzen um 33° verschoben) für Digitalisierung entwickelt (Skalierung einzelner Komponenten & Offset für Chrominanzen)
Anforderung an Digitalisierung & Komprimierung z z
z
8
Mehr als 16 Frames pro Sekunde Das menschliche Auge kann Helligkeit besser auflösen als Farbe An Farbkodierung kann bis zu einem gewissen Grad gespart werden
Das menschliche Gehör reagiert auf Übertragungsfehler weitaus empfindlicher als das Menschliche Auge (Audikodierung >> Videokodierung)
Gliederung III 1. 2. 3. 4. 5. 6.
9
Einleitung Visuelle Wahrnehmung & Farbräume Digitale Videokodierung Komprimierungstechniken für Videobilder MPEG 1, 2, 4 Containerdatenformate
Warum digitales Video? z z z z
z z z
10
z
Hoher Grad an Interaktivität Alle Methoden der DBV anwendbar Keine Kopier- / Speicherverluste Komprimierung möglich (CD-ROM, VCD, SVCD, DVD, HD-DVD*) Über digitale Netze übertragbar (Streaming) Unabhängig von Fernsehnorm (PAL / NTSC /...) Räumliche Skalierbarkeit (Bilder, Auflösung, Farbtiefe) Zeitliche Skalierbarkeit
Sampling Video z
Erfolgt auf der Basis der Luminanz/Chrominanz-Informationen – –
z
Bild dazu in Pixel zerlegt –
z
Jeder Pixel hat Y-, U- und V-Wert
Reduktion des Datenvolumens –
11
YUV-Signale Evtl. aus RGB-Farbraum umgewandelt
–
Nicht jeder Wert wird gesampelt Sub-Sampling
Subsampling / Formatwandlung z z z
z
12
Helligkeitsinformation wird genauer gespeichert als Farbinformation Farbwerte von Pixeln werden horizontal oder horizontal und vertikal zusammengefasst Verschiedene Abtastraten z.B: Auf je 4 Pixel Helligkeitsinformation kommt je ein Pixel Farbinformation
Abtastraten Subsampling I 4:4:4 z
Luminanzsignal & Chrominanzsignal werden für jedes Pixel erfasst
z
Horizontales Subsampling Je zwei Chrominanzsignale werden zusammengefasst 33% Bandbreite eingespart
4:2:2 z z
13
Abtastraten Subsampling II 4:1:1
z z z
Horizontales Subsampling Je vier Chrominanzsignale werden zusammengefasst 50% Bandbreite eingespart
4:2:0 z z z
14
Horizontales + vertikales Subsampling Je vier Chrominanzsignale werden zusammengefasst 50% Bandbreite eingespart
Standards für digitales Video I CCIR / ITU 601 Eigenschaft
HDTV
NTSC
PAL
1920x1152
720x485
720x576
Chrominanz
960x1152
360x485
360x576
Subsampling
4:2:2
4:2:2
4:2:2
60
60
50
nein
ja
ja
Luminanz
Fps
15
Interlace
Standards für digitales Video II Eigenschaft
CIF
QCIF
Luminanz
352x288
176x144
Chrominanz
176x144
88x72
Subsampling
4:2:0
4:2:0
30
30
nein
nein
Fps Interlace
16
Gliederung IV 1. 2. 3. 4.
5. 6.
17
Einleitung Visuelle Wahrnehmung & Farbräume Digitale Videokodierung Komprimierungstechniken für Videobilder MPEG 1, 2, 4 Containerdatenformate
Video Komprimierungstechniken
18
z
Auch: Bewegungskompensation / -vorhersage
Einfache Techniken z
Truncation – –
z
Farbpalette – –
z
Volle 24bit selten verwendet Farbpalette geringerer Farbtiefe verwendet
Laufweitenverfahren –
19
Reduktion der Farbtiefe Datenverlust, aber effizient in Echtzeitverarbeitung
–
(Siehe Vortrag “Bildkomprimierung“) Identische Farbflächen einer Sequenz komprimiert
Farbtiefen Beispiel 8bit Farbtiefe
20
24bit Farbtiefe
Interpolative-Verfahren z z z
z
21
Aus Teilmenge der Bildpunkte - fehlende Bildpunkte berechnet Effizient, da sich viele Bildbereiche über lange Zeit kaum ändern Komprimierung durch Speicherung der Abweichung vom Zwischenbild zum interpoliertem Zwischenbild Subsampling
Prädiktive-Verfahren z
DPCM (Differential Pulse Code Modulation) – –
–
z
Adaptive DPCM – – –
22
Differenz aufeinanderfolgender Bildpunkte kodiert Starke Reduktion möglich, da Differenz benachbarter Bildpunkte oft sehr klein Bei hohen Kontrasten kaum Einsparungen – Aber: An Kontrastreichen Stellen wird die Auflösung erhöht Die Differenz benachbarter Bildpunkte wird geringer Mehr Einsparung möglich
Transformations-Verfahren z
z z
z
23
Sinn: Daten transformieren um günstige Ausgangslage für Kodierung / Komprimierung zu erreichen Datentransformation muss reversibel sein Beispiel: Dekorrelation der Bildinformationen Besondere Bedeutung für Video & Bildkodierung hat das DCT (diskrete Cosinus Transformation)
DCT I
8x8 Eingabematrix
24
Gewichtung der 64 Koeffizienten
8x8 Koeffizientenmatrix (Beträge)
DCT II z z
Nur die Beträge der Koeffizientenmatrix werden kodiert Beträge nahe 0 werden für Kodierung ignoriert Komprimierung
z
Informationsverlust bei Dekodierung Muss möglichst klein gehalten werden
25
Statische Kodierung / Entropiekodierung z z z
z
26
Statistische Verteilung der Werte der Bildpunkte Bildpunkte können mit Codes variabler Bitlängen codiert werden Häufig vorkommende Bildpunkte mit Codeworten kürzerer Länge kodiert Komprimierung Beispiel: Huffmann Kodierung
Bewegungsvorhersage z z
z
27
Beispiel: Bewegung eines Objektes aber Hintergrund kaum Veränderung Fazit: Bewegung = Veränderung der Position best. Bildpunkte durch Helligkeitsänderung dieser BP Wanted: Verfahren welches Helligkeitsveränderungen & deren Ursache innerhalb einer Bildfolge erkennt
3 Gruppen von Verfahren I 1. Kontextfreie Prädiktion –
–
Vorhersage ohne semantische Information über Bildinhalt Graustufenwerte aufgrund von Nachbarschaftsbeziehungen der BP vorhergesagt
2. Modellbasierte Prädiktion –
–
28
–
Vorwegnahmen über Bildinhalt wie z.B. Kopf-Schulter-Darstellung Bildinhalt durch geeignete Gitterstruktur modelliert Bewegung durch Vektoren beschrieben
3 Gruppen von Verfahren II 3. Objekt- & regionenbasierte Prädiktion –
–
z
29
Bild in Segmente eingeteilt um Objekte im Segment zu erkennen Erkannte Objekte getrennt voneinander bearbeitet
Für Vorhersagebild wird das letzte Einzelbild genutzt und das Differenzbild festgehalten (Picture Differencing)
Bewegungskompensation z z
Kann keine Bildschnitte bewältigen Teilaufgaben: Vorder- von Hintergrund trennen – (Translation) Geradlinige Bewegungen der Kamera erkennen – (Rotation) Kameraschwenks erkennen – (Skalierung) Zoom erkennen Bewegungserkennung durch Segmentierung Segmente auf Veränderung (Bewegung) prüfen –
30
Gliederung V 1. 2. 3. 4. 5. 6.
31
Einleitung Visuelle Wahrnehmung & Farbräume Digitale Videokodierung Komprimierungstechniken für Videobilder MPEG 1, 2, 4 Containerdatenformate
MPEG – Moving Pictures Expert Group z z
32
z
1988 gegründet Gemeinsame Arbeitsgruppe von ISO und IEC International Electrotechnical Commission / International Organization for Standardization Legen Dateiformate und Verfahren zum platzsparenden Komprimieren und Speichern von Multimediadaten in hoher Qualität fest
http://www.mpeg.org/
MPEG – Standards z
MPEG-1 Standard 1992 –
z
MPEG-2 Standard 1995 – –
z
33
z
Anwendung: Digitalfernsehen MPEG-3 Standard in MPEG-2 integriert
MPEG-4 Standard 1999 –
z
Anwendung: Abspielen von digitalen Videos
Interaktives Audio und Video über drahtlose Netze und Internet
Vor MPEG: JPEG, Motion-JPEG Ausblick: MPEG-7, MPEG-21
Anwendungen & Problemfelder bei MPEG-Standard Entwicklung I z
Speichermedien – –
–
z
Digitales TV (terrestrisch - Hausantenne) – – –
34
Videoquelle sollte auf CD platz finden (1.2Mbps) Dies wurde nur durch ein Komprimierungsverhältnis von mind. 200:1 erreicht Random Access Eingeschränktes Frequenzband (20-40Mbps) Ausreichend für mehrere Kanäle Multiplexingverfahren
Anwendungen & Problemfelder bei MPEG-Standard Entwicklung II z
Digitales TV (Kabelbetrieb) – –
– –
z
HDTV – –
35
Benötigt ununterbrochene fest zugeordnete Leitung Datenfülle macht trotz Glasfasernetze Komprimierung notwendig Ausgereifter Standard notwendig ADSL über Telefonkabel (1.5 bis 6Mbps)
–
Hohe Qualität, 16:9, 1920x1152 Aufl. Über herkömmliche Frequenzen übertragen Erfordert erhebliche Komprimierungsmethoden
Anwendungen & Problemfelder bei MPEG-Standard Entwicklung III z
Multimediadatenübertragung in Netzen –
–
–
36
Allgemein akzeptierter Standard für Videokomprimierung wäre nötig Hersteller können Multimediadaten unabhängig von CD & DVD herstellen Medienverbreitung über Netzwerke
Syntax MPEG-Videostrom 1. Sequenz 2. GOP 3. Picture 4. Slice 5. Makroblock 6. Block
37
MPEG-1 Standard z
Ablauf der MPEG Kodierung
1. Konvertierung des Farbraumes –
38
Von 24-Bit RGB nach 4:2:2-YCrCb Informationsverlust aber erste Datenkomprimierung
Ablauf der MPEG Kodierung II 2. Aufteilung in Zeilenabschnitte oder Makroblöcke
39
–
Zur Entdeckung von Bewegung ausschließlich Luminanzkomponente der Makroblöcke notwendig
–
16x16 Luminanzblöcke und 8x8 Chrominanzblöcke
Ablauf der MPEG Kodierung III 3. Bewegungsvorhersagealgorithmus – – –
–
– –
40
Für Objekte im Suchraum Über Suche nach Mehrfachblöcken von BP Luminanzmakroblock verglichen mit umgebenden LMB & mit LMB des Vor/Nachfolgenden Einzelbildes Bei sehr ähnlichen LMB wird der Vektor berechnet & zusammen mit evtl. Differenzinformation kodiert Aufwendig: Suche für jedes Objekt, großer Suchraum Qualität abhängig von Leistungsfähigkeit des Enkodierers & Größe des Suchraums
Ablauf der MPEG Kodierung IV
41
z
Bild N und Bild N+1
z
Bewegtes Objekt identifiziert
z
Vektor berechnen & kodieren
Ablauf der MPEG Kodierung V 4. DCT-Transformation –
–
–
z
42
Eigenheiten des menschlichen Wahrnehmungssystems ausgenutzt Block von BP ausgehend von Raumkoordinaten in Frequenzbereich transformiert Hochfrequente Bildanteile vernachlässigbar weil diese für menschliches Auge weniger sichtbar
Verschiedene Frametypen bei Komprimierung: –
I-Frame, P-Frame, B-Frame, D-Frame
Ablauf der MPEG Kodierung VI z
I-Frame – Intra Coded Picture – – –
z
P-Frame – Predictive Coded Picture – – –
43
Ohne Informationen anderer Einzelbilder – „Standbild“ JPEG-ähnliche Kompression Bilden Ankerpunkte für random Access Teile können wie in I-Frames kodiert werden Teile können sich auf vorhergehendes I-Frame Speicherung von 1. Bewegungsvektor 2. Differenzen mittels DCT
Ablauf der MPEG Kodierung VII z
B-Frame – Bidirectionally Predictive Coded Picture – –
z
D-Frame – DC Coded Picture – –
44
Möglichkeiten wie P-Frame Einbeziehung des nachfolgenden I-Frames bzw. P-Frames möglich
–
Nur DC-Koeffizienten werden gespeichert Bei schnellem Vorlauf angezeigt Überflüssig bei geeigneter periodischer Speicherung von I-Frames
Ablauf der MPEG Kodierung IIX z
z
z z z
45
Komprimierungsrate anwendungsabhängig wählbar MPEG erlaubt anwendungsabhängig, beliebige Reihenfolge für die Frames Aufwendiges Umformen fordert großen Speicherplatz Jede Sequenz muss eigene I-Frames enthalten MPEG erlaubt wahlfreien Zugriff auf Videodaten
Ablauf der MPEG Kodierung IX
46
z
Beispiel: B + P-Frame Kodierung
Ablauf der MPEG Kodierung X 5. Quantisierung – –
–
47
Hochfrequente Bildkomponenten unterdrückt Informationsverlust durch Speicherung von I-Frames und DCT kodierten Anteilen der P und B-Frames Bewegungsvektoren für P + B-Frames verlustfrei gespeichert
Ablauf der MPEG Kodierung XI 6. Kodierung
48
–
Lauflängenkodierung der Koeffizientenmatrix
–
Huffmann-Kodierung – Codes variabler Länge
MPEG Datenformat z z z z
Multiplexing Audio & Video Zeitstempel durch Referenz-Uhr (90kHz) Durch Zeitstempel exakter Wiedergabezeitpunkt jedes Einzelbildes des MPEG-Datenstroms Puffermanagement für Dekoder notwendig weil Einzelbilder nicht geordnet vorliegen Hohe Flexibilität für Bildgröße, Bitraten, etc. Durch “Constraint Parameter Set“ eingeschränkt
49
Constraint Parameter Set Horizontale Bildgröße Vertikale Bildgröße Anzahl Makroblöcke/Einzelbild Anzahl Makroblöcke/Sekunde Fps Bitrate Dekoderpuffer z z z
50
z