Temporale Mediatypen II
 
Komprimierungstechniken
vom Foto zum Movie: die JPEG- und MPEG-Standards
 
 
 
von Dirk Koert und Tobias Schilgen
Universität Paderborn
 
25. November 1997
 
 
 
 

 
Kurzfassung

Bilder, Animationen und Videoclips haben in den letzten Jahren mit zunehmender Tendenz in die Rechnerwelt Einzug gehalten. So wäre z. B. das WWW ohne die zahlreichen Bilder, die in HTML-Dokumenten eingebunden sind, für viele Zwecke nur halb so attraktiv. Der Mensch ist es intuitiv gewohnt, nicht nur bevorzugt mit Texten zu arbeiten sondern auch in Bildern zu denken und mit ihnen umzugehen. Dieser neuen Qualität wird mit einem steigenden Aufwand an zu verarbeitenden Datenmengen Tribut gezahlt. Wie können nun qualitativ hochwertige Fotos und Videosequenzen effizient über Datennetze mit endlicher Bandbreite transportiert und auf platzbeschränkten Datenträgern oder in Datenbanken kostensparend abgelegt werden? Es existieren mittlerweile verschiedene Komprimierungstechniken, die den Datenaufwand erheblich reduzieren. Die weiteren Ausführungen werden solche Verfahren kurz erklären. Anschließend werden die auf diesen Grundlagenverfahren aufbauenden ISO/CCITT-Standards JPEG und MPEG vorgestellt und auch technisch diskutiert, so daß es dem Leser möglich sein wird, zu entscheiden, ob und wie er diese Verfahren für seine Zwecke einsetzen kann.
 
1. Einführung

Ein Multimedia-Lexikon wird handhabbar...

Seit 1992 gibt es das Lexikon "Encarta" von Microsoft. Dieses besteht neben über 30000 Lexikonartikeln auch aus einer umfangreichen Sammlung von multimedialen Elementen: mehr als 7000 Fotos, 7 Stunden Tonaufnahmen, 100 Animationen und 800 Karten. Die Besonderheit dieses Werkes besteht nun darin, daß die Autoren es geschafft haben, eine solche umfangreiche Datensammlung auf eine einzige CD mit weniger als 600 MB Kapazität zu packen. Die Bilder sind nicht nur einfach strukturierte Cliparts sondern Fotos von Landschaften, Personen, Maschinen, Gebäuden etc. und weisen eine angenehm hohe Qualität auf – sind also keine grobpixeligen 16-Farben-Bilder in Briefmarkenformat. Wie gelingt es, eine Datenmenge, die weit im Gigabyte-Bereich liegt - ein Lexikon dieses Umfangs enthält etwa 20-40 GB Daten - auf eine einzige CD zu pressen?

...obwohl der Datenaufwand von digitalen Bildern das kaum erwarten läßt.

Ein Rechenbeispiel macht deutlich, welche Datenmengen durch die Verarbeitung von Bildern zustande kommen. Wenn man beispielsweise ein DIN A4 formatiges Foto mit einem zur Zeit üblichen Flachbettscanner in einen Rechner einliest ergibt sich der Datenaufwand durch folgende kurze Rechnung.

Dabei nehmen wir an, daß mit einer Auflösung von 300 dpi (dots per inch) und einer Farbtiefe von 24 Bits pro Pixel gescannt wird.
 

(21.0 cm / 2.54 cm) * 300 dpi * (29.7 cm / 2.54 cm) * 300 dpi * 24 Bit = 26.1 MByte

Mit diesem Ergebnis wäre ein Anwender nicht besonders glücklich, da sich so nur ca. 100 Fotos auf einer 2,6 GB-Festplatte ablegen ließen. Das ergäbe bei derzeitigen Festplattenpreisen einen Kostenaufwand von DM 3,50 pro Foto. Auch im Internet ließen sich so kaum umfangreiche Bilddarstellungen – wie z. B. in Online-Katalogen – realisieren, da die Übertragung eines Bildes vielleicht Stunden oder Tage dauern würde.

Der Badeschwamm in der Streichholzschachtel.

Ein digitalisiertes Realbild enthält in seiner Rohform eine große Menge an redundanten und irrelevanten Daten, die mit effizienten Rechenverfahren eliminiert werden können. So kann man Bilder zur platzsparenden Lagerung oder zeitsparenden Übertragung durch Netzwerke wie einen Badeschwamm in eine kleine Schachtel packen. Werden sie nach der Übertragung wieder zur Ansicht oder Bearbeitung benötigt, dann packt man sie wieder aus und wie der Badeschwamm erhalten sie wieder (nahezu) ihre ursprüngliche Form. Zu unterscheiden sind dabei Verfahren, die die genaue Rekonstruktion des Originalbildes zulassen oder Verfahren, bei denen das rekonstruierte Bild in vorher vereinbarten Schranken Differenzen zum Original aufweist.

Diese Verfahren lassen nach dem derzeitigen Stand der Technik eine Kompression von 1:50 zu – der durchschnittliche Faktor liegt jedoch im Bereich 1:15–1:20, d. h. die komprimierten Abbilder haben ca. 1/20 des Datenumfanges des Originalbildes.
 

2. Codierungs- und Komprimierungstechniken

2.1 Anforderungen

Beim Einsatz in Multimedia-Systemen werden hohe Anforderungen an Komprimierungsverfahren gestellt: Die Qualität der komprimierten und anschließend wieder dekomprimierten Daten soll möglichst gut sein [ST93]. Gleichzeitig sollen die Algorithmen effizient sein, damit sie in sinnvoller Weise auf einer großen Menge von verschiedenen Rechenmaschinen eingesetzt werden können.

Folgende Anforderungen sollen ein möglichst weites Feld für den Einsatz eines Komprimierungsverfahrens offen halten ([ST93]):

2.2 Redundanz und Irrelevanz

Betrachtet man die digitale Darstellung eines Realbildes, dann besteht es zu großen Teilen aus Daten, die reduzierbar sind. Ein digitalisiertes Bild wird zum Beispiel RGB-codiert im Speicher abgelegt: jedes Pixel des Originalbildes wird durch ein Tripel bestehend aus je einem Wert für den Rot-, den Grün- und den Blauanteil repräsentiert. Wie in dem Rechenbeispiel weiter oben demonstriert ist diese Darstellung sehr platzaufwendig. Die Idee der Komprimierung besteht nun darin, eine geeignetere Codierung des Bildes zu finden, die wesentlich weniger Speicherplatz benötigt. Die Existenz einer solchen Codierung beruht nun auf der Tatsache, daß das Bild in der RGB-Darstellung (oder einer beliebigen anderen Pixelrepräsentation, z. B. YUV, HLS, (s. [FE92])) überflüssige Informationen enthält.

Solche Informationen werden unterschieden in redundante und irrelevante Informationen.

Redundante Informationen werden bei der Komprimierung entfernt und können im Dekomprimierungsvorgang wieder zu 100 Prozent rekonstruiert werden. Es treten also keine Qualitätsverluste während der Codierung auf. Beispiel: Wird im Einwohnermeldeamt für jede Person der Vor- und Nachname, die Adresse, das Alter und das Geburtsdatum gespeichert, dann ist die Information über das Alter redundant, da das Alter auch aus dem Geburtsdatum berechnet werden kann. Das Alter muß also nicht explizit in der Datenbank gespeichert werden, sondern kann bei Abruf wieder ermittelt werden.

Irrelevante Informationen sind Daten, die aufgrund ihrer Unwichtigkeit mit geringerer Auflösung codiert werden können. Dabei nimmt man in Kauf, daß aufgrund der auftretenden Ungenauigkeiten Information verlorengeht. Nimmt man z. B. ein Pixel in YUV-Darstellung, dann enthält der UV-Anteil die Farbinformation und der Y-Anteil die Helligkeitsinformation dieses Pixels. Vom menschlichen Auge weiß man, daß es Helligkeitswerte wesentlich feiner unterscheiden kann, als Farbwerte. Also stellt man dem U- und dem V-Wert je 4 Bits zur Verfügung während man den Y-Wert mit 8 Bits codiert, anstatt alle Werte mit je 8 Bits zu codieren.

2.3 Schritte vom Realbild zum komprimierten Abbild

Die folgende Abbildung zeigt, wie die Komprimierung eines Einzelbildes abläuft:
 

Dieses Vorgehen ist nicht allgemeingültig, wird aber im JPEG-Algorithmus so angewendet. Aus diesem Grund sollen die einzelnen Schritte hier kurz erläutert werden. Der Dekomprimierungsvorgang erfolgt in umgekehrter Reihenfolge mit den zu diesen Einzelschritten inversen Verfahren.

 
2.4 Codierungsverfahren

Die Bilddatenkomprimierung beruht auf Algorithmen, die aus den Originalbilddaten nach einer Abbildungsvorschrift ein codiertes Abbild des Originals erzeugen: der Code der Abbildung (z.B. Huffman-Code) ist dabei insgesamt kürzer, als die Codierung des Originalbildes (z.B. RGB-Code). Die Abbildungsvorschriften lassen sich in verschiedene Kategorien einteilen. Man unterscheidet zwischen Entropie-, Quellen- und hybrider Codierung.

2.4.1 Entropiecodierung

Diese Verfahren versuchen in der Codierung eines Bildes die redundanten Informationen zu minimieren. Im Idealfall enthält das codierte Bild keine Redundanzen mehr und wird durch einen Code mit größtmöglicher Informationsdichte beschrieben. Dies gilt jedoch nur aus informationstheoretischer Sicht, da hier nur die Kombinationen der Bits betrachtet werden, ohne deren Bedeutung zu berücksichtigen. Die zu komprimierenden Bilddaten werden nur als eine Sequenz von Binärworten betrachtet. Jedes Wort wird auf ein eindeutig definiertes Codewort abgebildet. Das Codewort vertritt das eigentliche in der komprimierten Bitsequenz.

Bei der Decodierung wird umgekehrt vorgegangen. Aus jedem Codewort wird die ursprüngliche Darstellung der Bildinformation wieder hergestellt. Der Komprimierungseffekt kommt dadurch zustande, daß die gewählten Codewörter insgesamt wesentlich kürzer sind. Das deutet darauf hin, daß die Information bei der Komprimierung nicht mehr mit fester Wortlänge von z. B. 16 Bits codiert wird, sondern daß die Codewörter verschiedene Längen haben. Da mit der Entropiecodierung nur Redundanzen entfernt werden, arbeitet diese auch verlustfrei: die ursprünglichen Bildinformationen können aus den codierten Bildinformationen zu 100 Prozent wiedergewonnen werden. Da diese Codes bedeutungsfrei angewendet werden, kann man mit denselben Verfahren neben Bildern auch beliebige Datenströme verarbeiten, z. B. Audio-, Text- und Videodaten.

Einige Kandidaten der Entropiecodierung werden an dieser Stelle vorgestellt – von besonderem Interesse für das eingehendere Verständnis der JPEG-Codierung in Kapitel 3 sind der Huffmancode und die Arithmetische Codierung.

XZZZYBAAAAAAAAAAAAAAAAAAAAAAAAAATG ® XZZZYB(A;26)TG

Wenn in einem digitalen Bild im RGB-Code beispielsweise eine Folge von 26 gleichwertigen RGB-Tripeln vorkommt, dann speichert der Coder, anstatt 26mal denselben Wert zu speichern, das Tripel nur einmal verbunden mit dem Wert 26 als Integer codiert – so weiß der Decoder später, daß er eine Folge von 26 RGB-Tripeln gleichen Wertes erzeugen muß.

Sinnvoll kann dieses Verfahren nur für Bilder mit vielen homogenen Farbflächen angewendet werden. Hat ein Bild dagegen feine Musterstrukturen, werden sie in nur sehr geringem Maße komprimiert bzw. kommt der Algorithmus überhaupt nicht zum Tragen.

Ein Beispiel der adaptiven Codierung ist die  
2.4.2 Quellencodierung

Quellencodierungen reduzieren das Originalbild um die irrelevanten Informationsanteile. Dazu wird die Semantik der Informationen mit einbezogen. Der Algorithmus geht davon aus, daß es sich bei dem zu komprimierenden Datenstrom um Bilddaten handelt und kann bei der Codierung die Informationen unterschiedlich bewerten. So können beispielsweise höherfrequentige Bildanteile – d. h. Bildteile mit starken Kontrasten – mit einer höheren Anzahl an Bits pro Pixel codiert werden, als niederfrequentige Bildanteile. Es werden zur Kompression die medienspezifischen Eigenschaften ausgenutzt. So können in Bilddaten Farb- und Helligkeitsanteil getrennt betrachtet werden und mit verschiedenen Auflösungen codiert werden. Bei Sprachdaten kann über eine Transformation des Zeitsignals in den Frequenzbereich und einer anschließenden Codierung der Formanten eine erhebliche Reduktion der Datenmenge erfolgen [ST93].

Wie findet man nun die irrelevanten Informationsanteile? Einen möglichen Lösungsansatz bietet die

Eine andere Möglichkeit ist, unwichtige transformierte Daten nicht auf Null zu setzen, sondern bei der Codierung mit einer geringeren Anzahl von Bits aufzulösen.

Der Decodierungsvorgang verläuft umgekehrt. Die Daten werden erst decodiert und dann mit der inversen Transformation wieder in den ursprünglichen Darstellungsraum zurücktransformiert. Durch die Ungenauigkeiten bei der Codierung der transformierten Werte gehen jedoch (irrelevante) Information verloren. Der auftretende Verlust ist abhängig von der Codierungsauflösung.

Zur Transformation von Bilddaten nutzt man die diskrete Cosinus-Transformation (DCT), die mit der DFT verwandt ist, aber auf reellen Zahlen beruht, während die Fouriertransformation in der komplexen Zahlenebene arbeitet. Zum Verständnis des Frequenzbegriffes in Bilddaten: hohe Frequenzen werden in einem Grauwertbild durch benachbarte Pixel dargestellt, die sich in ihrer Helligkeit stark unterscheiden. Als Beispiel betrachte man die Satellitenaufnahme weiter unten. Die Grenzen zwischen den hellen und dunklen Ackerflächen stellen hohe Frequenzen dar. Dagegen bestehen niedrige Frequenzen zwischen benachbarten Pixeln, die sich kaum in ihrer Helligkeit unterscheiden. Das sind in dem Satellitenbild etwa zwei Pixel innerhalb einer Ackerfläche.

Unterwirft man das Satellitenbild nun einer DFT, dann erhält man eine Spektral-darstellung des Bildes. Die Grauwerte im Zentrum des Spektrums repräsentieren die hochfrequenten Pixel während die äußeren Werte die niederfrequenten Pixel repräsentieren. Je heller ein Grauwert in der Spektraldarstellung ist, desto häufiger kommt sein Frequenzwert in dem Ausgangsbild vor. Würde man etwa alle Pixel innerhalb eines Radius von 30 Pixeln um das Zentrum der Spektraldarstellung herum auf Null setzen, also auf schwarz, dann würde das Foto nach der Rücktransformation unschärfer erscheinen, da die scharfen Kanten z. B. an den Ackergrenzen weicher erschienen.
 

Satellitenbild
Spektraldarstellung
 
Ein Bild enthält im Regelfall sehr viel mehr niederfrequente Pixel, als hochfrequente, also mehr Pixel innerhalb gleichfarbiger Flächen, als Pixel, die als scharfe Kanten nebeneinander liegen. Wenn man nun die große Anzahl der niederfrequenten Pixel im Codierungsschritt nach der Transformation mit einer kleinen Anzahl von Bits pro Pixel quantisieren kann, erzielt man eine erhebliche Reduktion des Datenaufwandes. Die Notwendigkeit von weniger Bits pro Pixel ergibt sich dadurch, daß sich die niederfrequenten Pixel in der Regel nicht so stark voneinander unterscheiden, wie die hochfrequenten (s. Spektraldarstellung) – sie können dadurch mit einem relativen Code sehr effizient zusammengefasst werden.
Die Idee ist also, nicht das gesamte Frequenzspektrum (auch Frequenzband genannt) zu codieren, sondern nur die für den jeweiligen Zweck nötigen und wichtigen Anteile (Subbänder). Bei Sprachdigitalisierung in Telefonqualität wäre das beispielsweise das Frequenzband zwischen 100 Hz und 8000 Hz.
 
2.4.3 hybride Codierung

Die hybriden Ansätze werden in den meisten Multimedia-Systemen eingesetzt, sie sind aber eigentlich immer nur Kombinationen der Quellen- und Entropiecodierung, keine verfahrens-technisch neuen Algorithmen [ST93].

3. JPEG – ein Standard

3.1 Warum ein Standard?

Die in Kapitel 2.1 geforderte Kooperationsfähigkeit eines Komprimierungsverfahrens ermöglicht erst den Austausch von Bildern zwischen verschiedenen Systemen. Als Beispiel ist folgender Sachverhalt denkbar: Ein Berichterstatter in Hong Kong möchte ein Bild, das er mit seiner Digitalkamera aufgenommen hat, in die Datenbank seines Verlages in Deutschland einspielen. Dazu überträgt er die Bilddaten aus dem Kameraspeicher mit einem Modem über einen Satelliten an den Empfangsrechner. Das kann aber nur gelingen, wenn die Kamera dasselbe Bildformat unterstützt wie der Empfangsrechner. Obwohl beide Systeme von verschiedenen Herstellern kommen, gelingt die Übertragung wenn sie einen vereinbarten Bildformatstandard unterstützen.

Welche Wirkung die Definition eines Standards haben kann, sieht man heute am Beispiel des Fax-Standards. Weltweit können heute Faxgeräte und Computer miteinander Dokumente austauschen. Dieses Format unterstützt die Codierung von beliebigen Rasterbildern jedoch nicht die Codierung von Grauwert- oder Farbbildern.

3.2 Entstehung des JPEG-Standards

Im Juni 1982 wurden die Arbeiten zur Entwicklung eines Standards zur Komprimierung und Dekomprimierung von digitalen Bildern von der Working Group 8 der ISO aufgenommen. Fünf Jahre später, im Juni 1987, wurde das Ergebnis in Form von 10 unterschiedlichen Verfahren zur Codierung von Farb- und Grauwertbildern vorgestellt. Diese wurden verglichen und 3 davon vertiefend untersucht. Eine adaptive Transformationscodierung basierend auf der diskreten Cosinustransformation (DCT) hat subjektiv die besten Resultate erhalten. Das beste Verfahren wurde anschließend unter Beachtung der anderen beiden Methoden weiterentwickelt. Die unter dem Namen JPEG (Joint Photographic Experts Group) bekannte Codierung ist eine gemeinsame Aktivität der ISO/IEC JTC1/SC2/WG10 und der Kommission Q.16 der CCITT SGVIII.

JPEG ist seit 1992 ein ISO International Standard [ST93].

JPEG ist heute in einem Satz gesagt ein schnelles, allgemein frei verfügbares und weitverbreitetes Verfahren zur Codierung von Grauwert- und Farbbildern.

3.3 Anforderungen

Wie schon in Kapitel 2.1 angedacht, werden auch an das JPEG-Verfahren im Hinblick auf die multimediale Anwendung und die möglichst weite Verbreitung des Verfahrens eine Reihe von Anforderungen gestellt und weiter spezialisiert.

 
sequentiell
progressiv
  3.4 Formate – die verschiedenen JPEG-Modi

Im JPEG-Algorithmus werden 4 Modi unterschieden, die zum Teil noch Varianten enthalten. Nicht jede Anwendung muß jeden Modus unterstützten. Obligatorisch ist jedoch der erste, sogenannte Basline Process.

 
3.5 Ein Beispiel der JPEG-Codierung

Das folgende Schema veranschaulicht den Aufbau des Codierers bzw. Decodierers.

 

 

 

 

Ausgegangen wird in diesem Codierungsbeispiel von einem beliebig großen Grauwertbild.

(a) Im ersten Schritt, wird ein 8 mal 8 Pixel großer Block, der aus der Bildaufbereitung hervorgeht, betrachtet, dessen Werte alle im Bereich von 0 bis 255 liegen und den jeweiligen Grauwert des Pixels darstellen.

(b) Die Werte werden alle geshiftet, so daß sie jetzt zwischen –128 und 127 liegen, anstatt zwischen 0 und 255. Dieser Vorgang ist für die folgende Cosinustransformation erforderlich.

(c) Nach der Transformation mittels DCT enthält der Block nun die Transformationswerte. Dabei stellt der Wert links oben den Gleichanteil des Blockes dar, während die übrigen Werte nach rechts und nach unten zunehmend höhere Frequenzwerte des Blockes repräsentieren. Der Gleichwert steht für den durchschnittlichen Grauwert des gesamten Blockes, während die Wechselanteile die verschiedenen Helligkeitsunterschiede des Blockes definieren. Erkennbar ist hier, daß sich der Gleichwert deutlich von den Wechselwerten abhebt und die Wechselwerte sich nicht sehr stark voneinander unterscheiden und nahe um Null herum liegen.

Mit den Quantisierungseinheiten, die einer Tabelle (d) entnommen werden, werden im Folgeschritt die Transformationswerte quantisiert. Man bemerkt, daß nun viele hochfrequente Koeffizienten in (f) gleich Null sind. Nach einer lineraren Anordnung der Werte in Zick-Zack-Reihenfolge erhält man die Sequenz in (f). Somit stehen jetzt alle Werte mit aufsteigender Frequenz hintereinander. Diese Folge gewinnt man, indem man alle Werte der Matrix diagonal von links unten nach rechts oben angefangen mit dem Gleichwert in Zick-Zack-Reihenfolge durchläuft. Der gewünschte Effekt dieses Umstandes ist, das nun sehr viele Nullen hintereinanderstehen, die in der anschließenden Entropiecodierung reduziert werden können.

Nach einem weiteren Zwischenschritt (g) gelangt man dann nach der Entropiecodierung mittels Huffmanverfahren zu der Bitsequenz (e). Diese enthält nur noch 98 Bits anstatt der ursprünglichen 512 Bits.
 
4. MPEG – ein Standard für Bewegtbilder

4.1 Warum einen weiteren Standard?

Die Komprimierung von Audiodaten und bewegten Bildern stellt wesentlich höhere Anforderungen an die Kromprimierungsalgorithmen als die Codierung eines einzelnen Bildes wie unter JPEG. Es wird wesentlich mehr Speicherplatz benötigt, da ein Film als Menge von n-Einzelbildern angesehen werden kann. Weiterhin muß die Codierung und vor allem die Decodierung dieser Daten häufig in Echtzeit erfolgen. Die Algorithmen müssen dabei sowohl den wahlfreien Zugriff auf möglichst viele einzelne Bilder (Standbilder) als auch das Rückspulen eines Filmes erlauben. Diesen Anforderungen genügt JPEG nicht. Somit mußte ein weitere Standard, MPEG, gefunden werden. Im Mai 1988 wurde dann die Moving Expert Group (MPEG), eine Untergruppe der ISO gegründet.

4.2 Anforderungen

Für MPEG werden noch mehr Vorgabe benötigt als bei JPEG um die Codierung zu ermöglichen.

Nachdem die Filme bzw. die Einzelbilder so aufgearbeitet worden sind, wobei dies kein eigentlicher Bestandteil des MPEG-Codierers ist, kann die Bildverarbeitung erfolgen.

4.3 Bildverarbeitung

Bei MPEG werden Bilder wie unter JPEG codiert. Dabei durchläuft das Bild die folgenden Schritte, wobei die Bildaufbereitung nicht eigentlicher Bestandteil des Codierers ist.

Die Bilder eines Filmes können als ein Folge von Einzelbilder angesehen werden. Somit könnte man einfach versuchen jedes Bild mit den JPEG-Methoden zu komprimieren. Dabei stößt man jedoch sofort auf die Grenzen von JPEG. Dieses Codierungsverfahren ist einfach zu langsam, um auch nur das Abspielen eines Filmes in Echtzeit zu ermöglichen. Außerdem wären die Filme immer noch relativ lang, da man bei Bildfolgen noch weitere Informationen zur Datenkompression nutzen kann.

Um nun die Anforderungen wie Schnelligkeit, freie Wahl der Standbilder und Rückspulbarkeit zu gewährleisten, die bereits in der Einleitung erwähnt worden sind, zu erfüllen, sind in MPEG vier verschiedene Bildarten definiert worden. Das wären:

I-Bilder

I-Bilder sind Intraframe Coded Pictures. Bei solchen Bilder werden nur Informationen aus dem Bild selbst genutzt. JPEG ist demnach ein Interframe Coded Verfahren. Tatsächlich basiert die Codierung dieser Bilder auch auf JPEG. Allerdings ist die Kompressionsrate hier niedriger, da in Echtzeit gearbeitet werden muß.

Die I-Bilder haben den Vorteil, daß sie für sich decodierbar sind, was für den freien Zugriff auf Bilder (Standbilder) wichtig ist.

P-Bilder

P-Bilder sind Predictive Coded Pictures. Sie benötigen für ihre Codierung und Decodierung die Informationen aus vorangegangen Bildern. Dabei können die vorangegangen Bilder selbst wieder I- oder P-Bilder seien.

Bei diesen Bildern wird die Tatsache genutzt, daß sich aufeinanderfolgende Bilder oft nur geringfügig unterscheiden und sich große Blöcke nur verschieben. Als berechnet man ähnliche Blöcke, wobei die Ähnlichkeit anhand der Differenzbildung der Absolutwerte der Helligkeitskomponente ermittelt wird. Dann bestimmt man für jeden solchen Block einen Verschiebevektor. Zum Schluss werden die geringen Abweichungen eines solchen ähnlichen Blockes bestimmt. Das P-Bild kann somit auf das vorangegangene Bild verweisen und ein Großteil der Daten muß nicht noch einmal gespeichert werden.

Bild 2 stellt einen solchen Fall dar. Der komplette Hintergrund bleibt gleich, wird auch nicht verschoben und kann somit direkt übernommen werden. Der Ball hingegen war in Bild 1 noch weiter links. Nun kann der Verschiebevektor des Balles berechnet werden und die Informationen an die passende Stell kopiert werden.
 
Bild 1
Bild 2
 
B-Bilder

B-Bilder sind Bidirectional Coded Pictures. Sie nutzen Information aus vorangegangenen und aus folgenden Bildern. Da sie so auf viele Redundanzen Bezug nehmen können haben Sie den höchsten Kompressionsgrad. Sie sind Differenzbilder aus dem vorangegangen und nachfolgenden Bild. Um vielschichtige Abhängigkeiten und somit auch Zeit zu sparen, sind B-Bilder selbst niemals Referenzbilder für andere Bilder.

Bild 4 sei nun ein B-Bild. Dabei nutzt es die Informationen aus Bild 3 wie bereits beschrieben. Zusätzlich kann es die Informationen für die Box 1 aus dem unteren Bild entnehmen. Das mittlere Bild ergibt sich als Differenz des oberen und unteren Bildes.

Damit wird klar, daß das nachfolgende Bild schon codiert worden sein muß und die Reihenfolge der Codierung nicht unbedingt mir der Abspielreihenfolge übereinstimmt.
 
Bild 3
Bild 4
Bild 5
 
D-Bilder

D-Bilder sind DC-Coded Pictures. Das sind Bilder die nur für den schnellen Vor- und Rücklauf von Filmen genutzt wird. Dabei wird das einzelne Bild intraframe codiert und in Blocke von jeweils X Pixeln aufgeteilt. Für diesen Block wird die durchschnittliche Luminanz (Helligkeit) berechnet und alle Werte auf diesen Wert gesetzt. Das ist der Gleich oder auch DC-Anteil des Blockes. Die Farbdifferenzen (AC-Anteile) entfallen hierbei völlig.

4.4 Bildfolge im Datenstrom

Aus diesen vier Bildarten kann nun eine Bildfolge erstellt werden. Um dabei ein möglichst großen wahlfreien Zugriff auf Einzelbilder zu gewährleisten würde sich ein Aufbau nur aus I-Bildern anbieten. Für ein möglichst hohe Kompression müßte man hingegen wieder B-Bilder wählen. Man hilft sich mit Kompromissen, die je nach Anwendung unterschiedlich aussehen können. In der Praxis überzeugt häufig die Folge IBBPBBPBBI. Dabei wird sicher gestellt das alle 15 Bilder ein wahlfreier Zugriff vorhanden ist (d.h. wenigstens jede Sekunde wenigstens Standbild möglich) und dennoch eine gute Kompressionsrate vorhanden ist.
 
 

 Beispiel einer Bildfolge

Betrachtet man bei obigem Bild das zweite B-Bild (drittes Bild von links), so sieht man, daß es das I-Bild (erstes Bild) und das nachfolgende P-Bild als Refenrenzen nutzt.

4.5 Bildfolge im Film

Es muß beachtet werden, daß die Bildfolge beim Abspielen eines Filmes nicht mit der Folge der Bilder im Datenstrom übereinstimmen muß. So muß jede Bildfolge im Datenstrom mit einem I-Bild beginnen, da keine Informationenen aus vorangegangenen Bildern genutzt werden kann. Bei der Präsentation hingegen kann auch erst eines der nachfolgenden Bilder gezeigt werden. Dies ermöglicht die Bildnummer, die im Picture Layer enthalten ist.

4.6 Aufbau des Videostroms

Der Videostrom in MPEG besteht aus 6 Schichten und hat einen fast pyramidenförmigen Aufbau.

Die oberste Schicht besteht aus dem Sequenz Layer und dem Video Buffer Verifier.

Die nachfolgenden Schichten enthalten dann die eigentlichen Daten. Die Group of Picture Layers besteht dabei aus einigen Picture Layer (z.B. 15), der Picture Layer wiederum aus Slice Layern und so fort. 5. Audiocodierung

MPEG wird auch zur Codierung von Audiodaten genutzt, dabei ist es kompatibel zur Compact Disc Digital Audio (CD-DA) und zum Digital Audio Tape (DAT).

Innerhalb der MPEG Audiocodierung gibt es drei Qualitätsunterschiede, die auch Layer genannt werden. Die jüngste Entwicklung, der Layer 3, beinhaltet die vorangegangenen Layer. Die neusten Produkte, z.B. vom Frauenhofer Institut, codieren eine Audio-CD mit einer Länge von 70 Minuten in knapp 90 Minuten. Die Decodierung erfolgt in Echtzeit.

5.1 Tonaufbereitung, Fakten, grober Codierungsablauf

Die Audiodaten werden mit Raten von 32kHz, 44,1kHz oder 48kHz abgetastet, wobei 48kHz der Abtastfrequenz für den Layer 3 entspricht. Es erfolgt dann ein Kompression des Audiosignals auf 64, 96, 128 oder 192 kbits pro Sekunde. Um dies zu erreichen wird das Audiosignal mittels der schnellen Fouriertransformation in 32 disjunkte Frequenzbereich unterteilt, die dann einzeln quantitisiert werden. Dabei werden die schlecht hörbaren und die verrauschten Frequenzbereiche grober quantitisiert, als die anderen.

Beim Layer 3 erfolgt nach der ersten Komprimierung noch eine zweite nach dem Huffman-Verfahren. So das eine bessere Komprimierung erzielt wird.

Es kann wahlweise ein oder zwei Kanäle oder ein Stereosignal komprimiert werden. Beim letzteren können die Redundanzen der Signale ausgenutzt werden, so daß eine weitere Kompressionsteigerung zu erreichen ist.

5.2 Audiostrom

Im Gegensatz zum MPEG-Videostrom besteht der Audiostrom nur aus 3 Schichten. Hier fehlt die reine Steuerschicht (Sequenz Layer und Video-Buffer-Verifier). Auch hier sind die Schichten wieder klar.

6. Systemdefinition

Die Systemdefinition ist ein fester Bestandteil von MPEG. Hier wird die zeitlich Abstimmung zwischen verschiedenen MPEG Datenströmen, insbesondere der Audio und Videodaten, geregelt.

Die Ströme werden in Packs unterteilt. Dabei enthält jeder Pack seine relevanten Daten (wie z.B. einen Zeitstempel). Der erste Pack enthält zudem noch die konstanten Daten, wie z.B. die Datenrate. Anhand dieser Daten kann der Multiplexer die Datenströme synchronisieren.

7. MPEG Arten

MPEG besteht seinerseits aus mehreren Untergruppen, die unterschiedlich Schwerpunkte haben und in ihrer Entwicklung unterschiedlich weit sind.

8 . Zusammenfassung

JPEG ist ein Standard für Standbilder, der die Komprimierung von Photos und Bildern ermöglicht und große Verbreitung gefunden hat. Durch diesen Standard ist die Bildübertragung überhaupt erst ermöglicht worden, da bei JPEG Kompressionfaktoren zwischen 10 und 50 machbar und üblich sind. Der Qualitäts- und Kompressionsgrad ist dabei mittels eines Quotienten wählbar frei wählbar. JPEG besitzt auch einen verlustfreien Modus.

MPEG ist ein asynchrones Komprimierungsverfahren für Video- und Audiodaten. Das heißt, daß die Codierung sehr viel langsamer als das Decodieren erfolgt. Auf bisherigen Rechner gestaltet sich die Echtzeitcodierung noch schwer ist ohne Zusatzhardware noch nicht zu schaffen. Die Decodierung hingegen benötigt nur einen Bruchteil der Prozessorkapazität (z.B. 10% bei der Decodierung von Audiodaten auf einem Pentium 200).

Die Kompressionfaktoren bei MPEG sind extrem von den Bildern abhänig, üblich sind Faktoren zwischen 10 und 30. Außerdem ist MPEG eine verlustbehaftete Komprimierung.

Beide Standards sind frei verfügbar, so daß es mittlerweile auch genügend frei erhältliche Decoder gibt (für Audiodaten z.B. den Freeware Decoder des Frauenhofer Institutes).

Literatur

[ST93] Ralf Steinmetz, Multimedia-Technologie, Springer-Verlag

[FE92] W. D. Fellner, Computergrafik, Mannheim1993: Wissenschaftsverlag

[TB95] Bräunl, Feyrer, Rapf, Reinhardt, Parallele Bildverarbeitung, Bonn 1995: Addison-Wesley Publishing Company

[BF96] Borko Furht (Editor), Multimedia Systems and Techniques, Boston 1996: Kluwer Academic Publishers