VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 34
Thread
  1. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    I need help to understand how to reduce the noise effect in the image.
    I am quite confused as to how to correct the distortions of a video that I don't have the original, there is a noise of pixel movements, as if the image is constantly going from left to right. Is it possible to stabilize the pixels?
    I am quite confused as to what the technical name is for what is happening, the original video was captured from a vhs apparently.

    I am open to any suggestions, I tried Davinci resolve, and some AviSynth+ without success.

    Thank you very much!
    Example Video:
    https://www.mediafire.com/file/cqi16lntywxbba3/Noise_Distort.mov/file
    Quote Quote  
  2. I see no right/left movement of the entire image.

    The video does contain some time base errors, but the quality of the video is so low that even if you fixed those errors, I don't think it would look much better.
    Quote Quote  
  3. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Thank you very much for answering, technically what is the name that has that flaw in the image. I am referring to the vibration of the image.
    Originally Posted by johnmeyer View Post
    I see no right/left movement of the entire image.

    The video does contain some time base errors, but the quality of the video is so low that even if you fixed those errors, I don't think it would look much better.
    Quote Quote  
  4. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    guess you could call it jitter, research time base correctors
    Quote Quote  
  5. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Perfect! I will look into it, thank you very much.
    Originally Posted by davexnet View Post
    guess you could call it jitter, research time base correctors
    Quote Quote  
  6. *** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
    Quote Quote  
  7. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    It is interesting the script, I made a test with the video that I attached in the publication and I don't see any change, maybe the video lacks information in the borders so that it works correctly, it is an assumption of mine.
    Quote Quote  
  8. Of course there was no change. That filter looks for the black borders at the left and right (back and front "porch") and resizes the picture between them to a standard length. That sometimes works with the original analog cap (when the active picture doesn't contain black objects at the edges of the frame) but your video has cropped away those black borders and replaced them with perfectly straight black borders. The filter has no idea what the original borders looked like.
    Quote Quote  
  9. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Thank you very much for the comment, it is correct what you say, the video unfortunately has cropped edges so the script will not be able to be applied.
    Originally Posted by jagabo View Post
    Of course there was no change. That filter looks for the black borders at the left and right (back and front "porch") and resizes the picture between them to a standard length. That sometimes works with the original analog cap (when the active picture doesn't contain black objects at the edges of the frame) but your video has cropped away those black borders and replaced them with perfectly straight black borders. The filter has no idea what the original borders looked like.
    Quote Quote  
  10. Since there are not many details to begin with, using something like BasicVSR++ might be a way to stay to stabilize the image a bit.

    Cu Selur
    Image Attached Files
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  11. Member
    Join Date
    May 2005
    Location
    Australia-PAL Land
    Search Comp PM
    @Selur, could you please post your videos in H264 or H265; VDub2 cannot open AV1s. Thanks.
    Quote Quote  
  12. attached a h264 version
    Image Attached Files
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  13. Member
    Join Date
    May 2005
    Location
    Australia-PAL Land
    Search Comp PM
    @Selur thanks.
    Quote Quote  
  14. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    The final result is stunning! It's so much more than I was expecting!

    What is the path I have to follow to reach the result you show! You left me speechless, thank you very much for your time.

    Originally Posted by Selur View Post
    Since there are not many details to begin with, using something like BasicVSR++ might be a way to stay to stabilize the image a bit.

    Cu Selur
    Quote Quote  
  15. I used Hybrid with the torch-addon (this requires a newer NVIDIA card) to use BasicVSR++, loaded your source, enabled BasicVSR++ (Filtering->Vapoursynth->Other->BasicVSR++ with FP16 to speed things up), configured the encoder, set an output, created the jobs and let it run.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  16. Member
    Join Date
    May 2005
    Location
    Australia-PAL Land
    Search Comp PM
    Here's Virtual Dub 2 with the Neat Video plugin applied (basic setting, no fine adjusting).
    Image Attached Files
    Quote Quote  
  17. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    What a great workflow, I have a lot of research to do, thank you very much for everything!
    Originally Posted by Selur View Post
    I used Hybrid with the torch-addon (this requires a newer NVIDIA card) to use BasicVSR++, loaded your source, enabled BasicVSR++ (Filtering->Vapoursynth->Other->BasicVSR++ with FP16 to speed things up), configured the encoder, set an output, created the jobs and let it run.
    Quote Quote  
  18. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Your copy also looks really good! What an interesting combination of programs to enhance the image.
    What a great result you got, thank you very much!
    Originally Posted by Alwyn View Post
    Here's Virtual Dub 2 with the Neat Video plugin applied (basic setting, no fine adjusting).
    Quote Quote  
  19. Not as smooth as the others but sharper. With AviSynth+ and x264 CLI:

    Code:
    LWLibavVideoSource("Noise Distort.mov", cache=false, prefer_hw=2) 
    ConvertBits(8)
    ConvertToYV12()
    Crop(240,0,-240,-0)
    source = last
    
    # downscale closer to real resolution
    Spline36Resize(width/4, 272)
    Santiag() # antialias
    MCTemporalDenoise(settings="very high") # noise reduction
    
    # upscale back to source resolution, plus sharpening
    Sharpen(0.5, 0.0)
    nnedi3_rpow2(2, cshift="Spline36Resize")
    aWarpSharp2(depth=5)
    Sharpen(0.5)
    nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=source.width, fheight=source.height)
    aWarpSharp2(depth=5)
    Sharpen(0.5)
    # use less sharpening if you want less processed-looking video
    
    # multithreading
    prefetch(8)
    Image Attached Files
    Quote Quote  
  20. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    I like your way of clarifying the image, I am very surprised anyway by the good contribution of all the users, what a great forum! Thank you very much for your contribution and I like the way you solved the fuzzy image to improve it.
    Originally Posted by jagabo View Post
    Not as smooth as the others but sharper. With AviSynth+ and x264 CLI:

    Code:
    LWLibavVideoSource("Noise Distort.mov", cache=false, prefer_hw=2) 
    ConvertBits(8)
    ConvertToYV12()
    Crop(240,0,-240,-0)
    source = last
    
    # downscale closer to real resolution
    Spline36Resize(width/4, 272)
    Santiag() # antialias
    MCTemporalDenoise(settings="very high") # noise reduction
    
    # upscale back to source resolution, plus sharpening
    Sharpen(0.5, 0.0)
    nnedi3_rpow2(2, cshift="Spline36Resize")
    aWarpSharp2(depth=5)
    Sharpen(0.5)
    nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=source.width, fheight=source.height)
    aWarpSharp2(depth=5)
    Sharpen(0.5)
    # use less sharpening if you want less processed-looking video
    
    # multithreading
    prefetch(8)
    Quote Quote  
  21. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    What an excellent program Hybrid with the torch-addon, I wonder what combination you made so that the moving image would not deteriorate, that it would be perfectly preserved and the background would be stabilized, as a novice it is very easy to damage the video without knowing what filter really needs to be activated, one wrong click and I think one can get bad results.
    Originally Posted by Selur View Post
    I used Hybrid with the torch-addon (this requires a newer NVIDIA card) to use BasicVSR++, loaded your source, enabled BasicVSR++ (Filtering->Vapoursynth->Other->BasicVSR++ with FP16 to speed things up), configured the encoder, set an output, created the jobs and let it run.
    Quote Quote  
  22. iirc. only thing I used was crop + BasicVSR++
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  23. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Originally Posted by Selur View Post
    iirc. only thing I used was crop + BasicVSR++
    It is like touching the sky with your hands, in due time you will receive a blessing by paypal.
    Quote Quote  
  24. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    I have a query that is quite unusual, the result obtained is too perfect, how is it possible to make an intermediate step between the original video and the final result, so that it does not look totally synthetic or too perfect, BasicVSR++ (Filtering->Vapoursynth->Other->BasicVSR++ with FP16, this way is no longer to achieve the intermediate result and it is necessary to make a totally different workflow?
    Originally Posted by Selur View Post
    iirc. only thing I used was crop + BasicVSR++
    Last edited by dg3duy; 5th Apr 2024 at 11:50.
    Quote Quote  
  25. Sadly, No. Mchine learning model filters usually don't have many options.
    You can try increasing and lowering length and try the other models of BasicVSR++, but it will likely not do much.
    Since your source does not really have details, lowering the resolution before filtering might help a lot with the speed.
    Also, as a general hint: those machine learning filters will behave differently when fed with a different content/resolution

    Alternatively, a combination of MCTemporalDenoise and SCUNet might also work fine.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  26. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Now I have a clearer picture, thank you very much for the clear answer, it is such a big world that I have yet to understand and experience, step by step.

    Originally Posted by Selur View Post
    Sadly, No. Mchine learning model filters usually don't have many options.
    You can try increasing and lowering length and try the other models of BasicVSR++, but it will likely not do much.
    Since your source does not really have details, lowering the resolution before filtering might help a lot with the speed.
    Also, as a general hint: those machine learning filters will behave differently when fed with a different content/resolution

    Alternatively, a combination of MCTemporalDenoise and SCUNet might also work fine.
    Quote Quote  
  27. You could try using a weighted Merge() to blend the original back into the filtered version.

    Code:
    Merge(original, filtered, weight=0.5)
    Or blend with Overlay() with weighting and optionally a mask of some sort.

    Code:
    mymask = BuildSomeSortOfMask() # motion? edges? colors? brightness? difference?
    Overlay(source, filtered, mode="blend", opacity=0.5, mask=mymask)
    Quote Quote  
  28. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Interesting idea, what is the Merge script or plugin, where do you get it and what software is it for.
    AviSynth+ or other software? Quite a novice question, sorry.

    Originally Posted by jagabo View Post
    You could try using a weighted Merge() to blend the original back into the filtered version.

    Code:
    Merge(original, filtered, weight=0.5)
    Or blend with Overlay() with weighting and optionally a mask of some sort.

    Code:
    mymask = BuildSomeSortOfMask() # motion? edges? colors? brightness? difference?
    Overlay(source, filtered, mode="blend", opacity=0.5, mask=mymask)
    Quote Quote  
  29. Yes, everything in that post was AviSynth or AviSynth+.
    Quote Quote  
  30. Newbie Total
    Join Date
    Apr 2024
    Location
    Uruguay
    Search PM
    Perfect! thank you very much for the information, very valuable.
    Originally Posted by jagabo View Post
    Yes, everything in that post was AviSynth or AviSynth+.
    Quote Quote  



Similar Threads

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