Zum Inhalt springen

MPEG-4

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 15. April 2005 um 19:23 Uhr durch 84.218.3.37 (Diskussion) (ar:, hu:, sv:). Sie kann sich erheblich von der aktuellen Version unterscheiden.

MPEG-4 ist ein MPEG-Standard (ISO/IEC-14496) beschreibt unter anderem Verfahren zur Video- und Audiokompression. Ursprünglich war das Ziel von MPEG-4, Systeme mit geringen Ressourcen oder schmalen Bandbreiten (Handy, Videophone, ...), bei relativ geringen Qualitätseinbußen zu unterstützen. Jedoch deckte der H.263 Standard der ITU diesen Bereich bereits sehr gut ab, so dass die MPEG-Entwickler in MPEG-4 für reine Videokompression H.263 fast vollständig übernahmen und sich mit MPEG-4 der weiteren Funktionalität auf Bildkomponenten (z.B. audiovisuelle Objekte, etwa Buttons für Perspektivwahl) widmeten. Die Kosten der Reduktion sind komplizierte Algorithmen zur Kompression. Die erste Version des Standards MPEG-1 kam Mitte der 80er heraus. Es folgten MPEG-2 1994 und MPEG-4 2001. Letztere erweitert MPEG-2, um verschiedene „Video-Objekte” zu unterstützen, sowie 3D-Inhalte, künstliche Objekte und noch stärker verdichtete Kodierung.

Zusätzlich zur Videodekodierung wurden auch noch einige Audiostandards, wie das bereits in MPEG-2 standardisierte Advanced Audio Coding (AAC) sowie die Unterstützung für Digital Rights Management, welches unter der Bezeichnung IPMP (Intellectual Property Management and Protection) läuft, definiert. Außerdem gibt es verschiedene Container für MPEG-4. Der offizielle Container ist das MP4-Fileformat.

Übersicht

MPEG-4 besteht neben den bekannten Audio- [14496-3] und Video-Codecs [14496-2] auch noch aus den Teilen:

  • Systems [14496-1],
  • Konformität (Conformance) [14496-4],
  • Referenzsoftware [14496-5],
  • DMIF [14496-6],
  • optimierte Referenzsoftware [14496-7],
  • Übertragung von MPEG-4-Inhalten über IP-Netzwerke [14496-8],
  • Referenz-Hardwarebeschreibung [14496-9],
  • AVC (Advanced Video Coding) [14496-10],
  • Szenenbeschreibung (BIFS) und Anwendungs-Engine (MPEG-J) [14496-11],
  • ISO File Format [14496-12],
  • IPMP Erweiterungen [14496-13],
  • MP4 File Format [14496-14],
  • AVC File Format [14496-15],
  • Animations-Framework Erweiterungen ("AFX") [14496-16],
  • Streaming Text Format [14496-17],
  • Font-Kompression und Streaming [14496-18],
  • Synthesized Texture [14496-19],
  • Lightweight Application Scene Representation ("LASeR") [14496-20]

sowie den

  • MPEG-J Erweiterungen für Rendering ("GFX") [14496-21]

(Stand 11/2004).

Videodekodierung

In MPEG-Standards ist lediglich der Dekoder spezifiziert. Das gibt dem Entwickler die Möglichkeit, den Enkoder frei und kreativ zu gestalten. Die folgende Abbildung zeigt das Blockschaltbild eines MPEG-4 „advanced simple profile” (ASP) Dekoders. Für „simple profile” (SP) kann der Teil der Globalen Bewegungskompensation einfach weglassen werden.

MPEG-4 ASP Dekoder Blockschaltbild
MPEG-4 ASP Dekoder Blockschaltbild

Variable Längendekodierung

Die Variable Längendekodierung (VLC) basiert auf dem Verfahren nach Huffman zur Redundanzreduktion. Die Kodeworte werden mit Hilfe eines so genannten „look-up-tables” dekodiert.

Inverses Abtasten

Aus der Variablen Längen Dekodierung erhält man ein eindimensionales Datenfeld QFS[n], dabei kann n Werte von 0 bis 63 annehmen. Diese Ausgabe wird an dieser Stelle in ein zweidimensionales Datenfeld konvertiert mit dem Bezeichner aus dem Blockschaltbild oben PQF[v][u]. Sowohl [v] als auch [u] reicht von 0 bis 7. In der folgenden Abbildung sind die drei definierten Muster zur Abtastung dargestellt.

a) „alternate-horizontal”- b) „alternate-vertical”- c) „zigzag”-Abtastung

Inverse DC- und AC-Prädiktion

Diese anpassungsfähige Auswahl von DC- und AC-Prädiktionsrichtung basiert auf einem Vergleich der horizontalen und vertikalen DC-Gradienten um den zu dekodierenden Block herum.

Inverse Quantisierung

Der Quantisierungsprozess an sich ist reversibel und somit ein Redundanz reduzierendes Verfahren. Allerdings stehen bei der Rekonstruktion der DCT-Koeffizienten eine beschränkte Anzahl von diskreten Werten zur Verfügung. Somit ist die inverse Quantisierung verlustbehaftet. Die beiden Vorteile des Quantisierungsprozesses sind:

  1. Für den Betrachter signifikante Koeffizienten, also jene die maßgeblich zum Qualitätserhalt des Bildes beitragen, bleiben trotz geringfügiger Abweichung erhalten. Nicht signifikante Koeffizienten werden gestrichen. Typischerweise resultiert dies darin, dass der überwiegende Anteil der 64 Koeffizienten in der 8x8-Matrix nach der inversen Quantisierung Nullen sind.
  2. Eine dünn besetzte Matrix mit einer beschränkten Anzahl von diskreten Werten kann effizient Komprimiert werden.

Inverse Diskrete Kosinustransformation

Die Inverse Diskrete Kosinustransformation (IDCT) ist ein Verfahren zur Irrelevanzreduktion.

Bekannte Codec-Implementierungen (MPEG-4-Codecs)

Literatur

Referenz-Software

  • Implementation Modell 1
  • IM1-2D

Transport

Der