Das InfoTip Kompendium

Ein kostenloser Service der InfoTip Service GmbH

Zum Anfang der
Seite scrollen

Videokompression

Inhaltsverzeichnis

3. Videokompression nach MPEG

Zur Festlegung eines digitalen Standards für Bewegtbilddarstellung wurde Ende der 80er Jahre  die Moving Pictures Expert Group (MPEG) ins Leben gerufen. MPEG standardisiert nur den Bitstream und den Dekodierer. Der Kodierer wird nicht standardisiert, so dass noch Raum für Effizienzsteigerungen bleibt. Es werden aber Musterimplementationen (verification models) vorgegeben, die aber weder besonders schnell noch besonders effizient sind. Daher sind die MPEG-Kodierer für nahezu alle Implementierungen neu erstellt worden.

3.1. Grundlagen MPEG

Die MPEG-Videokompression ist eine Interframe-Kompression. Der Algorithmus benutzt hauptsächlich zwei Techniken: Die Diskrete Cosinus Transformation (DCT) zur Reduktion von räumlichen Redundanzen und eine blockorientierte Bewegungsvorhersage (Motion Compensation) zur Reduzierung von zeitlichen Redundanzen. Die Theorie hinter den Algorithmen setzt voraus, dass eine Bildeinheit (ein Block von 8 x 8 Pixeln oder ein Makroblock von 16x16 Pixeln) einen räumlichen Bezug zu seinen Nachbarn und einen (zeitlichen) Bezug zu der Bildinformation an den gleichen Koordinaten zum vorhergehenden und zum nächsten folgenden Bild hat. Dieser Bezug bedeutet nicht anderes, als dass ein- und dieselbe Information mehrfach übertragen wird. Diese Redundanz soll erkannt werden und durch eine kurze Platzhalterinformation (Bewegungsvektoren) ersetzt werden. Hierbei gilt es natürlich möglichst verlustlos, d.h. ohne sichtbare Qualitätseinbußen zu arbeiten.

Hierarchie im MPEG-Datenstrom (MPEG-Stream)

Ein MPEG-Datenstrom ist sehr stark strukturiert und setzt sich aus mehreren Ebenen (Layern) zusammen. Neben den eigentlichen Nutzdaten (der Videoinformation) werden im Datenstrom in den sogenannten Headern zusätzlich eine Menge an System- und Steuerinformation mit übertragen. Eine detaillierte Darstellung des Aufbaus von MPEG-Streams finden Sie im Kapitel 3.6.4. Aufbau eines MPEG-Streams. Generell lässt sich ein MPEG-Stream für die Nutzdaten in fünf ineinander verschachtelten Einheiten unterteilen:

  • Die unterste Ebene/kleinste Einheit ist ein Block (Block Layer). Jeder Block besteht aus 8x8 Pixeln. Diese werden mittels Diskreter Cosinus Transformation (DCT) übertragen.
  • Jeweils vier (2x2) Blöcke bilden einen Makroblock (Macroblock Layer). Der Macroblock-Layer dient als die Grundlage für die Bewegungskompensation. Sie besteht bei der Verarbeitung des Leuchtdichtesignal aus jeweils vier Blöcken á 8x8 Pixel = 16x16 Pixeln.
  • Eine Zeile von 45 nebeneinanderliegenden Makroblöcken sind bei einem 4:3 Bild zu einem „Slice“ (= Scheibe) im Slicelayer zusammengefasst. Ein Bild mit vertikal 576 Pixeln besteht aus 36 Slices.
  • Jeweils acht bis 24 Bilder (typisch bei DVD:13-15) bilden eine Gruppen von Bildern (GOP = Group Of Pictures).
  • Mehrere (oder auch nur eine) GOPs sind zu einer Sequenz (Sequence Layer) zusammengefasst. Der den Nutzdaten vorgelagerte Sequenz Header beinhaltet die Information zur Anzahl der Pixel, Anzahl von Bildern pro Sekunde, dem Bildformat und auch die notwendige Größe des Pufferspeichers der zur Decodierung benötigt wird.
Abb. 2: Ebenen eines MPEG-Datenstroms
Abb. 2: Ebenen eines MPEG-Datenstroms

3.2.Bewegungskompensation

Ein kennzeichnender Bestandteil der Datenreduktion bei MPEG ist die Bewegungskompensation. Diese untersucht die Ähnlichkeit von aufeinander folgenden Teilbildern. In deren Auswertung sind nur die Bildteile eines Teilbildes mit Daten zu übertragen, die sich bewegen und einen abweichenden Verlauf zur vorher erstellten Bewegungsschätzung haben. Dazu wird die Differenz in Ausschnitten der Teilbilder zwischen den einzelnen Pixelblöcken festgestellt. Aus dieser ist zu erkennen, in welche Richtung und mit welcher Geschwindigkeit sich ein Teilobjekt (Muster) bewegt. Somit kann eine Prädiktion (Vorhersage) gebildet werden. Je besser die Prädiktion desto kleiner die zu übertragene Datenmenge. In der praktischen Umsetzung wird zwischen der Prädiktion des Teilbildes n und dem Eingangsbild n+1 verglichen. Hieraus kann eine neue Prädiktion erstellt werden, die schon berücksichtigt, in welchen Bereichen des Bildes Bewegungen in bestimmte Richtungen zu erwarten sind. Ist diese Prädiktion sehr genau (1/2 Pixel), so ergibt sich am Ausgang der Differenzstufe ein Datenstrom der gegen Null geht (siehe Abbildung 3).
Zusätzlich zum Differenzbild müssen jedoch auch die beiden gewonnenen Bewegungsvektoren durch Betrag und Richtung mit kurzen Codeworten übertragen werden, damit decoderseitig der bewegungskompensierte Block wieder rekonstruiert werden kann.

Abb. 3: Prinzip der Bewegungskompensation
Abb. 3: Prinzip der Bewegungskompensation

3.3. Bildfolge bei MPEG

In intraframe-kodierten Kompressionserfahren wie Motion-JPEG oder DV werden alle Bilder mit allen Informationen übertragen. Eine Reduktion der temporalen Redundanz findet also nicht statt. Im MPEG-Kompressionsverfahren dagegen gibt es drei Arten von Bilder:

  • Intracodierte Bilder (I-Bilder, I-Frames), die wie bei MJPEG oder DV die komplette Information beinhalten. Diese bieten einen wahlfreien Zugriff (z.B. beim Schneiden), haben aber einen geringen Kompressionsfaktor, da sie nur mittels DCT komprimiert sind.
  • Einseitig prädizierte Bilder (P-Bilder, P-Frames), die durch die Prädiktion (Vorhersage) des letzten I-Bildes mittels der Bewegungskompensation entstehen.
  • Zweiseitig, bidirektional prädizierte Bilder (B-Bilder, B-Frames), die einen Bezug zu den vorhergehenden und nachfolgenden I- und P-Bildern haben. Sie dienen als Stützbilder.

Die größte Datenmenge tritt bei der Übertragung des I-Bildes auf. Sie reduziert sich beim P-Bild auf etwa ein Drittel, beim B-Bild bis auf ein Neuntel des I-Bildes. Bei einer gewünschten hohen Kompressionsrate müssen also möglichst viele B-Bilder eingesetzt werden. Eine typische GOP könnte so aussehen: I BB P BB P BB ...

Eine GOP beginnt immer mit einem I-Bild und endet vor einem I-Bild. Da zuerst in einer GOP die P-Bilder berechnet werden müssen und erst danach die B-Bilder, entspricht die Codierreihenfolge nicht mehr der Abspielreihenfolge. Die Codierung und somit auch die Decodierung erfolgt somit nicht linear, also nicht Bild für Bild. Die Reihenfolge der Anzeige der Einzelbilder in einer GOP wird daher im jeweiligen Sequence Header des MPEG-Streams beschrieben.
Szenenwechsel sollten immer mit einem neuen I-Bild beginnen, da dann die meisten Daten übertragen werden müssen. Ein Schnitt darf nur am Ende einer GOP durchgeführt werden weil sonst der Bezug von B-Bildern zum nächsten/vorherigen P-Bild fehlt und somit nicht  dekodiert werden kann. Soll bildgenau geschnitten werden, muss die GOP zuvor in einzelne I-Bilder decodiert und nach dem Schnitt wieder in eine GOP kodiert werden.

Abb. 4: Bildfolge bei MPEG (Beispiel)
Abb. 4: Bildfolge bei MPEG (Beispiel)

3.4. Transformation und Quantisierung

Um das digitale Videosignal in seiner Bitrate zu minimieren, müssen irrelevante Informationen gesucht und unterdrückt werden. Diese werden durch Details im Bild und durch hohe Chrominanzauflösung gebildet. Auf Grund der Empfindlichkeit des menschlichen Auges können diese um einen gewissen Grad reduziert werden, ohne das dies als qualitätsmindernd wahrgenommen wird. Um von vorn herein mit möglichst geringen Datenmengen umgehen zu müssen wird daher in allen MGEG-Verfahren mit dem YUV-Farbmodell gearbeitet. Dieses Farbmodell hat den Vorteil, dass nur das Luminanzsignal mit voller Bandbreite übertragen werden muss. Die Farbinformation wird mit einer reduzierten Auflösung übertragen. Allein durch diese Maßnahme wird eine Datenreduktion von 50% (bei YCbCr 4:2:0) erzielt, ohne dass eine nennenswerte Qualitätsverminderung festzustellen ist. (Mehr Informationen zu Farbräumen)

Abb.5: Blockbildung
Abb.5: Blockbildung

Die Irrelevanzreduktion hat aber in jedem Fall einen Informationsverlust zur Folge. Deshalb wird diese auch als verlustbehaftete Codierung bezeichnet.
In allen MPEG-Varianten wird jedes Bild vor der Irrelevanzreduktion blockweise mittels zweidimensionalen Diskreten Cosinustransformation (DCT) in seine Ortsfrequenzen zerlegt.

Abb. 6: Übertragung der Bildinformation in Ortsfrequenzen
Abb. 6: Übertragung der Bildinformation in Ortsfrequenzen
Abb. 7: Darstellung der Ortsfrequenzen
Abb. 7: Darstellung der Ortsfrequenzen

Zum besseren Verständnis der DCT soll der Abtastvorgang eines Bildes betrachtet werden. Die dort auftretenden Helligkeitsunterschiede werden sowohl in horizontaler als auch in vertikaler Richtung zu einer Wechselkomponente führen, die dementsprechend als horizontale bzw. vertikale Ortsfrequenz bezeichnet wird. So ergeben sich bei einem senkrechten Streifenmuster nur horizontale Ortsfrequenzen und bei einem waagerechten Streifenmuster nur vertikale Ortsfrequenzen. Die DCT zerlegt das Signal also quasi in seine Frequenz- und Amplitudenbestandteile.
Liegt z.B. ein Graubild an, so handelt es sich lediglich nur um einen Gleichanteil. In der Regel sind jedoch immer alle drei Komponenten vorhanden.
Eingangsseitig werden zunächst kleine Bildbereiche (Blöcke, 8x8 Pixel groß) mit Hilfe der Diskreten Cosinus-Transformation analysiert. Das Ergebnis ist ein Gleichanteil (DC-Koeffizient) aller 64 Pixel. Dieser Koeffizient ist der linken oberen Ecke der neuen Matrix zugeordnet. Alle Werte nach rechts beziehen sich auf steigende horizontale Frequenzen, alle Werte nach unten auf steigende vertikale Frequenzen. Je höher diese Ortsfrequenzen (AC-Koeffizienten) sind, desto unempfindlicher wird das Auge dafür, weil feine Strukturen im Bild optisch weniger dominant sind als grobe Strukturen. Deshalb können gerade Koeffizienten für die größeren Ortsfrequenzen vernachlässigt werden ohne das eine Minderung der Bildqualität feststellbar ist. Realisiert wird die Irrelevanzreduktion durch eine Quantisierung des Videosignals (Abb. 8). Hierbei werden die Details in der Bildvorlage nach einer frequenzabhängigen Wichtung nur mit reduzierter Auflösung übertragen. Die Wichtung erfolgt über im Encoder integrierte Quantisierungsmatrizen. Für jede Ortsfrequenz (= AC-Koeffizient) ist in der Quantisierungsmatrix einen ganzzahligen Wert vorbelegt, der als Divisor für den jeweiligen AC-Koeffizienten dient. Da das Auge niedrige Ortsfrequenzen besser wahrnimmt als hohe, wird der Divisor mit der Frequenz höher.

Abb. 8: Irrelevanzreduktion durch Quantisierung
Abb. 8: Irrelevanzreduktion durch Quantisierung

Die vom Encoder verwendeten Quantisierungsmatrizen sind entweder als Standardtabellen im Encoder integriert oder werden beim Mastering entsprechend der Verwendung des MPEG-Streams individuell auf Szenen oder gar Sequenzen angepasst. Über die Quantisierungsmatrizen kann festgelegt werden, wieviel und welche Informationen aus dem Eingangsstream entfernt (Verlustbehaftete Kompression!) werden und damit auch die Übertragungsqualität bestimmt werden.  Um beispielsweise einen stark komprimierten Stream, z.B. für eine Web-Seite, zu erzeugen, wird eine Matrix gewählt, die bereits bei niederfrequenten AC-Koeffizienten hohe Divisoren ausweist und zudem zu eine starke Steigerung der Divisoren  zu den hohen Frequenzen hin hat. Um einen Videostream mit einer möglichst gleichmäßigen Datenrate zu erhalten, z.B. für Video On Demand (VoD) per Internet, muss der Bildeindruck "flach" gemacht werden. Dafür empfiehlt sich eine Matrix mit einer nicht so starken Steigerung der Divisoren. Andere Matrizen sind auf die Optimierung von DVD-, HD- oder Comic-Filmen usw. ausgelegt. In Abb. 8 werden beispielsweise für Intrablocks und Non-Intrablock unterschiedliche Matrizen verwendet. Nicht-Standardmatrizen werden im Sequence-Header des MPEG-Streams eingebettet zum MPEG-Decoder übertragen.

Das Resultat der Quantisierung ist der quantisierte Gleichanteil, der wiederum in der linken oberen Ecke der Matrix steht, sowie die quantisierten horizontalen und vertikalen Ortsfrequenzen. Auffällig in der jetzt entstandenen Matrix sind häufig in Bereichen auftretende Nullen. Diese können mit geeigneten verlustfreien Kompressionsverfahren (Run Length Coding) zusammengefasst werden, was zu einer Reduzierung des Datenströme führt.

Abb. 9: Auslesen der Matrix
Abb. 9: Auslesen der Matrix

Für den Auslesevorgang der Matrix wird ein spezieller Algorithmus verwendet. Hierbei wird die Matrix im Zick-Zack Prinzip, beginnend mit dem Gleichanteil und folgend von den Ortsfrequenzen, von den wichtigen tieferen zu unwichtigeren höheren Werten ausgelesen. Das heißt, die Daten werden in der Reihenfolge fallender Wichtigkeit übertragen.
Für den Gleichanteil (DC-Koeffizient) wird nur die Differenz zum vorhergehenden Block codiert.
Der Standard von MPEG-2 erlaubt auch alternative Reihenfolgen beim Durchlauf durch die DCT-Koeffizienten, um auch Bildmaterial mit Zeilensprung effektiv kodieren zu können.

3.5. Entropiekodierung

Als Entropie wird in der Informationstheorie das Maß für die mittlere Informationsdichte in einer Nachricht bezeichnet. Entropiekodierungen sind Methoden zur verlustfreien Datenkompression. Sie erhöhen somit die Entropie. Das grundsätzliche Verfahren hierbei ist, dass jedem einzelnen Zeichen eines Textes oder einer festen Zeichenfolge in einer Nachricht unterschiedlich lange Folgen von Bits zugeordnet wird.
Bei der MPEG-Kodierung wird die Koeffizientenfolge des Zick-Zack-Lesevorgangs einer Variablen Längencodierung (Variable Run Length Coding, VLC) zugeführt. Treten im Datenstrom hintereinander mehrere Nullen auf (was häufig der Fall ist), so wird die Anzahl der Nullen (= run length) und der Wert der Zahl, die als Nächste ungleich null ist als Datenwort zusammen gefasst. Ein "End of Block"- (EOB-) Marker zeigt an, ab wo nurmehr 0-Koeffizienten existieren
Die verbleibenden Daten werden einer Huffman-Codierung, einer weiteren verlustfreien Entropiekodierungsmethode, unterworfen. Zweck dieser Funktion ist es, alle Muster der häufig auftretenden Zahlenpaare durch kurze Codeworte aus einer vorgegebenen Tabelle zu ersetzen. Dafür muss man allerdings für seltener auftretende Zahlenpaare längere Codeworte in Kauf nehmen.
Allein die Diskrete-Cosinus-Transformation mit dem Zick-Zack-Lesevorgang, sowie die Variablen-Längencodierung bewirkt eine Datenreduktion um den Faktor 10:1, ohne das es zu einem merklichen Qualitätsverlust des Bildes führt.

Abb. 10: Entropiekodierung im MPEG
Abb. 10: Entropiekodierung im MPEG

3.6. MPEG-Encoder und Decoder

3.6.1. MPEG-Encoder (Prinzipbild)

Abb. 11: Blockbild eines MPEG-Encoders
Abb. 11: Blockbild eines MPEG-Encoders

3.6.2. MPEG-Decoder (Prinzipbild)

Das Dekodieren von MPEG-Dateien muss natürlich in Echtzeit erfolgen. Je nach MPEG-Variante setzt die Decodierung auch unterschiedliche Ressourcen voraus. Reine Hardware-Decoder sind oftmals auf bestimmte MPEG-Varianten spezialisiert. Softwaredecoder in einem PC unter Windows benötigen für die Darstellung von Standard-Definition- (SD-) Filmen keine besonderen Ressourcen. Für die Dekodierung von von MPEG-2 MP@H-14/HL sind Prozessoren-Leistungen ab 2,4 GHz und für AVC-HD (MPEG-4.10/H.264 MP@H-14) ab ca. 3GHz notwendig.

Abb. 12: Blockbild eines MPEG-Decoders
Abb. 12: Blockbild eines MPEG-Decoders

3.6.3. Parameter für die MPEG-Kodierung

Die Komplexität der MPEG-Standards lässt eine Einstellung vieler Parameter zu. Gerade bei der begrenzten Spielzeit einer DVD oder Blu ray Disk lässt sich durch eine geschickte Parameterwahl ein Optimum an Qualität und Dateigröße erzielen. Meistens sind den Encodern bereits einige Vorlagendateien (Templates) beigefügt, in denen die Einstellungen für die am häufigsten Standard-Projekte eingetragen sind. Als Beispiel für die wichtigsten Einstellungen eines MPEG-2 Encoders dienen hier einige Optionen des im Adobe Premiere Pro integrierten Adobe Media-Encoders. Einige Einstellungen sind wirklich essentiell, weil sie direkt die Größe, Qualität und Kompatibilität der Zieldatei bestimmen. Andere, nicht weniger wichtige Einstellungen, sind systembedingst vorbelegt und sollten so belassen werden, wie das Template sie vorgibt. Die hier im Folgenden beschriebenen Einstellungen gehören zu den Ersteren.

Abb. 13: Optionen bei der Einstellung von Videoparametern in einem MPEG-2 Encoder (Adobe)
Abb. 13: Optionen bei der Einstellung von Videoparametern in einem MPEG-2 Encoder (Adobe)
Qualitität (Motion Search Precision)

Einstellung der Genauigkeit der Bewegungskompensation. Je genauer die Bewegungskompensation arbeitet, desto kleiner werden die MPEG-Dateien und desto geringer ist die Häufigkeit der Mosaik-Bildung beim Abspielen des Videos (weil, aufgrund der höheren Kompressionsrate, mehr Bandbreite zur Verfügung steht). Das Suchen sich bewegender Bildteile und das Berechnungen der daraus resultierenden Bewegungsvektoren ist sehr rechenaufwendig und kann die Kodierzeit erheblich beeinflussen.

Frame Rate

Vertikal-Bildrate (fps = Frames per Second = Anzahl der Vollbilder pro Sekunde): immer 25 fps bei Quellmaterial von Video oder Kamera, eventuell 23,9976/24 fps bei DVD (= Film). Die tatsächliche Bildrate einer Videodatei (.mpg, .avi, .mov, ...) kann z.B. mit dem Softwareplayer wie VLC oder Windows Mediaplayer angezeigt werden.

Feldreihenfolge (Field Order)

In einem Film im Zeilensprungverfahren wird normalerweise das Halbbild A (= Oberes = 1 = ODD) zuerst übertragen, dann das Halbbild B (= Unteres = 2 = EVEN). Ausnahme: Soll ein DV/DVCAM-kodierter Film (von einem digitalen Camcorder) in MPEG umkodiert werden, ist immer ’Unteres' (= 'Bottom field first') zu wählen!
Bei falscher Einstellung der Halbbildfolge macht sich dieses als starkes Flimmern des Bildes und durch Interlacing-Artefakte bemerkbar.

Pixel-Seitenverhältnis (Pixel Ratio)

Gibt das Verhältnis der Breite zu Höhe eines jeden Pixels an. Dadurch wird die Anzahl der erforderlichen Pixel bestimmt, um ein Seitenverhältnis für das Bild zu erzielen. Einige Formate verwenden quadratische Pixel, andere (z.B. HDV und SVCD) nicht-quadratische Pixel. Eine falsche Einstellung führt zu einem horizontalen Verzerren des Bildes.

Profil und Level

MPEG-2 wird für einen weiten Bereich von Anwendungen eingesetzt. Um den praktischen Umgang mit den Spezifikationen (es ist übrigens die ISO/IEC 13818) zu vereinfachen, wurde das Konzept von Profilen (Profiles) und Ebenen (Levels) eingeführt. Siehe Tabellen 1-3

Bitratenkodierung (Rate Control Modes)

CBR / VBR (Constant Bitrate/Variable Bitrate)
Konstante Bitrate (CBR): Komprimiert jeden Frame im Quellvideo bis zum angegebenen Limit und erstellt so eine Datei mit einer festen Datenrate. Frames mit komplexeren Daten werden daher stärker komprimiert als weniger komplexe Frames.
Variable Bitrate (VBR): Ermöglicht das Variieren der Datenrate der exportierten Datei innerhalb des angegebenen Bereichs. Da ein angegebener Kompressionsumfang eher die Qualität eines komplexen Bildes als die eines einfachen Bildes verschlechtert, komprimiert die VBR-Komprimierung komplexe Frames weniger und einfache Frames stärker.

Single Pass / Multi Pass

Die Anzahl der Analyse-Durchgänge vor der Kodierung des Clips. Ein MPEG Videostream hat je nach Bildinhalt und Änderung des Bildinhaltes variable Bitraten. Die höchsten Datenströme treten bei Szenenwechseln und bei Szenen mit einem hohen Anteil von sich bewegendem Bildinhalt auf. Je höher dabei die Bilddetails, desto höher ist die zu übertragende Datenmenge. Die besten Ergebnisse in Bezug auf Qualität und Komprimierungsfaktor liefern Encoder, wenn sie vor dem eigentlichen Kodierprozess die Videodatei durchscannen können und die zu erwartenden Übertragungsraten für jede Stelle im Film in Voraus feststellen können. Dieser Scanvorgang kann genauso lange dauern wie die Kodierung selber. Die Kodierung im 2-Pass-Mode dauert damit fast doppelt so lange wie im 1-Pass-Mode, führt aber durch eine wesentlich bessere Anpassung der Datenübertragungsraten zu sehr kleinen Dateien bei bestmöglicher Qualität.

Bitrate

Anzahl der MBit/s bei der Wiedergabe des kodierten Films. Bei CBR ist es ein konstanter Wert. Bei VBR ist die minimale, die maximale und die mittlere (Ziel-) datenrate einzugeben (z.B. DVD: min. 2 MBit/s, max. 7 MBit/s, mittl. 5 MBit/s). Falsche Einstellungen führen zu einer Blockbildung (Motion Blocking) im Bild.

VBV-Puffergröße (VBV Buffer Size)

Einstellung der Größe des Video-Zwischenpuffers im Decoder des Wiedergabegerätes. Diese Steuerinfo wird im Sequenz-Header mit im Datenstrom übertragen. Der VBV sollte für VCD 40 KByte, für SVCD 112 KByte und für DVD 224 Kbyte betragen.

DC-Präzision (DC Component Precision)

Einstellung der Quantisierung der DC- (Helligkeits-) Komponente im Videosignal. Je höher, desto besser die Auflösung des Luminanzsignales. Für VCD und SVCD sind 8 Bit ausreichend. Bei sehr gutem Quellmaterial und DVD oder HD-Auflösung sind 10 Bit angebracht. Die resultierenden kodierten Zieldateien werden dabei natürlich größer, ein längerer Film könnte für Platzprobleme auf dem Datenträger sorgen.

 

3.6.4. Aufbau eines MPEG-Streams

Das, wie in Kap. 3.1 beschrieben, zusammengesetzte und mit Headers versehene fertig komprimierte MPEG-Videosignal (auch Paketierter Video-Elementarstrom/Video-PES genannt) und das fertig kodierte digitale Audiosignal (Paketierter Audio-Elementarstrom/Audio-PES) müssen für den Transport durch die Luft oder den Draht zu einem Strom vereint werden. Dieses übernehmen Multiplexer.
Ein Multiplexer oder kurz MUX ist ein Selektionsschaltnetz, mit dem aus einer Anzahl von Eingangssignalen eins ausgewählt werden kann (etwa beim Speicherzugriff). Bei einem zyklischem Durchlauf können so parallele Datenströme in serielle gewandelt werden. Neben dem Audio- und dem Videosignal können auch noch Daten (z.B. für Untertitel) mit eingefügt werden. So wird aus mehreren Elementarströmen ein Programmstrom.
Programmströme können überall dort eingesetzt werden, wo der Datenübertragungsweg sicher ist, d.h. die Daten können nicht leicht verfälscht oder gestört werden können. Dies ist beim Abspielen einer Videodatei auf dem PC oder auch bei einem DVD-Player der Fall. Werden Datenströme jedoch über Medien wie Draht oder Luft (DVB) übertragen, können durch Störungen die Daten korrumpiert werden. Mit zusätzlichen Daten in einem Strom, die eigens zur Fehlererkennung und -beseitigung dienen, können auch solche Übertragungswege sicher gemacht werden.
Das Zusammenfassen von mehreren Programmströmen um sie z.B. auf einem Kanal oder Transponder zu übertragen, erfolgt ebenfalls durch Multiplexen. Multiple Programmströme und Ströme mit Daten zur Sicherung oder zur Steuerung (z.B. in Bereichen des DVB oder bei HDV-Streams) werden Transportströme genannt.

Abb. 14: Aufbau eines MPEG-Streams
Abb. 14: Aufbau eines MPEG-Streams

3.7. MPEG-Varianten

Praktisch alle digitalen Videoaufzeichnungs- und Übertragungsverfahren, wie auch das Digitale Fernsehen (DVB), benutzen MPEG als Übertragungsformat. Die MPEG-Organisation hat mehrere Standards geschaffen. Alle MPEG-Verfahren verwenden die gleichen Prinzipien. Die Unterschiede liegen hauptsächlich in unterschiedlichen Blockgrößen, in der Anzahl der nicht intraframe-kodierten Bilder in einer GOP (= Anzahl der Bilder in einer GOP) und in den Möglichkeiten die Datenströme interaktiv zu steuern.

3.7.1. MPEG-1

MPEG-1 wurde 1992 standardisiert und ist das Kompressionsverfahren der ersten CD-Multimedia-Anwendungen (CDi / VideoCD). MPEG-1 unterstützt Auflösungen bis zu 4095x4095 Pixel und Datenraten bis zu 100MBit/s. Die tatsächlich verwendeten Auflösungen sind aber lediglich  176 x 144, 352x240, 352x288 und 320x240 mit Bitraten bis zu 1,5MBit/s, was einer Bildqualität wie VHS entspricht. Da speziell für Anwendungen in Verbindung mit Computer- Displays vorgesehen, wird bei MPEG-1 ausschließlich progressive Bildabtastung eingesetzt. Im Standard sind nur konstante Datenübertragungsraten festgesetzt.

3.7.2. MPEG-2

MPEG-2 wird für einen weiten Bereich von Anwendungen eingesetzt und ist der Standard der DVD und des konventionellen Digital-TV. Um den praktischen Umgang mit den Spezifikationen (es ist übrigens die ISO/IEC 13818) zu vereinfachen, wurde das Konzept von Profilen (Profiles) und Ebenen (Levels) eingeführt. Eine Auswahl der zur Zeit am häufigsten MPEG-Systeme eingesetzten sind in den folgenden Tabellen aufgeführt.

Tabelle 1: MPEG-2 Profiles
Tabelle 1: MPEG-2 Profiles
Tabelle 2: MPEG-2 Level
Tabelle 2: MPEG-2 Level

Tabelle 3: Die wichtigsten MPEG2 - Profiles und Level
Tabelle 3: Die wichtigsten MPEG2 - Profiles und Level

3.7.3. MPEG-3

MPEG-3 war für das hochauflösende HDTV vorgesehen, ist dann aber später in den MPEG-2 Standard integriert worden. Nicht zu verwechseln mit MP3! MP3 ist übrigens ein MPEG-1 Substandard (MPEG-1 Audio Layer 3).

3.7.4. MPEG-4/AVC (H.264)

MPEG-4 ist ursprünglich als interaktiver Streaming-Standard für das Internet konzipiert worden, hat aber, ironischerweise durch die Raubkopierer-Szene initiiert, eine Eigendynamik ("DivX;-)") entwickelt. Heute ist MPEG4 die Wahl wenn es darum geht, hochauflösende Videosignale mit wenig Bandbreiten- oder Speicherbedarf zu verwenden, z.B. bei der Übertragung per Satellit oder Kabel im konventionellen Kanalraster, dem Streamen im Internet oder bei der Aufzeichnung in Consumer-Camcorder auf FlashRAM, HDD oder miniDVD. MPEG-4 ist aber nicht nur ein reines Kompressionsverfahren, es ist ein vollständiges Multimedia-Framework. So kann eine Szene nicht nur aus einer Videokomponente bestehen, sondern kann sich aus mehreren Objekten (Text, Standbild, Videos) zusammensetzen. Auch ist eine gewisse Interaktivität möglich.
Die wichtigste Weiterentwicklung ist der Codec H.264 / AVC (auch MPEG-4 Part 10). Dieses Kompressionsverfahren beruht auf den gleichen Prinzipien wie MPEG-2, arbeitet aber durch Optimierung der Algorithmen wesentlich effizienter und ermöglicht gegenüber MPEG-2 eine Halbierung der Datenraten bei gleicher oder besserer Bildqualität. Dieser Komprimierungsalgorithmus ist in den Übertragungsstandards für DVB-T2, DVB-S2 und für die Blu-ray Disc implementiert.
H.264 definiert vier wesentliche Profile (Baseline, Extended, Main, High) und insgesamt 15 Level (352x288 Pixel / 30 fps ab Level 1.3, 720x576 Pixel / 30 fps ab Level 3, 1920x1088 Pixel / 30 fps ab Level 4).

Tabelle 4: MPEG-4.10- (H264AVC-) Level
Tabelle 4: MPEG-4.10- (H264AVC-) Level

3.7.5. MPEG-7

MPEG-7 ist kein Kompressionsverfahren, sondern ein ISO Standard, der 2002 von der Moving Picture Experts Group definiert wurde und zur Beschreibung von multimedialen Daten mit Hilfe von Metainformationen dient. MPEG-7 steht für die eigentliche Bezeichnung Multimedia Content Description Interface.

4. Typische MPEG-Artefakte

Wie weiter oben beschrieben, ist die MPEG-Videokompression verlustbehaftet. Wie stark sich die bei der Kompression verlorengegangenen Bildinformationen und auch systembedingte Ungenauigkeiten bemerkbar machen, hängt im hohen Maße vom Quellmaterial, den Encodereinstellungen beim Mastern des Streams und vom Übertragungsweg ab. In ungünstigen Bildsituationen (z. B. viel Bewegung im Bild, Szenenwechsel, Zoomen) oder  einer begrenzten Bandbreite bei der Übertragung des MPEG-Streams können so die drei typischen MPEG-Artefakte sichtbar werden:

Motion Blocking
Motion Blocking  
Motion Blocking

(Mosaik- oder Klötzchenbildung bei Bewegung)
Sind die Unterschiede zwischen den beiden Halbbildern eines Vollbildes zu groß, wird die Informationsmenge an den Stellen des Bildes automatisch blockweise (8x8 Pixel) reduziert bzw. begrenzt. Dieses macht sich bei der Wiedergabe des Bildes mit einer verminderten Auflösung an diesen Stellen bemerkbar.

Mosquito Noise
Mosquito Noise   
Mosquito Noise

(Mosquito Schwärme)
Diese, einem Rauschen ähnliche, ein Block breite Störung entsteht typischerweise beim Komprimieren an sehr kontrastreichen, feinen, scharfen, diagonalen Bilddetails wie Linien, Text oder Belaubung von Pflanzen.

Quilting
Quilting
Quilting

Dieses sind kleine Unterbrechungen/Stufen an langen, etwa 20° zum Horizont liegenden, Linien z.B. Kanten. Die Unterbrechungen/Stufen entstehen am Übergang von einem Block zum andern und geben dem Bild einen etwas plastischen Eindruck. Zu sehen ist dieser Effekt nur beim genauen Hinschauen bei langsamen Schwenks im Bild.

WEBLINKS

[1] Informationen zu MPEG: http://mpeg.chiariglione.org/

[2] Broschüre zum HDV-Format:
http://www.panavision.co.uk/pdf/downloads/equipment-info/other/canon-hdv-technical-info-paper.pdf (Letzter Download am 11.01.2010)

Rechtshinweis

Sofern auf dieser Seite markenrechtlich geschützte Begriffe, geschützte (Wort- und/oder Bild-) Marken oder geschützte Produktnamen genannt werden, weisen wir ausdrücklich darauf hin, dass die Nennung dieser Marken, Namen und Begriffe hier ausschließlich der redaktionellen Beschreibung bzw. der Identifikation der genannten Produkte und/oder Hersteller bzw. der beschriebenen Technologien dienen.

Alle Rechte an den in diesem Kompendium erwähnten geschützten Marken- und/oder Produktnamen sind Eigentum der jeweiligen Rechteinhaber und werden hiermit ausdrücklich anerkannt. Alle in unseren Artikeln genannten und ggfs. durch Dritte geschützte Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts sowie den Besitzrechten der jeweiligen eingetragenen Eigentümer.

Die Nennung von Produktnamen, Produkten und/oder der jeweiligen Produkthersteller dient ausschließlich Informationszwecken und stellt keine Werbung dar. InfoTip übernimmt hinsichtlich der Auswahl, Leistung oder Verwendbarkeit dieser Produkte keine Gewähr.

Sollten dennoch wider unserer Absicht Rechte Dritter verletzt werden, so bitten wir um eine Benachrichtigung ohne Kostennote.