Mod16 -> Komprimierbarkeit

  • Hi,
    also, ich encodiere bisher immer mit Mod16-Auflösungen, allerdings hab ich das Bild nach dem croppen in der Regel resized (immer nahe der gekroppten Auflösung nur eben auf Mod16).
    Nun hab ich jetzt schon ein paar mal anamorph encodet, sowohl mit Mod16-Kriterium als auch ohne. Bei Ersterem ist das allerdings etwas blöd wenn man an den vertikalen Rändern soweit ins Bild schneiden muss (bei DVD meist links und rechts jeweils 8 anstatt oft nur 2 benötigten Pixeln).

    Jetzt meine Frage:
    Wie stark ändert sich denn die Komrimierbarkeit, wenn man Non-mod16 encodet, bzw. soll ich lieber genau croppen und dann die paar Pixel wieder auf mod16 resizen (benutze dazu meist Lancosresize), wobei ich dadurch aber (vermutlich) wieder Qualitätseinbußen am Bild hinnehmen muss.

    Tools:
    MeGUI+x.264+Avisynth

    Danke
    LessThanJake

  • Wenn du anamorph encoden willst, solltest du auf das Resizen verzichten. Ich würde bis zum Bild wegcroppen und mit AddBorders() so viele Pixel wieder dranklatschen, dass das weggecroppte mod16 ist.

    Lies dir mal diesen Thread durch.

    In wiefern es sich auf die Komprimierbarkeit bei AVC auswirkt, wenn das Bild nicht mod16 ist, weiß ich ehrlich gesagt nicht.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Interessanter Beitrag, allerdings hauptsächlich auf xvid ausgelegt. Vermutlich kann man das aber übertragen, vielleicht ist für x.264 da sogar Mod 8 besser, da man MacroBlock-Options nur bis 8x8 einstellen kann, verstehe das aber auch nicht so ganz, was die genau bedeuten bzw. ob das genau was damit zu tun hat. Ich benutze fast immer das HQ-Slower-Profil + 1,2 kleinere eigene Änderungen.
    Das mit Addborders() hatte ich mir auch schon überlegt, allerdings kann ich mir das croppen der 2 Pixel rechts und links auch gleich schenken, wenn ich die eh wieder hinzufüge, denn gerade die sollten ja eigentlich ganz weg, da sie am Bildschirmrand sind, was obene unten ja nicht der Fall ist.

    greets
    LessThanJake

  • allerdings kann ich mir das croppen der 2 Pixel rechts und links auch gleich schenken, wenn ich die eh wieder hinzufüge

    Sofern sie ganz schwarz sind: ja. (Ist bei TV-Captures z.B. nicht der Fall).

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • XviD unterstützt die Encodierung von Material, deren Bilddimensionen sich nicht durch 16 teilen lassen, relativ gut - es füllt die Bildfläche bis zum nächsten Vielfachen mit gespiegeltem Bildinhalt auf, und schneidet den überstehenden Teil nach der Decodierung auch wieder ab. Gespiegelte Inhalte sind günstig, um nicht allzu starke Artefakte am Rand zu erhalten (was bei scharfen schwarzen Rändern möglich wäre).

    x264 hat das Encodieren mit "beliebigen" Bildflächen zunächst gar nicht unterstützt. Mittlerweile sollte das möglich sein - welche Rest-Auffüllung hier verwendet wird, ist mir nich bekannt. Letztlich könnte es sich auch nur um wenige Promille handeln, die dann vielleicht durch ein Flirren am unteren bzw. rechten Rand auffallen könnten - oder auch nicht.

    Aber zumindest hast du recht, dass beim H.264-Standard die "Makroblöcke" kleiner sind, bzw. kleiner unterteilt werden können. Somit wären hier auch kleinere Vielfache möglich.

  • Hallo,

    bei nicht mod16-Auflösungen gibt x264 folgende Meldung aus:
    x264 [warning]: width or height not divisible by 16 (664x272), compression will suffer.

    Wenn man schwarze Ränder drankleben will würde ich mit einem kurzen Testclip folgendes machen:
    1. Encoding auf mod16 resized oder gecroppt ohne schwarze Ränder und --crf
    2. Encoding mit schwarzen Rändern und --crf
    und dann die Dateigrößen vergleichen, um zu gucken, was die schwarzen Ränder "kosten".

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Die Qualität leidet mit schwarzen Rändern mod16 mehr als ohne und nicht mod16.

    Denn wenn die Auflösung nicht mod16 ist, dann bastelt x264 intern ränder dran, die aber besser für die Bewegungssuche sind, die aber beim Decodieren abgeschnitten werden.

    Schwarze Ränder killen die Bewegungssuche.

    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.

  • Ein oder 2 Pixel Schwarz an den Rändern lassen sich auch recht gut mit FillMargins(a,b,c,d) maskieren. So handhabe ich es immer, wenn mod16 sonst an nur wenigen Pixeln scheiterte.

  • Hab jetzt mal ein paar Sachen durchprobiert.
    Nen Testclip non-mod16, einfach genau passend gecroppt und die Warnmeldung vom x.264 ignoriert, einmal mod16 wo so gecroppt wird, wie es im hier erklärt wird, wobei allerdings ne Menge vom Bild flöten geht und einmal mit Addborders() auf mod16 gestellt.
    Letzteres gefällt mir überhaupt nicht, die schwarzen Ränder links und rechts nerven mich total, und bei den anderen beiden Versuchen ist die Bildqualität identisch, zumindest für mein Auge, und darauf kommt es ja schließlich an.
    Zumindest mit x.264 werde ich wohl einfach non-mod16 encodieren.

    greets
    LessThanJake

  • Die Qualität leidet mit schwarzen Rändern mod16 mehr als ohne und nicht mod16.

    Denn wenn die Auflösung nicht mod16 ist, dann bastelt x264 intern ränder dran, die aber besser für die Bewegungssuche sind, die aber beim Decodieren abgeschnitten werden.

    Schwarze Ränder killen die Bewegungssuche.


    Was heißt das jetzt?

    Sollte man jetzt hingehen, und einfach alles croppen was nicht niet und Nagelfest ist, x264 richtet es intern ja eh?

    Soll man mit AVC (x264) Mod16 Croppen (Bei StandartDVD 72 Pixel oben und unten). Soll man Mod8 Croppen (80 Pixel oben und unten)?

    Ich blicke einfach nicht mehr durch.

  • Also ich benutze immer "mod16 + AddBorders + HQ-Slow-Profil" und diese Aussage

    >>>Die Qualität leidet mit schwarzen Rändern mod16 mehr als ohne und nicht mod16.

    kann ich nicht bestätigen. Sie mag richtig sein, allerdings sehe ich mit bloßem Auge kein Unterschied.

    @FillMargins

    Selbst wenns nur 2 Pixel sind...den Effekt (verschwommen) sieht man deutlich und ich würds nicht nehmen.

    >>>Letzteres gefällt mir überhaupt nicht, die schwarzen Ränder links und rechts nerven mich total

    Die Aussage ist auf AddBorders bezogen und im Vollbild siehst du die Ränder kaum. Es seih denn, du setzt links und rechts mehr als 4 ein. Dann nervts mich auch :)

  • @FillMargins

    Selbst wenns nur 2 Pixel sind...den Effekt (verschwommen) sieht man deutlich und ich würds nicht nehmen.

    Nö, kann ich so nicht bestätigen. Jedenfalls bei Analogcaptures. Kommt wahrscheinlich sehr auf die Quelle an.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • 1. man sollte so croppen, dass keine Ränder mehr drann sind
    2. wenn möglich sollte man auf mod16 bzw. mod8 croppen; Notfalls lieber nicht mod8 aber dafür Ränder komplett ab.

    dem ist nichts hinzuzufügen, bis auf dass wenn man nachher resized das bild nach dem resizen mod 16 haben sollte (ob das nur gecroppte bild vorher mod16 war ist egal)

    in jedem fall ränder wegcroppen (und natürlich auch keine hinzufügen, denn x264 macht das selbst _besser_ wenn man nicht mit mod16 enkodiert)

    x264 macht es besser da
    1) nicht einfach schwarze ränder verwendet werden, die schwer enkodierbar sind
    2) während dem abspielen die von x264 hinzugefügten ränder nicht angezeigt werden, während mit avisynth hinzugefügte ränder angezeigt werden

    Ich weiß, daß ich nichts weiß (Sokrates)

  • Graben wir doch dieses Thema noch einmal aus.

    Mir ist gerade in crusty's XviD FAQ die Aussage über den Weg gelaufen, dass Nicht-Mod16-Auflösungen nicht konform zu MPEG-4 wären.

    Zitat


    The Unofficial XviD FAQ
    Using non-mod16 resolutions: encoding clips to resolutions of which both width and height are not a multiple of 16 is considered a no-no and is not compliant. It is quite possible to do mod-4 resolutions with many builds (don't ask me how) but is not vey good for compressibility. The smallest MPEG-4 building block is not the 8x8 blocks but the 16x16 macroblocks, and using lower-than-mod16 resolutions will make the codec use macroblocks 'outside' the frame border....which is 'A Bad Thing'(tm).


    Kann das jemand bestätigen oder hat sich crusty verhauen?

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Wenn ich das soweit richtig verstanden habe, dann ist es kein Problem. Das Bild wird intern aufgefüllt auf mod 16 und dann beim decoden wieder ausgeschnitten. Sollte also standardkonform sein. Und Xvid scheint das auf den ersten Blick auch so zu machen.

    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.

  • Kann Kopernikus nur zustimmen, runter bis mod2 (mod1 geht nicht auf Grund des Farbraums) gibt's keine Probleme. Intern wird immer mod16 gerechnet, aber wie Kopernikus schon anmerkt wird dann intern mit der Randfarbe aufgefüllt. Da intern also mod16 vorliegt gibt's keine Kompatibilitätsprobleme. ;)

    Cu Selur

  • Die Frage ist dann nur noch, womit der Rest aufgefüllt wird => ob der Überhang extrem ungünstig für Bitrate und Bildinhalt ist. Bei "Auffüllen mit Schwarz" könnte das der Fall sein; besser ist "Auffüllen mit Inhalt, der dem angrenzenden Bild ähnelt".

  • Wenn ich HDDVD Auflösungen ( xxxx x1080 ) brache, kann ich also x264 überhaupt nicht nutzen ?
    Megui läst mich da mit non Mod 16 nicht weiter machen.

  • Megui läst mich da mit non Mod 16 nicht weiter machen.

    Inwiefern?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

Jetzt mitmachen!

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