PDA

View Full Version : Interlaced video's luma/chroma correction .. HELP!!


PeppeontheNet
26th October 2006, 00:29
Hello everyone,
I'm quite new to avisynth.. I've already achieved some very good results in restoring old VHS videos.. but now I need help.

I have many videos, captured in the 90's from satellite analog tv channels, having a bad flickering... due to the difference of luminance/chroma between fields (interlaced video, of course): it happens that even fields are brighter than the odd fields.. producing this annoying disturb, the images seem like flashing...making it not unviewable but...let's say disturbing :angry:

I still couldn't figure out how to correct this problem.

It disappears deinterlacing (virtualdub internal deinterlacer, blend mode... the only one that works, those from avisynth doesn't), but I loose fluidity and details.

It also disappears with dctfilter (in avisynth) but produces other problems: unalligned rows and some little artifacts

Sometimes it is partially corrected by using ColorYUV(autogain=true), but not for every video (rarely actually) and not completely..some parts of the videos remain affected by "flashing"

All the other filters I know and tried gave no results.

If anyone out there can help me out (assuming that my poor english is good enough to let me explain my problem clearly :confused: ) ... well, I'd appreciate it very much

Here's a sample of the problem:
sample video (http://www.savefile.com/files/192792)
The problem is not visible from a PC screen, you need to separatefields() to figure it out, but I guess there's no need to say it !!

Thanks

foxyshadis
26th October 2006, 06:14
I thought it would be simple, just use deflicker... turns out not to like this video. Maybe there's another tool I don't know of, but it seems a levels or coloryuv on one channel (or both) to align them is needed. Alternately, there's a plugin called colorlike, that matches luma/chroma of two clips (ie, even and odd here), but I don't have it to see if it works.

Pookie
26th October 2006, 06:56
MPEG2Source("E:\vid\sample.d2v",cpu=4)#deblock with cpu=4
ConverttoYV12()
Reducefluctuations(limit=2)
Mergechroma(degrainmedian(mode=1))
fft3dfilter(plane=0,sigma=1,degrid=1,interlaced=true)


Better, but far from perfect.

foxyshadis
26th October 2006, 07:58
You were so close, pookie! You put me on the right track; "SeparateFields.ReduceFlicker.Weave" perfectly matches the fields' levels back up. =D

PeppeontheNet
26th October 2006, 09:04
Pookie, Foxyshadis....
THANK YOU:D :D :D
This plugin is amazing....problem solved with no artifacts left!!!!!

For those who may be interested in it, you can find it at ReduceFlicker Plugin (http://home.arcor.de/kassandro/ReduceFlicker/ReduceFlicker.htm)

Actually, after seeing Foxyshadis' solution, I'd say it wasn't that difficult! The fact is that many of these wonderful and useful plugins are unknown, hard to find in the internet ocean!
I guess we'd need a catalogue of the filters/plugins (all of them) with explanation of what they do...

Once again, guys, THANK YOU...THANK YOU...THANK YOU...THANK YOU...THANK YOU...:cool:

Pookie
26th October 2006, 09:37
Reduceflicker is a great plugin, but too much will create some weird looking smearing. VirtualDub filters are also a good way to go with this kind of material, especially if you're saving to Xvid. This combination of MSU Deblocker, MSU Deflicker, and Dot Crawl Comb Filter by Scott Elliott (a cool filter) looks pretty nice. (Look at what a good job the camera operator did in centering the shot !)

http://fileserver1.jpghosting.com/images/ten_07a4c3d56f056322fc5b54b3c2626694.png (http://www.jpghosting.com/showpic.php?image=ten_07a4c3d56f056322fc5b54b3c2626694.png)

PeppeontheNet
26th October 2006, 10:04
This combination of MSU Deblocker, MSU Deflicker, and Dot Crawl Comb Filter by Scott Elliott (a cool filter) looks pretty nice.

They are Virtualdub plugins, right? I guess there are versions for Avisynth too (I love it! Much faster IMO).

Would you give me exact parameters for these filters to achieve this result?
I use to go with TemporalSoften + Msharpen between Separatefields() and weave() + Undot().. but I'd like to give them a try and see the difference :D

Thanx

Pookie
26th October 2006, 10:21
Loaded the M2V file directly in VirtualDub. Default Settings for the MSU plugins, DotCrawl filter set to 4-frame dead-reckoning, and Multi-path minimum delta.

Alain2
26th October 2006, 13:34
http://fileserver1.jpghosting.com/images/ten_07a4c3d56f056322fc5b54b3c2626694.png (http://www.jpghosting.com/showpic.php?image=ten_07a4c3d56f056322fc5b54b3c2626694.png)

I think you could give Didée Vinverse a go on this

PeppeontheNet
26th October 2006, 14:12
Loaded the M2V file directly in VirtualDub. Default Settings for the MSU plugins, DotCrawl filter set to 4-frame dead-reckoning, and Multi-path minimum delta.

Pretty slow, isn't it? It'd take days to complete encodings..;)