2 Datenreduktion nach der MPEG2 - Norm
Übertragungskanäle und Speichermedien haben nur beschränkte Kapazitäten, was aus technischen und ökonomischen Gründen eine Datenreduktion unabdingbar macht. Ein 4:2:0 Videosignal hat beispielsweise eine Datenrate von 124.5 Mbit/s während ein 33 MHz Satellitenkanal bei einer Bandbreitenausnutzung von 1.57 bit/s pro Hz lediglich 52 Mbit/s übertragen kann.
Bild 2.1 Der Kanal als Nadelöhr
2.1 Grundlagen der Datenreduktion
Ein Ziel der Quellencodierung besteht darin, die Datenreduktion so durchzuführen, dass diese für den Beobachter subjektiv nicht oder kaum wahrnehmbar ist. Dies wird durch Ausnutzung gewisser psychovisueller und -akustischer Effekte erreicht (Irrelevanzreduktion). In der Optik sind das unter anderem folgende:
Mach-Effekt: Kontrastübergänge an Kanten werden verstärkt wahrgenommen
Oblique-Effekt: In der Natur sind überwiegend horizontale und vertikale Strukturen
anzutreffen. Der Mensch ist deshalb bei der Orientierung weniger auf diagonale
Strukturen angewiesen. Letztere können also bei der Kodierung rudimentär behandelt werden.
Flächenintegration: Je grösser eine einfarbige Fläche ist, desto genauer können
Farb- und Helligkeitswerte aufgelöst werden - das Auge kann "integrieren". Der
Coder muss also grosse Flächen (kleine Frequenzen im Ortsraum) genauer
quantisieren als kleine.
Es werden zwei Reduktionsansätze unterschieden und im folgenden beschrieben:
2.1.1 Redundanzreduktion und Entropie
Ein Signal enthält redundante Information, wenn diese durch Kenntnisse der Statistik der Nachrichtenquelle vorhersagbar ist. Wenn etwa zwei benachbarte Bildpunkte untereinander korrelieren, spricht man von räumlicher Redundanz, bei korrelierenden Farbflächen oder Frequenzbändern von spektraler Redundanz. Die ähnlichkeit zweier aufeinander folgenden Bilder wird als zeitliche Redundanz bezeichnet.
Der Encoder kann dem Signal redundante Information entziehen, wenn er die Quellenstatistik kennt. Das Signal kann - abgesehen von Rundungsfehlern - wieder vollständig rekonstruiert werden.
Ein Mass für den Informationsgehalt eines Signals ist die Entropie, die von Claude Shannon wie folgt definiert wurde:
  (2.1)
x: Zufallsvariable für die möglichen Signalzustände
P(x)X: diskrete Wahrscheinlichkeitsverteilung
b: Basis des Kodieralphabets; binär: b = 2
Die Entropie wird maximal, wenn X gleichverteilt ist. Weisen jedoch die Signalzustände verschiedene Wahrscheinlichkeiten auf, sind Informationsgehalt und Entropie kleiner. Ein Extrembeispiel: Der Signalwert xihabe die Wahrscheinlichkeit 1, alle restlichen die Wahrscheinlichkeit 0. Damit ist der Informationsgehalt gleich Null und eine übertragung erübrigt sich. Wenn also P(x)Xstark schwankt, was bei Videosignalen der Fall ist, kann das m-wertige Signal mit weniger als den ursprünglichen n = ld(m) Bits übertragen werden. Die Entropie H(x) ist dabei eine untere Schranke für die bestenfalls erreichbare durchschnittliche Codewortlänge. Der Huffman Algorithmus kommt dieser Schranke am nächsten und liefert Codewortlängen, deren Erwartungswert der folgenden Ungleichung genügt:
  (2.2)
Das Ziel der Redundanzreduktion ist, mittels einer Transformation die Datenrate der Quelle zu verringern, so dass eine effiziente Entropiekodierung möglich wird.
2.1.2 Irrelevanzreduktion
Die Signalanteile, die das Auge bzw. das Gehör auf Grund des beschränkten Auflösungsvermögens nicht aufnehmen kann, sind irrelevant und brauchen bei der Kodierung nicht berücksichtigt zu werden, sie sind allerdings durch den Decoder nicht wiederherstellbar. Auch hier trifft man auf räumliche, spektrale und zeitliche Irrelevanz.
Idealerweise sind Verluste, die durch Datenreduktion entstehen, nur messtechnisch und nicht subjektiv erfassbar. In realen Anwendungen jedoch ist es leider nicht vermeidbar, auf relevante und nicht-redundante Information zu verzichten, wenn akzeptable Kompressionsfaktoren erreicht werden sollen.
2.2 Video - Quellenkodierung nach MPEG2
Während MPEG1 im Multimediabereich mit dem Speichermedium CD bei geringen Datenraten von 1.15 Mbit/s seine Anwendung findet, dient die Erweiterung MPEG2 der übertragung von Fernsehsignalen im Zeilensprungverfahren. Das "Main Profile at Main Level" sieht Datenraten von bis zu 15 Mbit/s vor, wobei schon 6 Mbit/s mit der Qualität der PAL Norm vergleichbar und 9 Mbit/s subjektiv kaum vom Original (Studioqualität, RGB) zu unterscheiden ist (Visuelle Transparenz). Wir werden uns im folgenden auf das für DVB vorgesehene 4:2:0 Format beschränken, weitere mögliche Eingangsformate sind in Tabelle 4 aufgelistet.
MPEG2 erreicht seine hohen Kompressionsfaktoren durch Differenzkodierung mit Bewegungsschätzung, einer DCT mit adaptiver Quantisierung und anschliessender Entropiekodierung (Bild 2.2).
Bild 2.2 Schema eines MPEG Videoencoders
2.2.1 Video Vorverarbeitung
Die analogen RGB Komponenten werden nach der AD-Wandlung durch eine lineare Matrixtransformation in den YC1C2-Farbraum konvertiert, was die spektrale Redundanz verringert. Ferner werden so die hohen Frequenzen in der Luminanzkomponente konzentriert, weil das Auge hohe Chrominanzfrequenzen nicht so gut auflösen kann. Nach einer Tiefpassfilterung (wegen Aliasing) werden die Chrominanzkomponenten um den Faktor 2 horizontal und vertikal unterabgetastet. Die Organisation der so entstandenen digitalen 4:2:0 Bilddaten wird im nächsten Abschnitt beschrieben.
2.2.2 Datenorganisation - Layerstruktur
MPEG organisiert die Videodaten in sechs Layerhierarchien (siehe Tabelle 2). Die oberste Schicht, der Sequence-Layer, ermöglicht den Kontextzugriff auf eine Bildsequenz. In seinem Header stehen u.a. Informationen zum Bildformat und Rahmenparameter für den Decoder.
Layer | Funktion |
Sequence | Kontextzugriff (Rahmenparameter) |
GOP | Wahlfreier Einstieg in Decodierprozess |
Picture | Rahmenvorgabe für Codierungsart |
Slice | Synchronisation |
Macroblock | bewegungskompensative Prädiktion |
Block | DCT |
Tabelle 2 MPEG Layerhierarchien
Bild 2.3 zeigt den Aufbau einer Bildgruppe (Group of Pictures) im GOP-Layer. Er erlaubt den (Wieder-) Einstieg in den Dekodierprozess innerhalb maximal einer halben Sekunde nach einem Programmwechsel oder einer Störung mit Bildausfall. Es werden je nach Kodierungsart drei verschiedene Bildtypen unterschieden:
- I (Intra) - Bild: Codierung nur auf Grund eigener Bilddaten
- P (Prediction) - Bild: Codierung unidirektional aus vorhergehenden I- oder P-Bild
- B (Bidirectional) - Bild: Codierung bidirektional aus einrahmenden P- oder I-Bildern
Bild 2.3 GOP: Betrachtungs- und übertragungsreihenfolge
I-Bilder werden ohne Zuhilfenahme von vorhergehenden Bildern codiert, weil andernfalls der Einstieg in den Dekodierprozess nicht möglich wäre. P-Bilder entstehen durch Bewegungsschätzung aus dem letzten I- oder P-Bild, während die Prädiktion von B-Bildern auch das folgende I- oder P- Bild berücksichtigt. Damit lässt sich die Codiereffizienz nochmals deutlich steigern, was aber zur Folge hat, dass die Bilder zeitlich umsortiert werden müssen (Bild 2.3). Coder und Decoder besitzen aus diesem Grunde Bildspeicher. Informationen zur Bildcodierung stehen im Picture Layer Header.
Die Pixel werden in 8x8-Blöcken zusammengefasst (Block Layer), die die Basiseinheit für die Diskrete Cosinustransformation bilden. Vier Blöcke der Luminanz und zwei der Chrominanz (4:2:0) bilden einen Macroblock und werden im Macroblock Layer organisiert. Die Bewegungsschätzung verwendet Macroblöcke der Luminanz. Dabei wird auf Macroblockebene entschieden, ob I, P oder B codiert wird, mit der Einschränkung, dass in einem I-Gesamtbild ebenfalls nur I-Makroblöcke vorkommen dürfen.
Eine Makroblockreihe bildet einen Slice, in dessen Header Resynchronisationsinformationen übertragen werden (Slice Layer).
2.2.3 Differenzcodierung mit Bewegungsschätzung
Zwei zeitlich aufeinanderfolgende Bilder sind - Szenenwechsel ausgenommen - sehr ähnlich und beinhalten zeitliche Redundanz. Wird jedoch nur das Differenzbild codiert, fällt die Entropie wesentlich günstiger aus. Weitere Verbesserungen lassen sich erzielen, wenn nicht das Differenzbild, sondern das bewegungskompensierte Residuum und die entsprechenden Bewegungsvektoren codiert werden: Es wird macroblockweise analysiert, in welche Richtung sich der Inhalt eines Blockes verschiebt. Der Decoder erhält diese Information in Form von Bewegungsvektoren. Zur Bildrekonstruktion werden die Blöcke des alten Bildes gemäss der Vektoren verschoben und das Residuum addiert. Es gibt verschiedene Verfahren zur Bewegungsschätzung. Beim Block-Matching Verfahren werden die Macroblöcke in einem definierten Suchbereich verschoben und ein Korrelationsfaktor bestimmt.
Die Genauigkeit des Algorithmus bestimmt den Entropiegewinn und damit die Datenrate.
2.2.4 DCT - Codierung
Mit Hilfe der Diskreten Cosinustransformation kann dem Signal räumliche Redundanz und Irrelevanz entzogen werden. Die DCT ist wie folgt definiert, wobei bei einer 8x8 Blockgrösse N=8 gewählt wird:
  (2.3)
Die Darstellung der Bilddaten durch DCT- Koeffizienten hat den Vorteil, dass sich die nur im Blockverbund erfassbare räumliche Redundanz (z.B Farbflächen) durch die Transformation verringert, weil sich die Signalenergie auf wenige Koeffizienten konzentriert. Dies sind die Koeffizienten kleiner Frequenzen und vor allem die Grundfrequenz.
Mit Hilfe der DCT lässt sich jedoch auch räumliche Irrelevanz bestimmen und eliminieren: In Bild 2.4 sind die DCT Basisfunktionen gezeigt. Links oben ist der DC Block, rechts unten die grösste Diagonalfrequenz. Auf Grund des Mach- und Obelique-Effektes kann das Auge hohe Frequenzen und insbesondere diagonale weniger fein auflösen. Die entsprechenden Koeffizienten können also gröber quantisiert werden. Die Quantisierungsstufen sind in Tabelle 3 eingetragen.
Bild 2.4 DCT Basisfunktionen
  | u |   |
  |   |   |
  |   |   |
v | 8 | 16 |
19 | 22 | 26 |
27 | 29 | 34 |
  | 16 | 16 |
22 | 24 | 27 |
29 | 34 | 37 |
  | 19 | 22 |
26 | 27 | 29 |
34 | 34 | 38 |
  | 22 | 22 |
26 | 27 | 29 |
34 | 37 | 40 |
  | 22 | 26 |
27 | 29 | 32 |
35 | 40 | 48 |
  | 26 | 27 |
29 | 32 | 35 |
40 | 48 | 48 |
  | 26 | 27 |
29 | 34 | 38 |
46 | 56 | 69 |
  | 27 | 29 |
35 | 38 | 46 |
56 | 69 | 83 |
Tabelle 3 MPEG2 Quantisierungstabelle
2.2.5 Datenratenkontrolle
MPEG2 benutzt bei der übertragung konstante Datenraten. Bei sehr lebhaften Bildinhalten und eventuellem Versagen der Bewegungsschätzung droht ein überlaufen des Ausgangspuffers. Zur Regelung der Datenrate wird der Quantisierer beeinflusst, indem je Macroblock ein globaler Quantisierungsfaktor eingeführt wird, der auf Werte zwischen 1 und 31 eingestellt werden kann. Die DCT Quantisierung wird also insgesamt wie folgt realisiert:
  (2.4)
u,v | Ortsfrequenzen |
Qf | globaler Quantisierungsfaktor |
Gq(u,v) | quantisierte DCT - Koeffizienten |
G(u,v) | unquantisierte DCT - Koeffizienten |
Q(u,v) | Einträge in der Quantisierungstabelle |
2.2.6 Lauflängen- und Huffmancodierung
Bei der Quantisierung der DCT Koeffizienten, werden die meisten Werte - bis auf wenige in der Umgebung des DC Anteils - zu Null. Durch ein Auslesen nach der Zick-Zack-Methode werden die Nullen zu einer Nullfolge zusammengelegt (Bild 2.5).
Bild 2.5 Auslesen der DCT-Koeffizienten nach der Zick-Zack-Methode
Die Lauflängencodierung fasst jeweils die Anzahl der Nullen und den ersten nächsten von Null verschiedenen Koeffizienten zu einem Zahlenpaar zusammen. Anschliessend werden diese Paare huffmancodiert, indem dessen Auftrittswahrscheinlichkeiten bei der Vergabe der Codewortlängen berücksichtigt wird.
Die Kombination dieser beiden Codierungsarten ist hinsichtlich der Bitrate sehr effizient und nähert sich der Entropie auf ein Optimum.
2.3 Audio-Quellencodierung nach MPEG2
Audiosignale enthalten - Sprachsignale ausgenommen - nur wenig Redundanz, weshalb bei der Audiodatenreduktion nur Irrelevanzen berücksichtigt werden können. Man macht sich hierbei die beschränkte spektrale und zeitliche Auflösung des Gehörs zu Nutze. Diese wird durch ein psychoakustisches Modell beschrieben, das dem Encoder zugrunde liegt. Es ist zu bemerken, dass das Gehör feiner als das Auge auflösen kann und Störungen eher wahrnimmt.
2.3.1 Psychoakustische Grundlagen
Schallpegel, die unter der Ruhehörschwelle liegen werden nicht wahrgenommen. Diese Schwelle ist frequenzabhängig und wird in Bild 2.7 - normiert auf den Pegel bei 2 kHz - dargestellt. Ein lauter Ton hebt diese Schwelle in seiner spektralen Umgebung an, dass heisst ein etwas leiserer Ton ähnlicher Frequenz ist nicht mehr hörbar. Dies wird als Verdeckungseffekt bezeichnet. Dabei tritt die Verdeckung nicht nur simultan, sondern auch vor und nach dem maskierenden Ton auf (Bild 2.6).
Bild 2.6 Verdeckungseffekte
2.3.2 Codierverfahren
Der MPEG-Coder stützt sich bei der Datenreduktion auf den Verdeckungseffekt, indem er gerade so fein quantisiert, dass das resultierende Quantisierungsrauschen, das bei hinreichenden kleinen Stufen als gleichverteilt und weiss angesehen werden kann, unter der Maskierungsschwelle bleibt und somit nicht hörbar ist (Noiseshaping). Dazu wird das Audiosignal einer Filterbank zugeführt, die dieses in 32 Frequenzbänder aufteilt. In jedem dieser Bänder wird mittels einer FFT nach maskierenden Tönen gesucht, deren tonalen Eigenschaften bestimmt und daraus die Maskierungsschwellen ermittelt. Die Feinheit der Quantisierung wird nun in einem iterativen Prozess so geregelt, dass der Abstand des Quantisierungsrauschens zur Maskierungsschwelle bei fixer Ausgansdatenrate möglichst gross wird. Bild 2.7 zeigt die Maskierungsschwellen in Anwesenheit dreier Maskiertöne und das verdeckte Quantisierungsrauschen.
Ein 48 kHz 16 bit Monosignal in Studioqualität mit einer Datenrate von 768 kbit/s wird je nach Schaltungsaufwand und geforderter Qualität auf 32 kbit/s bis 448 kbit/s komprimiert, wobei schon ab 100 kbit/s kaum Artefakte hörbar sind.
Bild 2.7 Ruhehörschwelle, Maskierungsschwellen dreier Maskiertöne, Quantisierungsrauschen
Bild 2.8 MPEG Audiocoder
2.4 Gracefull Degradation und Skalierbarkeit
Bei digitalen übertragungsverfahren herrscht das "Alles oder Nichts" Prinzip. überschreitet die Bitfehlerrate eine gewisse Schwelle, versagt die Fehlerkorrektur und der Bildschirm bleibt schwarz. Dies kann bei schwachen Satelliten, kleinen Empfangsantennen und schlechter Witterung zu einem ständigen Wechsel zwischen Empfang und Ausfall führen. Bei Analogen Systemen dagegen wird das Bild in so einem Fall zunehmend schlechter und fällt erst bei sehr kleinen SNRs aus (Gracefull Degradation). Das Konzept der Skalierbarkeit soll ein ähnliches Ausfallverhalten bei der digitalen übertragung bewirken. Dazu wird der Basisinformation des Signals eine höhere Priorität beim Fehlerschutz eingeräumt. Es werden folgende Skalierungsarten unterschieden: Die SNR Scalability teilt den höherwertigen Bits eine bessere Fehlerkorrektur zu. Das hat zur Folge, dass bei schlechtem Empfang zuerst die niederwertigen Bits ausfallen, was sich als rauschartige Störung bemerkbar macht. Bei der Spatial Scalability erhält ein durch Unterabtastung mit dem Faktor 2 räumlich schlechter aufgelöstes Bild eine höhere Priorität (Base Layer), das bei normalem Empfang durch einen Enhancement Layer verfeinert wird. Ganz ähnlich skaliert die Temporal Scalability mit der Bildwiederholfrequenz die zeitliche Auflösung.
Der MPEG2 Standard definiert verschiedene Levels und Profiles, die sich in den angewandten Algorithmen und Auflösungen unterscheiden. Sie sind in Tabelle 4 zusammengefasst. DVB hat sich auf das "Main Profile at Main Level" festgelegt und verzichtet somit auf das Prinzip der Skalierbarkeit.
Profiles Levels |
Simple (keine B-Bilder) |
Main 4:2:0 (nicht skalierbar) |
SNR (skalierbar) |
Spatial (skalierbar) |
High 4:2:2 |
Low SIF |
--- |
352 x 288 Pixel 4 Mbit/s |
352 x 288 Pixel 4 (3) Mbit/s |
--- |
--- |
Main CCIR 601 |
720 x 576 Pixel 15 Mbit/s |
720 x 576 Pixel 15 Mbit/s |
720 x 576 Pixel 15 (10) Mbit/s |
--- |
720 x 576 (352 x 288) Pixel 20 (15; 4) Mbit/s |
High - 1440 HDTV 4:3 |
--- |
1440 x 1152 Pixel 60 Mbit/s |
--- |
1440 x 1152 (720 x 576) Pixel 60 (40; 15) Mbit/s |
1440 x 1152 (720 x 576) Pixel 80 (60; 20) Mbit/s |
--- |
1920 x 1152 Pixel 80 Mbit/s |
--- |
--- |
--- |
1920 x 1152 (960 x 576) Pixel 100 (80; 25) Mbit/s |
Tabelle 4 Profiles und Levels bei MPEG2
Die Werte in den Klammern beziehen sich auf Base und Enhancement-Layer
Es ist noch zu erwähnen, dass MPEG nur den Syntax und die Semantik des Bitstromes und die Kompressionsalgorithmen beschreibt, wobei keine spezielle Anwendung bevorzugt wurde. Damit ist einerseits die Kompatibilität und ein breiter Anwendungsbereich gesichert, anderseits ist die konkrete Realisierung dem Einzelnen überlassen, so dass zukünftigen Verbesserungen nichts im Wege steht.
|