Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage
Register FAQ Today's Posts Search

Reply
 
Thread Tools Search this Thread
Old 15th August 2010, 19:38   #1  |  Link
bizz & buzz
Banned
 
Join Date: Jun 2008
Posts: 94
Diagonal distortion on vertical lines

Hi,
I'm trying to to remedy this NBA games DVD, and this strange artifact is driving me nuts! It's appears throughout the DVD and I don't know how to handle it.
Help would be much appreciated

Sample Link

Pic (far end of the corridor, around his tie, etc..)

bizz & buzz is offline   Reply With Quote
Old 16th August 2010, 13:41   #2  |  Link
pandy
Registered User
 
Join Date: Mar 2006
Posts: 1,050
http://forum.doom9.org/showthread.php?t=132194
http://forum.doom9.org/showthread.php?t=154863
pandy is offline   Reply With Quote
Old 16th August 2010, 23:50   #3  |  Link
bizz & buzz
Banned
 
Join Date: Jun 2008
Posts: 94
Thanks for your suggestions Pandy.
I fiddled with these filters but unfortunately they helped only a little bit.
It got me thinking that maybe something like NNEDI3 (modified to work vertically) might do the trick. But I don't know how to build a mask so that it will only influence the artifacted area and not the whole frame...
bizz & buzz is offline   Reply With Quote
Old 17th August 2010, 12:22   #4  |  Link
pandy
Registered User
 
Join Date: Mar 2006
Posts: 1,050
try to crop this area and analyze only this particular fragment of frame - this artifact looks like create by some constant frequency source - maybe poorly implemented adaptive combfilter - so don't give-up those mentioned threads are best to solve Your problem - just try (removing constant frequency pattern in frequency domain) - spatial domain are far from optimal to deal with this.

Last edited by pandy; 17th August 2010 at 12:26.
pandy is offline   Reply With Quote
Old 17th August 2010, 12:42   #5  |  Link
2Bdecided
Registered User
 
Join Date: Dec 2002
Location: UK
Posts: 1,673
Pandy's right - it's residual dot-crawl. I don't think NNEDI is going to be any good for this at all.

btw, it's trivial to make nnedi work vertically - just turnright().nnedisomething().turnleft() - but I doubt this will solve your problem.

Cheers,
David.
2Bdecided is offline   Reply With Quote
Old 17th August 2010, 14:16   #6  |  Link
Wilbert
Super Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,392
Try CNR2.
Wilbert is offline   Reply With Quote
Old 18th August 2010, 16:01   #7  |  Link
markanini
Registered User
 
Join Date: Apr 2006
Posts: 299
Mdegrain can sometimes do wonders for analogue artifacts like this. Worth a try.
markanini is offline   Reply With Quote
Old 19th August 2010, 13:38   #8  |  Link
bizz & buzz
Banned
 
Join Date: Jun 2008
Posts: 94
* Sorry for the late reply, my computer crashed on me a few days ago *
thanks for your help guys, I'll follow you offers and report the results back.
bizz & buzz is offline   Reply With Quote
Old 20th August 2010, 07:56   #9  |  Link
*.mp4 guy
Registered User
 
*.mp4 guy's Avatar
 
Join Date: Feb 2004
Location: USA
Posts: 1,348
None of the real world applicable dot crawl removers work at all on this. However it is a dot crawl related artifact, and an extremely brute force dot crawl removal method is reasonably succesfull in removing it, but it introduces a lot of blur.

Code:
Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 512 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " 1 ", u=2, v=2)
Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 512 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " 1 ", u=2, v=2)
Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " 1 ", u=2, v=2)
None of the methods for mitigating sharpness loss that I tried worked very well, this was the best.

Code:
FIR = Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 512 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " 1 ", u=2, v=2)\
.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 512 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " 1 ", u=2, v=2)\
.Mt_convolution( Horizontal = " -1 3 -3 5 -9 14 -16 26 -107 490 0 490 -107 26 -16 14 -9 5 -3 3 -1 ", vertical = " 1 ", u=2, v=2)
Diff = mt_makediff(FIR, last)
THR=string(240000)
Median = MT_Luts(Diff, Diff, mode="med", pixels = "  2 0 -2 0  4 0 -4 0 " ,  expr = " X Y - X Y - X Y - abs 1 + * X Y - abs 1 + \
"+THR+" 1 >= "+THR+" 0.5 ^ "+THR+" ? + / - 128 +", u=1,v=1)
ReconstructedMedian = mt_makediff(Diff, Median)
mt_adddiff(FIR, ReconstructedMedian)
Maybe someone else can do better, I didn't do an exhaustive search by any means. Unfortunately it looks like the interference is much stronger then any signal in the effected frequencies, so doing significantly better then this will be difficult. Also, both scripts are purely horizontal, so you don't need to bob or deinterlace if you don't want to.

Last edited by *.mp4 guy; 20th August 2010 at 08:05.
*.mp4 guy is offline   Reply With Quote
Old 21st August 2010, 19:08   #10  |  Link
bizz & buzz
Banned
 
Join Date: Jun 2008
Posts: 94
[Side Note]

The reason I thought NNEDI3 might be of help is that on similar artifact, only on horizontal lines, I managed to get good results with NNEDI3(nsize=3) in combination with TGMC:

left: source.tdeint(mode=1), right: source.TempGaussMC_beta2(edimode="nnedi3",search=5,SVthin=0.5,Sbb=3)


left: source.tdeint(mode=1), right: source.TempGaussMC_beta2(edimode="nnedi3",search=5,SVthin=0.5,Sbb=3)

Last edited by bizz & buzz; 21st August 2010 at 19:15. Reason: added scripts of pics
bizz & buzz is offline   Reply With Quote
Old 21st August 2010, 19:09   #11  |  Link
bizz & buzz
Banned
 
Join Date: Jun 2008
Posts: 94
Replying after attempting the previously suggested options:

First thread (Dfttest) - My comprehension of how things work in the frequency domain is seriously lacking, so Although I played with it a lot and did try to make sense of the Readme, I failed in getting good results with it.

Second thread (Mp4guy's Destripe function) - got some nice results from it, but the tailored script he posted later in this thread was better.

Cnr2 - Couldn't get much out of it.

Mdegrain - Couldn't get much out of it too.

Mp4guy's tailored script - Best so far, in spite of it's blurring. I tried to improve the result with different sharpeners, but to no avail...
bizz & buzz is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.