Videokompression mit MPEG

07.01.2001 von RALPH MENN 
Die weltweiten Standards für digitales Video von DVD bis Digitalfernsehen sind die MPEG-Formate. Dahinter steckt eine ausgefeilte Technik, die Videos tausendfach komprimiert - ohne sichtbare Verluste.

Moderne TV-Produktionen arbeiten mit Videoaufzeichnungen, deren Auflösung beim europäischen PAL-Format 720x576 Pixel bei 24 Bit Farbtiefe und 25 Bildern pro Sekunde beträgt. In den USA und Japan ist NTSC gebräuchlich, das mit 720x480 Pixeln in 24 Bit und 30 Bildern arbeitet. Die Signale liegen dabei nicht in dem für Computermonitore üblichen RGB-Farbraum vor, sondern werden in Y (Helligkeitsinformation), Cb (blau-gelb-Balance) und Cr (rot-grün-Balance) umgewandelt. Da das menschliche Auge Farbnuancen weniger gut als Helligkeitsunterschiede wahrnimmt, können die beiden Farbkomponenten ohne nennenswerten Qualitätsverlust auf die Hälfte reduziert werden. Man spricht auch von YCbCr 4:2:2 .

Ein solches Videosignal in Studioqualität erzeugt bei PAL immer noch eine Datenmenge von etwa 240 MBit/s oder 30 MByte/s. Da solche Signale bis zum heutigen Tage von einem Durchschnitts-PC oder Gerät der Unterhaltungselektronik kaum zu verarbeiten sind, muss die Datenrate auf Kosten der Qualität drastisch reduziert werden. Für das digitale Fernsehen und die Wiedergabe von DVD haben sich alle namhaften Hersteller und Betreiber auf MPEG-2 zur Datenkompression geeinigt. Damit können Digital-TV-Programme mit Datenraten von 4-6 MBit/s gesendet werden und benötigen so nur 30-45 MB Plattenplatz pro Minute.

Der MPEG Video Standard

Ermutigt durch den Erfolg der JPEG-Arbeitsgruppe beschloss das internationale Normierungsgremium ISO, auch ein Normierungsprojekt für Bewegtbild- und Audiokompression zu starten, die ISO/IEC JTC1/SC29/WG11. So wurde die Motion Pictures Expert Group (MPEG) ins Leben gerufen, nach der auch die Standards für komprimiertes digitales Video benannt sind. Mit MPEG werden nicht nur Videobilder komprimiert, sondern auch die dazugehörigen Audiosignale. Außerdem sorgt das Verfahren für die Synchronisation zwischen Bild- und Tonsignalen.

Als erstes Ergebnis wurde 1991 der Videokompressionsstandard MPEG-1 eingeführt, der in etwa VHS-Qualität bietet. MPEG-1 war ursprünglich für die Datenübertragungsrate eines CD-ROM bei Single Speed mit 1.4 MBit/s vorgesehen, wird inzwischen aber auch mit höheren Bitraten verwendet.

Video nach MPEG-1 hat in PAL typischerweise 352x288 Pixel, zeigt also das Videobild nur mit einem Viertel der Originalgröße. Ein Nachteil von MPEG-1 ist die konstante Geschwindigkeit beim Auslesen der Daten: Während in kritischen Bewegungsphasen mehr Daten für gute Bildqualität benötigt würden, kommen statische Szenen mit weniger Daten aus. MPEG-2 als Nachfolger erlaubt deshalb variable oder adaptive Datenraten - die Datenmenge ist beim Auslesen nicht mehr konstant, sondern wird dem tatsächlichen Bedarf der Bildinhalte angepasst.

Seit 1995 gilt der MPEG-2 Standard, der digitale Fernsehstudioqualität im Bereich von 8 MBit/s liefert und der auch für hochauflösendes Fernsehen (HDTV) einsetzbar ist. Alle weltweit laufenden Projekte zur Einführung neuer digitaler Fernsehausstrahlungsnormen setzen - trotz aller anderen Inkompatibilitäten wie Frequenzen und Auflösungen - auf MPEG-2.

Auch das Digitalanbebot des deutschen Pay-TV-Senders Premiere World arbeitet mit MPEG-2, verwendet zum Teil aber recht niedrige Bitraten. Damit passen mehr Kanäle in die vorhandenen Frequenzbänder des Fernsehkabels und die Satelliten-Transponder.

So komprimiert MPEG

Zwischen aufeinanderfolgenden Bildern eines Filmes besteht eine sehr hohe Ähnlichkeit, auch Korrelation genannt. Daher kann man bei Videodaten eine deutlich höhere Kompression als JPEG.bei Einzelbildern erreichen.

Zusätzlich zur statischen Korrelation mit den zeitlichen Vorgänger- und Nachfolgebildpunkten sind beim Film Bildpunkte oft durch eine gemeinsame Bewegung oder Kameraschwenks korreliert. Dies wird durch ein motion compensation genanntes Verfahren zur weitern Kompression ausgenutzt.

Der MPEG Algorithmus basiert im wesentlichen auf den gleichen Grundtechniken wie JPEG mit YCrCb Farbraum, 8x8 DCT und Quantisierung. Jedoch wird bei MPEG nur der Huffman-Algorithmus mit fester Codeworttabelle statt dem arithmetischen Coder bei JPEG benutzt. Darüber hinaus ist es bei MPEG möglich, pro 8x8 Block zwischen mehreren Quantisierungstabellen zu wählen - eine sogenannte adaptive quantization. Da diese adaptive Quantisierung einen bedeutenden Kompressionsgewinn ermöglicht, wird derzeit auch der JPEG Standard damit erweitert. Die adaptive Quantization macht allerdings den Encoder komplexer, da zusätzlich die passende Tabelle ausgesucht werden muss.

DCT und Quantisierung

Das Bild wird bei der DCT in 8x8 große Pixelblöcke aufgetrennt, die einzeln abgearbeitet werden. Jeder dieser Blöcke wird der diskreten Cosinus-Transformation unterzogen. Diese ist mit der Fourier-Transformation verwandt und wandelt die räumliche Information der Helligkeitswerte in eine Frequenz-Darstellung um. Die Umwandlung selbst ist bis auf Rundungsfehler verlustlos, bringt aber zunächst keine Reduktion der Datenmenge. Bei der Wiedergabe des Bildes erfolgt eine inverse DCT (iDCT). Die hohe Anzahl dafür nötigen transzendenten Funktionen erklärt den enormen Rechenbedarf einen DVD-Softwareplayers auf einem PC.

Bei der MPEG-Kompression ergeben sich 64 DCT-Koeffizienten für jeden 8x8-Pixelblock. Der oben links im Block stehende Koeffizient wird DC-Komponente oder Gleichanteil genannt. Je weiter man sich von ihm entfernt, desto höher werden die zugehörigen Frequenzen. Da das menschliche Auge für höhere Frequenzen weniger empfindlich ist, kann man diese Anteile je nach gewünschter Höhe des Kompressionsfaktors vernachlässigen. Diese Aufgabe kommt dem Quantisierer zu.

Quantisierung

Um die Anzahl der DCT-Koeffizienten zu verringern, wird jeder Wert durch einen zugeordneten Q(uantisierungs)-Wert dividiert und auf die nächste ganze Zahl gerundet. Die Q-Werte werden dabei Tabellen entnommen, die das JPEG Komitee anhand psycho-visueller Tests an einer Vielzahl von Personen ermittelt hat. Somit wird bei JPEGs der Kompresionsfaktor nicht direkt eingestellt, sondern es wird ein Q-Faktor gewählt, der einer bestimmten Kompression entspricht. Die tatsächlich erreichte Kompressionsfaktor bei einem gegebenen Q-Wert hängt vom Bildinhalt ab.

Artefakte durch Überschwinger

Die Quantisierung ist verlustbehaftet und in Kombination mit der DCT dafür verantwortlich, dass sich an Kontrastkanten bei der Dekompression störende Artefakte ("Klötzchen") zeigen. Da sich die Bildinformationen sprunghaft ändern, divergieren auch die DCT-Koeffizienten entsprechend stark. Soll nun bei der Dekompression versucht werden, diesen Kontratssprung zu berechnen, stößt man mit Cosinus-Funktionen an die mathematische Grenze, da eine endliche Zahl aufsummierter Cosinusfunktionen einen Sprung nur mit Einschwingern annähern können. Dieser Effekt wird auch als Gibb'sches Phänomen bezeichnet. Die nächste Abbildung zeigt eine prinzipielle Darstellung:

Der Gibb'sche Effekt ist allein für die Artefakte verantwortlich. Je weniger Helligkeitskontraste das Bild enthält, umso weniger Artefakte werden auch bei hoher Kompression sichtbar.

Drei Arten von Bildern

Auf dem Weg zu einem MPEG-Video werden mit einem leicht modifizierten JPEG-Algorithmus drei verschiedene Arten von Einzelbildern codiert:

Ein MPEG-Datenstrom besteht in erster Linie aus einer Sequenz von groups-of-pictures (GOP). Jede group-of-pictures enthält genau einen I-frame als erstes Bild. Eine typische GOP besteht etwa aus der folgenden Anordnung von Bildtypen:

I0 - B1B2B3 - P4 - B5B6B7 - P8 - B9B10B11 - P12

Der I-frame ist unabhängig decodierbar, die P-frames beziehen sich auf den vorangegangenen I- oder P-frame und die B-frames beziehen sich auf den vorangegangen und nachfolgenden Frame.

Aufteilung in Makroblocks

Da ein MPEG-Decoder B-frames nur decodieren kann, wenn er den nachfolgenden referenzierten P-frame kennt, müssen die Bilder in einer geeigneten Reihenfolge abgespeichert werden, die nicht der Reihenfolge der Darstellung entspricht:

I0 - P4 - B1B2B3 - P8 - B4B4B6B7 - P12 - B9B10B11

Die Voraussage von P- und B-frames erfolgt bewegungskompensiert. Dazu wird jedes Bild in Macroblocks bestehend aus 16 x 16 Bildpunkten eingeteilt. Bei jedem Macroblock in P- und B-frames ist getrennt vermerkt, ob er völlig neu codiert ist oder nur die Differenz zum Vor- und/oder Nachfolger-P/I-frame enthält.

Sowohl für das Vorgänger- als auch für das Nachfolgerbild kann angegeben werden, um wie viel dort der Makroblock verschoben werden muss, bevor interpoliert wird. Durch diese Verschiebung kann ein entsprechend leistungsfähiger Encoder Bewegungen kompensieren. Hierzu werden Bildteile gesucht, die sich von Frame zu Frame nur verschieben - zum Beispiel sich bewegende Objekte.

Bei der Auswahl der Quantisierungstabelle, der Bewegungskompensationsvektoren und des Macroblocks, relativ zu welchem interpoliert werden soll, muss der Encoder sehr viel Rechenleistung investieren. Die Decodierung ist weitaus einfacher, weshalb MPEG als asymmetrisches Verfahren bezeichnet wird.

Die Bildqualität hängt stark vom im Encoder getroffenen Aufwand ab. Der Standard definiert nur die Funktionalität eines Decoders, so dass bei den Encodern große qualitative Freiräume für den Hersteller bestehen. Daraus erklären sich auch die deutlichen Unterschiede von PC-Encodern wie den Produkten von Xing oder Panasonic.

Skalierte Qualität in einem Datenstrom

Ein Encoder kann in einem Modus mit variabler Bitrate arbeiten, bei dem die Quantisierungstabellen konstant sind und die anfallende Datenrate von der Komplexität des Bildes abhängt. Da dies bei einer vorgegebenen Bandbreite wie bei einem DVD-Laufwerk nicht praktikabel ist, kann ein Encoder auch mit konstanter Bitrate arbeiten. Dazu werden die Quantisierungskoeffizienten solange variiert, bis die zur Verfügung stehende Datenmenge gerade ausgeschöpft ist.

Beim MPEG-2 Standard kommen unter anderem noch Möglichkeiten der getrennten Behandlung von geraden und ungeraden Zeilen hinzu, um mit Quelldaten im Zeilensprungverfahren (Interlacing) zurechtzukommen. Statt 25 kompletten Bildern speichern Videoaufzeichnungsgeräte nämlich für jede Sekunde 50 Halbbilder. In einem Halbbild sind nur die geraden, im andern nur die ungeraden Zeilen enthalten.

Ferner besteht ähnlich dem sequential/hierarchical mode in JPEG die Möglichkeit, auf einem Kanal ein grobes Bild zu übertragen und auf einem zweiten Kanal das Differenzsignal zum qualitativ hochwertigen Bild - MPEG ist daher qualitativ skalierbar. Dadurch wird es beispielsweise möglich, beim digitalen Fernsehen zusätzlich zu den normalen Fernsehsignalen noch ein hochauflösendes 16:9 Format (HDTV) auszustrahlen, ohne übermäßig mehr Bandbreite zu belegen. Ähnlich arbeiten auch DVDs, auf denen ein Breitwandbild mit allen Zeilen abgelegt wird.

MPEG für Bildtelefonie

Neben dem MPEG Standard existiert noch der p x 64 Standard, der für Bildtelefon- und Videokonferenzanwendungen vorgesehen ist. Er ist vergleichbar mit einer einfachen Version des MPEG Standards. Die Ausgangsdaten liegen im Common Intermediate Forma (CIF) mit einer Luminanzauflösung von 352x288 Bildpunkten, der halben Chrominanzauflösung und einer Rate von etwa 10 Bildern pro Sekunde vor.

Der Encoder vergleicht mittels einer zusätzlichen inversen DCT permanent das übertragene verlustbehaftete Bild mit den Ausgangsdaten und überträgt die Differenz. Durch diese Rückkopplung konvergiert bei ruhigem Bild das Decodierergebnis in mehreren Schritten, während bei häufigen Bildänderungen nur der grobe Bildinhalt übertragen werden kann - das Bild wird schlechter, friert aber nicht ein.

Der p x 64 Standard ist, wie der Name andeutet, für die Bandbreite eines oder mehrerer 64 kbit/s ISDN B-Kanäle ausgelegt. Durch den Verzicht auf die bidirektionale Interpolation wird eine kürzere Verzögerung im Vergleich zu MPEG erreicht, was bei Bildtelefonanwendungen wichtig ist. Wie bei MPEG wird auch eine 16x16-Macroblock-Bewegungskompensation eingesetzt.

MPEG-2 Profile

MPEG-2 baut grundsätzlich auf den Videokompressionsroutinen von MPEG-1 auf, um eine ganze Reihe sog. "Coding Tools" anzubieten. Diese werden in sogenannten "Profilen" gruppiert, um verschiedene Funktionalitäten zu realisieren. Aus Gründen der Standardisierung muss der MPEG-2-Decoder den Qualitätsbereich von ISDN-Videokonferenz bis DVD-Wiedergabe und Satellitenübertragung abdecken.

High level

High-1440 level

Main level

Low level

Nur Kombinationen die mit einem "X" gekennzeichnet sind, werden vom Standard unterstützt.

Simple

x

Main

x

x

x

x

Störabstand (S/N) skalierbar

x

x

Spatial scalable

x

High

x

x

x

Multiview

x

4:2:2

x

Das neueste Profil "4:2:2" ist für Studioanwendungen bei hoher Bitrate definiert worden, bei denen die Farbsignale YCbCr in der Kombination 4:2:2 vorliegen und somit höchsten Qualitätsansprüchen gerecht werden.

MPEG-2 beinhaltet auch eine Audiokompression, die bei 20% der Originalgröße immer noch sehr gute Audioqualität erlaubt. Die Kompressionsrate liegt damit unter der des MP3-Verfahrens, das typischerweise (128 kBit/s) nur noch 10% der Originaldaten übrig lässt.

Die Datenrate bei einer typischen MPEG -2-Wiedergabe für Bild und Ton liegt bei etwa 150kByte/s, also etwa 1,2 MBit/s. Für die Kodierung der hochwertigen HDTV Signale war ursprünglich ein MPEG-3-Format angedacht. Nach intensiven Untersuchungen wurde jedoch festgestellt, dass schon der MPEG-2 Coder bei hohen Bitraten und 4:2:2 Subsampling ausreichend gute Qualität produzierte und so wurde ein MPEG-3 Format nie eingeführt. Oft wird MPEG-3 mit MP3 verwechselt, das eigentlich MPEG-1 Layer 3 heißt.

Was ist neu an MPEG-4?

Eine weitere Ausprägung des MPEG Formats ist ursprünglich für Anwendungen niedriger und niedrigster Bandbreite entwickelt worden. An MPEG-4 wurde schon seit 1996 für den Mobilfunkbetrieb intensiv geforscht. Der momentan aktuelle Layer 2 beinhaltet allerdings wesentlich mehr als nur extrem hohe Kompressionsraten.

So ist er mehr als eine Kombination der MPEG-1 und -2 Techniken mit zusätzlichen Multimedia Elementen zu verstehen. Neben einer speziellen Version der DCT arbeiten hier auch wieder die Motion-Compensation und eine zusätzliche Audiokompression an den Daten.

Erstmals wird bei einem Bild neben der Bewegung (Motion) und der Textur auch die sog. Form übergeben (Shape).

Damit ist es möglich mit Hilfe sog. "Sprites" beliebig konturierte Standbilder über die sich bewegenden Bilder zu schieben.

Außerdem erweitert MPEG-4 die Darstellung hin zu 3D-Objekten, einer VRML-ähnlichen Scriptsprache und einer Java-Schnittstelle zur Ansteuerung externer Hardware.

Die Kompressionsrate für Bilder ist bei MPEG-4 nicht höher als bei MPEG-2. Lediglich Sprites können sehr viel höher komprimiert werden, weil dem Coder dafür wesentlich mehr Zeit zur Verfügung steht. Eventuell kann dabei auf Wavelets umgeschaltet werden. Außerdem kann über die Skriptsprache in wenigen Bytes eine Operationen wie "Verschieben" wesentlich kürzer beschrieben werden, als die digitalisierte komprimierte Form der gleichen Operation.

MPEG-4: Extrem flexibel

MPEG-4 vereinigt zahlreiche unterschiedliche Ansätze, multimediale Inhalte komprimiert darzustellen. Erwähnenswert ist die extreme Fehlertoleranz mit Hilfe eines rückwärts lesbaren Codes, die für den mobilen Funkbetrieb unerlässlich ist, bei stationären Anwendungen allerdings keinen Vorteil bietet.

Außerdem gestattet MPEG-4 bei der Übertragung von Standbildern den Kompressionscodec von DCT zu einer Waveletkompression zu wechseln. Dessen Kompressionsrate ist gegenüber der DCT um mindestens 30-50% besser, die von JPEG her bekannten blockartigen Artefakte treten nicht mehr auf. Neu ist auch die Unterstützung skalierbarer Information, bei der z.B. Bilddaten durch einen skalierbaren Bitstrom in normaler PAL und HDTV-Auflösung in einem Signal gleichzeitig gesendet werden.

Erstmals sind in MPEG-4 auch sicherheitstechnisch relevante Anwendungen denkbar, wie z.B. die objektorientierte Darstellung einer Überwachungskamera. Solange sich das Objekt "Hintergrund" nicht verändert, kann er sehr stark komprimiert werden. Dadurch steht dem Objekt "Vordergrund" fast die volle Bandbreite zur Verfügung. Darin enthaltene bewegte Objekte können daher mit höher Qualität dargestellt werden.

Anwendungsgebiete von MPEG-4

Bisher ist "MPEG-4" als kompletter Standard noch nicht verabschiedet. Die bisher existierenden Implementationen stützen sich immer nur auf einen Teilaspekt. So ist beispielsweise der gehackte "DivX ;-)"-Codec für Windows nur auf Video ausgelegt, ohne die restlichen beschriebenen Aspekte zu berücksichtigen.

Gedacht ist MPEG-4 neben Video aber auch für folgende Bereiche:

Ausblick

Der erste Schritt, MPEG-4, Layer 2 ist im Oktober 2000 verabschiedet worden. Jetzt geht es für die Hard- und Software-Hersteller an die Implementierung. Was sich heute "MPEG-4" nennt, wird relativ sicher mit zukünftigen Implementationen inkompatibel sein. Für die Video-Codecs eines Windows-PCs ist die Kompatibilität aber so lange gegeben, wie sie noch auf den nächsten Windows-Versionen laufen. Dies ist seit Windows 3.1 der Fall.

Wie komplex die Funktionalität von MPEG-4 ist, kann man an der Einzeldefinition von über 40 Profilen sehen, die jeder eine eigene spezielle Anwendung darstellt. Darunter befinden sich Profile nur für Audio, Video, Grafik und 2/3D-Darstellung.

Neben der eigentlichen ISO-Gruppe bemüht sich auch ein eigenes Industrieforum für MPEG-4 sowie die Europäische Projektgruppe EMPHASIS um weitere Anwendungen der MPEG-4 Spezifikation.

Die DVD hat MPEG, hier in Form von MPEG-2, erstmals ins Bewusstsein der Konsumenten gerückt. Während MPEG-2 jetzt schon für DVD und Digitalfernsehen eingesetzt wird, ist MPEG-4 als universelles Format für jegliche digitale Übertragung gedacht. Die Kompressionsraten steigen damit nochmals deutlich.

Der Rechenaufwand sowohl für Encoding wie Decoding steigt mit jeder MPEG-Generation. Die enorme Rechenleistung erst angekündigter Mobil-Prozessoren wie Intels Xscale ist also nicht Selbstzweck. (nie)