Anamorphes MPEG-4

Mit dem Aussterben der CD als Speichermedium steht heutzutage genug Speicherplatz zur Verfügung, um im fertigen Encoding das anamorphe Bild zu verwenden. Um entscheiden zu können, wann anamorphes MPEG-4 überhaupt sinnvoll ist, brauchen wir vor dem Praxisteil ein paar Hintergrundinfos.

Der Vorteil anamorphen MPEG-4-Videos

Dass anamorphes MPEG-4 eine so große Rolle spielt, obwohl es einige Tücken birgt, hat einen einfachen Grund: Bildqualität. Als Beispiel taugt Die fabelhafte Welt der Amélie wieder bestens, deren korrektes Wiedergabe-DAR abzüglich der Balken in der 2,35er-Region liegt. Schneiden wir die schwarzen Balken oben und unten weg, bleiben von den 720×576 Pixeln der DVD noch 720×436 übrig, was einem Seitenverhältnis von 1,65:1 mit nicht-quadratischen Pixeln entspricht und heftige Eierköpfe beim Anschauen zur Folge hat. Um eine quadratische Auflösung zu erzeugen, sind zwei Möglichkeiten denkbar.

  • Horizontal Strecken. Das ist die gleiche Methode, die auch der Player beim Abspielen anwendet. Um korrekt zu entzerren, müssen wir mit Hilfe des PARs das Bild auf 1048×436 Pixel in die Breite ziehen, womit wir allerdings eine beachtliche Anzahl Pixel pro Bild encodieren, die im Originalbild gar nicht vorhanden waren und deshalb keine echten Informationen tragen. Die Verschwendung ist beachtlich. Das zugeschnittene Originalbild enthält

    720 × 436 = 313.920 Pixel.

    Das entzerrte Bild enthält

    (1048 − 720) × 436 = 143.008 zusätzliche Pixel.

    Das heißt, wir encodieren 45% mehr als eigentlich nötig, was an sich noch nicht extrem schlimm wäre. Allerdings enthalten diese 45% zusätzliches Bild genau 0% zusätzliche Details, sondern nur durchs Skalieren künstliche errechnete Pseudodetails. Der Encoder kann aber nicht zwischen »echten« und »falschen« Details unterscheiden, was zu einer deutlich größeren Zieldatei (beim 1-Pass-Encoding) oder deutlich geringerer Qualität (beim 2-Pass-Encoding) führt.

  • Vertikal stauchen. Das ist die klassische Methode aus der alten AVI-Zeit. Wir schrumpfen also die Auflösung um 33% auf 720×300. Ein Drittel weniger Bildfläche bedeutet einen spürbaren Verlust an Bilddetails. Vertikal stauchen ist also nicht besser als horizontal Strecken, sondern nur anders schlecht.

Als Lösung bietet sich das anamorphe Bild an. Es verwirft keine wichtigen vertikalen Informationen und hält die Bildgröße in einem akzeptablen Rahmen. Uralt-Standalone-Player können damit Probleme haben, ansonsten sind anamorphe Encodings absolut alltagstauglich.

Anamorphe Varianten

Ein anamorphes MPEG-4-Video kann grundsätzlich auf drei verschiedene Arten erzeugt werden, immer mit der DVD als Quelle im Hinterkopf.

  • Originalbild behalten. Die einfachste Möglichkeit übernimmt das komplette Bild der DVD einschließlich der schwarzen Balken. Wenn uns keine Standalone-Zwänge die anderen Methoden verbieten, empfiehlt sich dieses Vorgehen nicht, denn die schwarzen Balken beanspruchen Bitrate. Und die können wir sinnvoller für das eigentliche Bild verwenden.
  • Nur Cropping. Das ist die bevorzugte Methode. Wir behalten die Auflösung der DVD grundsätzlich bei, schneiden aber die schwarzen Balken weg (vgl. auch: Auflösungsregeln). Damit entfällt das Resizing, was uns zusätzliche Vorteile einbringt. Jeder Resizer sorgt für Bildrauschen vor allem auf der Zeitachse, was die Komprimierbarkeit senkt. Ohne Resizer können wir im günstigen Fall bei einer nur 20% höheren Bitrate ein 40% größeres Bild verwenden. Umgekehrt heißt das, die negativen Auswirkungen auf die Qualität bzw. Dateigröße halten sich in Grenzen. Die Größe des Vorteils kann allerdings von Film zu Film stark schwanken.
  • Cropping und Resizing. Diese Methode ähnelt dem historischen nicht-anamorphen Vorgehen. Wir schneiden die schwarzen Balken weg und verkleinern dann die Auflösung, allerdings ohne die Verzerrung zu korrigieren. Auf diese Weise erhalten wir ein kleineres Bild, das aber mehr vertikale Auflösung beibehält als gewohnt. Meine Tests zeigen allerdings, dass diese Methode keine Qualitätsvorteile gegenüber einem nicht-anamorphen Video mit ähnlich großer Bildfläche bietet.

Die sinnvollste Möglichkeit ist Cropping ohne Resizing, worauf wir uns im Rest des Encodingwissens auch konzentrieren. Die Frage stellt sich nun, wie wir dem Decoder mitteilen, dass er es mit einem anamorphen Bild zu tun hat.

Display Aspect Ratio und Pixel Aspect Ratio

Was der Decoder für eine korrekte Entzerrung benötigt ist die Angabe des passenden Wiedergabe-Seitenverhältnisses. Zur Erinnerung: Uns stehen zwei – im Ergebnis grundsätzlich identische – Möglichkeiten zur Verfügung, um ein Seitenverhältnis anzugeben.

  • Das Display Aspect Ratio (DAR) beschreibt das Seitenverhältnis des kompletten Bildes, stellt also nichts anderes als das Verhältnis von Breite zu Höhe dar.
  • Das Pixel Aspect Ratio (PAR) bezieht sich nicht auf das ganze Bild, sondern beschreibt die Form eines einzelnen Pixels.

Für DVD-Quellen ist das PAR der deutlich überlegene Wert. Beim DAR stehen wir vor zwei Problemen. Zuerst ist überhaupt nicht genau definiert, welches Seitenverhältnis gemeint ist.

  • Auflösungs-DAR, das sich allein auf die gespeicherte Auflösung des Videos bezieht. Bei einer 16:9-PAL-DVD mit 720×576 Pixeln ergibt sich ein DAR von 720:576 = 1,25:1.
  • Wiedergabe-DAR, das sich auf das korrekte, entzerrte Wiedergabe-AR der gesamten Auflösung bezieht. Für die DVD von oben heißt das 1048:576 = 1,82:1.
  • Aktives Wiedergabe-DAR, das sich auf die entzerrte Wiedergabeauflösung des eigentlich aktiven Bildes bezieht, d.h. minus aller schwarzer Balken. Nehmen wir an, unsere Beispiel-DVD hätte oben und unten je 74 Pixel Balken. Daraus ergibt sich ein DAR von 1048:436 = 2,40:1.
  • Aktives gespeichertes DAR, das sich auf die gespeicherte Auflösung minus schwarzer Balken bezieht, ohne eine Verzerrung zu berücksichtigen. Das ergibt im Beispiel ein DAR von 720:436 = 1,65:1.

Diese Vielfalt ist keineswegs akademische Haarspalterei. Zumindest die ersten drei Varianten begegnen uns tatsächlich in der Praxis und werden alle schlicht »DAR« genannt, wobei das aktive Wiedergabe-DAR überwiegen dürfte.

Haben wir uns darauf geeignet, welche DAR-Variante wir verwenden wollen, schlägt das nächste Problem zu. Das DAR ändert sich, je nachdem wie viel schwarze Balken wir wegschneiden müssen. Das heißt, das DAR kann für jeden Film unterschiedlich sein und muss natürlich jedes Mal neu berechnet werden. Praktisch liegen die Werte zwar eng beieinander, nur sollten wir uns darauf nicht blind verlassen.

Im Gegensatz dazu gibt es für das PAR nur vier mögliche Werte, und zwar 16:9 und 4:3 jeweils für PAL und NTSC. Da uns die Encodingtools alle nötigen Informationen liefern, brauchen wir an der passenden Stelle nur den richtigen Tabellenwert einsetzen. Das Cropping allein ändert nichts an der Form der einzelnen Pixel.

Ein historisches nicht-anamorph encodiertes DVD-Backup hat immer ein PAR von 1:1 und ein DAR von »Bildbreite zu Bildhöhe«. Hier fallen alle DAR-Definitionen zusammen. Das PAR verändert sich im Vergleich zur DVD, weil beim Resizing die Verzerrung korrigiert wird.

Sehen wir uns das an einer kleinen Grafik an, die ein vereinfachtes Videobild aus 5×4 Pixeln darstellen soll, wie es korrekt entzerrt beim Abspielen aussieht. Das Bild ist nicht quadratisch, da seine Pixel ähnlich der DVD eine rechteckige Form haben, und zwar im Verhältnis Breite:Höhe 2:1.

Bild: Breite x = 10, Höhe y = 4. Pixel: Breite a = 2, Höhe b = 1

Die Form des gesamten Bilds und die Form eines einzelnen Pixels lässt sich leicht berechnen:

DAR = x/y = 10/4 = 2,5:1;
PAR = a/b = 2/1 = 2:1.

Jetzt bearbeiten wir das Bild, indem wir schwarze Balken entfernen. Nehmen wir an, eine Pixelreihe oben und eine Pixelreihe unten, was eine neue Grafik ergibt.

Bild: Breite x = 10, Höhe y = 2. Pixel: Breite a = 2, Höhe b = 1

Es gilt nun:

DAR = x/y = 10/2 = 5:1;
PAR = a/b = 2/1 = 2:1.

Durch das Cropping nimmt natürlich die Höhe des Bildes ab, y wird kleiner. Dadurch verändert sich auch der Wert des DAR, im Beispiel von 2,5 auf 5. Auf das PAR hat das Cropping dagegen keine Auswirkung, denn das veränderte DAR beruht nur auf einer verringerten Anzahl Pixelreihen pro Bild, a und b und damit die Form der verbleibenden Pixel wird nicht angetastet.

AR-Flag und Decoderunterstützung

Die sinnvollste und einfachste Methode ist, dem Decoder das PAR mitzuteilen, damit er das Video richtig strecken kann. Dafür setzen wir ein AR-Flag in der Zieldatei, das wir uns vereinfacht als standardisiertes Feld vorstellen können, in dem die Angabe zum Seitenverhältnis steht. Der Decoder kennt die Stelle, an der das Flag gespeichert ist, und liest den Wert von dort.

Ein AR-Flag können wir an zwei Stellen setzen und tun das normalerweise auch an beiden:

  • Im MPEG-4-Videostream. Da es nur äußerst beschränkt möglich ist, nach dem Encoding noch das Flag im Videostream zu setzen, muss der Encoder selbst diese Funktion anbieten. Sowohl x264 als auch Xvid und DivX haben die Funktion eingebaut. Egal welcher Encoder, das MPEG-4-Flag ist immer das PAR.
  • Im Container. MP4 bietet uns die Möglichkeit, das PAR anzugeben. Matroska dagegen besteht auf dem DAR. Die Muxing-Tools lesen automatisch das Videostream-Flag aus und setzen das Container-Flag entsprechend. Es reicht also, wenn wir im Encoder das PAR richtig angeben.

Sämtliche Flags nützen uns überhaupt nichts, wenn die Abspielsoftware keine Unterstützung mitbringt, um mindestens eines davon zu lesen und anzuwenden. Für DirectShow-Player (z.B. MPC-HC) sind wir mit den LAVFilters auf der sicheren Seite. Player, die nicht auf DirectShow aufsetzen (z.B. VLC), müssen die Unterstützung für AR-Flags direkt eingebaut haben.

Kommentare