- MPEG-4
-
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 als Teil 2 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.
Inhaltsverzeichnis
MPEG-4-Teile
MPEG-4 besteht aus mehreren Standards, die „Teile“ (engl. “parts”) genannt werden, einschließlich der folgenden:
- Teil 1 (ISO/IEC 14496-1): Systems
- Teil 2 (ISO/IEC 14496-2): Visual. Hierzu zählen die bekannten MPEG-4 Codecs DivX und Xvid. Eines der vielen Profile in Part 2 ist das Advanced Simple Profile (ASP).
- Teil 3 (ISO/IEC 14496-3): Audio. Enthält die Beschreibungen von Advanced Audio Coding (einschließlich HE-AAC), Audio Lossless Coding, Scalable to Lossless, Direct Stream Transfer, CELP, HVXC und TwinVQ.
- Teil 4 (ISO/IEC 14496-4): Conformance
- Teil 5 (ISO/IEC 14496-5): Reference Software
- Teil 6 (ISO/IEC 14496-6): Delivery Multimedia Integration Framework (DMIF).
- Teil 7 (ISO/IEC 14496-7): Optimized Reference Software
- Teil 8 (ISO/IEC 14496-8): Carriage on IP networks
- Teil 9 (ISO/IEC 14496-9): Reference Hardware
- Teil 10 (ISO/IEC 14496-10): Advanced Video Coding (AVC). Ein Codec für Videosignale, der technisch identisch zum H.264-Standard der ITU-T ist.
- Teil 11 (ISO/IEC 14496-11): Scene description (BIFS) and Application engine (MPEG-J)
- Teil 12 (ISO/IEC 14496-12): ISO Base Media File Format. Enthält die Beschreibung des Quicktime Containerformats.
- Teil 13 (ISO/IEC 14496-13): Intellectual Property Management and Protection (IPMP) Extensions
- Teil 14 (ISO/IEC 14496-14): MPEG-4 File Format (MP4). Containerformat für MPEG-4-Inhalt, basierend auf Part 12.
- Teil 15 (ISO/IEC 14496-15): AVC File Format. Containerformat für Part 10-Videos, basierend auf Part 12
- Teil 16 (ISO/IEC 14496-16): Animation Framework eXtension (AFX)
- Teil 17 (ISO/IEC 14496-17): Timed Text subtitle format
- Teil 18 (ISO/IEC 14496-18): Font Compression and Streaming (for OpenType fonts)
- Teil 19 (ISO/IEC 14496-19): Synthesized Texture Stream
- Teil 20 (ISO/IEC 14496-20): Lightweight Scene Representation (LASeR)
- Teil 21 (ISO/IEC 14496-21): MPEG-J Graphical Framework eXtension (GFX)
- Teil 22 (ISO/IEC 14496-22): Open Font Format Specification (OFFS) basierend auf OpenType
- Teil 23 (ISO/IEC 14496-23): Symbolic Music Representation (SMR)
- Teil 24 (ISO/IEC 14496-24): Audio and systems interaction
- Teil 25 (ISO/IEC 14496-25): 3D Graphics Compression Model (noch nicht fertig)
(Stand 12/2008).
Profile werden auch innerhalb der „Teile“ definiert, weshalb die Implementierung eines Teils gewöhnlich keine Implementierung des ganzen Teils ist.
Videodekodierung
Für das Simple Profile (SP) kann der Dekoder-Teil für die globale Bewegungskompensation einfach weggelassen werden.
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], 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.
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 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:
- 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 null ist.
- 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:
- lokal (beispielsweise auf der lokalen Festplatte)
- remote-interactive (Client-Server-Anwendung, wie Video On Demand)
- broadcast (unidirektionaler Empfang von Datenströmen).
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
- Implementation Modell 1 (IM1)
- IM1 - 2D
Literatur
- Ian E. G. Richardson: H.264 and MPEG-4 Video Compression. ISBN 0-470-84837-5
- Fernando Pereira, Touradj Ebrahimi: The MPEG-4 Book. ISBN 0-130-61621-4
- Aaron E. Walsh, Mikael Bourges-Sevenier: MPEG-4 Jump-Start. ISBN 0-130-60036-9
- Klaus Diepold, Sebastian Moeritz: A Practical Guide to Mpeg 4: Technology and Business Insights. ISBN 0-240-80594-1
- Uwe Kühhirt, Marco Rittermann: Interaktive audiovisuelle Medien. ISBN 3-446-40300-0
- W. Wunderlich: Digitales Fernsehen HDTV, HDV, AVCHD für Ein-und Umsteiger. ISBN 978-3-00-023484-2
- Tilo Strutz: Bilddatenkompression. Grundlagen, Codierung, Wavelets, JPEG, MPEG, H.264 4. Auflage 2009, ISBN 978-3-8348-0472-3
Siehe auch
Weblinks
Wikimedia Foundation.