Deinterlacing und Bildverbesserung mit diesem Material

  • Hagbard88

    OK, machen wir mal Nägel mit Köpfen:
    Ich kenne ja jetzt nur dieses eine Stück des Videos, aber das Material ist problematisch, da auch noch die Kontraste sehr sehr niedrig sind.
    Temporal-Filter erzeugen da sehr schnell Nachzieheffekte, während Spatial-Filter das Bild zumatschen.
    Von daher ist es sehr schwierig, eine Methode und einen Filter, geschweige denn die passenden Parameter zu empfehlen. Ich selbst würde dafür wahrscheinlich ein Script erstellen, dass in Abhängigkeit von der Action entweder temporal oder spatial filtert. Aber sowas ist sehr kompliziert.

    Möchtest Du die Methode benutzen, für die scharfis_brain ist, hast Du das Problem, dass Du etliche Versuche mit dem Threshold der Filter machen musst, um ein optimales Ergebnis zu erzielen.
    Ist Dir meine Methode lieber, dann stimmt das, was scharfi sagte: Das Risiko, Nachzieheffekte zu bekommen, ist größer, dafür ist die Filter-Anwendung einfacher.

    Da das Material aber eh schon so relativ schlecht ist, würde ich zumindest mal das ausprobieren, was ich schon ganz am Anfang schrieb. Wenn Du mit dem Ergebnis leben kannst, OK, falls nicht, hilft nur die komplexere Methode.

  • ____________________________________________


    # benutzerdefinierte funktion
    function RemoveDust(clip input, int _mode)
    {
    repmode = 2
    clensed = Clense(input)
    rep=Repair(clensed, input, mode=repmode)
    rg = RemoveGrain(rep, mode=_mode)
    return TemporalRepair(rg, rep)
    }

    #plugins laden
    loadplugin("d:\x\depan.dll")
    loadplugin("d:\x\removegrains.dll")
    loadplugin("d:\x\repairs.dll")
    loadplugin("d:\x\leakkerneldeint.dll")


    #video laden
    avisource("super8_vhs_sampl.avi")

    #richtige fieldorder festlegen
    assumetff()

    #farbversatz ausgleichen
    mergechroma(crop(0,8,0,0).addborders(0,0,0,8))

    #deinterlacen
    leakkernelbob(order=1,threshold=7)

    #unsaubere raender croppen
    crop(12,2,-4,-14)

    #farbraumkonvertierung
    converttoyv12()

    #bewegung schaetzen
    x=depanestimate(pixaspect=1.094,improve=true,zoommax=2.0)

    #bilder ahnand der bewegung stabilisieren
    depaninterleave(data=x,prev=3,next=3,pixaspect=1.094,mirror=15)

    #entrauschen
    removedust(5)

    #die richtigen bilder aussuchen
    selectevery(7,3)

    #farbraum zurueckkonvertien
    converttoyuy2()

    #das deinterlacing rueckgaengig machen
    assumetff().separatefields().selectevery(4,0,3).weave()

    #wieder raender hinzufuegen
    addborders(8,8,8,8)


    ____________________________________________


    Dies ist das script, welches ich grade nutze.
    Aber auchtung. Es ist saulahm!

    - entfernt das Rauschen fast vollstaendig. Auch bei Kamerabewegung!
    - beseitigt den Farbversatz
    - entzittert zufaelligerweise auch noch die einblendung *g*

    die benoetigten plugins inklusive derer dokumentation findest Du hier:

    http://www.removegrain.de.tf/
    http://140.78.145.103:8888/~kp/AviSynth/LeakKernelDeint/
    http://bag.hotmail.ru/depan/depan.dhtml

  • @ scharfi
    wenn du einen script postest, kannst nicht sofort auch die dlls in einer zip beifügen? man muss sich sonst durch tausende seiten durchquählen, bis man alles gefunden hat ;)
    wo isn die repairs.dll ??? dafür gabs keinen link `:D

  • wenn du einen script postest, kannst nicht sofort auch die dlls in einer zip beifügen?

    Noe.

    man muss sich sonst durch tausende seiten durchquählen, bis man alles gefunden hat

    Genau!
    (Sollte ich nicht Dankbarkeit erwarten koennen, dass ich das schon DIREKT verlinkt habe ??? Man Man Man!)

    wo isn die repairs.dll ??? dafür gabs keinen link `

    im nichtvorhandenen zip

  • LOL ^^, das gefaellt mir :)

    scharfi,
    kannst Du bitte jeder einzelne Zeile Deines Skripts erklaeren, das ganze per Micro aufnehmen, als HE-AAC komprimieren und hier anhaengen? Nett waere es auch, wenn Du mal eben die PC Anywhere Remote Access Software von Symantec installieren koenntest, um das Audiofile via Fernsteuerung direkt auf meinen PC runterzuladen - dabei bitte auch gleich den Player starten und die Datei abspielen...ist schliesslich schlimm genug, das ich den PC schon immer alleine einschalten muss.

    :zunge: :D

    Gruss,
    Viperzahn

    Es ist zu einer gesellschaftsfaehigen Unsitte geworden, dass jeder etwas von sich geben muss, auch wenn er keinerlei Ahnung hat. Und wer vielleicht mal 30 Sekunden nachdenkt, bevor er etwas sagt, dem wird weniger geglaubt als jemanden, der sofort gutklingenden Muell von sich gibt.
    -> http://people.freenet.de/dynamischerpha…esse_halten.mp3

  • Zitat von Xell

    @ scharfi
    wenn du einen script postest, kannst nicht sofort auch die dlls in einer zip beifügen? man muss sich sonst durch tausende seiten durchquählen, bis man alles gefunden hat ;)
    wo isn die repairs.dll ??? dafür gabs keinen link `:D

    Sowas hast Du doch in einem anderen Thread schonmal geschrieben heute? Was machst Du hier ueberhaupt? Du hast doch Deinen eigenen ZIP-Bettel-Thread... ;)

  • Sehr geehrte Herren!
    (Damen scheinen z.Zt. nicht anwesend zu sein)

    Wegen der kuerzlich entstandenen Umstaende ziehe ich die Konequenz, in Zukunft meine Scripte nur noch als hochqualitatives JPEG - gespeichert mittels Qualitaetsparamteter Q 05 nebst Chroma-subsampling von 2000:1:0 - zu veroeffentlichen.
    Durch das ASCII-Format sehe ich mich in meiner Freiheit beschraenkt.
    Desweiteren behalte ich mir vor, die Pluginbezeichnungen im Script nach meinem Ermessen frei und zu jeder Zeit zu aendern.
    Darueberhinaus wird fuer keines der Scripte kostenloser Support geleistet.
    Die Gebuehr jeder Supportminute belaeuft sich nunmehr auf 5 Taler inkl. Mehrwertsteuer.

    Vielen Dank fuer Ihr Verstaendnis.

  • Zitat von Scharfis_brain

    Die Gebuehr jeder Supportminute belaeuft sich nunmehr auf 5 Taler inkl. Mehrwertsteuer

    Mann Scharfi, hab ich dir nun letztens empfohlen ein Donate-Konto einzurichten oder nicht ;) ;) ;)

    Zitat von Scharfis_brain

    dafuer gibts ja den Threshold

    Und das verunsichert mich jetzt ein bisschen (oder bissal wie wir Ösis sagen...). D.h. also, dass wenn ich die Thresholds der temporalen Rauschfilter nicht halbwegs exakt einstelle, ich durch das Bobbing eher ein minderqualitatives Ergebnis kriege als wenn ich die "übliche" Methode des Field-Trennens durchführe?

    Mann oh Mann - dann ist das Bobbing für einen "faulen Kerl" wie mich, der auch bei Rauschfilter meistens mit einmalig ermittelten Standardwerten fährt ja vielleicht doch nichts ...

    cu, grua

  • Oh! Scharfi hat 'nen neuen Entrausch-Filter entdeckt! :D

    So gut das Ding ist, mir ist's in "Rein-Form" doch oftmals zu streng. Vielleicht is' für VHS ja okay, aber bei DVB oder gar DVD Quellen geht dann doch so einiges Detail flöten, besonders in Bereichen mit langsamer Bewegung.

    Probiert man:


    "limit" arbeitet genau so wie man's von Faery/Pixie/Gold-Dust kennt. Kassandro gefällt das nicht so sonderlich ("das ist keine algorithmische Lösung!"), aber mir gefällt das Ergebnis :)

    edit:
    Zur Verdeutlichung - zusammen mit diesem Limitierungs-Trick liefert LRemoveDust absolut vergleichbare Ergebnisse wie PixieDust, bei gleichem limit-Parameter. Nur, dass PixieDust bekanntlich sehr langsam ist. LRemoveDust sollte locker in Echtzeit laufen, und darüber ;)
    Chromabehandlung sollte ev. noch separiert werden.

  • @Scharfi´s ...

    Also ich habe Dein Skript mal ausprobiert. Das Ergebnis ist ja ganz nett, aber der Speed. Ich habe 20 Sekunden mit einem 3-Pass verfahren encoded und das dauerte ca. 15 Minuten bei einem Speed von 0,07 - 0,12 ...

    Wenn ich meine 2 h 40 Minuten so encoden würde, dann würde das ziehmlich genau 5 Tage !!! dauern ...

    Das finde ich schon krass. ich werde gleich mal alle Möglichkeiten die ich so habe in Samples packen und dann auf DVD und schaue sie mir auf dem TV an ...


    @ALL:

    Warum muss ich denn nicht deinterlacen wenn ich interlaced Material habe?
    Weil ich es nur auf dem TV gucken möchte und da eh wieder getrennt wird?

  • Das Deinterlacen von echtem interlaced Video kostet immer etwas Qualität. Im Extremfall hast Du ja 50 Bewegungssequenzen in einer Sekunde, die würden auf 25 reduziert werden.
    Und da MPEG2 ja mit interlaced Video umgehen kann, gibt es einfach keinen echten Grund, da ein Deinterlacing durchzuführen. Es sei denn, Du willst mit Gewalt Bitrate sparen.

  • [@ Scharfi] Wegen der Geschwindigkeit:

    Würde hier nicht prev=1 & next=1 für DepanInterleave() ausreichen? Weil, der RemoveDust arbeitet ja nur mit den Frames N-1, N, N+1. Weiss nicht wie viel das an Speed bringt, aber es sollte doch recht merklich helfen. Wobei ich aber nicht weiss, wieviel Zeit in der Abschätzung, und wieviel in der eigentlichen Kompensation jeweils verbraten wird ... bin nämlich immer noch "Nicht-Anwender" von DePan, bisher jedenfalls.

  • @ scharfi

    #plugins laden
    loadplugin("d:\x\depan.dll")
    loadplugin("d:\x\removegrains.dll")
    loadplugin("d:\x\repairs.dll") <<<<<<< ------ DIEEE
    loadplugin("d:\x\leakkerneldeint.dll")


    ja kla sollte man dankbarkeit erwarten, aber ich finde es wäre konfortabler wenn du sofort alles postest, was wäre schon dabei ?

  • Xell
    ich denke Scharfi leistet hier extrem viel für uns und ich hab verdammt viel von ihm gelernt - ein gewisses Maß an Eigeninitiative darf er aber schon von uns erwarten - schließlich zwingt das gewisse Fehlen von Information dazu sich mit der Materie näher im Detail auseinanderzusetzen. Auch ich habe schon öfters von ihm keine Antwort erhalten obwohl ich mir sicher bin, dass er sie geben könnte - ich denke er will uns damit zum Suchen und Versuchen anregen und beim Suchen nach Informationen stößt man oft auf sehr viel Brauchbares, was man sonst gar nicht gesucht hätte. Ich würde einfach "Danke" sagen und gut is!

    cu, grua

  • Xell:

    ja kla sollte man dankbarkeit erwarten, aber ich finde es wäre konfortabler wenn du sofort alles postest, was wäre schon dabei ?

    gehts noch?
    ich schnuere doch nicht fuer jedes dodel-script nen package.
    zumal die plugins schneller veralten/unbenutzbar werden, als die Kondome einer Nutte.

    weisst Du, was es fuer nen Aufwand ist, packages zu schnueren, dokumentationen zu schreiben und diese dann auch noch zu pflegen?
    Es reicht mir schon, wenn ich alle monate mal das R24 neu schnuere.
    Und selbst da habe ich immer das problem mit neuen pluginversionen.

    loadplugin("d:\x\repairs.dll") <<<<<<< ------ DIEEE

    Du solltest wirklich aufmerksamer lesen.

  • Also ich als Problemsteller hier kann erstmal wirklich nur DANKE sagen. Und das meine ich ernst. Denn es ist nicht selbstverständlich dass sie jemand sooo intensiv mit meinem Problem befasst. Und von daher denke ich dass schon gute Vorschläge gemacht worden sind. Ich werde jetzt mal das eine oder andere testen und dann den Mittelweg zwischen Qualität und Geschwindigkeit versuchen zu wählen. Dabei werde ich wohl noch das eine oder andere fragen und hoffen dann keine Grundsatzdiskussion loszutreten ;)

    Bis dann Hagbard

Jetzt mitmachen!

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