VideoHelp Forum

+ Reply to Thread
Page 2 of 3
FirstFirst 1 2 3 LastLast
Results 31 to 60 of 67
Thread
  1. Also, coming back to this thread to talk about ANOTHER issue that some episodes have:

    Chromatic Aberration

    Yes, that's right.

    Just to know, what appropriate filters and settings i can use to fix this?

    Image Attached Files
    Quote Quote  
  2. for the fun of it:
    tackling the Chromatic Aberration using VSGAN(BroadcastToStudioLite) :

    (used: QTGMC + Crop + DeHalo_alpha + VSGAN(BroadcastToStudioLite) )
    -> still there but a lot weaker

    Cu Selur

    Ps.: Sorry, overlooked that you are using AviSynth, so it's probably not helpful, but I thought I post it anyways

    PPs.: try "FFT3DFilter(sigma=40.00,plane=2)", smoothing the UV plane helps at least with the chromatic aberration on the right, see: https://imgsli.com/MTEzMDE4
    Last edited by Selur; 17th Jun 2022 at 15:12.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  3. Those are rainbow artifacts. Caused by high frequency luma interfering with the chroma carrier of a composite signal. Use a DeRainbow filter.

    http://avisynth.nl/index.php/Category:Rainbow_%26_Dot_Crawl_Removal

    Maybe add some temporal noise reduction to the chroma after it.
    Quote Quote  
  4. Originally Posted by Selur View Post
    for the fun of it:
    tackling the Chromatic Aberration using VSGAN(BroadcastToStudioLite) :

    (used: QTGMC + Crop + DeHalo_alpha + VSGAN(BroadcastToStudioLite) )
    -> still there but a lot weaker

    Cu Selur

    Ps.: Sorry, overlooked that you are using AviSynth, so it's probably not helpful, but I thought I post it anyways

    PPs.: try "FFT3DFilter(sigma=40.00,plane=2)", smoothing the UV plane helps at least with the chromatic aberration on the right, see: https://imgsli.com/MTEzMDE4
    Very interesting...

    I did try FFT3DFilter now with some other frames...

    Code:
    FFVideoSource("EPISODE_FILE.mkv")
    
    AnimeIVTC(mode=2,bbob=4,degrain=3,normconv=False)
    
    og = last
    
    FFT3DFilter(sigma=40.00,plane=2)
    FineDehalo(rx=2.0, ry=2.0, darkstr=0.8, brightstr=1.0, showmask=0)
    
    Levels(14,1,245,0,255)
    
    Crop(6, 0, -10, -0)
    Spline64Resize(640,480)
    Subtitle("Restored")
    
    og = og.Crop(6, 0, -10, -0)
    og = og.Spline64Resize(640,480)
    og = og.Subtitle("Original")
    
    StackHorizontal(og,last)
    Quote Quote  
  5. I would have used plane=3 to filter uv not just v
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  6. Also, yeah, i also noticed you use VapourSynth.

    This is because, i think, AnimeIVTC isn't ported yet to VS.
    Quote Quote  
  7. Yup seems like nobody had the time and motivation to port that massive script yet.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  8. Originally Posted by Selur View Post
    Yup seems like nobody had the time and motivation to port that massive script yet.
    So, since you use VSGAN, there's some models i have found so far.

    2X_DigitalFilmV5_Lite.pth and 2x_AnimeClassics_UltraLite_510K

    You can try these, since you are in the models's Discord.
    Quote Quote  
  9. Sure, here you go:
    2X_DigitalFilmV5_Lite.pth: https://imgsli.com/MTEzMTUw doesn't touch the chromatic aberration
    DeHalo_Alpha + 2X_DigitalFilmV5_Lite.pth: https://imgsli.com/MTEzMTUz
    2x_AnimeClassics_UltraLite_510K: https://imgsli.com/MTEzMTUx does a fine job.
    DeHalo_Alpha + 2x_AnimeClassics_UltraLite_510K: https://imgsli.com/MTEzMTUy

    You can try these, since you are in the models's Discord.
    the models are all available over at https://upscale.wiki/wiki/Model_Database no need to be in the discord channel.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  10. Great!
    Not exactly like the original cels we have on the net, but very interessing and great, regarding we are using an early version of an AI model recently-released.

    the models are all available over at https://upscale.wiki/wiki/Model_Database no need to be in the discord channel.
    Really. Oh, well, that's some time since i last looked the Model Database page.
    Quote Quote  
  11. Originally Posted by RGMOfficial View Post
    I did try FFT3DFilter now with some other frames...

    Code:
    FFVideoSource("EPISODE_FILE.mkv")
    
    AnimeIVTC(mode=2,bbob=4,degrain=3,normconv=False)
    
    og = last
    
    FFT3DFilter(sigma=40.00,plane=2)
    FineDehalo(rx=2.0, ry=2.0, darkstr=0.8, brightstr=1.0, showmask=0)
    
    Levels(14,1,245,0,255)
    
    Crop(6, 0, -10, -0)
    Spline64Resize(640,480)
    Subtitle("Restored")
    
    og = og.Crop(6, 0, -10, -0)
    og = og.Spline64Resize(640,480)
    og = og.Subtitle("Original")
    
    StackHorizontal(og,last)
    That's totally destroying the chroma. Clip1.mkv, U (top) and V (bottom) planes, original on left, after FFT3DFilter(sigma=40.00,plane=3) on the right:

    Image
    [Attachment 65474 - Click to enlarge]
    Quote Quote  
  12. yup
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  13. Here's what I came up with:

    Code:
    LWLibavVideoSource("clip1.mkv") 
    AnimeIVTC(mode=2,bbob=4,degrain=3,normconv=False)
    BilinearResize(480, height)
    DeRainBow(threshold=20, bfactor=1)
    MergeChroma(aWarpSharp2(depth=5), aWarpSharp2(depth=15))
    SMDegrain (tr=2, thSAD=200, refinemotion=true, contrasharp=false, PreFilter=4, mode=0, truemotion=true, plane=4, chroma=false)
    FineDehalo(rx=2.5, ry=2.0, BrightStr=1.5, DarkStr=1.5)
    nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=720, fheight=480)
    aWarpSharp(depth=5)
    Sharpen(0.5, 0.3)
    Here's the old version of DeRainbow.avs I used:

    Code:
    ##############################################################################
    #
    #	DeRainbow(clip c, int "threshold", int "bfactor")
    #  
    #	Rainbows are caused by high frequency luma interfering with the chroma
    #	carrier.  So luma edges are where you will get rainbows (high frequency
    #	noise in the luma channels).  They are removed here by blurring the chroma.
    #	Only areas near edges are blurred.
    #
    #	threshold default 40
    #	Edge detection threshold. This basically controls what parts of the picture
    # 	will be processed.  Lower values will result in removal of rainbows in
    #	more and wider areas but potentially blurring of the chroma in those areas.
    #	Valid values are 0 to 255.  Typical values are probably 20 to 60.  Use the
    #	highest value you can and still get removal of rainbows in the areas you 
    #	want.
    #
    #	bfactor, default 4
    #	Blur factor.  Higher values more effectivly remove rainbows but may
    #	also result in noticably blurred colors and loss of saturation of small
    #	patches and edges.  Valid values are 1 and above. Typical values 
    #	are 4 to 8.  Use the lowest values that gives effective rainbow removal.
    #
    ##############################################################################
    
    
    function DeRainbow(clip c, int "threshold", int "bfactor")
    {
    	threshold = default(threshold, 40)
    	bfactor = default(bfactor, 4)
    
    	bwidth = (c.width/bfactor/8)*8
    	bwidth = max(bwidth, 16)
    
    	bheight = (c.height/bfactor/8)*8
    	bheight = max(bheight, 16)
    
    	umask = c.UtoY().mt_edge(mode="hprewitt", thy1=threshold, thy2=threshold)
    	vmask = c.VtoY().mt_edge(mode="hprewitt", thy1=threshold, thy2=threshold)
    	rmask = Overlay(umask, vmask, mode="add").mt_expand().Blur(1.4).Blur(1.4).Spline36Resize(c.width,c.height)
    	#return(rmask) # if you want to see the edge mask
    
    	cblur = c.BilinearResize(bwidth, bheight).KNLMeansCL(d=1, a=2, h=3, channels= "UV").Spline36Resize(c.width,c.height)
    	# return(rblur) # if you want to see the blurred video
    	cblur = Overlay(c, cblur, mask=rmask)
    	MergeChroma(c, cblur)
    }
    
    ##############################################################################
    There's much less damage to the chroma. Clip1.mkv, U (top) and V (bottom) planes, original on left, after FFT3DFilter(sigma=40.00,plane=3) on the right:

    Image
    [Attachment 65480 - Click to enlarge]
    Last edited by jagabo; 19th Jun 2022 at 11:18.
    Quote Quote  
  14. Ah, you got quite different version of DeRainbow than the one from http://avisynth.nl/index.php/DeRainbow no wonder you get different results than I do with DeRainbow. (but I think we are aiming to remove differenc chroma artifacts )
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  15. I thought he was talking about this (8x point upscale):

    Image
    [Attachment 65482 - Click to enlarge]


    That's back and forth between two frames from the boy's white shirt with black stripes. The green/magenta discolorations are from high frequency luma interfering with the chroma carrier of a composite signal.

    I'm not absolutely sure, but I think I wrote the derainbow filter I used above.
    Last edited by jagabo; 19th Jun 2022 at 18:33.
    Quote Quote  
  16. Yup and I was looking at these:




    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  17. Yes, very different phenomenon. I guess we'll have to wait for the OP to clarify.
    Quote Quote  
  18. Yup.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  19. btw. for the still existing ghosting ExBlend (https://forum.doom9.org/showthread.php?t=175948) might be worth a try.
    Attache the source and the output I got from Exblend + mclean. (still not perfect, but a huge step I think)

    Cu Selur
    Image Attached Files
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  20. So, unrelated to the main thing, but i want some help.

    The only creditless version of the opening i can find is from a Laserdisc copy of the series, and that version doesn't have the exact colors of the DVD.

    How can i fix this?

    Code:
    ep_file = "EPISODE 01.mkv"
    op_file = "LASERDISC EXTRAS.mp4"
    
    ep = FFVideoSource(ep_file).Spline64Resize(640, 480)
    op = FFVideoSource(op_file).Spline64Resize(640, 480)
    
    op = op.Trim(7351,10073)
    
    #op = op.Levels(0,1,210,0,255)
    #op = op.ConvertToRGB32(matrix="Rec601").RGBAdjust(r=251.0/246.0, b=251.0/238.0).ConvertToYV12(matrix="Rec601")
    #op = op.Tweak(hue=50,bright=20,sat=1)
    
    ep = ep.Trim(0,op.FrameCount-1)
    
    StackHorizontal(ep,op)
    Image Attached Thumbnails Click image for larger version

Name:	comp_laserdisc.png
Views:	16
Size:	910.1 KB
ID:	65623  

    Quote Quote  
  21. users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  22. One needs a wider variety of colors and levels (especially some large patches of full blacks and middle greys). But this is a fairly close:

    Code:
    right = right.ColorYUV(gain_y=-85, off_y=122, gamma_y=-150)
    right = right.ColorYUV(off_v=4).Tweak(hue=3)
    right = right.Tweak(hue=55).ColorYUV(cont_u=25, off_u=5).Tweak(hue=-55)
    Where right is the right half of the image.

    Image
    [Attachment 65624 - Click to enlarge]
    Quote Quote  
  23. Originally Posted by jagabo View Post
    One needs a wider variety of colors and levels (especially some large patches of full blacks and middle greys). But this is a fairly close:

    Code:
    right = right.ColorYUV(gain_y=-85, off_y=122, gamma_y=-150)
    right = right.ColorYUV(off_v=4).Tweak(hue=3)
    right = right.Tweak(hue=55).ColorYUV(cont_u=25, off_u=5).Tweak(hue=-55)
    Where right is the right half of the image.

    Image
    [Attachment 65624 - Click to enlarge]
    Oh, thanks.
    Quote Quote  
  24. I suspect the first ColorYUV with the gamma adjustment will raise the black level too much. If you remove or otherwise change the gamma adjustment the gain and offset will have to change. And some of the calls to ColorYUV and Tweak could be combined but I was working on one thing at a time.
    Quote Quote  
  25. I now did get the BD of the series and strangely, my TComb line doesn't work on this frame here.

    What TComb can i use now?

    Here's the original line

    Code:
    Tcomb(mode=2, fthreshl=4, fthreshc=5, othreshl=5, othreshc=6, map=False, scthresh=12.0)
    Also some suggestions for the halo too.
    Image Attached Thumbnails Click image for larger version

Name:	bd_ep19_f1.png
Views:	19
Size:	432.6 KB
ID:	65680  

    Quote Quote  
  26. That's not a lot to work with but here's a first approximation:
    Code:
    ImageSource("bd_ep19_f1.png", start=0, end=23, fps=23.976) 
    ConvertToYV24()
    
    Overlay(last, last, x=6, y=0, mode="subtract", opacity=0.07).ColorYUV(gain_y=20)
    dehalo_alpha(rx=3.0, ry=3.0, BrightStr=1.1, DarkStr=1.0)
    MergeChroma(aWarpSharp2(depth=5), aWarpSharp2(depth=15))
    Image
    [Attachment 65707 - Click to enlarge]
    Quote Quote  
  27. Originally Posted by jagabo View Post
    That's not a lot to work with but here's a first approximation:
    Code:
    ImageSource("bd_ep19_f1.png", start=0, end=23, fps=23.976) 
    ConvertToYV24()
    
    Overlay(last, last, x=6, y=0, mode="subtract", opacity=0.07).ColorYUV(gain_y=20)
    dehalo_alpha(rx=3.0, ry=3.0, BrightStr=1.1, DarkStr=1.0)
    MergeChroma(aWarpSharp2(depth=5), aWarpSharp2(depth=15))
    Image
    [Attachment 65707 - Click to enlarge]
    Really, thanks!
    Quote Quote  
  28. Oh hi, so i'm using to use VapourSynth in this project, but AnimeIVTC still doesn't had an VapourSynth port.
    I'm trying to use methods to replicate what AnimeIVTC.

    Any help is appreciated.

    Code:
    import vapoursynth as vs
    from vapoursynth import core
    
    import kagefunc as kgf
    import havsfunc as haf
    import dfmderainbow as dfm
    import ASTDR
    import jvsfunc
    import lvsfunc
    import muvsfunc as muf
    from vsutil import *
    
    src = core.ffms2.Source(source=r'C:\Users\RGM\Downloads\DISC1_t05.mkv')
    
    rainbow = dfm.DFMDerainbow(src, maskthresh=10, mask=False, interlaced=True, radius=1)
    dot = core.tcomb.TComb(rainbow, mode=2, fthreshl=9, fthreshc=9, othreshl=6, othreshc=6, map=False, scthresh=12.0)
    
    video = core.vivtc.VFM(dot, order=1, cthresh=10)
    video = core.vivtc.VDecimate(video)
    video = core.std.SetFieldBased(video, 0)
    vinv = jvsfunc.vinverse(video)
    
    dehalo = lvsfunc.dehalo.masked_dha(vinv, ref=None, rx=1.77, ry=1.77, brightstr=1.0, darkstr=0.0, lowsens=50, highsens=50, rfactor=3.0, maskpull=48, maskpush=192, show_mask=False)
    dehalo = lvsfunc.dehalo.fine_dehalo(dehalo, rx=2.2, ry=2.2)  
    
    #final = dehalo
    final = dehalo[23549:23969] #For this clip
    final.set_output()
    Image Attached Files
    Quote Quote  
  29. I'm trying to use methods to replicate what AnimeIVTC.
    What do your AnimeIVTC settings look like you are trying to replicate? I mean AnimeIVTC is a monster script which can do tons of stuff,....
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  30. Originally Posted by Selur View Post
    I'm trying to use methods to replicate what AnimeIVTC.
    What do your AnimeIVTC settings look like you are trying to replicate? I mean AnimeIVTC is a monster script which can do tons of stuff,....
    It's the original ones on my script.
    Code:
    AnimeIVTC(mode=2)
    Quote Quote  



Similar Threads