View Full Version : Please help me with this 1971 music clip [Banding, Dot Crawl and rainbowing]


fusion_400
1st November 2006, 18:13
Hello i am having some serious trouble with the clip below it is a 1971 german music video. That has alot of Dot Crawl and Banding and rainbowing.

This is typical of many of these early 70s performances they are shot in 720x756i PAL 50hz and they use use some kind of bluescreen as a background. Because all the equipment used is ofcourse analogue based it introduces a whole host of issues like the dotcrawl and the banding.

Could anyone please help i have tried alot of filters but it doesnt work out that well. The FFD3DGPU stuff seems to soften the picture quite alot.

I really like this song and would like to have a clip of it that looks as good as is possible with current filters.

Here is my script i have tried many different combination but none work very well.
Import("C:\Program Files\AviSynth 2.5\plugins\SeeSaw.avs")
mpeg2source("c:\Frumpy - Take Care of Illusion (1971).d2v")
ConvertToyv12()
#GuavaComb(Mode = "PAL", Recall = 75, MaxVariation = 25, Activation = 90)
#FFT3dGPU(sigma=3,sigma2=3,sigma3=12,sigma4=3,bt=3,plane=1)
#FFT3dGPU(sigma=3,sigma2=3,sigma3=12,sigma4=3,bt=3,plane=2)
#DeGrainMedian(limitY=5,limitUV=7)
#Cnr2("xxx",4,5,255)
fft3dgpu(sigma=4,plane=4)
a = last
b=a.degrainmedian(mode=1).fft3dgpu(sigma=4,plane=4)
SeeSaw(a,b, NRlimit=7, NRlimit2=9, Sstr=1.5, Slimit=6, Spower=9, Szp=16)
ConvertToYUY2(interlaced=true)
#MipSmooth(preset = "Rainbow")
#PeachSmoother(noiselevel=4.286, baseline=3.141, NoiseReduction = 60, Stability = 30, Spatial = 0)
#PeachSmoother(NoiseReduction=50, Stability=30, Spatial=200, NoiseLevel=5.5, BaseLine=4.07)
#DeCrawl(7,8,2,50,100,1)

TomsMoComp(-1,5,1)


Link to clip:

http://rapidshare.com/files/869085/Frumpy-takecareofillusion1971mpeg2pal720x576interlaced.mpg.html

Pookie
1st November 2006, 23:50
AviSynth processes commands from top to bottom, so your're destroying the image by denoising and SeeSaw -ing before you deinterlace.

You only need to post 10-15 seconds of your source video :)

That's some horrible crawl/jaggies. Unlikely you'll be able to eliminate the problem completely.


The setting below will take care of the macroblocks:

mpeg2source("c:\Frumpy - Take Care of Illusion (1971).d2v",cpu=4)

Here's an attempt- a few seconds of the beginning only. You can see that heavy filtering smoothes the results too much, and there are still rainbow-like halos around the band (hey, it WAS 1971). I'm sure someone else will figure out a better solution.

5MB XVID http://rapidshare.com/files/1619627/s2.avi.html

fusion_400
2nd November 2006, 10:15
My fault it really should not be deinterlaced at all because i want to have as much resolution left as possible and then do a new encode to MPEG2.

Yes it gets really soft. I was hopeing someone here had some magic trick that could improve the video as much as is possible without overly softening it.

I am abit of a beginner at avisynth though. I have experimented alot with virtualdub filters before but have not found a satisfiable solution.

fusion_400
3rd November 2006, 11:44
Here is a picture if you dont want to download the clip

http://img208.imageshack.us/img208/3916/frumpyillusionno7.png

Your_Idol
3rd November 2006, 13:45
You will get more help if people can download the file. Use dgindex to demux just a few seconds of the video and put the resulting m2v on rapid share.

Chainmax
3rd November 2006, 14:44
I can't download the clip and examine it because I am in the middle of an encode, but I recommend this:

SetMemoryMax(yourmem/2)
Source loading
DeDot()
IVTC or Deinterlacing (whatever is needed)
Crop(yoursettings,align=true)
FFT3DFilter(sigma=x,plane=3,bw=32,bh=32,bt=3,ow=16,oh=16) <-- adjust x to your needs, I suggest a value of 6 or more.
DeBlock_QED()
DeGrainMedian()
DeHalo_Alpha()
Lanczos4Resize(yoursettings)
dull=last
sharp=dull.LimitedSharpenFaster(SMode=4,Strength=150)
Soothe(sharp,dull,25)
AddGrain(5,0,0)

DeDot is a great dotcrawl remover. DeBlock_QED is a very good deblocker that tries to keep as much detail as possile. the FFT3DFilter line is meant for rainbow removal. DeGrainMedian is a good, powerful denoiser that has the side benefit of slight deblocking and dotcrawl removal. DeHalo_Alpha is a ghost remover and is meant to remove the halos around the band member's arms.
I much prefer LimitedSharpenFaster w/SMode=4's output to SeeSaw's , besides SeeSaw is supposed to be more of a detail enhancer and is recommended for clean sources like DVD or HDTV.
Finally, AddGrain is there to mask possile remaining artifacts and to give an illusion of detail because the video will probalby look slightly "empty" after the (neccesary) cleanup.

By the way, I also recommend you to include BiFrost in the filterchain. You have to read its help file in order to find out wether to put it before IVTCing/Deinterlacing or after.

If you need download links to these filters and functions, tell me and I will search them for you. Hope this helps :).

fusion_400
3rd November 2006, 17:10
You will get more help if people can download the file. Use dgindex to demux just a few seconds of the video and put the resulting m2v on rapid share.

I have a link to the clip already in the first post.

fusion_400
3rd November 2006, 17:16
Thanks alot chainmax for helping me out i will try the script soon.

Chainmax
3rd November 2006, 22:14
What do you think about this:

http://img69.imageshack.us/img69/948/attemptru0.png (http://imageshack.us)

?

Pookie
3rd November 2006, 23:28
Nice job on the edges, Chainmax. That is a tough one. That edge crawling is frustratingly difficult to fix, it is almost like aliasing.


This might work

tdeint(-1).turnleft().tdeint(-1).turnright().tisophote()

Chainmax
3rd November 2006, 23:47
Yeah, I figured that whatever it was it was small enough to be treated with antialiasing. There's no need to use TIsophote though, AAA(chroma=true) is already on the script.

[edit]Thanks for the compliments, Pookie :).

fusion_400
3rd November 2006, 23:59
Yeah, I figured that whatever it was it was small enough to be treated with antialiasing. There's no need to use TISophote though, AAA(chroma=true) is already on the script.

WOW Thanks alot that looks amazing and this is all from the script you posted right before right ?

Chainmax
4th November 2006, 02:49
Kinda, I made a few tries on the picture you posted and came up with a modified version. If you can wait, tomorrow I'll toy around with the sample video you posted and try to achieve better results. If not, I can give you the script that was used on the screenshot.

scharfis_brain
4th November 2006, 03:44
don't forget to treat this source interlaced.

Chainmax
4th November 2006, 03:50
Why, is it a ad NTSC-to-PAL transfer? If so, can Restore24 be used on it?

fusion_400
4th November 2006, 10:15
This is a true PAL 720x576 interlaced clip from German Channel WDR. I made a mistake at the beginning with the deinterlaceing in the script it should not be there. Instead i want to preserve the interlacing to preserve the most detail and motion in the clip and then do a highbitrate mpeg2 encoding.

Yes please try to achieve best settings on the actual clip and then post the script.

Chainmax
4th November 2006, 14:25
What are your computer's specs? That will determine what filters to use and at what settings to use them.

Trixter
4th November 2006, 19:44
FFT3DFilter(sigma=x,plane=3,bw=32,bh=32,bt=3,ow=16,oh=16) <-- adjust x to your needs, I suggest a value of 6 or more.



Isn't a sigma of 6 a bit high, even for videotape? When I do that I lose so much detail that it's not worth it. I tend to lose detail past a sigma of 4.

Chainmax
4th November 2006, 20:02
Bear in mind that line is meant for chroma denoising (plane=3). A sigma of 6 for chroma is ok. For luma denoising, I usually don't go above sigma=3.

fusion_400
5th November 2006, 20:02
I have a P4 overclocked to 2.2ghz and 512mb ram.

Chainmax
6th November 2006, 00:37
Ok, so the fast way then. MCBob resulted in a 2-day encode for a 3min clip on my Sempron 2200+ :eek:.

Didée
6th November 2006, 01:02
MCBob resulted in a 2-day encode for a 3min clip on my Sempron 2200+ :eek:.
Oh.:D - My guess is: not enough memory. For the case that

my machine with 256MB RAM.
still holds true, then MCBob is not for you: Seems like 512 MB RAM is the minimum to have it doing its work in memory.

(Searching motion vectors all over the swap file tends to be very very slow. ;) )

Trixter
6th November 2006, 05:22
Bear in mind that line is meant for chroma denoising (plane=3). A sigma of 6 for chroma is ok. For luma denoising, I usually don't go above sigma=3.

Ack, I totally missed the plane=3... sorry about that.

Chainmax
6th November 2006, 15:19
Didée: my machine has been vastly upgraded since then, now it has an amazing amount of....get this.....512mb ram!!!! :p.

Trixter: no problem :D.

Chainmax
6th November 2006, 16:51
Ok fusion_400, here's the final script:

SetMemoryMax(yourmem/2)

LoadPlugin("X:\wherever\DGDecode.dll")

LoadPlugin("X:\wherever\ColorMatrix.dll")

LoadPlugin("X:\wherever\DeDot.dll")

LoadPlugin("X:\wherever\BiFrost.dll")

LoadPlugin("X:\wherever\Corrector.dll")
LoadPlugin("X:\wherever\EEDI2.dll")
LoadPlugin("X:\wherever\LeakKernelDeint.dll")
LoadPlugin("X:\wherever\MVTools.dll")
LoadPlugin("X:\wherever\MedianBlur.dll")
LoadPlugin("X:\wherever\SangNom.dll")
LoadPlugin("X:\wherever\TomsMoComp.dll")
Import("X:\wherever\MVBob.avs")

LoadPlugin("X:\wherever\FFT3DFilter.dll")

LoadPlugin("X:\wherever\MT_MaskTools.dll")
LoadPlugin("X:\wherever\DCTFilter.dll")
Import("X:\wherever\DeBlock_QED_MT2.avs")

LoadPlugin("X:\wherever\DeGrainMedian.dll")

Import("X:\wherever\DeHalo_Alpha_MT2.avs")

LoadPlugin("X:\wherever\MaskTools.dll")
LoadPlugin("X:\wherever\ChromaShift.dll")
Import("X:\wherever\FixChromaBleeding - Didée Mod.avs")

LoadPlugin("X:\wherever\Deen.dll")
Import("X:\wherever\HQDering_MT2.avs")

LoadPlugin("X:\wherever\Sangnom.dll")
LoadPlugin("X:\wherever\UnFilter.dll")
Import("X:\wherever\AAA.avs")

LoadPlugin("X:\wherever\RemoveGrain.dll")
Import("X:\wherever\LimitedSharpenFaster.avs")
Import("X:\wherever\Soothe_MT2.avs")

LoadPlugin("X:\wherever\AddGrain.dll")



MPEG2Source("X:\wherever\Frumpy.d2v",info=3)

ColorMatrix(hints=true,interlaced=true)

BiFrost()

DeDot()

ConvertToYV12(interlaced=true)

AssumeTFF()
SecureBob()

DeBlock_QED()

Crop(24,4,680,568,align=true)

FixChromaBleeding()

FFT3DFilter(sigma=6,plane=3,bw=32,bh=32,bt=3,ow=16,oh=16)

DeGrainMedian()

DeHalo_Alpha()

HQDering(255)

AAA(chroma=true)

Lanczos4Resize(672,544)

dull=last
sharp=dull.LimitedSharpenFaster(SMode=4)
Soothe(sharp,dull,25)

AddGrain(10,0,0)

AddBorders(24,16,24,16)

AssumeFrameBased().SeparateFields().SelectEvery(4,0,3).Weave()

The detail loss is noticeable, but in my opinion it's a good trade-off. By the way, if you send me the whole audio, I can try to slightly enhance it and give you a 5.1 version.


Everyone: I had to put AssumeFrameBased() in there because Avisynth gave me an error message otherwise. Strangely enough, if I changed the AddGrain line to (5,0,0) instead then the error message wouldn't appear :confused:.

fusion_400
6th November 2006, 21:26
Thanks alot any chance you can put together a zip or rar file with all the plugins and scripts needed ?

Chainmax
6th November 2006, 22:10
Sure thing.

fusion_400
6th November 2006, 22:39
Sure thing.

Thanks.:thanks:

Chainmax
6th November 2006, 22:49
You can download it from here:

http://rapidshare.com/files/2275671/Frumpy_Package.rar.html

It has the script as well. If you have any further doubts, don't hesitate to ask.