View Single Post
Old 25th February 2015, 18:42   #6  |  Link
johnmeyer
Registered User
 
Join Date: Feb 2002
Location: California
Posts: 2,695
The noise in the script can be fixed by the usual scripts that many of us have posted before. You can search on my name and "VHS" for some of my contributions.

The bounce can be removed by Deshaker, a plugin for VirtualDub.

The tearing is the most interesting problem. I separated the video into fields, and in most cases, the noise is only present in one field. This opens up the possibility of doing the following:

1. Create motion estimated versions of both fields;
2. Use one of StainlessS' functions to detect an even field that doesn't match either the previous or following even field. This indicates a glitch.
3. Replace that glitch with the motion estimated version, using conditional logic.

I didn't have time to figure out how to use StainlessS' code to do the detection, so I just did it manually. I bobbed, and then replaced each broken field with a motion estimated version, using a delta of 2 in the MVTools2 call (this uses the adjacent "fields" when working on bobbed video). I used the old "filldrops" code to do this. I then re-weaved using the selectevery(4,0,3) followed by a weave.

I then ran this through the VHS denoising script that I've posted many times (basic MDegrain2 stuff).

I tried both Deshaker and also the commercial Mercalli stabilization tools. They both did a good job stabilizing the footage, but the borders were too funky, or I had to zoom in too much to cover the borders, so I didn't do any stabilization.

This is the result, in DV format:

Deglitched & denoised

I used lossless codecs for my intermediate renders.

There are still a couple of glitches that were more than one field in duration.

Nothing is perfect ...
johnmeyer is offline   Reply With Quote