Tech-Ecke / Videobearbeitung / MPEG-Komprimierung

 

     MPEG-Komprimierung

MPEG ist nicht, wie man eventuell vermuten könnte, eine Abkürzung die das Kompressionsverfahren bzw. deren Technik beschreibt, sondern es ist die Abkürzung des Gremiums, welches dieses Format standardisiert hat (Motion Pictures Expert Group). Das MPEG-Format erblickte in den späten 80'ern das Licht der Welt und ist bis heute noch überall anzutreffen. Da MPEG im laufe der Zeit immer weiter entwickelt wurde, unterteilt sich der Standard inzwischen in MPEG-1, MPEG-2, MPEG-3 und MPEG-4 , wobei der MPEG-3-Standard mittlerweile in MPEG-2 integriert wurde. MPEG-1 findet z.B. auf der VCD seine Anwendung, MPEG-2 auf SVCD und DVD. Auch das auf dem PC beliebte Divx basiert auf dem MPEG Standard (MPEG-4). Nun ja, da man im Zusammenhang mit MPEG auch immer Begriffe wie GOP und I-Frame hört, möchte ich mal grob beschreiben was es damit auf sich hat.

   Das grobe Prinzip

In einem unkomprimierten Video ist jedes einzelne Bilde (Frame), als Vollbild eingebettet. Bei einem Standard-PAL Video bedeutet dies, 25 Vollbilder pro Sekunde, wobei jedes einzelne mit der Datenmenge eines vergleichbaren Bitmaps daherkommt. Dieses Format bietet die bestmögliche Bildqualität, jedoch ist die Datenmenge, je nach Auflösung sehr groß bis gigantisch. Ähnlich wie bei Bildern, wird beim Komprimieren des Videos nun jedes einzelne Bild, verlustbehaftet komprimieren, so wie man das vom BMP nach JPG-Wandeln her kennt. MPEG geht hier allerdings noch weiter und bündelt mehrere Bilder zu einer Gruppe (GOP) zusammen und versucht durch erkennen des Bildverlaufs die Datenmenge nochmals zu verringern.

   GOP

Der MPEG-Encoder erstellt also keine für sich einzeln stehende Bilder (Frames) um ein Video zusammenzusetzen, sondern vereint mehrere Frames in GOP's (Group Of Pictures). Um eine GOP zu erstellen durchläuft der Encoder drei Schritte.

1.) Erstellen des I-Frames (Intra). Hierbei erfolgt eine verlustbehaftete Datenkompression des Bildes als Vollbild
2.) Erstellen der P-Frames (Predicted). Hier werden nur Veränderungen gegenüber dem zuvor erzeugtem I-Frame gespeichert
3.) Erstellen der B-Frames (Bidirectional). Dies sind "Lückenfüller" die zwischen I- und P-Frame oder zwischen zwei P-Frames sitzen

Um das ganze gleichmal zu verdeutlichen, hier mal eine symbolische Darstellung einer möglichen GOP-Struktur:

I B B B P B B B P B B B

Die P-Frames, welche ja nur Änderungen gegenüber dem vorangegangenen I-Frame enthalten, benötigen also zwingend das dazu passende I-Frame und die B-Frames, das vorangegangene P- bzw. I-Frame. Jetzt wird Einigen wahrscheinlich klar, weshalb viele Programme, die direkt MPEG-Dateien verarbeiten Probleme haben, den Film bildgenau zu schneiden. Denn würde man wahllos einen Schnitt legen, so ist es sehr wahrscheinlich, dass einem P-Frame das dazugehörige I-Frame weggeschibbelt wurde bzw. einem B-Frame die P- oder das I-Frame.
Die GOP-Struktur ist jedoch nicht zwangsläufig so, wie in der obigen Darstellung aufgebaut. Der Benutzer hat die Möglichkeit zu bestimmen wieviele P- und B-Frames auf ein I-Frame folgt bzw. ob P- oder B-Frames überhaupt vorhanden sind. Denn es ist auch möglich ein MPEG zu erzeugen das nur I-Frames enthält.

"Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !"

[letzte Aktualisierung 16.03.2008]