VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 41
Thread
  1. What is the best filter to remove noise and not lose too much detail in the video quality?

    Quote Quote  
  2. Originally Posted by charlesn73z View Post
    What is the best filter to remove noise and not lose too much detail in the video quality?
    Probably MCTemporalDenoise.
    Quote Quote  
  3. Member
    Join Date
    Jan 2007
    Location
    United States
    Search Comp PM
    if thats a sample pic ?

    i don't see the noise!
    Quote Quote  
  4. Originally Posted by manono View Post
    Originally Posted by charlesn73z View Post
    What is the best filter to remove noise and not lose too much detail in the video quality?
    Probably MCTemporalDenoise.

    Tested but did not remove the noise as I expected.




    Originally Posted by theewizard View Post
    if thats a sample pic ?

    i don't see the noise!

    https://mega.co.nz/#!ltgnDQyK!ehM3CH6ieUrrhOLSXkovUW5g0eBb6Y7p08wAhjK7he4
    Last edited by charlesn73z; 21st Jul 2013 at 22:07.
    Quote Quote  
  5. Originally Posted by charlesn73z View Post
    Tested but did not remove the noise as I expected.
    Did you IVTC it first? What's the script you used? Did you test out greater strengths than the MCTemporalDenoise default?

    Because it's anime with the repeated frames, perhaps a combination spatial and temporal denoiser might suit you more. How about FFT3DFilter? Maybe try this:

    FFT3DFilter(Sigma=2.5,BT=5,BW=32,BH=32,OW=16,OH=16 ,Sharpen=0.4)
    Quote Quote  
  6. Originally Posted by manono View Post
    Originally Posted by charlesn73z View Post
    Tested but did not remove the noise as I expected.
    Did you IVTC it first? What's the script you used? Did you test out greater strengths than the MCTemporalDenoise default?

    Because it's anime with the repeated frames, perhaps a combination spatial and temporal denoiser might suit you more. How about FFT3DFilter? Maybe try this:

    FFT3DFilter(Sigma=2.5,BT=5,BW=32,BH=32,OW=16,OH=16 ,Sharpen=0.4)

    Used:

    qtgmc(preset="placebo", fpsdivisor=2)
    dfttest()
    gradfun3()
    Quote Quote  
  7. I see neither an IVTC (why use QTGMC for this video?) nor MCTemporalDenoise. You didn't test my suggestion at all. However, I tried:

    TFM(Order=0)#the sample was BFF, but maybe not the whole episode
    TDecimate(Mode=1)
    FFT3DFilter(Sigma=2.5,BT=5,BW=32,BH=32,OW=16,OH=16 ,Sharpen=0.4)


    I don't know if you'll like the results or not, but it did remove the noise.
    Last edited by manono; 22nd Jul 2013 at 03:36.
    Quote Quote  
  8. Filtered with:

    TFM(Order=0)
    TDecimate(Mode=1)
    MCTemporalDenoise()
    FFT3DFilter(Sigma=2.5,BT=5,BW=32,BH=32,OW=16,OH=16 ,Sharpen=0.4)
    GradFun3()




    Look right shoulder Cold, the lines disappeared.
    I want to remove the noise but also want to keep the image details, like this:

    Quote Quote  
  9. I don't know that I'd use both in the same script. And, as I mentioned, I don't know if you'll like the results or not, but it did remove the noise. If FFT3DFilter causes it to lose too much detail, lower the Sigma value to 1.5 or 2. It is a 3D filter and has a spatial component that does some smoothing. That's why I added in its sharpener. Maybe others have suggestions too,.
    Quote Quote  
  10. Try heavier settings in MCTD: McTemoproalDenoise(settings="high"), or "very high". You risk smearing during motion though. Also use HQDeRing() to remove some DCT ringing artifacts.
    Last edited by jagabo; 22nd Jul 2013 at 06:47.
    Quote Quote  
  11. Originally Posted by jagabo View Post
    Try heavier settings in MCTD: McTemoproalDenoise(settings="high"), or "very high". You risk smearing during motion though. Also use HQDeRing() to remove some DCT ringing artifacts.

    HQDeRing error

    Quote Quote  
  12. It's telling you what you need.
    Quote Quote  
  13. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    I think perhaps the "noise" the O.P. refers to isn't grain (which belongs there anyway, although it seems a bit excessive here). I think the O.P. might refer to the problems (? ?) indicated by green arrows in the pics below:

    Image
    [Attachment 18968 - Click to enlarge]

    Image
    [Attachment 18969 - Click to enlarge]

    Image
    [Attachment 18970 - Click to enlarge]


    1) Some luma and chroma flicker in spot areas: top image, lower left, and middle image lower left. The flicker in the top image is repeated later. It might be there on purpose.

    2) line flutter and distortion: middle image, upper right in the figure's head, and bottom image upper mid in the critter with wings.

    There is also some mild but visible projector hop. Stab() will fix that.

    What can be done with those wiggling lines is anyone's guess.
    Last edited by sanlyn; 25th Mar 2014 at 10:03.
    Quote Quote  
  14. I think those wiggling lines and flicker are all intentional. Part of the animation style.
    Quote Quote  
  15. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    That's likely the case. A little of that chroma flicker (in the shadow areas of rocks, middle image) seems to be noisy reds. Almost any temporal filter would fix that and remove excessive grain. But some banding prevention such as GradFun2DBmod or GradFun3 would be needed later. Otherwise I don't see that the clip is in such bad shape.
    Last edited by sanlyn; 25th Mar 2014 at 10:04.
    Quote Quote  
  16. The first image posted by OP is an (encoded) output frame, definitely not raw-source. I am over-looking at other images.

    If I say it is ¨ringing¨, I am absolutely wrong and such an ..... that I need to go back to school, and study little bit more to enlarge my boundaries. But, I may enlarge my barriers too which bears equal possibilities. Here, I am not addressing it to any of fellow members who replied this post, but those who are engaged in development of certain high-tech encoders who even do not know what kind of artifacts are this. When those ..... named it so, other believed.

    This type of artifacts are result of an inherent characteristic of certain high-tech encoders. Only the solution as of now is reducing size. Reducing the size does not remove artifacts, but makes look it better or hide the artifacts of this sort.
    Last edited by enim; 22nd Jul 2013 at 12:05.
    Quote Quote  
  17. I would like to Re-Quote Cornucopiaś Golden Rule:
    In media, a golden rule is: one should "do the least harm". This also translates to "leave well enough alone, unless it's necessary".
    - Scott - Cornucopia
    Altering even a single letter in this high experienced quote will result in distortion.

    I like this business of creating artifacts as an inherent characteristic of certain high-tech encoders, and get busy to remove for restoring image quality. Even though I like it, I am not into this business.
    Last edited by enim; 22nd Jul 2013 at 12:05.
    Quote Quote  
  18. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Those lines sometimes are supposed to be moving, but I'm not certain quite how they move. Maybe just sloppy animation. Much worse is posted all the time. Other than that, the clip could stand a little cleanup, but isn't all that bad as-is.
    Last edited by sanlyn; 25th Mar 2014 at 10:04.
    Quote Quote  
  19. Originally Posted by sanlyn View Post
    Those lines sometimes are supposed to be moving, but I'm not certain quite how they move. Maybe just sloppy animation. Much worse is posted all the time. Other than that, the clip could stand a little cleanup, but isn't all that bad as-is.

    Pass me the script used please?



    I wanted to make one like this:

    https://mega.co.nz/#!UhJQXSiZ!KJVdAQirEjmDeTXWeDD5_iYRmOMzXnE8jqXzMCCmF4I
    Last edited by charlesn73z; 22nd Jul 2013 at 12:50.
    Quote Quote  
  20. Here's my quick attempt with heavy noise reduction:

    Code:
    Mpeg2Source("dbz121.split.1.d2v")
    HqDeRing()
    McTemporalDenoise(settings="high")
    AAA()
    ColorYUV(gain_y=20, off_y=-14, cont_u=20, cont_v=20)
    You might try changing the order of some of the filters.
    Image Attached Files
    Quote Quote  
  21. Originally Posted by jagabo View Post
    Here's my quick attempt with heavy noise reduction:

    Code:
    Mpeg2Source("dbz121.split.1.d2v")
    HqDeRing()
    McTemporalDenoise(settings="high")
    AAA()
    ColorYUV(gain_y=20, off_y=-14, cont_u=20, cont_v=20)
    You might try changing the order of some of the filters.

    I could not apply the HQDering.
    I solved the previous problem, but now it appeared:


    Function is asking for YV12 Layer. I do not find this filter to download!
    Last edited by charlesn73z; 22nd Jul 2013 at 13:21.
    Quote Quote  
  22. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Your video sample was YV12.

    Originally Posted by charlesn73z View Post
    Pass me the script used please?

    I wanted to make one like this:

    https://mega.co.nz/#!UhJQXSiZ!KJVdAQirEjmDeTXWeDD5_iYRmOMzXnE8jqXzMCCmF4I
    The mkv I posted and the one you linked look pretty much alike, except for the frame hopping and a little more noise. My script addressed noise and flutter to make playback look smoother. Jagabo's post looks pretty good to me as well, and he put more work than I did into cleaning up rough lines and juicing up contrast a bit. I used RemoveSpots instead of MCTD -- it didn't remove many spots (I didn't think it would), but it smoothed out some object "hopping" and shimmer.

    Which reminds me: I sometimes use RemoveSpots or RemoveDirt to smooth some of that object shifting, but I don't know how their "restore motion blocks" routine works. It can't always be used with anime, but it worked OK here. If I knew how to extract that single routine from RemoveDirt's support files, I'd do it.

    I also used VirtualDub's DeFlicker to calm things down; there's not much flicker, but it's visible to me in large flat areas. You might not see it or find it annoying. I could use the Avisynth version, but not enough time to configure it. Anyway, this script and jagabo's should give you plenty of tools to work with. I encoded with TMPGenc Mastering Works 5 at default settings, with no 3:2 pulldown.

    Code:
    LoadVirtualDubPlugin("path to VirtualDub plugins\Deflick.vdf", "DeFlick",1)
    
    MPEG2Source(vidpath+"dbz121.d2v")
    TFM(Order=0).TDecimate(Mode=1)
    Stab()
    RemoveSpots()
    TTempSMooth()
    MergeChroma(awarpsharp2(depth=20))
    Dither_convert_yuv_to_rgb(matrix="601",interlaced=false,tv_range=true,cplace="MPEG2",lsb_in=false,output="rgb32")
    DeFlick(0, 8, 0, 256, 0)
    Dither_convert_rgb_to_yuv(matrix="601",interlaced=false,tv_range=true,cplace="MPEG2",lsb=false,output="YV12")
    LSFMod(defaults="slow",strength=50)
    GradFun3(thr=1.1,mask=0)
    Crop(8,4,-6,0).AddBorders(8,2,6,2)
    return last
    Last edited by sanlyn; 25th Mar 2014 at 10:04.
    Quote Quote  
  23. Originally Posted by sanlyn View Post
    Your video sample was YV12. HQdering.avs is a script, not a plugin. It requires MaskTool v2.

    Originally Posted by charlesn73z View Post
    Pass me the script used please?

    I wanted to make one like this:

    https://mega.co.nz/#!UhJQXSiZ!KJVdAQirEjmDeTXWeDD5_iYRmOMzXnE8jqXzMCCmF4I
    The mkv I posted and the one you linked look pretty much alike, except for the frame hopping and a little more noise. My script addressed noise and flutter to make playback look smoother. Jagabo's post looks pretty good to me as well, and he put more work than I did into cleaning up rough lines and juicing up contrast a bit. I used RemoveSpots instead of MCTD -- it didn't remove many spots (I didn't think it would), but it smoothed out some object "hopping" and shimmer.

    Which reminds me: I sometimes use RemoveSpots or RemoveDirt to smooth some of that object shifting, but I don't know how their "restore motion blocks" routine works. It can't always be used with anime, but it worked OK here. If I knew how to extract that single routine from RemoveDirt's support files, I'd do it.

    I also used VirtualDub's DeFlicker to calm things down; there's not much flicker, but it's visible to me in large flat areas. You might not see it or find it annoying. I could use the Avisynth version, but not enough time to configure it. Anyway, this script and jagabo's should give you plenty of tools to work with. I encoded with TMPGenc Mastering Works 5 at default settings, with no 3:2 pulldown.

    Code:
    LoadVirtualDubPlugin("path to VirtualDub plugins\Deflick.vdf", "DeFlick",1)
    
    MPEG2Source(vidpath+"dbz121.d2v")
    TFM(Order=0).TDecimate(Mode=1)
    Stab()
    RemoveSpots()
    TTempSMooth()
    MergeChroma(awarpsharp2(depth=20))
    Dither_convert_yuv_to_rgb(matrix="601",interlaced=false,tv_range=true,cplace="MPEG2",lsb_in=false,output="rgb32")
    DeFlick(0, 8, 0, 256, 0)
    Dither_convert_rgb_to_yuv(matrix="601",interlaced=false,tv_range=true,cplace="MPEG2",lsb=false,output="YV12")
    LSFMod(defaults="slow",strength=50)
    GradFun3(thr=1.1,mask=0)
    Crop(8,4,-6,0).AddBorders(8,2,6,2)
    return last
    thank you very much.
    Quote Quote  
  24. Be careful with RemoveSpots(). Look around 500 frames into the sample clip -- a shot down a hallway that bounces up and down. With RemoveSpots() some of the lines on the walls disappear. RemoveSpotsMC() doesn't cause that.

    HqDeRing() is here:
    http://avisynth.org/mediawiki/HQDering

    Oh, I see. The version I have is different. The version above gives me the same error. Here's the one I have:

    Code:
    ######
    ##
    ## HQDering v0.1 by mf
    ##
    ## Applies derining by using a smart smoother near edges (where ringing occurs) only.
    ##
    ## Usage: Import("HQDering-v0.1.avs")
    ##        HQDering()
    ##
    ####
    
    function HQDering(clip input, int "strength", int "overall", clip "smoother") {
    
     strength = Default(strength, 255)    # strength, 0-255
     overall  = Default(overall, 0)        # overall smoothing, 0-255
     smoothed = defined(smoother) ? smoother : input.Deen("a3d",4,15,15,20)    # filter that smooths
    
     normalmask=input.mt_edge(thY1=3, thY2=255, mode="sobel", chroma="none")
    
     amplifiedmask=normalmask.Levels(0, 3.3, 90, 0, 255).Blur(1.0)
    
     thickmask=normalmask.mt_inflate().mt_inflate().mt_inflate().Levels(0, 3.3, 90, 0, 255)
      \ .Blur(1.0).mt_inflate().mt_inflate().mt_inflate().Levels(0, 3.3, 255, 0, 255)
      \ .mt_inflate().mt_inflate()
    
     ringingmask=mt_lutxy(amplifiedmask.mt_invert(), thickmask, expr="x y * 255 /").Levels(60, 3.0, 140, overall, strength)
    
     mt_merge(input, smoothed, ringingmask)
    
    }
    Last edited by jagabo; 22nd Jul 2013 at 16:23.
    Quote Quote  
  25. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Yep. One does have to be careful with RemoveSpots. I've never been able to make RemoveSpotsMC run on any of my PC's. I think RemoveDirt() could probably have accomplished the same thing. Will give that a run later. Thanks for spotting that problem.
    Last edited by sanlyn; 25th Mar 2014 at 10:04.
    Quote Quote  
  26. Originally Posted by jagabo View Post
    Be careful with RemoveSpots(). Look around 500 frames into the sample clip -- a shot down a hallway that bounces up and down. With RemoveSpots() some of the lines on the walls disappear. RemoveSpotsMC() doesn't cause that.

    HqDeRing() is here:
    http://avisynth.org/mediawiki/HQDering

    Oh, I see. The version I have is different. The version above gives me the same error. Here's the one I have:

    Code:
    ######
    ##
    ## HQDering v0.1 by mf
    ##
    ## Applies derining by using a smart smoother near edges (where ringing occurs) only.
    ##
    ## Usage: Import("HQDering-v0.1.avs")
    ##        HQDering()
    ##
    ####
    
    function HQDering(clip input, int "strength", int "overall", clip "smoother") {
    
     strength = Default(strength, 255)    # strength, 0-255
     overall  = Default(overall, 0)        # overall smoothing, 0-255
     smoothed = defined(smoother) ? smoother : input.Deen("a3d",4,15,15,20)    # filter that smooths
    
     normalmask=input.mt_edge(thY1=3, thY2=255, mode="sobel", chroma="none")
    
     amplifiedmask=normalmask.Levels(0, 3.3, 90, 0, 255).Blur(1.0)
    
     thickmask=normalmask.mt_inflate().mt_inflate().mt_inflate().Levels(0, 3.3, 90, 0, 255)
      \ .Blur(1.0).mt_inflate().mt_inflate().mt_inflate().Levels(0, 3.3, 255, 0, 255)
      \ .mt_inflate().mt_inflate()
    
     ringingmask=mt_lutxy(amplifiedmask.mt_invert(), thickmask, expr="x y * 255 /").Levels(60, 3.0, 140, overall, strength)
    
     mt_merge(input, smoothed, ringingmask)
    
    }

    Thank you! jagabo

    I have this script in the plugins folder, but still gave error.

    Last edited by charlesn73z; 22nd Jul 2013 at 16:43.
    Quote Quote  
  27. Originally Posted by charlesn73z View Post
    I have this script in the plugins folder, but still gave error.
    Did you get rid of the other one?
    Quote Quote  
  28. Originally Posted by jagabo View Post
    Originally Posted by charlesn73z View Post
    I have this script in the plugins folder, but still gave error.
    Did you get rid of the other one?

    Yes, I managed to solve the other. This is more difficult!

    I do not know if it is or filter parameters, I found no information about it.
    Last edited by charlesn73z; 22nd Jul 2013 at 16:49.
    Quote Quote  
  29. Originally Posted by charlesn73z View Post
    Originally Posted by jagabo View Post
    Originally Posted by charlesn73z View Post
    I have this script in the plugins folder, but still gave error.
    Did you get rid of the other one?
    Yes, I managed to solve the other. This is more difficult!

    I do not know if it is or filter parameters, I found no information about it.
    You are still using the other HqDeRing() filter from the mediawiki link. The one I posted doesn't have 39 lines.
    Quote Quote  
  30. I tested it now with this script you posted here and it worked. Thanks!
    Quote Quote  



Similar Threads

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