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, jene Voraussetzungen bereits zufriedenstellend verwirklicht hatte, wurde er ohne größere Änderungen als Teil 2 in MPEG-4 integriert.

Bis Mitte 2019 sind fast alle Patente zum Teil 2 ausgelaufen, so dass dieser darauf beliebig lizenzfrei genutzt werden konnte. In Deutschland sind keine Patente mehr gültig. Es laufen im Herbst 2022 nur noch 6 Patente in Brasilien und den USA. Das letzte amerikanische Patent hier läuft Ende 2023 aus.[1]

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 Digitale Rechteverwaltung, die unter der englischen Bezeichnung Intellectual Property Management and Protection (IPMP) läuft, in den Standard aufgenommen.

Das offizielle Containerformat von MPEG-4 ist MP4.

MPEG-4-Teile

MPEG-4 besteht aus mehreren Standards, die Teile (englisch parts) genannt werden, einschließlich der folgenden:

(Stand Juli 2014).

Profile werden auch innerhalb der Teile definiert, weshalb die Implementierung eines Teils gewöhnlich keine Implementierung des ganzen Teils ist.

Videodekodierung

Für das Advanced Simple Profile (ASP) kann der Dekoder-Teil für die globale Bewegungskompensation einfach weggelassen werden.

Blockschaltbild eines Dekoders für MPEG-4 Advanced Simple Profile (ASP)

Variable Längendekodierung

Die variable Längendekodierung (VLC) basiert auf dem Verfahren nach Huffman zur Redundanzreduktion. Die Codewörter werden mit Hilfe von Tabellen, sogenannten „look-up-tables“, dekodiert.

Inverses Abtasten

Aus der variablen Längendekodierung erhält man ein eindimensionales Datenfeld QFS[n] mit Werten von 0 bis 63 für n. Diese Ausgabe wird an dieser Stelle in ein zweidimensionales Datenfeld konvertiert mit dem Bezeichner aus dem Blockschaltbild oben PQF[v][u], wobei v und u Werte von 0 bis 7 annehmen. 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ädiktionsrichtungen 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 redundanzreduzierendes 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 8×8-Matrix nach der inversen Quantisierung null ist.
  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)

Video
DivX
Xvid
HDX4
3ivx
FFmpeg enthält einen nativen MPEG-4 ASP Video Encoder und Decoder sowie einen H.264 Decoder
x264 Open-Source-Encoder für H.264
Nero Digital Video (ASP, H.264)
Apple QuickTime (MPEG-4 Video, H.263, H.264)
Audio
Psytel AAC, der Vorgänger von Nero AAC
FAAC, ein AAC Encoder und FAAD2, ein Open Source Decoder
FFmpeg unterstützt das Decoden und – experimentell – das Encoden von AAC und enthält einen ALS Decoder
Systems (BIFS)
GPAC Project on Advanced Content, BIFS-Player, -Encoder sowie Authoring-Werkzeuge für interaktive MPEG-4-Inhalte

Transport

Der Transport wird in MPEG-4-„Delivery Multimedia Integration Framework“ genannt. Die Funktion besteht darin, 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 MPEG-4 Teil 12 standardisiert. Das Unternehmen Apple stellte 1998 den ersten Quellcode zur Verfügung. Auf diesem wurde das MP4-Dateiformat im Teil 14 des Standards aufgebaut und entwickelt.

Referenz-Software

Siehe auch

Literatur

Einzelnachweise

  1. MPEG-4 Visual Attachment 1 – Stand April 2020 noch in Deutschland gültige Patente:
    • Patent EP1279291B1: Verfahren und Vorrichtung zum Speichern und Bearbeiten von Bildinformationen zeitlich aufeinanderfolgender Bilder. Angemeldet am 9. April 2001, veröffentlicht am 6. Oktober 2004, Anmelder: Siemens AG, Erfinder: Gero Baese et al.
    • Patent DE10143063C2: Verfahren zur Reduzierung von Header-Information. Angemeldet am 3. September 2001, veröffentlicht am 11. Dezember 2003, Anmelder: Siemens AG, Erfinder: Gero Baese.
    • Patent EP1181829B1: Wiedersynchronisierungsverfahren für Videodekodierung. Angemeldet am 23. Februar 2001, veröffentlicht am 2. November 2011, Anmelder: Konikl Philips Electronics NV, Erfinder: Cecile Dufour, Yves Ramanzin.