MPEG-4 ist ein MPEG-Standard (ISO/IEC-14496), der unter anderem Verfahren zur Video- und Audiodatenkompression beschreibt. Ursprünglich war das Ziel von MPEG-4, Systeme mit geringen Ressourcen oder schmalen Bandbreiten (Mobiltelefon, Video-Telefon, ...) bei relativ geringen Qualitätseinbußen zu unterstützen. Da H.263, ein Standard der ITU zur Videodekodierung und -kompression, die eben erwähnten Voraussetzungen bereits sehr gut verwirklicht hat, wurde er ohne größere Änderungen in MPEG-4 integriert.
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, in den Standard aufgenommen.
Das offizielle Containerformat von MPEG-4 ist MP4, es haben aber auch andere Formate weite Verbreitung gefunden. Beispiele hierfür sind AVI, welches vornehmlich bei DivX, Xvid oder x264 zum Einsatz kommt, und MKV, welches flexibler als MP4 ist, und im Computerbereich gerne für H.264 (MPEG-4 Part 10) verwendet wird. (Im Gegensatz zu MP4 und AVI handelt es sich bei MKV allerdings um einen offenen Standard).
Inhaltsverzeichnis |
MPEG-4 besteht aus mehreren Standards, die „Teile“ (engl. “parts”) genannt werden, einschließlich der folgenden:
(Stand 04/2007).
Profile werden auch innerhalb der „Teile“ definiert, weshalb die Implementierung eines Teils gewöhnlich keine Implementierung des ganzen Teils ist.
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 weggelassen werden.
Die variable Längendekodierung (VLC) basiert auf dem Verfahren nach Huffman zur Redundanzreduktion. Die Codeworte werden mit Hilfe von Tabellen, sogenannten „look-up-tables”, dekodiert.
Aus der variablen Längendekodierung 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.
Diese anpassungsfähige Auswahl von DC- und AC-Prädiktionsrichtungen basiert auf einem Vergleich der horizontalen und vertikalen DC-Gradienten um den zu dekodierenden Block herum.
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:
Die Inverse Diskrete Kosinustransformation (IDCT) ist ein Verfahren zur Irrelevanzreduktion.
Der Transport wird in MPEG-4-„Delivery Multimedia Integration Framework” genannt. Die Funktion ist, die eigentliche Quelle der multimedialen Datenströme zu verbergen, so dass der Player auf dem Terminal (evtl. PC) unabhängig von dem Transportnetz ist. Als mögliche Szenarien sind standardisiert:
Für den lokalen Fall ist das Dateiformat als „ISO Base Media File Format” in [14496-12] mittlerweile standardisiert. Die Firma Apple stellte 1998 den ersten Quellcode zur Verfügung. Auf diesem wurde das MP4 FF [14496-14] aufgebaut und entwickelt.