Arki's Blog – Wer alles glaubt, muss nichts wissen.

25. Juli 2008

Verwirrung total

Filed under: Wirres Zeug — mrarkadin @ 00:05
Tags: , , ,

Ich setze für meine Videoencodings mit x264 ja gerne als grafische Oberfläche MeGUI ein, aber gestern fiel mir im MeGUI-Log dieser Satz auf:

[warning]: psy RD is not compatible with trellis=1; use 0 or 2.

Der Hintergrund ist, das MeGUI nun mit dem Auto-Update die gepatchte x264-Version mit psy RDO lädt. psy RDO war mir bisher nur als Name bekannt. Somit war es an der Zeit, darüber mal nachzulesen, und mich mal wieder von den Einstellungsmöglichkeiten verwirren zu lassen…

Im offiziellen psy RDO Thread im doom9-Forum gab es dann auch gleich einiges nachzulesen:

Originally Posted by Dark Shikari
How it works (simply): the human eye doesn’t just want the image to look similar to the original, it wants the image to have similar complexity. Therefore, we would rather see a somewhat distorted but still detailed block than a non-distorted but completely blurred block. The result is a bias towards a detailed and/or grainy output image, a bit like xvid except that its actual detail rather than ugly blocking.

How it works (full explanation): read the comment in the patch.

Dies ist eine kurze Erklärung zur Wirkungsweise, oder welchen Zweck dieses neue Feature überhaupt erfüllt. Kurz gesagt geht es dabei um die „Rauscherhaltung“. Denn: Mpeg-4 AVC/H.264 ist standardmäßig dafür ausgelegt, das Rauschen des Originalvideos „wegzuoptimieren“, womit aber auch feine Details entfernt werden, also das Bild weichgezeichnet wird. Dies ist der Unterschied zu Mpeg-4 ASP (also z.B. Xvid & DivX), denn dieser Standard versucht, das Rauschen zu erhalten.
Für diesen Zweck wird auch an psy RDO entwickelt, denn, so Dark Shikari:
Das menschliche Auge möchte aber nicht nur, dass das Bild ähnlich dem Original ausschaut, sondern auch die ähnliche Komplexität. Und deswegen einen etwas verzerrten, aber dafür detailreichen Block lieber hat, als einen nicht-verzerrten, aber geblurrten.
Mit psy RDO wird nun mehr Richtung detaillierten und/oder körnigen Bild gegangen, so wie mit Xvid, nur das es hierbei wirklich Details sind, nicht hässliche Verblockung. (Hoffentlich noch sinngemäß übersetzt bekommen ;))
Dies wurde in x264 übrigens auch schon mit optionalen CQM’s versucht (Custrom Quantizer Matrices).

Dies bringt nun aber mit sich, das auch die Einstellungen angepasst werden sollten. (psy RDO ist standardmäßig aktiviert) Denn, der Parameter –trellis 1 ist nun in dieser Verbindung nicht mehr möglich:

Originally Posted by Dark Shikari
2. Warn the user if trellis 1 is enabled–and disable trellis–if psy RD is on.

In diesem Fall werden trellis also automatisch deaktiviert, möglich mit psy RDO ist nur noch –trellis 2.
Und bei mir vermischen sich die ganzen x264-Einstellungen mal wieder noch mehr in einem verwirrenden Chaos-Dschungel. ;)
Denn bisher wurde immer –trellis 1 empfohlen, und ich habe häufig gelesen, das –trellis 2 auch mehr weichzeichnen würden, also nicht nur langsamer ist, sondern auch nicht wirklich besser für die Qualität. ;)
Für CRF (constant rate factor, quasi der Qualitäts-Modus für 1-pass) sah das nochmal etwas anders aus, erst habe ich oft gelesen, trellis sollten hier immer deaktiviert sein, und dann doch, das trellis auch für CRF immer aktiviert sein sollten.

Zitat von Manao
Trellis + constant quantizer can either :
– make a QP 20 encoding looks like a QP 19.5 encoding, with the size of a QP 20 one.
– make a QP 20 encoding having the size of a QP 20.5 encoding, with the looks of a QP 20 one.
– make a QP 20 encoding having the look of a QP 20.5 encoding, with the size of a QP 21 one.
– make a QP 20 encoding having the look of a QP 19 encoding, with the size of a QP 19.5 one.

In all those cases, trellis actually makes you win 0.5 QP. But it also offset the quality/size tradeoff of the quantizer you’re using.

The third case is an example of why some people say „trellis can lower quality“. They always fail to see that if QP 20 + trellis gives QP 20.5 quality at QP 21 size, then QP 19 + trellis gives QP 19.5 quality at QP 20 size.

Now, always remember that all I say is valid when talking about quality as PSNR. If you’re talking about visual quality, it’s a completely different matter, and I wouldn’t even dream to begin explaining the pros & cons of trellis. Try it, test it, see if you like it.

Nun schaut das ganze etwas anders aus:

Originally Posted by Dark Shikari
Trellis 2 is not a bad thing at all with psy RD; the problem before was that it encouraged blurring because RD would often prefer blurrier modes, and trellis would generate blurrier modes. But now, RD prefers *less* blurry modes.

trellis 2 zeichnet das Bild also nicht mehr weich, sondern schärft es, in Verbindung mit psy RDO.

Etwas blöd ist nur, wer in MeGUI immer brav updatet, und darüber die psy RDO Version vom x264-Encoder bekommt, trellis 1 eingestellt hat, sich diese Infos nicht im doom9-Forum durchliest, und auch diese Zeile nicht zufällig durch Lesen im Log entdeckt, wird, unwissentlich, mit deaktiviertem trellis encoden. ;)
Ist zwar besser für die Geschwindigkeit, als ein automatisches Heraufsetzen auf trellis 2, bringt aber auch schlechtere Qualität mit sich. Für diese sollen nun psy RDO + trellis 2 optimal sein.

So, wie ich’s verstanden habe, kann psy RDO sowohl für 2-pass, als auch für CRF eingesetzt werden, und trellis 2 sollte auch für beides die richtige Wahl sein. Hoff ich. ;)

Soweit, wie ich das nun verstanden habe…
Ich hoffe, dieser Beitrag ist nicht so verwirrend/verwirrt, wie ich es bin… :D

Advertisements

Schreibe einen Kommentar »

Es gibt noch keine Kommentare.

RSS feed for comments on this post. TrackBack URI

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Erstelle eine kostenlose Website oder Blog – auf WordPress.com.

%d Bloggern gefällt das: