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 |
|
|
#1 | Link |
|
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..)
|
|
|
|
|
|
#3 | Link |
|
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...
|
|
|
|
|
|
#4 | Link |
|
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. |
|
|
|
|
|
#5 | Link |
|
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. |
|
|
|
|
|
#9 | Link |
|
Registered User
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) 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) Last edited by *.mp4 guy; 20th August 2010 at 08:05. |
|
|
|
|
|
#10 | Link |
|
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 |
|
|
|
|
|
#11 | Link |
|
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... |
|
|
|
![]() |
|
|