Zum Inhalt springen

„MPEG-4“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Spss (Diskussion | Beiträge)
Werbung entfernt
Zeile 95: Zeile 95:
*[http://www.m4if.org/public/documents/vault/MPEG4WhitePaperV2a.zip] ''(en.)'' detailliertes Whitepaper über MPEG-4 vom MPEG Industry Forum
*[http://www.m4if.org/public/documents/vault/MPEG4WhitePaperV2a.zip] ''(en.)'' detailliertes Whitepaper über MPEG-4 vom MPEG Industry Forum
*[http://www.mpeg-laser.org MPEG-4 part 20: LASeR]
*[http://www.mpeg-laser.org MPEG-4 part 20: LASeR]
* [http://www.vinens.de VINENS - virtual information entertainment system]


== Siehe auch ==
== Siehe auch ==

Version vom 14. Oktober 2006, 12:37 Uhr

MPEG-4 ist ein MPEG-Standard (ISO/IEC-14496), der unter anderem Verfahren zur Video- und Audiokompression 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. Ein Beispiel hierfür ist AVI, welches häufig bei DivX/XviD zum Einsatz kommt.

Ü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 Base Media 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]
  • MPEG-J Erweiterungen für Rendering ("GFX") [14496-21]

sowie der

  • "Open Font Format" Spezifikation [14496-22]

(Stand 07/2005).

Videodekodierung

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.

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 Codeworte werden mit Hilfe von Tabellen, sogenannten „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ä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:

  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 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
  • Audio
    • (High Efficiency) Advanced Audio Coding (AAC, HE-AAC)
    • Psytel AAC, der Vorgänger von Nero AAC
    • FAAC, der Open Source AAC Encoder und FAAD2, der entsprechende Decoder
    • HVXC (Harmonic Vector Excitation Coding)
  • Systems (BIFS)
    • GPAC Project on Advanced Content, BIFS-Player, -Encoder sowie Authoring Werkzeuge für interaktive MPEG-4-Inhalte

Literatur

Referenz-Software

  • Implementation Modell 1 (IM1)
  • IM1-2D

Transport

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:

  • 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 [14496-12] mittlerweile standardisiert. Die Firma Apple hatte 1998 den ersten Quellcode spendiert. Auf diesem wurde das MP4 FF [14496-14] aufgebaut und entwickelt.

Siehe auch