Beiträge von Didée

    Also ich kommentiere einfach mal weiter hier, statt auf KVCD. (Kein Bock mich auf ALLEN Foren anzumelden.)

    Nicht wahr, es ist lustig, dem Endverbraucher das Parameter-Tweaken für EdgeMasks beizubringen? Irgendwoher kenne Ich das ...

    Zitat von incredible

    BE CAREFUL with the adding of sharpeness as captures do also got a lot of noise on edges. That means if just sharpen those edges, mosquitos will be the result.
    And thats why still no new version of ads() was relesed this Weekend: I was searching for a best possible mask method based on an optimal convolution kernel.


    Den optimalen Kernel kannste suchen bis Du schwarz wirst: noch besser wird's nicht. Wenn sich die Leutchen über Ghosting beschweren, sollte die Maske mit levels(_low, _gamma, 255, 0, 255, false) angepasst werden: _gamma --> 1.5 < gamma < 3.5, um die schwächeren Details besser zu schützen, und _low für den Noise-Cutoff. (Hab vorher schon gesagt, dass Du Maske vermutlich härter einstellen solltest). Bei *starkem* Rauschen wär's bestimmt besser, die EdgeMask auf einem relativ grob entrauschen Input zu erstellen, und dann auf den originalen Input anzuwenden.

    Zumindest für Rauschen in den "flachen" Bereichen wär's das. Bleibt das Problem des Restrauschens in den Detail-Bereichen, die beim Schärfen so hinderlich sind.

    Aber wenn ich da jetzt noch lange weitermachen, landen wir irgendwann bei "iiP by Credible inc." ...

    Trotzdem wirst Du, um sauberes zusätzliches Schärfen zu ermöglich, an irgendeiner Form von Deringing kaum vorbei kommen. Ich wüsste da ein Script, das eine feine Maskierung dafür bereithält - aber laaangsaaam ... :D
    (Schneller Tip noch: eine gedünnte EdgeMask von einer verdickten subtrahieren, und die Bereiche dann vorsichtig beruhigen. Oder eben doch bilateral filtern. Oder beides :))

    Zitat von incredible

    ... zwar noch genauer! aber auch langsamer.


    Pfh, pah! Unter "langsam" versteh' ich was gaaanz anderes. Wer meine Scripte kennt ... :D (... der wird ein geduldiger Mensch)

    Zumindest den "levels(0,1.0,255,0,255,false)" kannste bedenkenlos aus der HQmask-routine rausnehmen, wenn Du ihn nicht zum Aussteuern des Detail-levels verwendest (das geht nämlich prima damit). Solange da nur 0-255-0-255 drinsteht, ists eine reine Verschwendung von CPU-Zeit ...


    Zitat von incredible

    Das Prinzip beläuft sich auf effizienteres Denoisen und ZUDEM erhalten der Details.


    Hmmja ... ein wenig arbeitet die Methode aber schon in Richtung "scharfe Suppe": Was als direkt als prominentes Detail erkannt wird, wird geschärft, was nicht nach Detail aussieht, wird flachgemacht.

    Interessant wird's dort, wo sich Detail und Bildrauschen die Hände schütteln. Da mit milli-FPS Scripten noch die Reste 'rauszukratzen ... mhjamjam.
    (Hab' da gerade das DVB-capture eines Konzertvideos in Arbeit: 480*576 letterboxed, DAR1.85. Ein Feld komplett unbrauchbar: 480*288. Nach croppen: 464*208 - 'ne bessere Briefmarke, schlimm genug. Dazu noch ausreichend Rauschen und Artefakte,buhuu -- wenn's fertig ist [in anamorpher DVD-res], muss ich mal was posten...)


    Noch so'n paar lose Gedanken zu Deinem Script - rein theoretisch, weil ja alles so furchtbar laaangsaaam ist ...

    - das mit dem vorwiegend horizontalen Kameraschwenks & dem verträglicheren vertikalen Stauchen ist schon weitgehend richtig.
    Ausser bei horizontalen Kanten, und ausser wenn eben doch mal vertikal geschwenkt wird.

    Man könnte z.B. einen zweiten entrauschten Clip produzieren, bei dem aber horizontal gestaucht wird, und diesen dann über den ersten (vertikal gestauchten) drüberlegen mit einer Maske, die nur auf horizontale Kanten anspricht (den "5 10 5 0 0 0 -5 -10 -5" - Teil. Oder noch besser: aus der horizontal-Maske die vertikal-Maske mit yv12lutxy raussubtrahieren [wegen den Diagonalen]). Das passt dann in allen Fällen.


    - derzeit werden die Detail-Bereiche in Deinem Script fast gar nicht gefiltert ("nur" undot), höchstens geschärft. Mit allem Rauschen, das noch drin sein mag. Wenn die Quelle schon mit stärkerem Rauschen oder Film-Korn daherkommt (wie z.B. eben Black Rain), dann fliegen die Moskitos auch im Winter ...

    Da würden sich womöglich so Sachen wie STMedianFilter mit deaktiviertem temporalem Teil, oder eventuell DeGrainMedian, anbieten .
    Selber würde ich auch mal tritical's Filter antesten (hauptsächlich TBilateral, vielleicht TAnisotropic). Eignen sich oftmals gut, um Detail zu "bereinigen" - Manchmal aber auch nicht so dolle. Es kommt halt drauf an, wie üblich. Und die thresholds sind recht kitzlig.
    Jedenfalls, *wenn*, dann wohl eher nach dem Schärfen.

    Nor 'so Gedankenspiele, wie gesagt.


    @ LigH

    Ähm, mit Ottifanten kenn' ich mich gar nicht aus. Da geht der Scherz doch glatt an mir vorbei.

    Ah, man beginnt die MaskTools zu entdecken ;)

    incredible:

    Was Du da in Deinem Script machst, ist von der Idee her durchaus okay (obwohl ich das seit längerem etwas anders mache ;) )
    Jedenfalls: Die von Dir verwendete Maskierung der Kanten ist ausgesprochen grob, zumindest für meinen Geschmack. Schau' Dir mal die Maskierungen an, die ich in Restore24 bzw. LimitedSharpen verwende *). Jawohl, die Methode ist spürbar langsamer. Sie ist aber auch viel besser. Überhaupt ist meinereiner ein sehr großer Freund von "weichen" Maskierungen. Wenn die Entscheidung "to filter, or not to filter" über "harte" (annähernd "binäre") Maskierungen getroffen wird, gibt's eigentlich immer hässliche Nebeneffekte. Das kannste auch allein mit dem "blur(1.5)" Deiner Maskierung nicht 'rausreißen.
    Natürlich müsstest Du die Maskierung etwas härter einstellen als ich es z.B. in LimitedSharpen oder auch im iiP tue - maskiertes Schärfen ist *eine* Sache; maskiertes Blurren/Entrauschen eine *andere*. Trotzdem allem aber "beisst" der doppelte Sobel einfach besser (besseres Ansprechen auf Detail, weniger anfällig gegen Rauschen) als dieser verquarkte "einzel-Kernel Quasi-Sobel" - der hat mir noch nie so sonderlich geschmeckt.

    Probier's einfach mal. Siehst dann schon, ob's was bringt oder nicht. Ich prophezeie mal "ja".

    *) Die Maskierungen aus'm iiP empfehle ich lieber 'mal nicht ...


    [edit]

    Um das ganze 'mal bildlich zu belegen:

    [Blockierte Grafik: http://img68.exs.cx/img68/4185/Vergleich2_EdgeMask.jpg]

    Oben: Deine Maskierung mit defaults (2,6) - links "nackt", rechts nach dem "blur(1.5)"
    Unten: Die von mir favorisierte "doppelte" Maskierung.

    Denke mal, der Unterschied ist klar.

    Die Funktion sieht folgendermaßen aus:

    Code
    edge = logic( DEdgeMask(0,255,0,255,"5 10 5 0 0 0 -5 -10 -5", divisor=2)
     \           ,DEdgeMask(0,255,0,255,"5 0 -5 10 0 -10 5 0 -5", divisor=2)
     \           ,"max")
    # \.levels(0,1.0,255,0,255,false) 
    # \.inflate()
    # \.FitY2UV()


    Funktionsmäßig zu parametrisieren wären "divisor" und, falls gewünscht/benötigt, die "levels" Parameter. Man könnte auch die "Ylevels" Funktion nehmen - läuft im prinzip schneller, bringt aber in diesem Fall nicht allzu viel.
    Den "inflate" kann man nehmen oder nicht, je nach Fall und Bedarf. Alternativ tut's meist auch ein blur().
    Das abschließende "FitY2UV" braucht man nur, wenn dann später auch die UV-planes entsprechend behandelt/kopiert werden sollen.

    Zitat von incredible

    Siehst nich so aus, dass der Film in Bereichen gekuttet und sodann als Ganzes gestreckt wird?


    Nö, nicht immer. Kommt wohl auch darauf an, ob viel oder wenig geschnitten wurde. Jedenfalls hab ich schon files gehabt, wo ein paar Minuten lang gestreckt wurde, ein paar Minuten reine 25fps, ein paar Minuten gestreckt usw. usf., immer schön abwechselnd. Und dann krieg' mal raus, ob Audio einfach 'rausgeschnitten wurde (wenn der Teil ohne Dialoge war), oder ob gestreckt wurde - und wenn ja, war's dann mit oder ohne pitch-Korrektur ... bin dann recht schnell auf die beste Lösung gekommen: <DELETE_CAPTURE>.

    Zitat von Selur

    eventuell mal restore24 von scharfi antesten


    ... das ist wohl so 'ne ähnliche Geschichte wie die mit "In the Army now" von Status Quo ... :D

    Jedenfalls, Restore24 hat bei dieser Quelle nix zu suchen. Scharfi hat's ja schon grob analysiert.

    Interessant wird es übrigens auch, wenn z.B. die Ecks-Bärden ;) von Pro7 einen Film erst geschnitten (wg. FSK-xy), und ihn anschließend *abschnittsweise* per Feldverdoppelung wieder auf die Originallänge gestreckt haben.
    Preisfrage: was haben die Herrschaften in den gestrecken Bereichen mit der Audio-Spur angestellt, und wie behandelt man das richtig nach dem Entfernen der doppelten Felder ...

    Jawohl, Dust ist empfindlich bezüglich der Auflösung. Was man in Dust hineinfüttert, sollte eine Auflösung von horizontal MOD16 und vertikal MOD8 haben. Andernfalls kommt's zu den von Dir beschriebenen Effekten.
    Wenn nur wenig schwarze Ränder vorhanden sind, erst nach Dust croppen. Bei größeren Rändern 2mal croppen: vorher "soviel wie möglich" bis zur MOD16/MOD8 Grenze, dann Dust anwenden, dann den Rest croppen.