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. |
10th October 2002, 20:41 | #41 | Link |
Registered User
Join Date: Sep 2002
Location: France
Posts: 432
|
Some bad news (for now, I hope) after trying ronnylov's clip: it simply throws away the rainbow detection I use now. Used on an interlaced and noisy video capture, there are too many false detections whatever the settings are. I think an interlaced video may throw away any frequency-based solution as it radically changes the distribution of pixels. Obvious, but quite dangerous if the video hasn't been previously processed by decomb/greedyhma/ivtc (select your prefered ivtc/deinterlacing avisynth filter)
Additionnaly, the scene change threshold isn't that effective. Maybe some people could help me on that matter: I use Sum of Absolute Differences over a 8x8-pixels luma block (I've switched to that because blocks were 8x8 not 16x16 in what I've seen). But there may hardly be any difference on relatively constant blocks (while they have really change, the chroma changes may be due to a rainbow), therefore I maybe should increase the size of the block where I calculate SAD. I'm now just averaging the value, then comparing it to a threshold to set. Wouldn't it be more efficient to compare AD for a pixel to this threshold, then decide if a change has occured using the final value (ie when for instance 64 pixels out of 256 are considered to have changed makes the whole 8x8 or 16x16 block considered as changing) ? For the good news, the idea Lindsey gave seems the best way out: insensitivity to interlacing, and some tests showed a sort of periodicity in the shimmering. I have SECAM and NTSC relatively stationnery video to quick test that, but I however hope I won't have to implement pattern guide... I guess I'll have to drop the "spatial activity" now, and maybe reincorporate it back later if it happens that it has better results on some materials. |
15th October 2002, 01:09 | #42 | Link |
Registered User
Join Date: Jan 2002
Posts: 283
|
Well, what I’ve worked out does work with interlaced material, but it isn’t really insensitive to it. I’m not sure the algorithm would work with progressive material. (There’s some code in there to handle progressive source, but I’ve never tried it on real video.) On the plus side, I think progressive material — unless it comes from line doubled interlaced stuff — shouldn’t show color crosstalk.
__________________
9:) Lindsey Dubb |
15th October 2002, 08:41 | #43 | Link | |
Registered User
Join Date: Feb 2002
Location: Borås, Sweden
Posts: 492
|
Quote:
I found a method that removes the PAL shimmering but it does not help to remove the "rainbows", it actually makes the rainbows a little bit more visible. It "destroys" the interlacing in the chroma plane but as I see it is already destroyed in my PAL captures because of the shimmering in saturated colours. I downsize the heigth to half and then upsize to the full height again and only use the chroma and merge that to the original luma. It's the same method as the virtualdub filter rmpal use but I found "my method" using bilinearresize more effective. If I use verticalredceby2 I get the same results as virtualdub rmpal filter which don't remove all the horisontal colour lines. I don't like to use the virtualdub filter in avisynth so I used the following script to do it in avisynth: #-------------------------- source=SegmentedAviSource("capture.avi") #This source clip has 704x576 resolution chroma=BilinearResize(source,704,288) chroma=LanczosResize(chroma,704x576) return(MergeChroma(source,chroma)) #--------------------------
__________________
Ronny |
|
15th October 2002, 08:57 | #44 | Link |
Registered User
Join Date: Jan 2002
Posts: 283
|
Yep — any PAL or NTSC capture starts out interlaced.
Your trick depends somewhat on the way the material was deinterlaced. If it’s done perfectly, though, it should work pretty well. It would lose chroma resolution, but also get rid of any chroma (but not luma) crosstalk. (But I don’t think this would work for NTSC unless you offset by one line before downsizing the chroma.)
__________________
9:) Lindsey Dubb |
9th March 2003, 23:16 | #45 | Link |
Registered User
Join Date: Feb 2003
Location: Tokyo, Japan
Posts: 19
|
Heh, I know this thread is good and dead now...
But riding on these many more months of experience, what is generally accepted as the best method of cleaning up rainbows/dot crawl in analog captures? (While being limited to avs 2.5 and virtualdub filters, sorry guava comb ;_; )
__________________
-Tofu |
Thread Tools | Search this Thread |
Display Modes | |
|
|