MPEG-4 Codec Vergleich 2002 - 3. Ausgabe

Inhalt:

1: Einleitung
2: Test Setup
3: Test 1: Die Matrix
4: Test 2: Der Soldat James Ryan
5: Fazit
6: Ausblick

Nach viel Enkodierung und erneuter Enkodierung beginnen wir mit einem neuen Codec Vergleich. Was ist seit dem letzten Mal passiert? DivX5 hat endlich einen stabilen Status erreicht und es hat jetzt längere Zeit keine Updates mehr gegeben (daher fürchte ich, dass ich es nächstes Mal mit DivX6 zu tun haben werde ;), die Entwicklung von XviD lief ständig weiter und obwohl B-Frames und QPel Motion Estimation noch nicht bereit für die Öffentlichkeit sind, werden sie es in Kürze sein. Trotzdem machen die neue Alt Curve Compression, Koepis Verbesserung im 2-Pass Curve Treatment sowie ein Modus für interlaced und Schwarz/Weiß-Material den Codec hinsichtlich der Features sicherlich attraktiver als jemals zuvor. On2 hat VP5 herausgebracht, aber leider konnte ich noch keine Demo-Version davon erhalten. Real Networks hat Version 9 seiner Videokompressions-Technologie herausgebracht und in meinen Foren damit ganz schön für Furore gesorgt, sodass es Zeit war, sich diesen Codec näher anzusehen.

Hier sind nun die Wettbewerber:

DivX3 in Form von SBC (Smart Bitrate Control), wie man es in in Nandub erstellt
DivX5.02
RealNetworks RealVideo9 (Ich werde diesen Codec in Zukunft RV9 nennen.)
XviD (Koepi's Binaries vom 27.7.)

Alle Codecs wurden im 2-Pass Modus getestet. Ich habe beschlossen, keine Testergebnisse von früher getesteten Codecs außer SBC in den Test aufzunehmen, da sie die Qualität von SBC nicht erreichen konnten.

Testkonfiguration:

Sämtliche Tests wurden auf folgender Hardware durchgeführt:

AMD Athlon XP 1800+
Abit AT7
2x256MB PC2100 Samsung CL2.5 DDR RAM
Hercules Prophet MXII400 (NVidia Geforce2 MX400)
Philips 170B Display (TFT-Monitor)

Für die Enkodierung verwendete ich folgende Software:

DVD2AVI 1.76
mpeg2dec.dll
Avisynth 1.06 für das Frameserving
VirtualDub 1.4.10 für die Enkodierung von DivX5 und XviD
Nandub 1.0 RC2 lumafix ecffix für SBC
RealProducer 9

Zur Vereinfachung benutzte ich GordianKnot für die DivX5 Enkodierung und AutoRV9 für die RealVideo Enkodierung.

Filme, die ich enkodiert habe:

Matrix - Region1, NTSC, Länge: 2h16
Der Soldat Private Ryan - Region1, NTSC, Länge: 2h49. Ich werde diesen Film im weiteren Verlauf SPR nennen (der Film heißt "Saving Private Ryan" auf Englisch).

Enkodierungs-Parameter:

Ich benutzte eine in lame 3.91 enkodierte 128kbit/s ABR Tonspur (mit "--alt-profile 128" als Parameter) für beide Filme, dann versuchte ich, Matrix auf eine 700MB CD zu bekommen und SPR auf zwei 700MB CDs. Die Tonspur war 124307KB beziehungsweise 157572KB groß. Dies ergab eine effektive Video Bitrate (ohne Ton) von 581kbit/s für Matrix und 1016kbit/s für SPR (hier ist 1kbit = 1000bit, DivX3 benutzt 1kbit = 1024bit, sodass man diese Bitrate durch 1024 teilen muss, um die effektive DivX3 Bitrate zu erhalten, alle anderen Codecs benutzen 1k = 1000). Bitte beachten: Eine VBR MP3 Datei erzeugt beim Multiplexen mit einer AVI einen größeren Overhead (Zusatzinformation) als eine normale CBR MP3 Datei. Ich verwendete GKnot um die Bitrate zu berechnen, da es in solchen Situationen bekanntermaßen genau ist.

Wie du vielleicht weißt, ist nicht jeder Rate Control Mechanismus perfekt, daher sind hier die Filmgrößen, die ich am Ende erhielt:

DivX5: 716'940KB, SPR: 1'435'112KB
SBC: Matrix: 716'742KB, SPR: 1'435'028KB
XviD: 713'394KB, SPR: 1'431'314KB
RV9: Matrix: 724'749KB, SPR: 1'447'729KB

Hinweis: 700MB entsprechen 716'800KB und 1400MB 1'433'600KB. XviD hat die hervorragenden Ergebnisse aus dem ersten Test, in dem es teilnahm, nicht wiederholen können, aber man kann sicher sein, dass ein XviD Rip auf seine CDs passt. DivX5 hat es endlich geschafft zu SBC aufzuschließen, wohingegen RV9 zu groß wurde. Tatsächlich war RV9 bei einem anderen meiner Tests vor 2 Monaten zu klein (wobei die Bitrate manuell berechnet war), sodass ich annehme, dass die in RV9 verwendete Berechnung der Bitrate noch nicht absolut genau arbeitet und dass wir in Zukunft Verbesserungen in diesem Bereich sehen könnten.

Codec Einstellungen:

Für SBC benutzte ich die GKnot Standardeinstellungen (Defaults). Für DivX5 benutzte ich auch die Defaults, dazu noch GMC und B-Frames sowie Psychovisual Enhancements auf "normal". In XviD benutzte ich Modulated Quantizers für beide Filme, Motion Search Precision 6 und die Alternative Curve Kompression mit den Default Parametern in beiden Fällen. Weiterhin begrenzte ich die I-Frame Quantizer auf 2-4 und P-Frame auf 2-12 für SPR (in Matrix waren sie beide auf 2-31 eingestellt). Für RV9 benutzte ich die AutoRV9 Defaults, stellte die Bitrate aber auf 132kbit/s und die maximale Bitrate auf 6mbit/s.

Geschwindigkeit der Enkodierung:

Hier nehme ich Matrix als Beispiel. Die Auflösung von SPR war größer, weswegen auch die Geschwindigkeit sank.

SBC: 24.52fps
DivX5: 26.57fps
XviD: 28.99fps
RV9: 20.43fps

Andere wichtige Dinge:

Hier ist das Avisynth Script, das ich bei der Enkodierung beider Filme benutzte, sodass du meine Ergebnisse genau reproduzieren kannst. Ich verwendete "Force Film" in DVD2AVI bei beiden Filmen. Beachte auch, dass ich "Neutral Bicubic Resizing" in beiden Fällen verwendete. Ich mag die Verschwommenheit des bilinearen Resize Filters nicht und die neutrale Einstellung ist ein guter Kompromiss zwischen Schärfe und besserer Komprimierbarkeit, verschwimmt aber nicht.

Matrix Script:

LoadPlugin("C:\PROGRA~1\GORDIA~1\mpeg2dec.dll")
mpeg2source("D:\matrix\matrix.d2v")
crop(0,60,718,356)
BicubicResize(640,272,0,0.5)

SPR Script:

LoadPlugin("C:\PROGRA~1\GORDIA~1\mpeg2dec.dll")
mpeg2source("D:\spr\spr.d2v")
crop(0,5,717,467)
BicubicResize(640,352,0,0.5)

Beachte, dass die RV9 Screenshots ein wenig anders aussehen, da meine manuellen Zuschneide-Einstellungen irgendwie nicht vollständig berücksichtigt wurden. :(

Wiedergabe:

Für SBC und DivX5 benutzte ich den DivX5 Filter bei einem Grad von 4. Ich habe den DivX5 Filter früher häufig verwendet um DivX3 Filme abzuspielen und immer, wenn ich dachte, dass etwas nicht stimmte, fand ich heraus, dass die Quelldatei und nicht der Filter das Problem war. Ich habe dasselbe auch während des Vergleichs getan, aber ich bin zuversichtlich, dass die Ergebnisse kein bisschen anders wären, wenn ich den DivX3 Filter für die SBC Wiedergabe verwendet hätte (außer dass es mehr Umstände gemacht hätte zu vergleichen und Screenshots zu machen). Für XviD benutzte ich Nics Filter bei einem Grad von 4. Schließlich verwendete ich die RealOne Player Defaults für RV9.

Ursprünglich hatte ich vor, ffdshow zu verwenden, aber leider scheint der Filter meinen Computer nicht sehr zu mögen und ließ die Player gelegentlich einfrieren. Ich gewann auch den Eindruck, dass seine XviD Dekodierung schlechter aussah als bei Nics Filter, sodass ich letztendlich die oben genannten Filter benutzte.

Zum ersten Mal habe ich auch nicht den Windows Media Player 6.4 (anfangs zwangen mich die ffdshow Probleme zum Wechsel, da sie beim WMP viel schlimmer waren), sondern The Core Media Player alpha 27. TCMP wird der Nachfolger des erfolgreichen PowerDivX NextGen Players sein und sollte noch dieses Jahr erscheinen. Bitte frage nicht, wo man den Player bekommt; sobald er für die Öffentlichkeit verfügbar ist, wird man ihn in meinem Software Archiv finden, aber momentan werden die Tests privat durchgeführt. TCMPs Playlist Feature hat auch dabei geholfen, viel schneller zwischen den Dateien zu wechseln. RV9 spielte ich auf dem RealOne Player ab. Später entdeckte ich Gabests Media Player classic, der die sehr praktische Funktion 'Sprung zu einem Zeitpunkt' hat, die mir half, dem Wahnsinn zu entrinnen, als ich versuchte, RV9 Screenshots zu machen. Da mein Monitor ein TFT Display ist und interpoliert, wenn man die Auflösung verringert (die Standard-Auflösung für dieses 17" Display ist 1280x1024), schaute ich alle Clips vergrößert auf 1280x1024 an. Dies betont die Probleme des Codecs, aber auch Probleme, die der Filter mit dem Strecken hat, doch die meisten Leute, die ich kenne, machen sich nicht die Mühe, die Auflösung beim Anschauen von Filmen herabzusetzen. Daher glaube ich, dass es nur fair ist, die Clips so zu betrachten wie jeder andere es tut. Manche Leute denken, dass TFT Monitore nicht für Filme oder Spiele geeignet sind; und obwohl Röhrenmonitore einen leichten Vorteil haben, kann ich 3D Shooter und Filme ohne die geringsten Probleme (ab)spielen. Der Kontrast und der Detailgrad meines Bildschirms sind wirklich hoch, sodass ich nicht Gefahr laufe, wichtige Details zu verpassen.

Weiter geht's zum ersten Test.

This document was last updated on 08/05/02


Last edited on: 08/06/2002 | German translation by: Scipio | Content by Doom9.net - The definitive DVD backup resource