VideoHelp Forum

Try DVDFab and download streaming video, copy, convert or make Blu-rays,DVDs! Download free trial !
+ Reply to Thread
Results 1 to 9 of 9
Thread
  1. I have this old DVD footage that exhibits a severe moiré-like pattern and I have no idea how to work with it. I've tried running TemporalDegrain and Santiag just to see, but as I expected they didn't really improved the picture. Thoughts?

    Image
    [Attachment 52030 - Click to enlarge]


    (an upscaled version)
    Image
    [Attachment 52031 - Click to enlarge]
    Quote Quote  
  2. That's not moire. It's dot crawl artifacts -- the chroma carrier has not be separated from the luma.

    https://en.wikipedia.org/wiki/Dot_crawl

    There are many dot crawl filters available for AviSynth.

    http://avisynth.nl/index.php/External_filters#Rainbow_.26_Dot_Crawl_Removal

    If the video isn't real sharp (for example a VHS recording) you can downscale to about half width, then upscale again.

    Code:
    Spline36Resize(width/2,height).Spline36Resize(width,height)
    That eliminates most of the dot crawl. But sharper sources will be blurred.
    Quote Quote  
  3. Are you certain this is dot crawl? I've tried LUTDeCrawl and Checkmate but both fail to improve the picture in any significant way which I find surprising. I'm having more luck with rescaling though.

    Image
    [Attachment 52032 - Click to enlarge]
    Quote Quote  
  4. I'm pretty sure jagabo's diagnosis is correct: dot crawl.

    You should do a quick search in this forum, and also over at doom9.org. Just enter "dot crawl" and see what solutions are posted.

    I first had to deal with this when fixing an old Kinescope. I posted about it here:

    Remove cross hatch pattern from Kinescope

    I had really good luck using a simple convolution kernel. That link will provide you with the details.
    Quote Quote  
  5. Thank you, using the custom matrix worked out much better than any decrawlers I tried and the result ends up being quite acceptable. I guess I can't do much more without managing to locate the original VHS source now.
    Quote Quote  
  6. You sometimes see something this from bad cables or connectors. Also, is this PAL or NTSC? The dot crawl filters don't work well for PAL. A video sample would be better.
    Last edited by jagabo; 17th Feb 2020 at 17:59.
    Quote Quote  
  7. Originally Posted by ZetaStax View Post
    Thank you, using the custom matrix worked out much better than any decrawlers I tried and the result ends up being quite acceptable. I guess I can't do much more without managing to locate the original VHS source now.
    Glad it worked for you. It certainly was the best of the various filter I tried with my dot crawl problem
    Quote Quote  
  8. I'm trying your script out of curiosity Johnmeyer , i get a "generalconvolution requires rgba input" despite the converttorgb32() right before. Got an idea ?
    edit: nevermind, syntax problem . But all i get is b/w pictures...weird
    Last edited by themaster1; 18th Feb 2020 at 05:04.
    Quote Quote  
  9. Originally Posted by ZetaStax View Post
    using the custom matrix worked out much better than any decrawlers I tried and the result ends up being quite acceptable.
    I don't know exactly what matrix you used, but there are other things you can do to reduce the blurring caused by GeneralConvolution(). You can for example limit the blurring to highly saturated colors where it's worst. Or protect sharp edges so they don't get blurred. Here's an example of how to use a saturation mask to limit the blurring to highly saturated areas:

    Code:
    ##########################################################################
    #
    # simple saturation-like mask
    #
    ##########################################################################
    
    function Saturation(clip vid)
    {
        U = Overlay(vid.UtoY().ColorYUV(off_y=-128), vid.UtoY().Invert().ColorYUV(off_y=-128), mode="add")
        V = Overlay(vid.VtoY().ColorYUV(off_y=-128), vid.VtoY().Invert().ColorYUV(off_y=-128), mode="add")
        Overlay(U, V, mode="add")
        Spline36Resize(vid.width, vid.height)
    }
    
    ##########################################################################
    
    WhateverSource("filename.ext") 
    src = last # remember source
    
    satmask = Saturation().ColorYUV(gain_y=1500, off_y=-50)
    blurred = BilinearResize(width/2,height).Spline36Resize(width,height)
    Overlay(src, blurred, mask=satmask)
    
    StackVertical(StackHorizontal(src, blurred), StackHorizontal(satmask, last)) # show original, blurred, satmask, and final result
    Here I used the simple downscale/upscale to reduce the dot crawl. Replace that with your GeneralConvolution(). You can adjust the satmask gain and offset to your liking.
    Quote Quote  



Similar Threads