MPEG 1 2 Video Seminar Multimediadatenformate Dozent Gerald

  • Slides: 47
Download presentation
MPEG 1 | 2 Video Seminar Multimediadatenformate Dozent Gerald Friedland Referent Klaus Brügmann 1

MPEG 1 | 2 Video Seminar Multimediadatenformate Dozent Gerald Friedland Referent Klaus Brügmann 1

Aufbau des Vortrags • • • Allgemeines zu Video und MPEG Aufbau der MPEG-Daten

Aufbau des Vortrags • • • Allgemeines zu Video und MPEG Aufbau der MPEG-Daten Syntax-Erweiterungen durch MPEG 2 Stream-Synthese MCP-Algorithmen 2

Wie sehen wir Allgemeines über visuelle Wahrnehmung • Wir sehen die Welt in Bewegung

Wie sehen wir Allgemeines über visuelle Wahrnehmung • Wir sehen die Welt in Bewegung • Das Auge sendet aber nur Einzelbilder an das Gehirn • Das Gehirn möchte die Einzelbilder in einen Zusammenhang bringen • Im Gehirn wird die Bewegung rekonstruiert 3

Wie sehen wir Allgemeines über visuelle Wahrnehmung • Sehen badet das Auge in elektromagnetischen

Wie sehen wir Allgemeines über visuelle Wahrnehmung • Sehen badet das Auge in elektromagnetischen Wellen • Das Auge sendet Farbflächen an das Gehirn • Das Gehirn sucht nach der „Semantik“ dieser „Daten“ • Der Eindruck von gesehenen Dingen entsteht, die Illusion der Realität 4

Film • Filmbilder simulieren den visuellen Input einer Umwelt • Die Augen müssen mit

Film • Filmbilder simulieren den visuellen Input einer Umwelt • Die Augen müssen mit qualitativ hochwertigem Bildmaterial gefüttert werden – Schnelle Bildfrequenz (>16 Hz) – Realistische Farbwirkung (Stufenloser Farbverlauf) – Weites Blickfeld 5

Fernsehen und analoges Video • Framerate von 25 Hz (PAL) • Interlacing gegen Flimmereffekt

Fernsehen und analoges Video • Framerate von 25 Hz (PAL) • Interlacing gegen Flimmereffekt Frameverdopplung nur mit Zwischenspeicherung möglich • Signalübertragung analog Qualitätsverlust • Archivierung analog Qualitätsverlust 6

Digitales Video • • Verlustfreie Übertragung der Daten Speicherung auf digitalen Medien komfortable Bildbearbeitung

Digitales Video • • Verlustfreie Übertragung der Daten Speicherung auf digitalen Medien komfortable Bildbearbeitung Springen statt Spulen 7

MPEG-Historie • MPEG – Motion Picture Expert Group MPEG Komitee entstand 1988 • MPEG

MPEG-Historie • MPEG – Motion Picture Expert Group MPEG Komitee entstand 1988 • MPEG 1 : Int. Standard 11172 (1993, ISO/IEC) CD-Video, CD-I für Multimedia-Anwendungen Videorecorder-Qualität bei ca 1. 5 Mb/s Komfortable Archivierung • MPEG 2 : Int. Standard 13818 (1994, ISO/IEC) digitales Video mit Broadcast-Qualität (NTSC) bei 4 bis 6 Mb/s High Definition TV bei 15 – 30 Mb/s • Breite Anwendbarkeit 8

MPEG-Format grundlegendes • Streaming-fähig Zuschalten bei digitalem Fersehen • Verlustbehaftete Kodierung 9

MPEG-Format grundlegendes • Streaming-fähig Zuschalten bei digitalem Fersehen • Verlustbehaftete Kodierung 9

MPEG-Daten allgemeines • Sequenz von Frames, ähnlich dem JPEG-Format kodiert Die örtliche (spatial) Redundanz

MPEG-Daten allgemeines • Sequenz von Frames, ähnlich dem JPEG-Format kodiert Die örtliche (spatial) Redundanz in den Bilddaten wird reduziert 10

MPEG-Daten allgemeines • MPEG reduziert zudem zeitliche Redundanz in den Daten : Ähnlichkeiten von

MPEG-Daten allgemeines • MPEG reduziert zudem zeitliche Redundanz in den Daten : Ähnlichkeiten von einem Frame zum nächsten werden genutzt 11

Motion Compensation Prediction (MCP) • Ein Bereich des vorhergehenden Frames bildet die Vorlage (Prediction)

Motion Compensation Prediction (MCP) • Ein Bereich des vorhergehenden Frames bildet die Vorlage (Prediction) für diesen Makro -Block • Der Bereich liegt um (x, y) Pixel verschoben zur aktuellen Position (Motion) • Der Verschiebungsvektor wird mit kodiert (Compensation) 12

Hirarchischer Aufbau einer Video-Sequenz 13

Hirarchischer Aufbau einer Video-Sequenz 13

MPEG-Daten Sample-Blöcke Samples werden in Makro-Blöcke (16 x 16 Samples/Block) zusammengefasst Kompromiss : Daten-Overhead.

MPEG-Daten Sample-Blöcke Samples werden in Makro-Blöcke (16 x 16 Samples/Block) zusammengefasst Kompromiss : Daten-Overhead. vs. Fehlergröße Jeder Makro-Block kann nun unterschiedlich kodiert werden : Inter-kodiert und intra-kodiert 14

Makro- Blöcke intra-kodiert • Der Block-Code trägt die vollständige Farbinformation • Kodierung wie bei

Makro- Blöcke intra-kodiert • Der Block-Code trägt die vollständige Farbinformation • Kodierung wie bei JPEG : Farbraumumwandlung Subsampling Blockbildung DCT Quantisierung Lauflängen-Kodierung Huffman-Kodierung 15

Makro-Blöcke inter-kodiert • Ein möglichst ähnlicher Bereich eines anderen Frames wird referenziert • Verschiebungsvektoren

Makro-Blöcke inter-kodiert • Ein möglichst ähnlicher Bereich eines anderen Frames wird referenziert • Verschiebungsvektoren werden angegeben (Motion Compensation, MC) 16

Makro-Blöcke inter-kodiert • Die Sample-Differenz wird an Stelle der Sample-Information nach gleichem Schema kodiert

Makro-Blöcke inter-kodiert • Die Sample-Differenz wird an Stelle der Sample-Information nach gleichem Schema kodiert 17

Slices und übersprungene Blöcke • Makro-Block-Sequenzen werden zu Slices zusammengefasst • Slices bilden Frame,

Slices und übersprungene Blöcke • Makro-Block-Sequenzen werden zu Slices zusammengefasst • Slices bilden Frame, lassen aber u. U. Lücken offen – übersprungene (skipped) Blöcke • Für diese Lücken werden die entsprechenden Samples des letzten Frames übernommen 18

Frame-Abhängigkeit 3 Frame-Typen • Nicht alle Frames eines Videos hängen voneinander ab – Übertragungsfehler

Frame-Abhängigkeit 3 Frame-Typen • Nicht alle Frames eines Videos hängen voneinander ab – Übertragungsfehler leben nicht ewig – Streaming möglich – Beliebiger Zugriff auf Frames möglich • 3 Frame-Typen : I-Frames, P-Frames, B-Frames 19

I-(intra-kodierte)Frames • • Enthalten nur intra-kodierte Makro-Blöcke Können von anderen Frames referenziert werden Tabula

I-(intra-kodierte)Frames • • Enthalten nur intra-kodierte Makro-Blöcke Können von anderen Frames referenziert werden Tabula Rasa im Bitstream Orientierungspunkte in der Sequenz Beim Spulen, Editieren 20

P-(prädiktiv kodierte)Frames • Makro-Blöcke sind u. U. inter-kodiert • Referenzieren nur vorangegangene Frames •

P-(prädiktiv kodierte)Frames • Makro-Blöcke sind u. U. inter-kodiert • Referenzieren nur vorangegangene Frames • Können von anderen Frames referenziert werden 21

B-(bidirektional prädiktiv kodierte)Frames • Makro-Blöcke sind u. U. inter-kodiert • Referenzieren nachfolgende und vorangegangene

B-(bidirektional prädiktiv kodierte)Frames • Makro-Blöcke sind u. U. inter-kodiert • Referenzieren nachfolgende und vorangegangene Frames • Können von anderen Frames NICHT referenziert werden 22

Frame-Abfolge • • Frame-Verwendung durch den Encoder festgelegt Häufige Verwendung bestimmter Abfolgen Ausnahmen z.

Frame-Abfolge • • Frame-Verwendung durch den Encoder festgelegt Häufige Verwendung bestimmter Abfolgen Ausnahmen z. B. bei Szenenwechsel Umsortierung um Pufferung zu erleichtern 23

Constrained Parameters Bitstreams (CPB) • Syntax erlaubt 4095 x 4095 Frames und Bitraten bis

Constrained Parameters Bitstreams (CPB) • Syntax erlaubt 4095 x 4095 Frames und Bitraten bis ca 100 Mb/s • Häufig verwendete Parameter standardisiert • CPB (MPEG 1) : – 352 x 240 Frames(SIF), 30 Frames/s, <1. 86 Mb/s – verwendet für CD-Video 24

MPEG 2 „kann mehr“ • MPEG 2 definiert mehr als nur einen CPB (Levels)

MPEG 2 „kann mehr“ • MPEG 2 definiert mehr als nur einen CPB (Levels) • MPEG 2 kodiert Interlacing • MPEG 2 bietet skalierbare Bitstreams (profiles) Decoder-abhängige Bildqualität 25

MPEG 2 Levels • Low Level : 352 x 240 Pixel/Frame – entspricht CPB

MPEG 2 Levels • Low Level : 352 x 240 Pixel/Frame – entspricht CPB bei MPEG 1 • Main Level : 720 x 480 Pixel/Frame – Standard für NTSC-broadcast-Qualität • High 1440 Level : 1440 x 1152 Pixel/Frame – High Definition TV • High Level : 1920 x 1080 Pixel/Frame – High Definition TV 26

MPEG 2 Profile • Profile bezeichnen Beschränkungen der MPEG 2 -Syntax • Main-Profil :

MPEG 2 Profile • Profile bezeichnen Beschränkungen der MPEG 2 -Syntax • Main-Profil : entspricht der MPEG 1 -Syntax (Bis auf das Interlacing) • Simple-Profil : wie Main, jedoch ohne B-Frames 27

MPEG 2 Profile skalierbare Daten • Signal besteht aus mehreren Streams (Layer) • Base

MPEG 2 Profile skalierbare Daten • Signal besteht aus mehreren Streams (Layer) • Base (Lower) Layer ist voll dekodierbar • Enhancement (Upper) Layer bietet zusätzliche Information – Verbesserte Auflösung – Höhere Frame-Rate – Höhere Qualität 28

Skalierbare Profile Spatial-Profil • Frames in zwei verschiedenen Auflösungen • Base-Layer-Frames werden als alternative

Skalierbare Profile Spatial-Profil • Frames in zwei verschiedenen Auflösungen • Base-Layer-Frames werden als alternative Vorlage zur Prädiktion der Upper-Layer. Frames verwendet 29

Skalierbare Profile Spatial-Profil Decoder 30

Skalierbare Profile Spatial-Profil Decoder 30

Skalierbare Profile SNR (Signal-to-Noise-Ratio) - Profil • Quantisierungsfehler wird enkodiert und auf dem Upper-Layer.

Skalierbare Profile SNR (Signal-to-Noise-Ratio) - Profil • Quantisierungsfehler wird enkodiert und auf dem Upper-Layer. Stream gesendet 31

Skalierbare Profile SNR-Profil Decoder 32

Skalierbare Profile SNR-Profil Decoder 32

Interlacing mit MPEG 2 • Kodieren von Halbbildern als Felder (Field) • Nur paarweise

Interlacing mit MPEG 2 • Kodieren von Halbbildern als Felder (Field) • Nur paarweise 33

Bitrate – variabel oder konstant • Konstant : Encoder reguliert die Bitrate durch Skalierung

Bitrate – variabel oder konstant • Konstant : Encoder reguliert die Bitrate durch Skalierung der Quantisierungsmatrix • Variabel : Die DCT-Werte werden nach festen Matrizen quantisiert Bei variabler Bitrate können Puffer-Unterläufe auftreten 34

Struktur einer Sequenz 35

Struktur einer Sequenz 35

Stream – Synchronisation MPEG 1 • Video- und Audiopakete erhalten Zeit-Stempel • Multiplexing durch

Stream – Synchronisation MPEG 1 • Video- und Audiopakete erhalten Zeit-Stempel • Multiplexing durch die System-Komponente 36

Stream – Synchronisation MPEG 2 • MPEG 2 erlaubt eine größere Zahl von Audio-

Stream – Synchronisation MPEG 2 • MPEG 2 erlaubt eine größere Zahl von Audio- und Benutzerdefinierten Daten-Streams – Surround-Sound – Mehrere Sprachen kodiert – Untertitel • Streams mit gemeinsamer Zeitbasis zunächst in Program. Streams zusammengeführt • Der Transport-Stream enthält alle Program-Streams (Multiplexing mit konstanter Paketgröße) 37

Motion Compensation Prediction Algorithmen Der MPEG-Standard legt die Syntax der Daten fest (und damit

Motion Compensation Prediction Algorithmen Der MPEG-Standard legt die Syntax der Daten fest (und damit auch den Dekodiervorgang) Kodier-Algorithmen sind dagegen frei wählbar Herausforderung : Schnelles Finden der besten Treffer für die MCP 38

MCP – Algorithmen einfache Methode • Ausprobieren aller möglichen 16 x 16 Felder –

MCP – Algorithmen einfache Methode • Ausprobieren aller möglichen 16 x 16 Felder – der beste gewinnt • Fehler-Kodierung mit Intra-Kodierung vergleichen – die kürzere gewinnt Diese Methode ist solide, aber nicht schnell. Wenn schnelle Kodierung (Echtzeit) gewünscht, zu langsam 39

MCP – Algorithmen Intelligentere Methoden • Absuchen eines Fensters von +/- x Pixeln um

MCP – Algorithmen Intelligentere Methoden • Absuchen eines Fensters von +/- x Pixeln um die aktuelle Position • Wählen einer Fehlertoleranz : Nicht weitersuchen, wenn man sie unterschritten hat Findet möglicherweise nicht den besten Treffer, verschwendet aber weniger Zeit 40

MCP – Algorithmen Grob-Abschätzung • • Mittelwert-Bildung aller betrachteten Prädiktions-Bereiche Schneller Vergleich mit aktuellem

MCP – Algorithmen Grob-Abschätzung • • Mittelwert-Bildung aller betrachteten Prädiktions-Bereiche Schneller Vergleich mit aktuellem Makro-Block-Mittelwert Fehler-Schätzung liegt niedriger als tatsächlicher Fehler Disqualifikation vieler Kandidaten, noch bevor rechen-intensiver Vergleich stattfindet Damit werden gute Suchmuster noch rentabler 41

MCP – Algorithmen Spiralmuster • Fenster-Durchsuchen vom Zentrum aus, um gute Treffer schnell zu

MCP – Algorithmen Spiralmuster • Fenster-Durchsuchen vom Zentrum aus, um gute Treffer schnell zu finden 42

MCP – Algorithmen Bewegungsvektor vorrausahnen • Bewegungsvektor des vorangegangenen Frames des selben Blockes puffern

MCP – Algorithmen Bewegungsvektor vorrausahnen • Bewegungsvektor des vorangegangenen Frames des selben Blockes puffern • Suchfenster um diesen Vektor verschieben 43

MCP – Algorithmen Sub-Sampling • Suche nach grobem Raster zuerst • Dann dichte Suche

MCP – Algorithmen Sub-Sampling • Suche nach grobem Raster zuerst • Dann dichte Suche um die besten „Stichproben“ herum 44

MCP – Algorithmen Fourier-Transformation • Partielle Fourier-Transformation der niedrigsten Frequenzen des Spektrums • Vergleich

MCP – Algorithmen Fourier-Transformation • Partielle Fourier-Transformation der niedrigsten Frequenzen des Spektrums • Vergleich der Koeffizienten gibt gute Abschätzung des zu erwartenden Fehlers 45

Zusammenfassung MPEG Video • • Block-basierendes Kodierungs-Schema Verlustbehaftet Hohe Kompressionsraten Breite Anwendbarkeit 46

Zusammenfassung MPEG Video • • Block-basierendes Kodierungs-Schema Verlustbehaftet Hohe Kompressionsraten Breite Anwendbarkeit 46

Literatur • • • Shanawaz Basith, 1996, MPEG : Standards, Technology and Applications, http:

Literatur • • • Shanawaz Basith, 1996, MPEG : Standards, Technology and Applications, http: //www. doc. ic. ac. uk/~nd/surprise_96/journal/vol 2/sab/article 2. html, download 15. 1. 2003 George Tsang, -, MPEG-1 Video Codec, http: //www. cmlab. csie. ntu. edu. tw/ cml/dsp/training/coding/mpeg 1/, download 15. 1. 2003 P. N. Tudor, 1995, MPEG-2 VIDEO COMPRESSION , http: //www. bbc. co. uk/ rd/pubs/paper_14/paper_14. html, download 15. 1. 2003 Chad Fogg, 1996, MPEG-2 FAQ, http: //bmrc. berkeley. edu/frame/research/ mpeg/mpeg 2 faq. html, download 15. 1. 2003 B. Lincoln, M. T. Malkin, 1997, Speed-up of Block Motion Estimation in Long. Term Memory Motion-Compensation Prediction, http: //ise 0. stanford. edu/class/ ee 392 c/demos/lincoln_malkin/projhtml, download 15. 1. 2003 Thomas Sikora, 1997, MPEG-1 and MPEG-2 Digital Video Coding Standards, http: //wwwam. hhi. de/mpeg-video/papers/sikora/mpeg 1_2. htm, download 15. 1. 2003 47