PDA

View Full Version : Filtering out DV dropouts


VVrath
28th April 2005, 23:42
OK, so I did the forgivable - used LP recording mode on a rented camera, and then tried to get the DV into my PC using my own (crappy JVC) camera. I know it's inexcusable, but I needed the tape length :-( Alll but one of my tapes has captured fine, but the remaining tape gives periodic sparkles of mosaic corruption - tape dropout by the looks of it.

I've tried a temporal smoothing filter, but can't seem to find any settings that get reduce things to an acceptable level of artifacts. I've tried spot remover in virtualdub, but again, can't seem to find any usable settings. Can anyone suggest any possible alternative methods, or failing that, some useful settings to use as a starting point with either of the filters I've already tried?

Here's an example of some of the errors I'm seeing. They only appear for one frame at a time, and they're appearing at random intervals of approx once every 3 seconds:

http://www.edgeley.co.uk/DV-Artifacts1.jpg
No errors in this frame

http://www.edgeley.co.uk/DV-Artifacts2.jpg
But the next frame's full of sparklies

http://www.edgeley.co.uk/DV-Artifacts3.jpg
And in the frame after that they're gone.

Any help would be very much appreciated.

Kintaro
16th May 2005, 17:22
try removedirt (http://forum.doom9.org/showthread.php?s=&threadid=70856)

Meat_PoPsiclez
17th May 2005, 00:16
aside from that, if no noise removal seems to work, on similiar frames you could just clip and duplicate the previous frame. on low motion it would be unoticeable, on high motion there would be a small hitch. If you're planning on decimating the framerate anyhow (ie for online video, or decimate to 24p etc), this would be your best solution, although it requires you to manually spot each bad frame (I know, forever, but if no other method works) and mark it. It could be done with avisynth pretty easily with the DuplicateFrame and DeleteFrame functions.

Something like this function

Function plowbadframe( clip c, int frame) {
DeleteFrame(frame)
DuplicateFrame(frame-1)
}

And then call it repeatedly for each bad frame with

plowbadframe(frame=25)
plowbadframe(frame=32)
etc etc

Note: I'm very new to avisynth so use that code above as a guide but not as the final product. I didn't test it, but it should be very close to working.

VVrath
17th May 2005, 06:30
Thanks for your suggestions. Kintaro's suggestion of using Removedirt worked like a charm for the majority of the video - much better than the despot plugin I was playing with before.

There are still a few left over artifacts, mainly in the really bad areas where they've appeared in consecutive frames - I think I'll give Meat_PoPsiclez' technique a go - it's a lot more practical now that the number of effected frames is in the low hundreds.

Thanks again.