VideoHelp Forum
+ Reply to Thread
Results 1 to 16 of 16
Thread
  1. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    How to remove such horizontal lines/noise from the image? This is a capture from an HDMI 576p tape from a JVC VCR (deinterlace made by DMR-EH585). QTGMC with InputType=1 cannot handle this, I also tried FFT3Dfilter(), but the effect is mediocre.

    For comparison - these lines are also visible on MPEG-2 capture (made by a different recorder), but there the deinterlace made by QTGMC handles it nicely.

    I'm also attaching a short clip of the HDMI capture.

    ((File names indicate the source and whether it is captured or processed by QTGMC)
    Image Attached Thumbnails Click image for larger version

Name:	HDMI-capture.png
Views:	43
Size:	691.1 KB
ID:	76394  

    Click image for larger version

Name:	HDMI-QTGMC.png
Views:	39
Size:	560.7 KB
ID:	76395  

    Click image for larger version

Name:	MPEG2-capture.png
Views:	28
Size:	689.7 KB
ID:	76396  

    Click image for larger version

Name:	MPEG2-QTGMC.png
Views:	26
Size:	450.2 KB
ID:	76397  

    Image Attached Files
    Quote Quote  
  2. Is it about the chroma noise? playing around: https://imgsli.com/MjM1MzM4
    (typically CCD can be good at filtering such noise, but for me, it seems to be either too light or too strong here.)
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  3. Which horizontal line noise are you talking about? The head switching noise at the bottom of the frame? The light horizontal lines visible throughout the frame? The residual combing on the woman's back (third image)? The occasional horizontal time base errors (most visible around the timestamp in frames 185 to 187 of the video). The little nicks along the woman's back (fourth image, not really horizontal)?
    Quote Quote  
  4. Try with
    Code:
    KNLMeansCL(d=3, a=2, s=4, h=3.0)
    Quote Quote  
  5. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    As complement to what already properly suggested, you can also try a temporal denoise with low radius (to do not erase fine details), i.e.

    Code:
    TemporalDegrain2() #default degrainTR is 1
    and a bit of sharpening

    Code:
    LSFmod(defaults="slow")
    Comparison:
    Click image for larger version

Name:	comp.png
Views:	34
Size:	1.50 MB
ID:	76403

    Comparison with slider: https://imgsli.com/MjM1MzY0

    Try to play with TemporalDegrain2 parameters for optimal results, eventually slightly adding a spatial denoiser in TD2 post-processing as KNLMeansCL (postFFT=4) if you wish to remove all remaining noise, but try to not erase the thin vertical lines in the cake

    You can also replace the frames with more evident lines dropout with interpolated frames
    Quote Quote  
  6. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by jagabo View Post
    Which horizontal line noise are you talking about?
    In the attached picture.
    Quote Quote  
  7. you forgot to attach the picture,..
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  8. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by Sharc View Post
    Try with
    Code:
    KNLMeansCL(d=3, a=2, s=4, h=3.0)
    Wow -- the first attempt was great. Now I will check the details.
    Image Attached Thumbnails Click image for larger version

Name:	HDMI-org vs klmeans.png
Views:	20
Size:	506.9 KB
ID:	76429  

    Quote Quote  
  9. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by Selur View Post
    you forgot to attach the picture,..
    I didn't have time to correct it and you already wrote it . But they are more visible in the image above (after QTGMC InputType=1). I have included the original ones in this post.
    Image Attached Images  
    Quote Quote  
  10. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by lollo View Post
    As complement to what already properly suggested, you can also try a temporal denoise with low radius (to do not erase fine details), i.e.

    Code:
    TemporalDegrain2() #default degrainTR is 1
    TemporalDegrain2 gave great results, but unfortunately it did not remove these "lines". And it was slow, so I stopped testing it for now.

    I don't know why it turned out so well for you (look @ picture)

    But when I added KNLMeans, the flickering effect disappeared. But this "speed"...
    Image Attached Thumbnails Click image for larger version

Name:	HDMI-TempDeg2_def.png
Views:	14
Size:	514.9 KB
ID:	76433  

    Last edited by rgr; 25th Jan 2024 at 10:43.
    Quote Quote  
  11. I didn't have time to correct it and you already wrote it
    Okay, so it was the chroma noise. (partially caused by inproper color handling during deinterlacing)

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  12. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by Selur View Post
    I didn't have time to correct it and you already wrote it
    Okay, so it was the chroma noise. (partially caused by inproper color handling during deinterlacing)

    Cu Selur
    That's what I suspected was bad deinterlacing, because these lines do not move with the image. They are static (and that's probably why TemporalDegrain2 doesn't deal with them).

    I tried:

    Code:
    separatefields.selectevery(4,0,3).weave.QTGMC(preset="slow")
    but it only helped partially.


    KLMeans also works better after adding
    Code:
    KNLMeansCL(d=3, a=2, s=4, h=3.0,channels="YUV")
    Last edited by rgr; 25th Jan 2024 at 10:28.
    Quote Quote  
  13. For those lines I did this:

    Code:
    LWLibavVideoSource("HDMI-capture.mp4", cache=false, prefer_hw=2) 
    src = last
    
    SeparateFields()
    vInverse()
    Weave()
    vInverse()
    
    # then restore edges that were blurred by the above:
    
    emask = mt_edge(mode="hprewitt", thy1=30, thy2=30).Blur(1.0).Invert().GreyScale()
    Overlay(src, last, mask=emask)
    Frame 5, before and after:

    Image
    [Attachment 76435 - Click to enlarge]


    You may need to adjust the edge thresholds depending on the source. This procedure doesn't address all the other problems.
    Quote Quote  
  14. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by jagabo View Post
    For those lines I did this:

    Code:
    LWLibavVideoSource("HDMI-capture.mp4", cache=false, prefer_hw=2) 
    src = last
    
    SeparateFields()
    vInverse()
    Weave()
    vInverse()
    # then restore edges that were blurred by the above:
    emask = mt_edge(mode="hprewitt", thy1=30, thy2=30).Blur(1.0).Invert().GreyScale()
    Overlay(src, last, mask=emask)
    Wow, great effect! It works great for captures made with the JVC set to Auto, but unfortunately in Edit mode, diagonal lines remain visible on the balloon (attachment).
    In general, I noticed that the JVC Edit mode offers a bit more detail, but removing noise is a hard job.

    This procedure doesn't address all the other problems.
    If you have any other comments, I'd love to hear them .

    So far, I've had good results using (after vinverse):
    Code:
    QTGMC(preset="slower",inputtype=1,TR2=3)
    dfttest(dither=1) (or temporaldegrain2)
    converttoyuv420.convertbits(8).lsfmod(strength=125)
    But it is very slow.
    Image Attached Thumbnails Click image for larger version

Name:	h265 -- auto vs edit (QTGMC,fft3d,lsmod).png
Views:	19
Size:	281.4 KB
ID:	76503  

    Quote Quote  
  15. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by jagabo View Post
    You may need to adjust the edge thresholds depending on the source. This procedure doesn't address all the other problems.
    I also got surprisingly good results (except OSD) by re-deinterlacing (after vinverse)
    Code:
    separatefields.selectevery(4,0,3).weave.QTGMC(preset="slow",TR2=3)   #,Sharpness=1.2, SLMode=1)
    Image Attached Thumbnails Click image for larger version

Name:	h265 -- auto VS edit(deintX2).png
Views:	11
Size:	299.9 KB
ID:	76504  

    Quote Quote  
  16. Originally Posted by rgr View Post
    unfortunately in Edit mode, diagonal lines remain visible on the balloon (attachment).
    Of course. Like I said, the sequence addressed only the horizontal line problem. And attempted to retain as much of the other "detail" as possible.

    Originally Posted by rgr View Post
    In general, I noticed that the JVC Edit mode offers a bit more detail, but removing noise is a hard job.
    Noise reduction in AviSynth can be far superior to that done by JVC deck.
    Quote Quote  



Similar Threads

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