Transcoder versus Encoder – SSIM-Analyse sinnvoll?

  • 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):

    Zitat

    Euklidischer Abstand in Y: 1,0421
    Euklidischer Abstand in U: 0,3578
    Euklidischer Abstand in V: 0,3582

    Euklidischer Abstand in YUV: 1,4012

    Q in Y: 0,984
    SSIM in Y: 0,9843

    Kleinstes Q in Y: 0,8873 (314)
    Größtes Q in Y: 1 (816)



    Procoder Express (ca. 68 % Komprimierung):

    Zitat

    Euklidischer Abstand in Y: 1,8574
    Euklidischer Abstand in U: 0,8361
    Euklidischer Abstand in V: 0,8612

    Euklidischer Abstand in YUV: 2,6255

    Q in Y: 0,9662
    SSIM in Y: 0,9684

    Kleinstes 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.

    [Blockierte Grafik: 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.

    [Blockierte Grafik: 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).

    [Blockierte Grafik: 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).

    [Blockierte Grafik: 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.

    [Blockierte Grafik: 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):

    Zitat

    Euklidischer Abstand in Y: 0,1521
    Euklidischer Abstand in U: 0,042
    Euklidischer Abstand in V: 0,0457

    Euklidischer Abstand in YUV: 0,1916

    Q in Y: 0,9973
    SSIM in Y: 0,9981

    Kleinstes Q in Y: 0,9588 (1438)
    Größtes Q in Y: 1 (0)

    Procoder Express (ca. 90 % Komprimierung):

    Zitat

    Euklidischer Abstand in Y: 1,5285
    Euklidischer Abstand in U: 0,7224
    Euklidischer Abstand in V: 0,7412

    Euklidischer Abstand in YUV: 2,2177

    Q in Y: 0,9758
    SSIM in Y: 0,9769

    Kleinstes 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.

    [Blockierte Grafik: 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.

  • Dass ein Encoder überhaupt meist schlechtere SSIM-Werte liefert, ist sicher leicht zu erklären: Quantisiertes Material wird noch einmal neu quantisiert, jedoch u.U. mit anderen Voraussetzungen (Encoder arbeiten ja nicht identisch).

    Ob die objektiv schlechteren Werte jedoch auch ein subjektiv schlechteres Ergebnis bedeuten, kann man daraus sicher nicht ableiten.

    Und auch die "Ausreißer" sind erklärlich: Ein C.D.-Transcoder hat eben weniger Spielraum für "sanfte" Anpassungen, nur den nächstmöglichen Quantisierungsfaktor, ein Encoder dagegen kann evtl. andere Ergebnisse bei der Bewegungssuche nutzen.

  • Zitat

    ein Encoder dagegen kann evtl. andere Ergebnisse bei der Bewegungssuche nutzen.



    und oftmals finden .

    Ich persönlich halte gar nix von diesen technische basierenden Vergleichen, das sollten oftmals nur Richtlinien sein, nicht aber Regeln :D .

    Oftmals nämlich ist gerade DVD Source sowas von schlampig mit dem Hardwareencoder durchgespült, das natürlich diese Quelle im Vergleich mit einem Transcoder gut aussehen muss, da letzterer eben nicht soweit in die "Materie " eingreift.

    max

  • Nicht alle Hardware-Encoder sind schlampig.

    Es kommt sehr darauf an, welche Vorgeabe das DVD-Studio bekommt, wie viel Aufwand für einen Film vom Vermarkter erlaubt und erwünscht wurde. So sind die heutigen Hardware-MPEG2-Encoder von Sonic Solutions oder BitPack, die von DigiBeta encodieren, mit Sicherheit konkurrenzfähig in der Qualität. Aber nicht jedes Studio hat sie, und nicht jeder Film wird damit verarbeitet - es gibt auch wesentlich schnellere Techniken mit bekannten suboptimalen Ergebnissen...

  • LigH

    du weißt doch wie ich es meine, und natürlich hast Du recht .

    Wobei ich schon mit den Worten `"durchgespült" auch die Encoder aus dem Hause Sonic Solutions oder BitPack meine, wenn die dann eben mit suboptimalen Einstellungen laufen oder gar aufgrund Zeitdruck, Geldmangel oder was weiß ich eben schlampig bedient werden müssen. :ja:

    Oder eben jene Studios die sich das ganze schlicht und ergreifend nicht leisten können und dann auf noch günstigere Alternativen ausweichen müssen.:hm:

    Verwunderlich nur, das die dann noch oftmals genug Geld für die Lizensen eines sinnlosen Kopierschutzes übrig haben --- aber ich schweife ab :D :D

    HDR z.B. wurde erstmal Hardwareencodiert und dann auf seine eigentliche Filegröße durch einen Softwareencoder bearbeitet.
    Kann man prima im Hintergrund der Ext.1 Version "Making Of" erkennen :seher: , wobei der Aufwand bei dem Gesamt Budget natürlich mehr als logisch klingt.

    Allerdings hat ja mb1 am Anfang der Transcoder genau mit solch doch recht gut encodierten Material seine Vergleiche Transcoder / Encoder durchgeführt , mit eben den bekannten "optischen" Beweisen der Schwächen jener Transcoder.



    max

  • Zitat von max

    Allerdings hat ja mb1 am Anfang der Transcoder genau mit solch doch recht gut encodierten Material seine Vergleiche Transcoder / Encoder durchgeführt , mit eben den bekannten "optischen" Beweisen der Schwächen jener Transcoder.


    Ja und. Glaubst Du nicht, dass sich Transcoder enorm weiter entwickelt haben seit ihren Anfangstagen vor immerhin 4 Jahren.

    Zitat von Archimedes1

    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.


    Welche Recode-Version hast Du eigentlich genau benutzt und mit welchen Einstellungen (2pass, High Quality?).
    Man muss unbedingt die unterschiedlichen Arbeitsweisen der einzelnen Transcoder je nach Kompressionsgrad berücksichtigen. Das geht von sturer gleichmäßiger Kompression jedes einzelnen Frames über die unterschiedliche Behandlung/Kompression jeder Frameart (I/P/B) bis hin zu sehr dynamischer Behandlung (Bitratenspitzen werden zB nur sehr wenig reduziert).

    Der SSIM-Index ist jedenfalls hervorragend geeignet um ein zuverlässiges Ranking der Transcoder untereinander zu bekommen. Der schlechteste Transcoder ist zB CloneDVD 2.9, was sich auch nach zusätzlichen Sichtvergleichen bestätigt.

    Für Transcoder gilt es, die Ausreißer nach unten zu verringern/eliminieren und das läßt sich durchaus bewerkstelligen.

    Bei einem Vergleich einer DVB-S Aufnahme vom ZDF (DFB-Pokalspiel Aachen - Bayern, die ersten 15 min ab Anpfiff) zeigen sich bei mir oben erwähnte Ausreißer bei Publikumsschwenks nämlich nicht. Reduziert wurde auf 65% (von avg 5,48 Mbps auf 3,56 Mbps).

    Liebe Grüße

    Check It Out

  • Der SSIM-Index ist jedenfalls hervorragend geeignet um ein zuverlässiges Ranking der Transcoder untereinander zu bekommen.

    Da man hier mehr oder weniger Äpfel mit Äpfeln vergleicht ... kann ich daran nicht wirklich etwas kritisieren. Dennoch ist auch SSIM eine von vielen künstlichen Metriken, und die subjektive Empfindung ist das einzig wahre Kriterium.

  • Da man hier mehr oder weniger Äpfel mit Äpfeln vergleicht ... kann ich daran nicht wirklich etwas kritisieren. Dennoch ist auch SSIM eine von vielen künstlichen Metriken, und die subjektive Empfindung ist das einzig wahre Kriterium.


    Das ist sie eben nicht. Eine „einfache mathematische Formel“ mag zwar „künstlich“ sein, aber wenn sie, wie im vorliegenden Fall der SSIM-Metrik, durch eine Vielzahl von (wissenschaftlichen) Tests auf ihre Brauchbarkeit getestet und optmiert wurde und wird, dann ist sie in meinen Augen nicht mehr „nur künstlich“.

    Wir dürfen natürlich nicht den Fehler begehen, und wie ein Gasmann einfach nur den Zähler ablesen und gut ist’s. Das kann eine einzelne SSIM-Analyse sicher nicht leisten. Die Zahlen wollen auch richtig interpretiert werden. Aber ich will mich hier nicht als „Verteidiger der Metriken“ aufspielen. Wenn, dann bin ich an der Anwendbarkeit interessiert, an den Fällen, wo eine Metrik eben nicht funktioniert etc. Ich bin dann auch immer dankbar, wenn mir jemand so einen Ausnahmefall schildert. In der Regel stehe ich solchen Analysen durchaus kritisch gegenüber. Erst durch eine Vielzahl von Analysen bekommt man ein Gefühl dafür. In der Mehrzahl der Fälle – richtige Interpretation vorausgesetzt -, stimmen die Werte zu mindestens mit meinen Sehgewohnheiten überein.

    Im vorliegenden Fall (Transcoder versus Encoder) wäre das durchaus noch zu klären. Deswegen sollte dieser Thread ja auch als „Abgleich“ dienen.

    Check It Out:
    Zu deinen Fragen komme ich noch zurück. ;)

  • Zitat

    Ja und. Glaubst Du nicht, dass sich Transcoder enorm weiter entwickelt haben seit ihren Anfangstagen vor immerhin 4 Jahren.



    Ja und nein, denn rein technisch kann sich an der Arbeitsweise jener Transcoder nicht viel verbessern, allenfalls an ihren Analyse und Berechnungsstrategien und daraus abzuleitenen Ergebnissen bzw. Verbesserungen in Ihren Ergebnissen.

    Ja und glaubst Du das sich die Encoder in der Zwischenzeit, immerhin 4 Jahre gar nicht weiterentwickelt haben ?

    :D


    max

  • Was entwickelt sich wohl schneller weiter bzw. verbessert sich schneller?
    Etwas vom Geburtsmonat zum vierten Jahr oder etwas vom achten Jahr zum zwölften Jahr ;)
    Der CCE hat sich qualitativ kaum verbessert und der ProCoder besitzt selbst auch keine qualitative Evolution. Hinzu kamen nur mehr Optionen, Geschwindigkeit und zusätzliche Formate. Die Qualität an sich ist praktisch stehen geblieben.
    Bei den Requantisierern sieht das Bild ganz anders aus!
    Es haben sich seit den Anfängen verschiedene Herangehensweisen entwickelt, teilweise in den Programmen selbst auswählbar.

    Natürlich sind Änderungen in den Analysen und Berechnungsstrategien entscheidend und vor allem der resultierende Erfahrungsgewinn.
    Technisch konnte sich an Encodern auch nicht viel verändern, an standardgemäßen IPB-Frames und deren Beschränkungen kommen auch sie nicht vorbei.

    Zitat von Ligh

    Da man hier mehr oder weniger Äpfel mit Äpfeln vergleicht ...


    Bildvergleich zu Bildvergleich sind immer Äpfel. Es kommt nicht darauf an, wer das Bild wie erstellt hat. Übernahme von Bewegungsvektoren oder Neuberechnung spielt keine Rolle beim Vergleich von Original und "Fälschung".
    Es kommt auf die größtmögliche Übereinstimmung an. Man kann problemlos unkomprimiertes YUV-Material mit DV, Mpeg2 und Mpeg4 vergleichen und muss dabei nur sehr bedingt auf Formateinschränkungen eingehen.
    Es zählt nur die größtmögliche Ähnlichkeit zum Ausgangsmaterial und die sollte SSIM dann ermitteln. Leider kommen beim "normalen" SSIM nur Y-Werte und Unterschiede in die Analyse rein, U und V bleiben auf der Strecke. Das taugt nicht in jedem Fall ...

    Liebe Grüße

    Check It Out

  • SSIM ist mit Vorsicht zu genießen. Es ist zwar besser als PSNR, aber trotzdem beruht es auf einem recht einfachen Prinzip, nämlich dass unsere Wahrnehmung erhaltene Struktur (im Sinne eines R^64 Skalarprodukts) als gute Qualität ansieht, mit einigen Lumi- und Contrastmaskingeffekten angereichert.

    Das stimmt nur bedingt und es gibt einen Haufen Wahrnehmungseffekte, die nicht berücksichtigt werden (Colour (Cross) Masking, Motion Masking, Foveating Effekte, Saccadic Masking, Einbeziehung des Fixationspunkts, von den ganzen komplizierteren Strukturerkennenden Effekten mal ganz abgesehen, die sind größtenteils nicht mal ansatzweise verstanden).

    Die verwendete SSIM Implementierung folgt nicht dem Paper (kein 11x11 Gauss-Gewichtungsfenster, Lumimasking weiß ich nicht), somit sind die Ergebnisse nur mit Vorsicht übertragbar (zumindest die zweite Nachkommastelle ist fragwürdig). Die Vielzahl an wissenschaftlichen Tests beschränkt sich meines Wissens auf ein oder zwei Versuchsreihen mit ein paar Dutzend Versuchspersonen und einer JPEG Bildergalerie bzw. MPEG Video (also kein recodiertes bzw. transcodiertes Material).

    Ausserdem lässt sich SSIM leicht täuschen (Viele gute und wenig schlechte Fenster sehen schlecht aus, haben aber guten SSIM, das typische schwarzer Fleck Beispiel), räumliche oder zeitliche verschiebungen des Bilds führen zu katastrophalen SSIM Werten und wie gesagt, es wird nur die Y Komponente beachtet, UV kann Kopfstand machen.

    Natürlich sind das Horrorszenarien, und in der Praxis wird die verwendete Methode (ich vermute das Avisynth Plugin) meistens Ergebnisse liefern, die ordentlich bis gut übereinstimmen, aber eine Visuelle Kontrolle ist wichtig, da unterschiedliche Artefaktarten von SSIM unterschiedlich stark bewertet werden.

    Als Beispiel habe ich neulich mit einer qualitätsbasierten Rate Control für XviD experimentiert, die versucht einen konstanten SSIM Wert zu halten, und die Ergebnisse sahen z.T. furchtbar aus, weil wenige Blocks sehr schlecht waren, obwohl die SSIM Werte relativ hoch lagen.

    Es gibt eine Theorie, die besagt, dass das Universum sofort verschwinden und etwas noch Unerklärlicheres und Bizarres an seine Stelle treten wird, sobald jemand herausfindet, wofür es gut ist und warum es existiert.

    Es gibt eine andere Theorie, die besagt, dass das bereits geschehen ist.

  • Bildvergleich zu Bildvergleich sind immer Äpfel. Es kommt nicht darauf an, wer das Bild wie erstellt hat. Übernahme von Bewegungsvektoren oder Neuberechnung spielt keine Rolle beim Vergleich von Original und "Fälschung".

    Doch, tut es.

    Transcoder ändern nur bereits vorhandenes Material. Eine neue Bewegungssuche wird nicht durchgeführt. Somit kann eine Metrik hier auch nur die Qualität der Dezimierung zwischen verschiedenen Transcodern vergleichen, die allesamt grundsätzlich auf gleiche Weise arbeiten.

    Bringst du einen Encoder mit ins Spiel, dann vergleichst du plötzlich Dezimierung mit komplett neuer Encodierung. Und neue Encodierung ändert den Bildinhalt erheblich. Besonders in abhängigen Frames, in denen durch andere Bewegungsschätzungen die Differenz-Blöcke mit Originalausschnitten aus einer anderen Position im jeweiligen Referenz-Frame verglichen werden. Das heißt: Der Inhalt der Frames ist schon zwangsläufig objektiv verschieden. Dieser Unterschied wird von Metriken grundsätzlich objektiv bewertet, und fast sicher als "schlechter" (außer die Dezimierung bringt erhebliche Artefakte).

    Und damit auch noch mal kurz zu Archimedes1: SSIM ist sicherlich die bisher beste Metrik zur Beurteilung der Ähnlichkeit. Aber auch sie enthält noch ein paar (leichte, nicht wie bei PSNR so so triviale) Schwachstellen. Und was sie niemals beachten kann, ist der persönliche Geschmack des Testers: Der eine will lieber schärfere Details erhalten, der andere verzichtet lieber auf Artefakte und erlaubt das Weichzeichnen eher.

  • Und was sie niemals beachten kann, ist der persönliche Geschmack des Testers: Der eine will lieber schärfere Details erhalten, der andere verzichtet lieber auf Artefakte und erlaubt das Weichzeichnen eher.



    Amen Brother !

    Gruss BergH

  • Nach wie vor stehe ich auf dem Standpunkt, hier werden Äpfel und Birnen verglichen, als Vorlage dient der IdealApfeirnen :ja:

    Wer die menschliche Wahrnehmung in eine exakte mathematische Formel packen kann, der hat in meinen Augen den Nobelpreis verdient -- Mathematismen, können nur eine von vielen Kompenenten des Vergleichs sein.

    Allein an einer mathematischen Kompenente die Qualität festzumachen, halte ich für extrem Kurzsichtig, für völlig flasch halte ich die Aussage Transcoder wären selbst bei 30% Reduktion den Encodern gleichwertig .

    Das kann gar nicht sein, und führt ja wie diverse Vorredner hier und in anderen Threads in anderen Boards schon weit mehr geschrieben, zu eben Apfel mit Birnen Vergleichen.

    Schon allein nur das banale ändern der Matrix, der DC Precision bringt einem Encoder schlechtere SSIM Werte ein im Vergleich zum Orginal, der Transcoder ändert natürlich "berufsbedingt" gar nichts, und heimst somit schon die "besseren" Werte ein -- ob es allerdings sinnvoll ist eine FOX Matrix mit 3500kb/s avr Bitrate und DC Precison 10 als bessere optische Qualität zu deuten, weil der SSIM Wert dem des Encoders überlegen ist, wage ich persönlich zu bezweifeln.

    Noch gar nicht ist zur Sprache gekommen, was ein Transcoder aus schlechten MPEG2 Quellen macht, oftmals noch schlechtere, jedoch mit sehr guten SSIM Werten, der Encoder mit entsprechenden Filtern schafft eventuell ein besseres optisches Bild, aber seine SSIM Werte sind garantiert schlechter als die des Transcoders.

    Und da wären sie wieder die Äpfel und die Birnen.


    max

  • Welche Recode-Version hast Du eigentlich genau benutzt und mit welchen Einstellungen (2pass, High Quality?).


    Ich habe die Version 2.2.6.17 von Nero Recode 2 verwendet. Einstellungsmöglichkeiten gab es nicht allzu viele. Ich habe „Erweiterte Analyse“ und „High Quality Modus“ eingestellt.

    Die verwendete SSIM Implementierung folgt nicht dem Paper (kein 11x11 Gauss-Gewichtungsfenster, Lumimasking weiß ich nicht), somit sind die Ergebnisse nur mit Vorsicht übertragbar (zumindest die zweite Nachkommastelle ist fragwürdig).


    Wir sprechen hier nicht über das AviSynth-Plugin, sondern über eine eigene Implementierung. ;)

    Das mit der Gauss’schen Gewichtung innerhalb eines 11x11 großen „Sliding Windows“ wurde ja deswegen vorgeschlagen, um „Verblockungen der SSIM-Fenster“ innerhalb eines Frames zu vermeiden. Die in den Artikeln vorgeschlagene SSIM-Variante bezog sich allerdings immer auf Einzelbildvergleiche! Für Videos wurde eine eigene (performantere) SSIM-Variante vorgeschlagen:

    http://www.cns.nyu.edu/~zwang/files/papers/vssim.pdf

    Daran dürfte sich auch der Entwickler des AviSynth-Plugins orientiert haben. Darin wurde die Gauss’sche Gewichtung jedenfalls nicht erwähnt. Es ist vielmehr die Rede davon, aus Performancegründen, den SSIM-Wert für ein Frame lediglich aus einer begrenzten Anzahl von „Sliding Windows“ (< 100) zu ermitteln. Diese „Sliding Windows“ sollen nach dem Zufallsprinzip erzeugt werden.

    Das AviSynth-Plugin ist z. B. dem Vorschlag gefolgt, die SSIM-Werte auch für die Farbkanäle zu berechnen. In einer E-Mail teilte mir der Entwickler der SSIM-Metrik jedoch mit, dass er sich bezüglich der Farbkanäle alles andere als sicher ist. Getestet und für gut befunden wurde die SSIM-Metrik nur für den Y-Kanal, nicht jedoch für die Farbkanäle.

    Zitat

    …but the SSIM is not intended to apply for negative values (at least nobody has tested and studied)


    Weiter schrieb er, dass er sich bezüglich der Farbkanäle auch nicht sicher sei, ob das „die korrekte“ Methode sei.

    Auch im Artikel „Video Quality Assessment Based on Structural Distortion Measurement” (siehe Link) wird erwähnt, dass die Einschränkung auf den Y-Kanal keinerlei signifikante Einschränkungen bei den Tests zur Folge hatten.

    Zitat

    For example, setting the color weighting parameters WY to one and WCb and WCr to zero in (8) (in other words, only the luminance channel is used for video quality assessment) does not have significant effect on the overall performance of the algorithm on the VQEG dataset.

    Das soll uns jetzt aber nicht daran hindern, die eine oder andere vorteilhafte Methode doch zu verwenden. ;)

    In meiner eigenen Implementierung bin ich ebenfalls dem obigen Artikel gefolgt, jedoch lasse ich den SSIM-Wert lediglich für den Y-Kanal berechnen. Auch wurde eine Gewichtung nach Bewegungsvektoren nicht vorgenommen. Die einfacheren Metriken berücksichtigen z. B. die Farbkanäle. Ich werde die Farbkanäle bei der SSIM-Berechnung vermutlich aber wieder berücksichtigen (und sei es nur zu Testzwecken).

    Als Beispiel habe ich neulich mit einer qualitätsbasierten Rate Control für XviD experimentiert, die versucht einen konstanten SSIM Wert zu halten, und die Ergebnisse sahen z.T. furchtbar aus, weil wenige Blocks sehr schlecht waren, obwohl die SSIM Werte relativ hoch lagen.


    Und genau solche Beispiele interessieren mich! Kann man das an einem Einzelbildvergleich demonstrieren? Eventuell ließe sich das auch durch den Verlauf der lokalen SSIM-Werte innerhalb eines Frames zeigen (schlechtester lokaler SSIM-Wert).

    Über den Sinn und Unsinn einer SSIM-Analyse brauchen wir uns sicher nicht zu unterhalten. Es ist mittlerweile durchaus „erwiesen“, dass eine SSIM-Analyse bis zu einem bestimmten Grad in einem bestimmten Rahmen „funktioniert“. Da sie, wie andere Metriken auch, jedoch fehlbar ist - wie übrigens auch das eigene subjektive Sehvermögen ;) -, bedarf es eben auch einer gewissen Nachkontrolle (ganz gleich, wie diese auch immer aussehen mag). Mir ist eine SSIM-Analyse z. B. sehr hilfreich, wenn es darum geht, mögliche Schwachstellen in einem Video zu erkennen. Dort, wo die SSIM-Werte nämlich stark in den Keller gehen, befinden sich in aller Regel auch immer problematische Frames. Diese gilt es dann zu prüfen, inwieweit sich diese in einem laufenden Video auch als solche zu erkennen geben.

    Vielleicht wäre es mal interessant, das Ganze an einem Beispiel zu demonstrieren. Mich würden die einzelnen, sicher unterschiedlichen Meinungen durchaus interessieren. ;)

    Wenn eine SSIM-Analyse im Kontext „Transcoder versus Encoder“ nun wirklich nicht taugen soll („Äpfel-Birnen-Vergleich“), dann lässt sich das doch bestimmt anschaulich „beweisen“!? ;)

  • Zitat von Archimedes1

    Ich habe die Version 2.2.6.17 von Nero Recode 2 verwendet


    Die ist aber - alt (Juli 2005). Gerade im Hinblick auf die Behauptung, dass ab einem gewissen Punkt "Ausreisser nach unten" vorkommen, sollte man doch auf die aktuellen Programmversionen zurück greifen, wie dies überwiegend auch bei anderen Programmtests geschieht.
    Dass es einen Unterschied im Hinblick auf Qualität macht, haben meine bisherigen Tests eindeutig bewiesen. Die SSIM-Werte von DVDShrink 3.20.16 über Recode 2.2.6.17 bis hin zu aktuell Recode 2.3.7.0 verbessern sich jedenfalls, was auf kleine ständige Fehlerbereinigungen und Optimierungen schließen lässt.
    Recode erlaubt übrigens über einen Registry-Eingriff 4 verschiedene Qualitätseinstellungen.

    Zitat von Archimedes1

    Vielleicht wäre es mal interessant, das Ganze an einem Beispiel zu demonstrieren. Mich würden die einzelnen, sicher unterschiedlichen Meinungen durchaus interessieren. ;)

    Wenn eine SSIM-Analyse im Kontext „Transcoder versus Encoder“ nun wirklich nicht taugen soll („Äpfel-Birnen-Vergleich“), dann lässt sich das doch bestimmt anschaulich „beweisen“!? ;)


    Das sehe ich absolut genauso!
    Bisher wird man bei eigenen Analysen nur "belächelt" nach dem Motto, das kann gar nicht sein und das darf auch nicht sein. :(

    Zitat von max

    Das kann gar nicht sein, und führt ja wie diverse Vorredner hier und in anderen Threads in anderen Boards schon weit mehr geschrieben [...] Schon allein nur das banale ändern der Matrix, der DC Precision bringt einem Encoder schlechtere SSIM Werte ein im Vergleich zum Orginal, der Transcoder ändert natürlich "berufsbedingt" gar nichts


    Gute Encoder müssen Ausgangswerte ebenfalls nicht verändern bzw. lassen sich auf diese einstellen. Die angeblichen Optimierungen (Mpeg-Matrix, DC 10->8 etc.) der "Profis" beruhen doch auf entsprechenden subjektiven Analysen für einzelne Beispiele und sollen angeblich das Ergebnis verbessern (!). Plötzlich wird ihnen diese Möglichkeit negativ ausgelegt :ani_lol:

    Zitat von max

    Noch gar nicht ist zur Sprache gekommen, was ein Transcoder aus schlechten MPEG2 Quellen macht, oftmals noch schlechtere, jedoch mit sehr guten SSIM Werten, der Encoder mit entsprechenden Filtern schafft eventuell ein besseres optisches Bild, aber seine SSIM Werte sind garantiert schlechter als die des Transcoders.


    Subjektive Behauptungen - und schon gar nicht belegt mit aktuellen Programmen (was entscheidend ist!).
    Was vielleicht vor 4 Jahren einmal war kann sich leicht inzwischen ins Gegenteil verändert haben ...
    Grundsätzlich sollte man aber von "qualitativ vernünftigem" Material ausgehen und nicht gleich Extrembeispiele heranziehen.
    Dass Bildverbesserungsmaßnahmen den Bildinhalt verändern ist klar und dürfte sich negativ auf SSIM auswirken. Hier wurden aber bereits zur Genüge angebliche Bildverbesserungen sehr negativ beurteilt, zB Entrauschung kontra Detailverschlechterung.

    Zitat von Ligh

    Bringst du einen Encoder mit ins Spiel, dann vergleichst du plötzlich Dezimierung mit komplett neuer Encodierung. Und neue Encodierung ändert den Bildinhalt erheblich.


    Der dekodierte Bildinhalt sollte doch möglichst gleich bzw. möglichst ähnlich bleiben. Das ist Aufgabe sowohl eines Encoders als auch eines Transcoders. Nur die Ansätze dafür sind verschieden.
    Bewegungsvektoren interessieren weder den menschlichen Betrachter noch das SSIM-Analyseprogramm.
    Spezielle Bildveränderungsmaßnahmen (entrauschen, schärfen, deinterlacing ua) bleiben weiterhin ein Privileg klassischer Encoder und sind auf keinen Fall Gegenstand einer SSIM-Analyse.


    Meiner Meinung nach ist es an der Zeit, einen Test zu fahren. Entweder wird das unverrückbare Weltbild einiger umgekrempelt oder bestätigt. Aber genau das möchten Archimedes und ich eben wissen.
    Stillstand herrscht nicht (schon gar nicht bei den Transcodern) und wo wären wir, wenn das nicht ständig hinterfragt werden würde!
    In diesem Sinne freue ich mich bereits auf Testvorschläge bzw. Testmaterial.

    Also, frisch ans Werk!

    Liebe Grüße

    Check It Out

  • Ja, die Nero-Recode-Version ist relativ alt. Diese stammt noch aus der 6-er Version von Nero, die ich (ganz bewusst) nicht mehr auf die 7-er Version „geupdatet“ habe. Ich denke aber, dass die Version gut genug ist, um unserer Frage nach der Sinnhaftigkeit einer SSIM-Analyse nachzugehen. ;)

    Ich habe jetzt mal eine Testreihe mit meinem einminütigen Zooclip (DV-Video) gemacht. Dazu habe ich zunächst mit dem Procoder Express das Referenzvideo erstellt. Das DV-Video wurde dabei mit variabler Bitrate (3500/6500/8500) und in zwei Durchgängen enkodiert.

    Dieses Referenzvideo wurde nun mit Nero Recode 2 und dem Procoder Express auf unterschiedliche Komprimierungsgrade gebracht (95, 90, 85, 80, 75, 70, 65 und 60 %). Die jeweiligen Dateien waren dann auch ziemlich gleich groß. Zu den metrischen Analysen kommen wir später.

    Fangen wir mal ganz homöopathisch an, bei 95 % Komprimierung.

    Original:
    http://rapidshare.com/files/11300503…rozent.zip.html

    Nero Recode 2 (95 % Komprimierung):
    http://rapidshare.com/files/11357114…rozent.zip.html

    Procoder Express (95 % Komprimierung):
    http://rapidshare.com/files/11428727…rozent.zip.html

    Welche Version gefällt besser?

    Check It Out: Wäre es dir möglich, vom obigen Referenzvideo mit der aktuellen Nero-Recode-Version eine Variante mit 60 % Komprimierung anzufertigen. So hätte ich schon mal eine ungefähre Ahnung davon, wie sich die Versionen unterscheiden. ;)

  • Zitat

    Plötzlich wird ihnen diese Möglichkeit negativ ausgelegt



    falsch ! Ganz im Gegenteil -- der Punkt geht eindeutig zurück zur SSIM Problematik .
    Teilweise eben muss man verschiedenste Werte ändern um ein optimaleres Ergebniss zu erzielen, rein optisch versteht sich.

    Der dadurch entsprechend andere SSIM Wert wird durch euch aber negativ ausgelegt, was natürlich völlig falsch ist, so rum wird ein Schuh draus.

    Oder willst Du mir wirklich weiß machen, das rein optisch eine FOX Matrix (10 und 11 im intra und non intra) bei 3500kb/s DVD Pal Full eine gleichwertige Qualität im Bild erzeugt wie die Standart des CCE bei selbiger anliegender Bitrate ?

    Selbiges im DC Bereich, mit solch niedrigen Bitraten eine DC10 zu fahren tut nur dem SSIM Wert gut, nicht der optischen Qualität.

    Das ist nicht nur von vor 4 Jahren so gewesen sondern immer noch so, die FOX die oftmals verarbeitet wird ist eine typische "Nicht" Transcoder Matrix, denn ein Absinken der Bitrate ohne die erweiterten Einstellungen die ein Encoder kann, fürht zwar zu optimaleren SSIM Werten, jedoch keinesfalls zu einem besseren Bild.


    Archimedes

    darf ich dein Testfile mal durch den großen Procoder jagen ?



    max

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!