Captain Future Aufnahmen aufpolieren

  • Hallo

    Ich brauche mal wieder die Hilfe der Script Experten.:-)

    Und zwar will ich meine Captain Future Aufnahmen aufpolieren.

    Vor allem stören jede Menge Staub & Kratzer das vergnügen. Habe etwas mit Despot versucht aber eine wirkung habe ich nicht erkennen können. Also keine, die wirklich lohnt zu Filtern.

    ConvertToYV12(interlaced=true)
    Crop(0,0,720,288)
    # Compare frames with blur, and with and without temporal noise reduction
    i = last
    # Compare half-frames with and without noise reduction
    b = DeSpot(i, p1=35, p2=14, pwidth=70, pheight=70, mthres=25, mwidth=20, mheight=15, interlaced=true,
    \ merode=33, ranked=false, p1percent=0, dilate=0, fitluma=false, blur=4, motpn=false, seg=0)
    t = DeSpot(i, p1=35, p2=14, pwidth=70, pheight=70, mthres=25, mwidth=20, mheight=15, interlaced=true<p align="justify"></p>,
    \ merode=33, ranked=false, p1percent=0, dilate=0, fitluma=false, blur=4, motpn=false, seg=0, tsmooth=3)
    StackVertical(b, t)

    Ideen gefragt. Ach ja die Suche spukt nix aus was hilfreich wäre.

    Sample
    https://rapidshare.com/files/2552554732/Untitled.mpg

  • Sehr effektiv gegen "1-Frame-Schmutz" :

    Code
    clense(reduceflicker=false)

    Haut mindestens 95% von dem Schmutz weg. Hurra.

    Natürlich kann man das soooo einfach nicht gebrauchen: bei manchen (seltenen, ungünstigen) Pixelkonstellationen wird Schmutz von Nachbarframes hinzugefügt. Vor allem aber: spätestens wenn Bewegung in *jedem* Frame stattfindet (z.B. Scrolling/Panning), dann wird's ganz furchtbar peinlich .... :hm::nein: :D

    Das Problem ist nicht so sehr, den Schmutz zu entfernen. Das große Problem ist, zu unterscheiden, was eigentlich Schmutz, und was Bilddetail-in-Bewegung ist. (Uns Menschen fällt diese Unterscheidung sehr leicht. Ein PC bzw. Algorithmus ist aber dümmer als Stroh, und hat keinen blassen Schimmer, was er da eigentlich macht.)


    Das Problem ist schon 1000x angegangen worden, aber was anderes als "Kompromisse" ist noch nie dabei 'rausgekommen. Solange kein gut trainiertes Neuronales Netz dahintersteckt, das sicher entscheiden kann "dieses ist Schmutz, und jenes ist echtes Bild-Detail", solange ist das Problem ohne endgültige Lösung.

  • Hm, also die Filmrestauroren werden doch bestimmt nicht alles in Eizelbildbearbeitung machen. Also muss es da was geben. Wenn man zb die Vergleiche auf den 3L Bund Spencer Filmen sieht, also vorher nachher sieht man was möglich ist. Also womit machen die das?

    Und mal anders gefragt, mit welcher Software würde man überhaupt eine Einzelbildbearbeitung hinbekommen?
    Die Videoprogramme die ich kennen erlauben eigentlich nicht im Bild rumzumalen.

  • Teilweise schon ... je nach dem, ob sie dafür bezahlt werden, können Restauratoren durchaus mal Szene für Szene gesondert bearbeiten. Eine "DaVinci" im Preissegment von Mio. EUR hat aber auch nicht jeder zur Verfügung. Soweit ich mich erinnere, war Chaplin's "König von New York" eine dieser extremen Ausnahmen, an denen "digital images" mal arbeiten durfte.

    AviSynth erlaubt einem zumindest, per ApplyRange() o.ä. die Filterung auf Szenen zu beschränken.

    Vollautomatisch wird wahrscheinlich nie optimal; wenn sich der Aufwand lohnt, dann muss man auch mal etwas manuelle Feinarbeit investieren.

  • Also mein Versucht mit Photoshop Extended CS5 klappt nicht für Einzelbildbearbeitung. MPEG2 öffnet er nicht. Bei Adobe hast es lapidar man braucht einen MPEG2 Enkoder. Welchen und was der erfüllen muss steht nicht da. AVI hatte kein Bild (huffyuv).

  • MPEG2 ist ja auch nicht wirklich für manuelle Einzelbildbearbeitung geeignet. Da werden ja immer GOPs mit einer Länge bis zu etwa 12 oder 15 Bildern als Einheit komprimiert. Nur ein Bild (das I-Frame) ist ein eigenständiges Videobild, alle anderen speichern dagegen überwiegend nur Unterschiede zu diesem oder anderen Bildern und können deshalb eben nicht mal so bearbeitet werden. Jede Änderung eines Bildes kann zu notwendigen Änderungen in allen weiteren davon abhängigen Bildern einer GOP führen.
    __

    Natürlich möchte Adobe sein eigenes MPEG2-Encoder-Plugin zusätzlich verkaufen. Aber Photoshop ist ein Einzelbild-Bearbeitungsprogramm, Premiere ein Videobearbeitungsprogramm, AfterEffects ein Videoeffektprogramm ... für dein Vorhaben müsstest du dir aber wohl alle drei kaufen, damit alle richtig zusammenarbeiten.
    __

    Das meinte ich aber noch nicht mal mit dem "szenenweisen Filtern". Mir ging es eigentlich darum, in AviSynth bestimmte Filter nur von Frame x bis Frame y anzuwenden, dort wo ihre automatische Funktion mehr nützt als stört. Und für andere Bereiche des Filmes sind dann wieder andere Filtereinstellungen zu empfehlen. Die manuelle Arbeit liegt dann vor allem im Sichten der Szenen und dem Anpassen des Skriptes.

  • Hm, ne das ist nicht Praktikabel. Da würde es ja mehr sinn machen den Film zu Bildern zu machen und die nach und nach im Photoshop zu bearbeiten mit dem Reparatur Pinsel. Der ist schnell und effektiv. Die Klickorgie in dem Video ist ja grausam.:D

  • Zitat

    Die Klickorgie in dem Video ist ja grausam.:D

    Habs mal nachgestellt.[eine Std.gespielt ]..Boris Red 5.09 als PlugIn aus Edius 6.05.........hast recht...schneller kann man AE in den Griff bekommen.

    Wart noch etwas ab...es kommt sicher noch jemand mit einer passenden Lösung.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Ihr wollt doch jetzt nicht wirklich manuelle Einzelbildbearbeitung vorschlagen? Das dauert ja bis Weihnachten ... 2012.

    Bewegungskompensation vorschalten, Clense anwenden, dann noch NNEDI3+resharp um (ohne Nachzudenken) den Field-Shift zu korrigieren.

    Dann haben wir sowas wie das hier.

    Da könnte man dann noch den Kniff mit SCSelect() 'dranpappen, um die Klebestellen an den Szenenwechseln zu klären.

    Oh, und mittig im rechten Quadranten ist ein konstanter Dark-Spot (incl. Combing), den könnte man vielleicht auch noch maskiert wegfiltern. Muss ja nicht sein.
    CF_Frame.jpg

  • Und bitte noch angabe der DLLs dazu. Und nnedi3 ist doch eine Funktion die man brauch wenn ich nicht irre.

    bzw WOW das sieht ja klasse aus im Sample.

    Also removeGrain, repair, Masktools v2.6, nnedi3 habe ich schon mal, MVTools brauche ich auch oder?

    3 Mal editiert, zuletzt von trecordings (11. November 2011 um 19:10)

  • nutze 2.58 und mt_masktools-26.dll scheint zu gehen mal schaun. Ist nicht das schnellste aber das ergebniss sieht Genial aus. Denke der aufwand lohnt sich.

    gibt das Progressiv aus? sieht so aus.

    SCSelect() ist Removedirt oder nicht?

    Einmal editiert, zuletzt von trecordings (11. November 2011 um 19:27)

  • Nur weil es "scheint" muss es noch lange nicht sein.

    Wenn Avisynth 2.5.8, dann "mt_masktools-25.dll". BASTA.


    Die -26.dll ist in keiner Weise besser oder sonstwas. Sie ist nur intern auf das API von Avisynth 2.6 abgestimmt.

    Nimm also die -25.dll, dann biste auf jeden Fall auf der sicheren Seite.

  • Ok. Die masktools treiben einen eh in den wahnsinn.

    Also SCSelect() da fehlen wohl parameter.

    Also soweit bin ich gerade

    o=last

    sup1 = o.blur( 0.25).msuper()
    sup2 = o.blur(-0.26).msuper(levels=1)
    bv1 = sup1.manalyse(isb=true, blksize=16,overlap=8,search=5,searchparam=4)
    fv1 = sup1.manalyse(isb=false,blksize=16,overlap=8,search=5,searchparam=4)

    interleave(o.mcompensate(sup2,fv1),o,o.mcompensate(sup2,bv1))
    clense(reduceflicker=false).selectevery(3,1)
    x1 = last

    nnedi3(field=-2)
    merge(selecteven(),selectodd())
    d1 = mt_makediff(x1,last)
    d2 = mt_makediff(last,last.removegrain(11,0).removegrain(11,0))
    last.mt_adddiff(d2.repair(d1,12,0).mt_lutxy(d2,"x 128 - y 128 - * 0 < 128 x 128 - abs y 128 - abs < x y ? ?"),U=2,V=2)
    x3 = last

    x3a = x3.removegrain(11,0)
    x3b = x3a.removegrain(11,0)
    x3.mt_makediff(mt_makediff(x3a,x3b),U=2,V=2)

    hqdn3d(5,5.7,6)

    das sieht schon Super gut aus.

    2 Mal editiert, zuletzt von trecordings (11. November 2011 um 20:13)

  • SCselect ist ein Filter aus RemoveDirt.dll

    Dann ans Script hinten anhängen:

    Edit: Autsch, verflixt, das ist ja überwiegend 8fps-Animation! Nicht so gut für SCselect (untersucht +/-2 frames ... da immer 3 Frames "gleich" sind, wäre ja nach jedem 3-Frame-Päckchen ein "Szenenwechsel").

    Mit dfactor>=6.0 scheint's zu gehen. Ich versteh' zwar gerade selber nicht warum, aber es geht ... :confused:

    Einmal editiert, zuletzt von Didée (11. November 2011 um 21:52)

  • Gibt's nicht alle Folgen mittlerweile auf DVD? Kenne deinen Lohnsatz nicht, aber bei den Oppornitätskosten dürfte sich der Aufwand doch kaum lohnen...


    MultiMakeMKV: MakeMKV Batchverarbeitung (Win)
    MultiShrink
    : DVD Shrink Batchverarbeitung
    Offizieller Übersetzer von DVD Shrink deutsch

  • Doch das lohnt sich voll. Die DVDs sind genauso schlecht wie meine TV-Aufnahmen.

    @Didee

    Dickes danke. Das Script ist wirklich genial.

    Könnte man auch noch was gegen das Helligkeitsflimmern machen. Man sieht das Bild flackert etwas.

    Vielleicht removeflicker() und Deshaker für die Bildstabilisierung also den Bildstand?
    Vielleicht haste da noch ne Idee. :)

    Einmal editiert, zuletzt von trecordings (12. November 2011 um 13:13)

  • Mit Deshaker könnte man sicherlicher noch was machen, aber das ist nicht meine Spielwiese, da kann ich nix "aus dem Ärmel" schütteln. Beim De-Shaken muss man halt immer sehr aufpassen, dass man sich nicht an anderen Stellen ungewünschte Verschlechterungen einhandelt.
    (Insbesondere was die geklebten Szenenwechsel angeht ... die Erkennung von Szenenwechseln ist niemals perfekt. Und bei "Verschiebe"-Korrekturen kann der Schuss ganz böse nach hinten losgehen, falls der Algorithmus ab & zu mal einen Szenenwechsel erkennt, wo gar keiner ist....)


    Zur Stabilisierung von leichtem Helligkeitsflimmern würde ich folgendes Puzzleteilchen vorschlagen:

    Keine rieeeeesige Änderung, aber es stabilisiert durchaus die Helligkeit .... weitgehend ohne Gefahr, versehentlich irgendwas schlimmes anzustellen.

  • Dann lasse ist das deshaken mal. Ist auch nur leicht unruhig.

    Statt hqdn3d(5,5.7,6) habe ich mal TemporalSoften(4,4,8,15,2).deen("a2d",3,5,7) genommen das hilft recht gut gegen die Unruhen bzw Rauschen in den einfarbigen Flächen. Ergibt ein deutlich sauberes Bild.

Jetzt mitmachen!

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