Log in

View Full Version : Ideas for restoring early generation (really old) digital video


johnmeyer
8th November 2011, 03:57
Here is a short sample from an extensive collection of digital videos from a "CD-ROM Magazine" I subscribed to in the earliest days of digital media (1992):

160x120 12 fps video (https://www.mediafire.com/file/y76a852bflv2737/clip.avi)

Here's a still snapshot in case you don't want to download the 1 MB file above:

https://i.imgur.com/2o5Elux.jpg

I have checked everywhere, and this particular video has not been re-released in any format I can acquire, so I need to use this low-res version and want to make it more watchable. I have never done any work with low-bandwidth video, so I don't know which script or plugin I should start with. I have Deblock_QED but I don't know if it is the right tool. I'd really appreciate a few hints so I don't have to waste time trying out a dozen of the wrong tools. I'm not worried about the 12 fps framerate; I only need help with the blockiness and pixelation

In addition to being low-res, the video appears to have used a large block size for encoding, so the effective resolution is probably even lower than 160x120. Also, there are lots of blocking artifacts in what should be a very smooth, dark background.

So, all I need is a few suggestions on which tools I should try. Thanks in advance!

Mounir
8th November 2011, 09:02
You might wanna try video enhancer (http://www.infognition.com/VideoEnhancer/) for this video, the problem is the low res introduce lots of banding on the whole frame (generally it's more local) and to tackle this comes to mind the msu plugin super precision (http://www.compression.ru/video/super_resolution/super_precision_en.html) which we can't test (thanks goes to msu guys) and hasn't been avisynthezised (<-copyright)
I would do a deblocking in YUV (so with deblock qed) then one in RGB with msu smart deblocking(perhaps too strong) or the simple msu deblocking then you enhance the rez.Let's not forget the extra work on levels and colors

By the way i can't open your video other than with VLC

edit:
forgot to mention but a bit of Neat video at the last step shouldn't hurt

msu smart deblocking + resize + neat (3 frames radius) (all in vdub):
http://imageshack.us/photo/my-images/7/neatv.png/

Video (with more filters):
http://www.mediafire.com/?9rfbs0rkdb4qb85

image comparison (histogram,luma mode)
og: http://imageupload.org/?d=98EAA98E1
new: http://imageupload.org/?d=D7A5FCAB1

johnmeyer
8th November 2011, 16:29
You might wanna try video enhancer for this video, ... and to tackle this comes to mind the msu plugin super precision which we can't test ... I would do a deblocking in YUV (so with deblock qed) then one in RGB with msu smart deblocking(perhaps too strong) or the simple msu deblocking then you enhance the rez.Let's not forget the extra work on levels and colors

By the way i can't open your video other than with VLC
Thanks for all that. I wouldn't have thought of Neat. I'll try your various suggestions this morning. Your end result looks better than what I thought possible, so you must be on the right track. BTW, the reason you can't easily open the video is that it was created in 1992, and back then there were only a few codecs, most of which were from Intel, and most of which are now obsolete.

markanini
8th November 2011, 17:57
Good old Mdegrain often does wonders for blocky sources. I like the Dogway's SMDegrain which lets you use up to 6 frame temporal radius. Wasn't there an old thread that dealt with a simmilar source?

johnmeyer
8th November 2011, 19:25
Good old Mdegrain often does wonders for blocky sources. I like the Dogway's SMDegrain which lets you use up to 6 frame temporal radius. Wasn't there an old thread that dealt with a simmilar source?If you find that thread, let me know. As you'll see from the following, I made some good progress, but I think I could do a little better, especially on the remaining mottled noise on the black background.

I first tried Neat and I was surprised that it made the video look pretty good (I've not had good results with this denoiser in the past, and this small clip doesn't have enough pixels to get a 120x120 noise sample).

I'm more familiar with MDegrain, and even though I didn't think it would do anything at all with this clip, I ended up getting what I thought were better results. Go figure.

Here's a short clip showing the results of denoising, changing frame rate from 12 to 30 fps progressive, and also up-resn'g to 640x480:

clip (denoised, 30 fps, up-res'd).avi (https://www.mediafire.com/file/w3k29dmmqv9181h/clip%20%28denoised%2C%2030%20fps%2C%20up-res%27d%29.avi)

And here's the script I used:

loadplugin("C:\Program Files\AviSynth 2.5\plugins\MVTools\mvtools2.dll")
loadPlugin("c:\Program Files\AviSynth 2.5\plugins\fft3dfilter.dll")

source=AVISource("E:\Celestial Navigations\HORSES (huffyuv).avi").converttoyv12()

preNR = source.FFT3DFilter( sigma=15, sigma2=14, sigma3=2, sigma4=2, bt=5, bw=16, bh=16, pframe=7729, sharpen=1, interlaced=false )

preNR_super = preNR.MSuper(pel=2, sharp=1)
src_super = source.MSuper(pel=2, sharp=1, levels=1)

backward_vec2 = MAnalyse(preNR_super, isb = true, delta = 2, overlap=4)
backward_vec1 = MAnalyse(preNR_super, isb = true, delta = 1, overlap=4)
forward_vec1 = MAnalyse(preNR_super, isb = false, delta = 1, overlap=4)
forward_vec2 = MAnalyse(preNR_super, isb = false, delta = 2, overlap=4)

denoised=source.MDegrain2(src_super, backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=1000)

super=MSuper(denoised,pel=2)
backward_vec = MAnalyse(super,blksize=8, overlap=2, isb = true, search=3, dct=1 )
forward_vec = MAnalyse(super,blksize=8, overlap=2, isb = false, search=3, dct=1 )

estimated=MFlowFps(denoised,super,backward_vec, forward_vec, num=30, den=1, mask=2, ml=100)

final = LanczosResize(estimated,640,480)

return final

Mounir
9th November 2011, 03:41
I couldn't get a good noise profile with neat either ~24% max but since you have more footage i'm sure you can find a good frame all you'd have to do is first resize to about 640x480 with spline36resize and import in vudb

ludy
9th November 2011, 03:54
You might wanna try video enhancer (http://www.infognition.com/VideoEnhancer/) for this video, the problem is the low res introduce lots of banding on the whole frame (generally it's more local) and to tackle this comes to mind the msu plugin super precision (http://www.compression.ru/video/super_resolution/super_precision_en.html) which we can't test (thanks goes to msu guys) and hasn't been avisynthezised (<-copyright)
I would do a deblocking in YUV (so with deblock qed) then one in RGB with msu smart deblocking(perhaps too strong) or the simple msu deblocking then you enhance the rez.Let's not forget the extra work on levels and colors

By the way i can't open your video other than with VLC

edit:
forgot to mention but a bit of Neat video at the last step shouldn't hurt

msu smart deblocking + resize + neat (3 frames radius) (all in vdub):
http://imageshack.us/photo/my-images/7/neatv.png/

Video (with more filters):
http://www.mediafire.com/?9rfbs0rkdb4qb85

image comparison (histogram,luma mode)
og: http://imageupload.org/?d=98EAA98E1
new: http://imageupload.org/?d=D7A5FCAB1
very good advice,thanks.

Mounir
9th November 2011, 04:07
Actually i tried with video enhancer, doesn't give good results, better to stick with a spline36resize and the deblocking in YUV with qed didn't help much either

johnmeyer
9th November 2011, 04:20
Here's the full video, "restored" as best I could:

Horses (http://www.youtube.com/watch?v=kI-IcPUV6Gw&feature=channel_video_title)

It really is captivating storytelling, an art form you don't see very much any more. Thanks for all the help.

The performer is a well-known character actor who has appeared in numerous Clint Eastwood movies.

StainlessS
9th November 2011, 13:37
Hi John, just curious, was the actor "Wishbone" in Rawhide.

2Bdecided
9th November 2011, 15:27
Previous threads...

First:
http://forum.doom9.org/showthread.php?t=109422

Latest:
http://forum.doom9.org/showthread.php?t=152623

Comparison of commercial offerings:
http://forum.doom9.org/showthread.php?t=154141

Various others:
http://forum.doom9.org/showthread.php?t=142704
http://forum.doom9.org/showthread.php?t=145119

Hope this helps. Didn't try yours - it seems to use some similar ideas. Will get back to doing this myself one day.

Cheers,
David.