AVISynth-Script zum Denoisen (VHS)

  • Soooo, nun mußt ich nochmal kurz etwas nachhaken.

    Also, ich habe jetzt einige Scripts ausprobiert und bin bei TemporalDegrain hängengeblieben. Die Geschwindigkeit ist zwar alles andere als atemberaubend (~1fps), dafür macht dieses Script für mein Empfinden ein "entrauschteres" Bild als GTDegrain.

    Deinterlacen möchte ich schon, da das Video sowohl auf dem PC, als auch auf dem TV gesehen werden soll. Jetzt hatte ich irgendwo im Net aufgeschnappt, daß die beste Deinterlacing-Methode wohl darin bestehen soll, aus den 50 Halbbildern 50 Vollbilder zu machen.

    Daher meine Frage(n):
    1. Gibt es zu dieser Methode ein Script bzw. wie müßte so ein Script dann aussehen?
    2. Deinterlacing VOR TemporalDegrain, oder erst DANACH? Was macht mehr Sinn?


    Danke euch schonmal wieder für eure Hilfe & Gruß Danny

  • zu 1.: yadif(mode=1) wäre eine Möglichkeit, Bob(0,0.5) hatte Dideé ja schon erwähnt, könntest also einfach den auskommentierten Teil von Dedieé seinem Vorschlag weg lassen und es sollte passen,..
    zu 2.: Deinterlacing sollte i.d.R. immer als erstes kommen, wenn man nicht die Fields separat filtert.

  • 1. Deinterlacen VOR Anwendung von TemporalDegrain.

    2. Welche Version von TD beutzt Du ? Eventuell kannst Du, sofern Du einen DualCore in Deinem Rechner hast und eine spezifische Grafikkarte benutzt,
    - zum einen die 2 Prozessoren mittels MT besser nutzen
    - sowie Deine Grafikkarte bei der Kodierung mit einbinden durch Austausch der FFTdFilter.dll durch FFT3dgpu.dll (lad mal die GPU-Version herunter und schau im Readme nach, ob Deine Grafikkarte in den Anwendungsbereich der dll fällt).

    Für "schwere Fälle benutze ich TemporalDegrainVHS+gpu i.V.m. MT, was zu einer durchschnittlichen Geschwindigkeit von knapp 3fps führt. Zwar immer noch kein Geschwindigkeitsrekord, aber besser als 1fps. ;)

    3. Bezüglich eines Deinterlacers versuch es erst einmal mit dem sehr häufig benutzten TDeint (oder Bob,MVBob, Yadif).
    I.ü. gibt es zu Deinterlacern Lesestoff in Hülle und Fülle... das Ganze ist m.E. nur etwas "erschlagend" sowohl vom Umfang als auch vom Inhalt.

    Gruss

  • @ selur: Wie ist das eigentlich bei den genannten Deinterlacing-Methoden? Blenden die nicht einfach nur die Halbbilder zusammen bzw. entfernen jedes 2te Halbbild? Also, ich fand die Idee, aus 50 Halbbilder 50 Vollbilder zu machen und dann auf 25 Vollbilder runterzurechnen qualitätsbezogen irgendwie interessant. Vielleicht lieg ich ja damit auch falsch?

    @ sidewinder: Duo-Core & spezifische GrafKa scheiden aus. Hab nen Athlon 2700+ und ne "normale" ATI Radeon am Start.

    Das TemporalDegrain-Script ist dieses, welches Didée vor einigen Beiträgen verlinkt hatte. Meine mich aber zu erinnern, daß es ziemlich up-to-date war.

    Stimmt schon, daß das Thema Deinterlacing SEHR weitreichend ist. Ich suche halt die derzeit qualitativ BESTE Möglichkeit (sofern es eine gibt!) zum Deinterlacing. Daher hatte mich diese o.g. Methode interessiert.

    Danke & Gruß Danny

  • "Vielleicht lieg ich ja damit auch falsch?" -> Bob-Filter interpolieren aus jedem Halbbild ein Vollbild und verdoppeln so die Framerate, viele der genannten Filter sind entweder Bob-Filter oder haben eine Option die es ihnen erlaubt als Bob-Filter zu agieren. (z.B. Yadif(mode=1)

    Zitat

    Ich suche halt die derzeit qualitativ BESTE Möglichkeit (sofern es eine gibt!) zum Deinterlacing.

    https://gleitz.info/wiki/index.php…as_Beste_ist.21

    Wenn es Dir nicht auf die Zeit ankommt sind mvbob, mcbob, mvbobmod sicher sehr gute Bob-Filter, in der normalen Praxis wird man aber wohl eher zu Yadif oder TDeint mit entsprechender Einstellung greifen. (Vielleicht kennt scharfis brain auch noch einen weitern, vermutlich noch langsameren und noch etwas 'schöneren' Bob-Filter.)


    Cu Selur

  • NOCH langsamer als MCBob? Meinst Du, das geht überhaupt ... ? :D

    A propo Bobbing: das Problem vieler (Bob-) Deinterlacer ist, glaub' ich, dass sie zu sehr versuchen, das "theoretisch Richtige" zu tun. Ein bei der Filter-Entwicklung etwas vernachlässigter Punkt ist, was in der praktischen Anwendung gut aussieht ...

    > BEISPIEL < (57 MB, 1x Quelle + 5x verschiedene Bob-Filter)

    Der Hammer. ;D

    Zitat

    Eine noch so brilliante Theorie scheitert bisweilen an der Praxis.

  • @ selur: Mir geht´s hier ja nicht um eine Grundsatzdiskussion über Deinterlacer, sondern welcher Deinterlacer den qualitativ besten Job macht. Da zählen ja sicher nur Erfahrungsberichte. Weiter wäre es interessant zu wissen, wo man die Scripts für die, von Dir angesprochenen Bob-Deinterlacer herbekommt bzw. wie diese aussehen. Habe zwar Google bemüht, aber nicht wirklich was gefunden.

    Didée: Leider kann ich die verlinkten Beispiele nicht ansehen, um mir mal ein Bild über die Möglichkeiten zu machen. Fehlt mir hier evtl noch ein Plugin? Bekomme unter VDub die folgende Fehlermeldung:"Couldn´t locate decompressor for format 'HFYU' (Huffyuv. Danach kommt irgendwas mit VFW comaptibler codec.

    Danke & Gruß Danny

  • ffdshow sollte auf dem System installiert sein, möglichst eine Version aus dem jüngeren Teil dieses Jahrhunderts.;) Dann:

    Start / Programme / ffdshow / VFW-Konfiguration , Register "Decoder" , Sektion "Codecs" , dort bei "Huffyuv" das "disabled" anklicken und in der Pulldown-Liste auf "libavcodec" einstellen.

  • Danke @ Didée. :)

    Und GENAU das meine ich, wenn ich mir nun die Videoschnipsel ansehe. Qualitativ ist von grottenschlecht bis super alles vertreten, aber ALLE machen angeblich denselben Job. Meine Favoriten sind da ganz klar "25-50_0-source50p" & "25-50_5-TGMCa4(max)". Also ist das Deinterlacing doch keine Glaubensfrage a la "Welcher Deinterlacer ist nun besser ...", sondern ganz klar für mich die Erkenntnis:"Es gibt supergute Deinterlacer und eben Deinterlacer, die nicht so prall deinterlacen."

    Gibt es eigentlich zu den beiden, von mir erwähnten Deinterlacing-Methoden ein Script für Avisynth?

    Danke & Gruß Danny

  • Wofür die Abkürzungen stehen die Dideé verwendet muss er Dir selber sagen, angemerkt sei, dass bei einem anderen Sample die Ergebnisse der Bob-Filter durchaus anders aussehen können. -> Mir wäre es neu, dass es eine Bob-Methode gibt die man prinzipiell in die Kategorie 'rottenschlecht bis super' irgendwo fest einordnen kann.

    Cu Selur

  • Habe nun rausgefunden, daß es sich hierbei wohl um den TempGaussMC_alpha4(?) handelt. Leider finde ich nur das Script der alpha3-Version.

    Didée: Findet sich vielleicht irgendwo das Script für den TempGaussMC_alpha4(max) im Net? Würde ich sehr gern für das Deinterlacing nutzen wollen.

    Weiter wäre meine Frage, ob dann dieses Script gemeinsam mit dem TemporalDegrain-Script nutzbar wäre? Ich frage dies, weil im TempGaussMC sicher eine Funktion "Degrain" (wie in der alpha3) enthalten ist. Würde das dann Sinn machen?

    Danke schonmal wieder & Gruß Danny

  • Die Version Alpha-4 hängt noch im Brutkasten am Tropf. Wenn ich die jetzt vorzeitig abnable, geht sie ein wie eine Primel.

    Grundsätzlich kann man TempGaussMC und TemporalDegrain durchaus kombinieren, sicher. Allerdings wird die Kombination zweier komplexer MVTools-Scripte *sehr* ressourcenintensiv und *sehr, sehr* langsam laufen. Bevor man anfängt, mit Kanonen auf Spatzen zu schießen, sollte man erst mal abklären, was nötig und sinnvoll ist, und was nicht.

    Das gezeigte Beispiel ist eines, bei dem eigentlich alle Deinterlacer keine gute Figur machen. (Insbesondere Yadif ... immer wenn Yadif als "Allzweckdeinterlacer" vorgeschlagen wird, mach' ich mir gerne einen Sport daraus, ein Beispiel zu zeigen bei dem Yadif jämmerlich in die Hose geht.)

    Womit die verschiedenen Deinterlacer umgehen können oder nicht, hängt vor allem vom vorhandenen Grad an Detail und insbesondere von den vorhanden Hochfrequenzen in der vertikalen Richtung. Banal ausgedrückt: es hängt von der Bildschärfe ab. ("Echte" Schärfe, es gibt auch "gefakte".)


    Übung:

    Das Referenz-File "parkrun_25-50_Q3_source50p.avi" als Quelle nehmen, interlacen, und dann verschiedene Bobber oder Deinterlacer darauf loslassen:

    Code
    AviSource("parkrun_25-50_Q3_source50p.avi")SeparateFields().SelectEvery(4,0,3).Weave()source = lastedi = source.NNEDI(field=-2)# bob(0,0.5)# Yadif(mode=1)# Yadif(mode=1, edeint=edi)# source.TDeint(mode=1)# source.TDeint(mode=1,edeint=edi)# source.MVBob()# source.MCBob()# ... oder was euch sonst noch so alles an Filtern einfällt ... TDeint+NNEDI+TMM macht's auch nicht besser# source.TempGaussMC_alpha3()

    Ruhig nach Lust+Laune alle Filter durchprobieren. Die Resultate werden sich sicherlich mit denen decken, die ich beigefügt hatte. Man kann natürlich auch mit den (vielen) Parametern der Filter herumspielen; es wird sich aber kaum etwas wesentliches am Ergebnis ändern.

    Das Problem bei diesem Quellmaterial ist der Detailreichtum und die "echte" Schärfe desselben. Genau das ist's, was hier fast allen Filtern das Genick bricht. Dafür sind deren Methoden einfach nicht ausreichend.

    Aber: Die Sache kann sich er schnell ändern, wenn das Quellmaterial nicht so extreme Vorbedingungen liefert ...

    Jetzt wird die gleiche Übung nochmal gemacht, nur mit einer kleinen (aber wichtigen) Änderung:

    Jetzt bitte die Ergebnisse mit diesem Script nochmal anschauen. Und? Aaah, Überraschung! Auf einmal liefern all' die "grottenschlechten" Filter ein Ergebnis das völlig in Ordnung geht. Ja, wattnu? Taugen die Filter, oder taugen sie nicht?


    Ob ein Filter geeignet ist oder nicht, hängt immer von der Charakteristik des Quellmaterials ab!

    D.h. man muss nicht immer nach "dem-besten-aller-Filter" greifen (oder fragen). Die Hochspezial-Filter zielen meist darauf ab, auch in (sehr) dünner Luft noch eine ordentliche Leistung zu bringen.
    Wenn man sich tatsächlich aber nur knapp über dem Meeresspiegel bewegt, dann ist eine solche Spezialisierung oft gar nicht nötig, und manchmal vielleicht sogar hinderlich.

    Und jetzt wärest Du erstmal wieder dran mit Ausprobieren.:)

    Keiner von uns weiß ja, wie dein Material eigentlich aussieht. Aber, ganz ehrlich: Bei der Entstehungsgeschichte von Hi8 auf VHS, und dann von VHS auf'n PC -- da würde ich mal vermuten, dass die Charakteristik eher in Richtung derer des zweiten Scriptes geht als in die des ersten ...

  • Jo, klar, ist doch egal obs ScheiBe aussieht. Hauptsache fertig. Gulli-Quali kann jeder.

    Ausserdem ist alles relativ ... meine Scripts laufen auf DEINEM Rechner vrmtl. schneller als x-beliebige Billig-Filter auf MEINEM Rechner. (Gell do glotsch...)

  • Zitat

    Jo, klar, ist doch egal obs ScheiBe aussieht. Hauptsache fertig. Gulli-Quali kann jeder.

    So hab ich das nicht gemeint und das weißt Du auch. ;)
    Gehöre i.d.R. nicht gerade zu den Leuten die sich darüber aufregen ob das Material nun mit 1fps oder 150fps umgewandelt wird.
    War definitiv keine Kritik an Deinen Skripten, dafür bin ich oft genug viel zu beeindruckt davon, was Du mit denen noch aus dem unbrauchbarsten Material rausholen kannst. :)

    Meinte ja nur, das man i.d.R. durchaus auch ein Augenmerk auf Zeit&Nutzen haben sollte.Persönlich nehme ich i.d.R. (Ausnahmen gibt es immer) lieber etwas weniger Qualität in Anspruch, als dass ich mehrere Tage auf einen Clip warte der vielleicht gerade mal ne Stunde lang ist und nicht gerade in die Kategorie: "Wirklich Wertvoll, warum auch immer, fällt." (Geburtsvideo des Sprößling oder dergleichen nicht wiederbringbares Material ist sicher fast jeden Aufwand wert.)

    Sorry, aber wenn Leute anfangen zu versuchen ihre alte VHS Aufnahme eines Films umzuwandeln, den es auch auf DVD gibt und deshalb ihre Rechner 3-Tage rund um die Uhr rödelt, dann läuft da meiner Ansicht was schief. ;)

    Cu Selur

    Ps.: Nach einem Blick auf das Video würde ich vermutlich bei Yadif bleiben, da ich den Unterschied nicht sehe. ;)
    PPs.:
    Yadif(mode=1, edeint=edi) müsste das nicht ein YadifMod(.. sein?

  • Sorry, aber wenn Leute anfangen zu versuchen ihre alte VHS Aufnahme eines Films umzuwandeln, den es auch auf DVD gibt und deshalb ihre Rechner 3-Tage rund um die Uhr rödelt, dann läuft da meiner Ansicht was schief. ;)

    Falls das jetzt in meine Richtung abzielte, muß ich Dich enttäuschen, denn:

    -da das Material ja von Hi8 auf VHS überspielt wurde, läßt ja nur den Schluß zu, das es sich eben nicht um einen Film handelt, den es auf DVD gibt, sondern um unwiederbringliches privates Material, das dann den Aufwand (für mich persönlich) auch wert ist.

    Was als persönlich wertvoll angesehen wird, definiert ja nun jeder selbst.

    @ Didée: Konntest Du schon einen Blick auf den Videoschnipsel werfen? Leider komme ich mir dem 2ten Script nicht ganz klar und bekomme nur Fehlermeldungen ...

  • Okay, dann nix für ungut. Hab´s dann wohl falsch aufgefaßt, weil es im Kontext zu meiner Frage stand.;D

    Nachtrag: Habe das jetzt per Script gebacken bekommen (Fehler meinerseits). Kann ich eigentlich den HUFFYUV-Codec für das deinterlacete Video nehmen. Welcher Codec empfiehlt sich dann bei einem "ConvertToYV12"-Befehl und Übergabe an VDub?

Jetzt mitmachen!

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