Da es hier schon einmal Thema war, nagle ich das mal hier fest.
Bei diesem „Vergleich“ geht es mir in erster Linie darum, herauszufinden, ob eine SSIM-Analyse in solch einem Kontext überhaupt sinnvoll ist bzw. wie die Zahlen und Kurven – beides gilt es ja zu berücksichtigen! - hier zu interpretieren sind. Eventuell könnte man auch Versuche mit einer abgewandelten Form der SSIM-Metrik machen. Als weiteren „Nebeneffekt“ können wir uns auch gerne (noch mal) über das Thema „Transcoder versus Encoder“ im Allgemeinen unterhalten.
Ich habe dazu einen 1:35 Minuten langen Fernsehmitschnitt („9-Darter von Raymond van Barneveld“), der laut BitRate Viewer eine mittlere Bitrate von 5837 kbps aufzuweisen hat, auf etwa 68 % der Originalgröße verkleinern lassen. Einmal mit Nero Recode 2 und einmal mit dem Procoder Express. Die Dateigrößen waren dann auch annähernd identisch.
Gerade bei den von Requantisierern produzierten Videos fördern SSIM-Analysen ja stets sehr hohe Werte zutage. Das liegt, wie bereits bekannt, daran, dass bei der Requantisierung die Struktur als solche beibehalten wird (GOP, Frames, Bewegungsvektoren etc.). Je geringer die Kompression ist, desto mehr Frames ensprechen 1:1 den Originalframes. Dass eine metrische Analyse hier gute Werte liefert, liegt auf der Hand. Aber wie sieht es mit der Verteilung der Werte aus? Stimmen die Werte auch so gut mit den subjektiven Eindrücken überein, wie beim Vergleichen von Mpeg-2-Videos, die aus DV-Videos entstanden sind?
Aber schauen wir uns zunächst einmal die reinen Zahlenwerte der Analyse an. Der Wert „Q in Y“ ist, wie bereits bekannt, der gewichtete SSIM-Wert (dunkle Bereiche fließen weniger stark in die Bewertung mit ein, als helle Bereiche). Der Wert „SSIM in Y“ ist der ungewichtete SSIM-Wert (dunkle und helle Bereich fließen gleichermaßen stark in die Bewertung mit ein). Um auch eine einfache Metrik mit ins Spiel zu bringen, seien hier auch die euklidischen Abstände im YUV-Farbraum genannt. Diese Metrik hat in diesem Zusammenhang übrigens den gleichen Stellenwert wie PSNR und MSE. Irgendwie finde ich den euklidischen Abstand aber anschaulicher (durchschnittliche Entfernung eines Pixels vom Originalpixel im zwei- bzw. dreidimensionalen Raum).
Insgesamt wurden 2398 Frames untersucht.
Nero Recode 2 (ca. 68 % Komprimierung):
QuoteEuklidischer Abstand in Y: 1,0421
Euklidischer Abstand in U: 0,3578
Euklidischer Abstand in V: 0,3582Euklidischer Abstand in YUV: 1,4012
Q in Y: 0,984
SSIM in Y: 0,9843Kleinstes Q in Y: 0,8873 (314)
Größtes Q in Y: 1 (816)
Procoder Express (ca. 68 % Komprimierung):
QuoteEuklidischer Abstand in Y: 1,8574
Euklidischer Abstand in U: 0,8361
Euklidischer Abstand in V: 0,8612Euklidischer Abstand in YUV: 2,6255
Q in Y: 0,9662
SSIM in Y: 0,9684Kleinstes Q in Y: 0,8989 (763)
Größtes Q in Y: 0,9975 (1858)
Man sieht schon mal, dass wir es generell mit hohen SSIM-Werten bzw. mit sehr niedrigen euklidischen Abständen zu tun haben. Ein Blick in die CSV-Datei, wo die Ergebnisse der einzelnen Frames stehen, verrät u. a. auch, dass im vorliegenden Video viele dunkle Bereiche vorhanden sind (die Werte für die Gewichtung der einzelnen Frames sind relativ niedrig).
Nun aber zu den Grafiken, zu den Kurvenverläufen.
Die Mehrzahl der Frames präsentieren sich in etwa so, wie in der nachfolgenden Grafik (Framebereich von 0 bis 215) zu sehen ist. Die Linie des Procoder Express liegt (deutlich) unterhalb der Nero-Recode-Linie.
[Blocked Image: http://img228.imageshack.us/img228/9267/transcoderversusencoderqg4.jpg]
Für Framebereiche, die etwas Besonderes, Auffälliges zeigen, habe ich extra Grafiken angefertigt. Zum Beispiel kann man in der nachfolgenden Grafik schon mal Ausreißer von Nero Recode 2 gegenüber dem Procoder Express ausmachen. Ob und wie sich diese Ausreißer im laufenden Video zeigen, muss erst noch geklärt werden.
[Blocked Image: http://img403.imageshack.us/img403/5978/transcoderversusencodervr8.jpg]
Im nachfolgenden Framebereich zeigt sich im ersten Teilbereich von 444 bis 501 zunächst das gewohnte Bild (die Line des Procoder Express verläuft unterhalb der Nero-Recode-Linie). Ab Frame 502 zeigt Nero Recode 2 jedoch wieder schlechtere Werte (Kamerafahrt durch das Publikum).
[Blocked Image: http://img408.imageshack.us/img408/999/transcoderversusencodergr6.jpg]
Bisher haben wir nur kleine Ausreißer von Nero Recode 2 gesehen, aber nun wird’s etwas heftiger. Im nachfolgenden Framebereich ab Frame 838 zeigt Nero Recode deutliche „Aussetzer“ (im Video wird eine Kamerafahrt durch das Publikum gezeigt und anschließend erfolgt eine weiche Überblendung auf einen der Spieler).
[Blocked Image: http://img153.imageshack.us/img153/958/transcoderversusencoderkg6.jpg]
Am deutlichsten finden sich diese „Aussetzer“ dann im Framebereich von 1416 bis 1523 (weiche Überblendung mit anschließender Kamerafahrt durch das Publikum). Wir merken uns diese schlechten Stellen und prüfen, wie sich diese im laufenden Video bzw. in einem Einzelbildvergleich bemerkbar machen.
[Blocked Image: http://img527.imageshack.us/img527/5610/transcoderversusencoderuf2.jpg]
Beim Betrachten der Videos fällt der Unterschied zwischen Nero Recode 2 und Procoder Express durchaus auf – und zwar in zweierlei Hinsicht. Während in ruhigen Szenen Nero Recode das schärfere und weniger „verschwommene“ Bild liefert, produziert der Procoder Express bei weichen Überblendungen und Kamarafahrten durch das Publikum weniger Verblockungen (hier kommt wohl die Sache mit den Bewegungsvektoren ins Spiel).
Ich habe zur Verifizierung der SSIM-Metrik dann auch noch ein paar Stichproben in Form von Einzelbildvergleichen gemacht, mit dem Ergebnis, dass überall da, wo ich das bessere Bild gesehen habe, auch die Werte am höchsten waren.
Nun interessierte mich, wie das Ganze bei weniger Komprimierung aussieht. Deswegen habe ich auch noch einen Versuch mit ca. 90 % Komprimierung gestartet. Die Zahlen präsentierten sich wie folgt:
Nero Recode 2 (ca. 90 % Komprimierumg):
QuoteEuklidischer Abstand in Y: 0,1521
Euklidischer Abstand in U: 0,042
Euklidischer Abstand in V: 0,0457Euklidischer Abstand in YUV: 0,1916
Q in Y: 0,9973
SSIM in Y: 0,9981Kleinstes Q in Y: 0,9588 (1438)
Größtes Q in Y: 1 (0)
Procoder Express (ca. 90 % Komprimierung):
QuoteEuklidischer Abstand in Y: 1,5285
Euklidischer Abstand in U: 0,7224
Euklidischer Abstand in V: 0,7412Euklidischer Abstand in YUV: 2,2177
Q in Y: 0,9758
SSIM in Y: 0,9769Kleinstes Q in Y: 0,9269 (763)
Größtes Q in Y: 0,9983 (1858)
Auffällig bei den Zahlen war schon mal, dass der kleinste Q-Wert bei Nero Recode 2 diesmal einen relativ hohen Wert hatte (0,9588). Ganz anders als noch bei der 68 % Komprimierung (0,8873). In den Grafiken konnte man dann auch erkennen, dass keine Ausreißer mehr auszumachen sind. Selbst der bei 68 % Komprimierung kritische Framebereich von 1416 bis 1523 (siehe oben) zeigte sich hier in einem ganz anderen Gewand.
[Blocked Image: http://img113.imageshack.us/img113/5711/transcoderversusencoderfw1.jpg]
Bei 90 % Komprimierung ist beim vorliegenden Video die Sachlage klar. Dem Nero-Recode-Video ist hier eindeutig der Vorzug zu geben. Bei 68 % Komprimierung könnte man sich noch streiten, inwieweit die Ausreißer wirklich als störend empfunden werden.
Fazit: Eigentlich kann es nur ein Zwischenfazit sein, denn man müsste noch mehr Clips testen, um mehr Sicherheit zu haben, aber so, wie es sich mir hier präsentiert, bin ich schon der Ansicht, dass man mit einer SSIM-Analyse Aussagen bzgl. der Qualität treffen kann. Man muss die Zahlen und Kurven nur „richtig interpretieren“. Im vorliegenden Beispiel hat Nero Recode 2 bei 68 % Komprimierung zwar den deutlich besseren Durchschnittswert, aber anhand der Kurven offenbaren sich dann doch arge Schwachstellen (die sich auch im laufenden Video bemerkbar machen).
Der Komprimierungsgrad von ca. 68 % ist gar nicht mal so schlecht gewählt, denn irgendwo hier würde ich, trotz der besseren durchschnittlichen SSIM-Werte, das Procoder-Express-Video vorziehen, eben weil es eine „linearere Bildqualität“ liefert.
Ich denke, gerade bei Vergleichen zwischen Transcodern (Requantisierern) und Encodern auf der Basis von Metriken sollte man ein besonderes Augenmerk darauf richten, ab wann ein Transcoder beginnt, (häufiger) Ausreißer zu produzieren (z. B. im direkten Vergleich mit einem Encoder). Spätestens ab diesem Punkt würde ich ein Encoder-Video, trotz der evtl. schlechteren SSIM-Werte, einem Transcoder-Video vorziehen.