VideoHelp Forum
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. I have captured a classic clay animation series from 20 years ago, done by the legendary Will Vinton studios. There have been a few utterly atrocious rips of this floating around, so now I want to do it properly for posterity.

    I am asking you legends if there is anything that can be done to this with Avisynth. I have tried some degrain and sharpening filters to little effect and am stumped with what to try next.

    Here is a clip containing 4 short snips from various episodes.

    https://mega.nz/file/fNMHTIbI#f8Bn70y4VcX-o3Uz5OZWInEUL2PjSIDJeAuyZbrCemQ

    The original series is NTSC, but this was captured via PAL region broadcast, so a conversion has already been done for broadcast which is a shame.
    But for now this is the best it's ever going to look raw.
    Quote Quote  
  2. I don't see the main issue as degrain or sharpening - I see the main issue is field blending. I'd start with a smart bobber like QTGMC and srestore to return the original 23.976p frames. That should be the 1st step regardless of what personal tastes are

    Some frames have more noise than others - I'd selectively filter those, otherwise the high denoise strength required will degrade the "good" frames

    My personal opinion is claymation should look like claymation. Some people denoise the &^&# out of this type of content and ends up looking like a cartoon
    Quote Quote  
  3. I always use QTGMC, but never used srestore before. If the original content was for US TV in NTSC this means it would originally have been 30fps?

    But since stop motion clayanimation is so expensive to produce, maybe original content was 23.976, then converted to 25 or 30 fps for whatever region is required?
    Quote Quote  
  4. Originally Posted by agisthos View Post
    I always use QTGMC, but never used srestore before.
    SRestore reduces the frame rate by preferentially removing blended frames. TDecimate() preferentially removes duplicate frames. So the latter leaves more blended frames in a case like this -- which is the opposite of what you want.

    Originally Posted by agisthos View Post
    If the original content was for US TV in NTSC this means it would originally have been 30fps?
    No, the original content was 24 fps film. It would have been telecined to 59.94 field per second video for the NTSC market.

    Originally Posted by agisthos View Post
    But since stop motion clayanimation is so expensive to produce, maybe original content was 23.976, then converted to 25 or 30 fps for whatever region is required?
    Yes. Blended fields like this is usually the result of 24p film being telecined to 59.94 field per second NTSC analog video, then converted to 50 field per second analog PAL video.

    Most shots are pretty clean and free of blending after QTGMC().SRestore(). I agree with pdr that filtering the whole video with settings strong enough for the worst parts will ruin the other parts. Since the worst parts are mostly high motion shots the problems won't be too noticeable there.
    Last edited by jagabo; 22nd Aug 2021 at 08:36.
    Quote Quote  
  5. bugger Staxrip does not have SRestore. I may have to finally take off the training wheels and use Avisynth proper.
    Quote Quote  
  6. I've been playing around with the video a bit and have a few things you might try. All done in 64 bit AviSynth+.

    Code:
    AviSource("gary-and-mike.avi") 
    AssumeTFF()
    ConvertToYV12(interlaced=true)
    ColorYUV(off_y=12) # a little darker
    Crop(10,0,-34,-0) # get rid of black borders, add them back later if you need them
    
    # this gets rid of most of the blending, not in the woman in pink shot though
    QTGMC() # other option: YadifMod2(mode=1).Santiag(1,1)
    SRestore()
    src = last
    
    # very light denoising of the luma, heavier of the chroma
    SMDegrain(tr=3, thSAD=150, thSADC=300)
    
    # halo reduction works better with narrower halos, hence the downscale to 480 wide
    BilinearResize(480, height)
    FineDehalo(rx=3.5, ry=3.5, brightstr=0.8)
    nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=src.width, fheight=src.height)
    
    # sharpen luma a bit
    Y = aWarpSharp2(depth=5).CAS(0.7)
    
    #sharpen chroma a lot
    Spline36Resize(width/2, height/2)
    aWarpSharp2(depth=20)
    Sharpen(0.5)
    Spline36Resize(Y.width, Y.height)
    ChromaShiftSP(x=-1)
    
    MergeChroma(Y, last) # lightly sharpened luma and heavily sharpened chroma
    
    # see before (after SRestore) and after
    #StackHorizontal(src, last) # or Interleave
    Regarding halo reduction, this is best done by disabling the sharpening filter in the (S)VHS deck, if possible. You can get much better sharpening in software, without halos.

    Since the script is already using QTGMC() you might try using its EZDenoise=N, DenoiseMC=true options Instead of SMDegrain(). I don't like it at high settings (over ~2.0, too much smearing in panning shots) but at very light settings it might be ok.

    Obviously, you can use stronger or weaker settings for the filters.
    Image Attached Files
    Quote Quote  
  7. This is awesome. Thankyou.
    I am going to play with each step to see how you did this and how it comes together so well.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!