VideoHelp Forum

Try DVDFab and download streaming video, copy, convert or make Blu-rays,DVDs! Download free trial !
+ Reply to Thread
Results 1 to 10 of 10
Thread
  1. What is the proper way to denoise interlaced VHS NTSC video with Dfttest? Can I just filter the video as is? Would this script be better?

    AviSource("Test.avi")
    AssumeTFF()
    SeparateFields()
    odd=SelectOdd.Dfttest(sigma=16, tbsize=5)
    evn=SelectEven.Dfttest(sigma=16, tbsize=5)
    Interleave(evn,odd)
    Weave()

    I've read about using a smart bob, filtering, and then re-interlacing. What is the proper way to do this?

    Thanks for the help.
    Quote Quote  
  2. You can't filter it as-is because it's a progressive filter. It will damage the footage and field pattern

    So separating and grouping even/odd fields is one way of doing it. The benefit is you preserve the original interlace and fields. The negative is you don't get temporal filtering between even/odd fields - it can accentuate certain types of noise or problems between fields. A flicker of sorts because it's filtering even and odd independently. On material that is uniform it should work ok. On crappy footage this usually doesn't work as well

    The alternative is double rate deinterlacing then applying filter(s) then reinterlacing if required, or just leave it progressive double rate if you can for your scenario . The negative is you have to deinterlace, the benefit is you get full temporal filtering

    What you would use depends on the specific footage and problems
    Quote Quote  
  3. Originally Posted by poisondeathray View Post
    You can't filter it as-is because it's a progressive filter. It will damage the footage and field pattern



    The alternative is double rate deinterlacing then applying filter(s) then reinterlacing if required, or just leave it progressive double rate if you can for your scenario . The negative is you have to deinterlace, the benefit is you get full temporal filtering
    Would this be correct?

    Deint(mode=1)
    Dfttest(sigma=16, tbsize=5)
    AssumeTFF()
    separatefields()
    selectevery(4,0,3)
    weave()
    Quote Quote  
  4. I would use a better deinterlacer, like QTGMC . As a benefit in your case - it also denoises slightly using typical settings

    You also have to assume the correct field order before the deinterlacing. Avisynth assumes BFF by default. If that's what you have for the input , then that's ok, but you are re-interlacing it TFF
    Quote Quote  
  5. Is it correct to assume that filters which have 'interlaced=true/false' in their settings - such as fft3Dfilter or SMDegrain - can be directly applied on interlaced footage?
    Also, if temporal denoising is disabled in progressive filters, separatefields() without subsequent odd/even grouping or bobbing is sufficient?
    Last edited by Sharc; 25th Mar 2020 at 02:23. Reason: typo
    Quote Quote  
  6. Originally Posted by Sharc View Post
    Is it correct to assume that filters which have 'interlaced=true/false' in their settings - such as fft3Dfilter or SMDegrain - can be directly applied on interlaced footage?
    Not sure,

    But I would not assume anything about this...You should check either the code or with test or both. If it doesn't group even/odd or similar, then you get the problem with applying temporal filtering without accounting for the field offset




    Also, if temporal denoising is disabled in progressive filters, separatefields() without subsequent odd/even grouping or bobbing is sufficient?


    If set to spatial only - yes that eliminates the main issue of filtering separated fields without grouping even/odd - namely the even/odd field offset

    (But it's not necessarily "sufficient" in terms of denoising; it would depend on the source.)



    And another issue is sometimes bad source has, for example, even fields that are more noisy or some color problem . You might want to differentially filter even fields first. If you apply temporal denoising or temporal double rate deinterlacing - you might actually contaminate the "good" fields
    Quote Quote  
  7. In general, would it be better to denoise before or after deinterlacing?
    Quote Quote  
  8. Originally Posted by Micheal81 View Post
    In general, would it be better to denoise before or after deinterlacing?
    It depends on the source, the filters used

    Probably afterwards in most cases, because you're going to want to use temporal denoising in most cases, and that requires progressive footage to be most effective
    Quote Quote  
  9. Originally Posted by poisondeathray View Post
    Not sure,

    But I would not assume anything about this...You should check either the code or with test or both. If it doesn't group even/odd or similar, then you get the problem with applying temporal filtering without accounting for the field offset
    I had a look at the code but was not sure about the grouping of even/odd. So I did a test and it seems that the difference between 'interlaced=true' applied directly to the interlaced source, and the even/odd grouping of the separated fields with 'interlaced=false' was almost nil. So for now I conclude that the interlace-aware denoisers can be directly applied to interlaced sources, even with temporal denoising enabled.
    There is however a difference with temporal filtering of the separated fields without grouping even/odd. The field offset blurs the picture slightly (not that this is necessarily harmful in all cases).
    Last edited by Sharc; 26th Mar 2020 at 12:24.
    Quote Quote  
  10. Interesting though that SMDegrain delivered exactly the same denoised results for odd/even field grouping or direct filtering of the interlaced source with 'interlaced=true', while only one field was exactly the same for the fft3dfilter and the other field showed a difference.
    Quote Quote  



Similar Threads