logo Sign In

STAR WARS V8 - A Final Attempt (Released) — Page 2

Author
Time
This sounds interesting to me, too, as I've never seen the Japanese SC.

Good luck with it! :-)

Author
Time
g-force said:

As for the averaging of the captures, it would be even better to do a median filter on 3 captures.


g-force said:

Even better to use 3 captures from 3 different laserdiscs to remove laser rot, but that I suspect is out of reach. I would love to help with the Avisynth scripting if you would like.


This sounds like a really good idea. Isn't this what TOOT does? Do you have any example scripts of this please G-Force? I tried averaging VHS awhile ago, but just ended up with a slightly less noisy and slightly blurier image, so I was probably doing something wrong.

Moth3r said:

Well the specs for the chip itself mention both an adaptive 3D comb filter and an adaptive 4-line (2D) comb filter. I suppose it depends on the actual card how this is implemented. The PDI uses the older Philips chip (SAA7118) and a Conexant BT878A chip as well.


Thanks for the link Moth3r. Actually, I read that exact same sheet last night before I posted the question. Just wondering if there was much difference because I seem to remember everyone raving about the PDI a few years ago and I wasn't sure if Philips had advanced/improoved the IC or just screwed around with it.

If television is chewing gum for the mind, then the prequels are the worlds first visual laxative.

Author
Time
ThrowgnCpr said:

http://i129.photobucket.com/albums/p203/ThrowgnCpr/SW_V8_small.png

Wow, that does look cool!

g-force said:

Wow! I'm really excited about this Arnie.d!

As for the averaging of the captures, it would be even better to do a median filter on 3 captures.

so given a row of pixels from three different captures:

(n1),(x2),(x3)

(x1),(n2),(x3)

(x1),(x2),(n3)

where x is a good pixel, and n is a noisy pixel, averaging would give you:

2/3*x1 + 1/3*n1 , 2/3*x2 + 1/3*n2 , 2/3*x3 + 1/3*n3

whereas a median filter would give:

(x1),(x2),(x3)

Even better to use 3 captures from 3 different laserdiscs to remove laser rot, but that I suspect is out of reach. I would love to help with the Avisynth scripting if you would like.

Do you plan on de-interlacing also?

-G

I still have a script somewhere for averaging 3 or 5 sources. But I'm not at home so I can't check what it does exactly. Some help would be nice. I've never actually used an averaging script/filter.

I will IVTC so it will be 23.976 progressive.
Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
Arnie.d said:


I still have a script somewhere for averaging 3 or 5 sources. But I'm not at home so I can't check what it does exactly. Some help would be nice. I've never actually used an averaging script/filter.

I will IVTC so it will be 23.976 progressive.


The median filter in Avisynth would be very similar to what I'm doing in my "stabilize" script, except that instead of using motion compensated neighboring frames, you would use 3 different sources.

something like this:

Interleave(source1,source2,source3)
Clense(reduceflicker=false)
SelectEvery(3,1)

You would need to capture the 3 sources in EXACTLY the same way every time, and they would need to be time aligned. It wouldn't matter if you did this before or after IVTC.

You could also do it with 5 sources, but you can't use the VERY fast "clense" median filter, since that only handles 3 frames. You would need to use the EXTREMELY slow "MedianBlurT", and to make things even slower, you have to process 5 frames instead of 3.

These are merely suggestions, as I'm sure that whatever you do will be a great addition to the preservation effort! Let me know if there is any help I can lend.

-G
Author
Time
 (Edited)
Orinoco_Womble said:

I tried averaging VHS awhile ago, but just ended up with a slightly less noisy and slightly blurier image, so I was probably doing something wrong.

Interesting. Did you use a TBC? Uncorrected VHS sources contain a fair bit of jitter or wobble from one capture to the next. Multi-capture averaging on this kind of source probably would end up blurring edges. Fortunately, laserdisc sources are much more stable.
g-force said:

something like this:

Interleave(source1,source2,source3)
Clense(reduceflicker=false)
SelectEvery(3,1)

And for an average, I suppose you'd use something like this:

interleave(source1,source2,source3)
temporalsoften(1,255,255)
selectevery(3,1)

(or use the external plugin Average?)

Also, there may be some benefit to throwing a mocomped-denoised source into the mix as well.

Lots of options. I shall be following this thread with interest, not least because I may shortly be involved in a project to cap a rare (non-SW) Japanese LD for another member of these forums...

Guidelines for post content and general behaviour: read announcement here

Max. allowable image sizes in signatures: reminder here

Author
Time
 (Edited)
Hi all

(Edit: if this post is too off-topic for this thread then my apologies; got too carried away here maybe :) I'll trim this post if you want))

I have done a lot of averging with VHS captures, and I really can't see anyone who is trying to achieve higher end quality not at least giving it a try to see what they think. For me, the difference is usually quite striking when you take a close look at the image (zoom in!). I would recommend at least four captures. Beyond six is not necessary in my opinion except for the highest possible quality extraction. I use the Average dll for Avisynth. Notes:

- Do not capture uncompressed! Use HuffYUV (or something newer that does the same trick?) It is a waste of hard drive space to do uncompressed when you have HuffYUV (and other lossless codecs). :)

- If you are worried about hard drive space you can in a pinch, as said, do two captures and average them, then delete the two sources (keep the average) then do another capture, average that with your previous average, etc. Just remember that with this approach you will need to modify your "weighting" values in your AVS Average script as you go along (.5/.5 on the merging of the first two captures; .66/.34 on the second merging; .75/.25, etc.)

- At least with my set-up, the annoying situation happens of a duplicate frame being inserted by the capture card during longer captures, about one frame every four minutes (to keep sync I assume), the specific result being two frames that look 100% identical, which means one of them needs to be deleted. I search for and remove these duplicates by hand with VirtualDub, but maybe someone here knows an automated way to achieve this? You need your capture files to be exactly the same frame-by-frame in length and arrangement for averaging to work. If you are off by even one frame (from one of the inserted 'duplicates' let's say) then you
will get ghosting, which will look worse than using a single (non-averaged) capture. This step of cleaning and trimming the captures to have them all match perfectly is the biggest time-consumer, but I still say it's all worth it in the end! :)

- I have yet to capture from a LD so I'll leave the particulars of that to others to comment on. :)

At least this is my approach. Below are screengrabs of my VirtualDub windows from an example project. Obviously no processing was done other than the averaging on the second image. Look at her cheeks and forehead. Which of these would you rather start with for all the processing still ahead on a project?

http://img2.freeimagehosting.net/uploads/cffe4dd077.gif

LightWave = fun times with gfx for me 😃

Author
Time
 (Edited)
WXM said:

- Do not capture uncompressed! Use HuffYUV (or something newer that does the same trick?) It is a waste of hard drive space to do uncompressed when you have HuffYUV (and other lossless codecs). :)

Agreed. Something newer that does the same trick would be Lagarith (there are others as well, but I've only ever used these two).
- If you are worried about hard drive space you can in a pinch, as said, do two captures and average them, then delete the two sources (keep the average) then do another capture, average that with your previous average, etc. Just remember that with this approach you will need to modify your "weighting" values in your AVS Average script as you go along (.5/.5 on the merging of the first two captures; .66/.34 on the second merging; .75/.25, etc.)

Or, after keeping the 1/2 average, you could capture sources 3 and 4 then average them. After deleting 3 and 4 and keeping the average, you could then average your two files 1/2 and 3/4 with an equal weightng. Needs a little more room, though.
- At least with my set-up, the annoying situation happens of a duplicate frame being inserted by the capture card during longer captures, about one frame every four minutes (to keep sync I assume), the specific result being two frames that look 100% identical, which means one of them needs to be deleted. I search for and remove these duplicates by hand with VirtualDub, but maybe someone here knows an automated way to achieve this?

If you are getting dropped frames when capping LDs, then something is wrong with your setup. In my experience though, dropped frames are unavoidable when capping VHS.

I don't know of an automated way of removing dupe frames, but VirtualDub has a handy keyboard shortcut to jump to the next dropped frame in a file.

Guidelines for post content and general behaviour: read announcement here

Max. allowable image sizes in signatures: reminder here

Author
Time
Moth3r said:


And for an average, I suppose you'd use something like this:

interleave(source1,source2,source3)
temporalsoften(1,255,255)
selectevery(3,1)



Corect!
Even better:

interleave(source1,source2,source3)
temporalsoften(1,255,255,25,2)
selectevery(3,1)

The addition of the "25" is the scenechange parameter, which will prevent the averaging in of a frame of a particular capture if that frame is really bad. The "2" is the mode parameter, which according to the documentation, is better and faster than the default mode "1", although in my tests I have yet to see the difference between the modes.

-G
Author
Time
Darn, I was hoping you, Mother, or someone else knew a trick for easily wiping those dupe frames. If LD capturing does not give you that problem then Arnie.d, you absolutely should do averaging with LD capping! :D

Mother and G-Force, would you say that your scripts above are better than the "Average" dll that I use? I would guess it would just be a different route to exactly the same result. What could the diffference be?

Another Q: Is there any reason to use HuffYUV over Lagarith for capping now? Way back when, people generally preferred Huff over Lag, but since Lag has been worked on so much since, is it now hands-down the better of the two?

To show that this is on-topic enough, Arnie.d: So far it seems you should do five or six capture average, use the Largarith codec....and which AVS script is best will hopefully be answered soon. :)

LightWave = fun times with gfx for me 😃

Author
Time
 (Edited)
OK, that's the same average script I had (except for the ,25,2). I'll give that one a try as soon as I get my new voltage convertor.

I capture uncompressed because losless codecs gave me problems.

I'll try averaging 3 times first. 5 or 6 seems a bit over the top for me. Besides, I'm guessing LD is better than VHS anyway.
Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time

As far as the upscaling to anamorphic is concerned you should definatly check out a small tool called "Video Enhancer" (www.thedeemon.com), it's the only resizing/upscaling method I know of that is temporal-based and gets detail and sharpness off the neighbouring frames. I've tried various upscaling algorithms (Lanczos, SSpline, RedGiant's InstantHD), and they all do pretty well but the "SuperResolution" does more than noticibly better. 30$ well spent for me. There's a version for AfterEffects available too, but it costs a 100.

 

Author
Time
 (Edited)
resonator said:

As far as the upscaling to anamorphic is concerned you should definatly check out a small tool called "Video Enhancer" (www.thedeemon.com), it's the only resizing/upscaling method I know of that is temporal-based and gets detail and sharpness off the neighbouring frames. I've tried various upscaling algorithms (Lanczos, SSpline, RedGiant's InstantHD), and they all do pretty well but the "SuperResolution" does more than noticibly better. 30$ well spent for me. There's a version for AfterEffects available too, but it costs a 100.

 

 

I can think of a couple other temporal based sharpness filters, the best of which is currently used in my GOUT stabilization script. ;) I think it is important to temper people's expectations about "super-resolution". Super-resolution only works for things that are moving. This is a good thing for sources that suffer from DVNR smearing such as the GOUT, but for sources without smearing, all you're doing is getting rid of motion blur. Since all of the motion blur on the Pre-THX LDs is intentional, this would probably not be a good thing.

The best upsizers actually use Edge-Directed Interpolation. Arnie.d has already indicated that he plans on using NNEDI (Neural-Network Edge-Directed Interpolation) so I think he's already heading in the right direction.

-G

Author
Time
 (Edited)
WXM said:

Darn, I was hoping you, Mother, or someone else knew a trick for easily wiping those dupe frames...

Mother and G-Force, would you say that your scripts above are better than the "Average" dll that I use? I would guess it would just be a different route to exactly the same result. What could the diffference be?

 

The doom9 forums are full of avisynth scripts to get rid of those dupe frames. Check it out! Luckily, the LD catures should give you exactly the same number of frames every time.

I would guess that the averaging script that Moth3r posted would give you EXACTLY the same results as whatever average you are using, as long as you give yours only 3 sources, so no worries! The median script though (yes Orinoco_Womble, it's the same concept as TOOT) should give even better results with 3 sources than an average of 3 sources, and a 3-source median may even be better than a 5-source average.

-G

Author
Time
Arnie.d said:

I'll give that one a try as soon as I get my new voltage convertor.

 

You know, I just thought of something. That voltage converter may be adding some noise to your captures due to the fact that the computer ground and the LD player ground are no longer the same. You may get better results if you can run your PC off of the voltage converter also. This may be possible if you flip the switch near the power input of your PC to 115 instead of 230. Just a thought.

-G

Author
Time
g-force said:

Arnie.d said:

I'll give that one a try as soon as I get my new voltage convertor.

 

You know, I just thought of something. That voltage converter may be adding some noise to your captures due to the fact that the computer ground and the LD player ground are no longer the same. You may get better results if you can run your PC off of the voltage converter also. This may be possible if you flip the switch near the power input of your PC to 115 instead of 230. Just a thought.

-G

 I can't switch my PC to 115. But the LD player doesn't have ground (if I think I know what you mean by ground).

Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
Arnie.d said:

g-force said:

Arnie.d said:

I'll give that one a try as soon as I get my new voltage convertor.

 

You know, I just thought of something. That voltage converter may be adding some noise to your captures due to the fact that the computer ground and the LD player ground are no longer the same. You may get better results if you can run your PC off of the voltage converter also. This may be possible if you flip the switch near the power input of your PC to 115 instead of 230. Just a thought.

-G

 I can't switch my PC to 115. But the LD player doesn't have ground (if I think I know what you mean by ground).

 Bummer. Yeah, it still has a ground, just not a chassis ground. Second best is to make sure the PC and the voltage converter are connected to the same outlet.

-G

Author
Time
 (Edited)
g-force said:

Arnie.d said:

g-force said:

Arnie.d said:

I'll give that one a try as soon as I get my new voltage convertor.

 

You know, I just thought of something. That voltage converter may be adding some noise to your captures due to the fact that the computer ground and the LD player ground are no longer the same. You may get better results if you can run your PC off of the voltage converter also. This may be possible if you flip the switch near the power input of your PC to 115 instead of 230. Just a thought.

-G

 I can't switch my PC to 115. But the LD player doesn't have ground (if I think I know what you mean by ground).

 Bummer. Yeah, it still has a ground, just not a chassis ground. Second best is to make sure the PC and the voltage converter are connected to the same outlet.

-G

 But do you really think it will make a difference for the image quality and why? I'm not convinced.

Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time

Arnie.d said:

But do you really think it will make a difference for the image quality and why? I'm not convinced.

 You just want to minimize ground loops so that no AC line noise is introduced.

-G

Author
Time
g-force said:

WXM said:

Darn, I was hoping you, Mother, or someone else knew a trick for easily wiping those dupe frames...

Mother and G-Force, would you say that your scripts above are better than the "Average" dll that I use? I would guess it would just be a different route to exactly the same result. What could the diffference be?

 

The doom9 forums are full of avisynth scripts to get rid of those dupe frames. Check it out! Luckily, the LD catures should give you exactly the same number of frames every time.

I would guess that the averaging script that Moth3r posted would give you EXACTLY the same results as whatever average you are using, as long as you give yours only 3 sources, so no worries! The median script though (yes Orinoco_Womble, it's the same concept as TOOT) should give even better results with 3 sources than an average of 3 sources, and a 3-source median may even be better than a 5-source average.

-G

 

I've been thinking about it and I'm still not sure if a median filter would be better, in your example you made the assumption that only a third of pixels duffer from noise and that no one pixel suffers noise in two captures, which is a highly idealised situation.

I think the median method would be a good way avoiding bursts of static or dropouts that may not be reproduceable so only effect one capture but I can't see how it would help with the smaller random variations present in all analouge captures, when dealing with random variations taking the mean of the multiple values is surely the better way.

however I do like the idea of using temporalsoften with the scenechange parameter as this should take the mean value of the captures but ignore any with significant dropouts/static so should give the best of both approaches, but I have two questions/comments:

will the scenechange parameter allow the middle capture to be excluded from the average? as this would not be useful for it's original purpose and the differences are measured relative to the middle capture, so if the middle capture had a significant problem then the other two would be excluded and the problem would remain.

also from Avisynth.org: "scenechange=n parameter: Using this parameter will avoid blending across scene changes. 'n' defines the maximum average pixel change between frames. Good values for 'n' are between 5 and 30."

what does it really mean by 'average pixel change'? is it a percentage? if 5-30 is appropriate for a change in scene isn't 25 too great a difference for supposedly identical frames I wouldn't expect 2 captures of the same frame to be different by more that 1-2%

I hope that makes sense, if not I'll try to explain tomorrow.

Author
Time

Moth3r said:

Interesting. Did you use a TBC? Uncorrected VHS sources contain a fair bit of jitter or wobble from one capture to the next. Multi-capture averaging on this kind of source probably would end up blurring edges. Fortunately, laserdisc sources are much more stable.

Yeah, my video player has a built in TBC, which I think is only a line based unit and not a full frame jobbie as I'd like.
The tape I was trying to preserve is pretty fecked and the capture device was my DVD recorder, so probably not the best setup for testing the averaging method.  I found I got better results from capturing once and running a noise filter over the MPG2.  A better VRC/TBC/Capture setup and using a better CODEC would probably get better results than what I was geting.

g-force said:

something like this:

interleave(source1,source2,source3)
temporalsoften(1,255,255)
selectevery(3,1)

Yep, this was the script that I used.  Didn't know about the 25,2 bit though, will have to give that a try once I get a better capture device.

g-force said:

Also, there may be some benefit to throwing a mocomped-denoised source into the mix as well.

Sorry, didn't understand that bit at all. Umm, whats a mocomped-denoiser?


WXM: thanks for posting that 'before and after' pic.  Wow, that's imporessive stuff!  You not only removed noise but it looks like the colours are more vibrant and stable and even and the contrast is much better.  I am definitely going to have to play around with this a bit more.

If television is chewing gum for the mind, then the prequels are the worlds first visual laxative.

Author
Time

Max_Rebo said:

I hope that makes sense, if not I'll try to explain tomorrow.

I definitely understand what you are saying!

Max_Rebo said:

I've been thinking about it and I'm still not sure if a median filter would be better, in your example you made the assumption that only a third of pixels duffer from noise and that no one pixel suffers noise in two captures, which is a highly idealised situation.

I think the median method would be a good way avoiding bursts of static or dropouts that may not be reproduceable so only effect one capture but I can't see how it would help with the smaller random variations present in all analouge captures, when dealing with random variations taking the mean of the multiple values is surely the better way.

You are correct. But it will depend on what type of noise you have. The random variations you are used to with VHS are much smaller with LD. The biggest problem with LD is the noise introduced by such things as laser rot and dot crawl. These are not random variations that affect the entire frame equally, but rather isolated incidents that do not always occurr in the same place on every capture. I guess it all depends on the type of noise you have, and hopefully Arnie.d will try both!

Max_Rebo said:

will the scenechange parameter allow the middle capture to be excluded from the average? as this would not be useful for it's original purpose and the differences are measured relative to the middle capture, so if the middle capture had a significant problem then the other two would be excluded and the problem would remain.

You are correct. I didn't think of this situation. I could code up something that would replace the scenechange parameter to still average the 2 good frames.

Max_Rebo said:

what does it really mean by 'average pixel change'? is it a percentage? if 5-30 is appropriate for a change in scene isn't 25 too great a difference for supposedly identical frames I wouldn't expect 2 captures of the same frame to be different by more that 1-2%

The scenechange parameter is the maximum allowable average pixel difference in luma from one frame to the next. 25 may not be the best value especially if the captures are relatively noise free.

Orinoco_Womble said:

 

g-force said:

Also, there may be some benefit to throwing a mocomped-denoised source into the mix as well.

 

Sorry, didn't understand that bit at all. Umm, whats a mocomped-denoiser?

That was Moth3r's quote, not mine! A mocomped-denoiser is one that motion compensates objects in previous and next frames to their positions in the current frame and does some sort of filtering (median, average, fft etc.) on those frames.

-G

Author
Time

g-force said:

That was Moth3r's quote, not mine! A mocomped-denoiser is one that motion compensates objects in previous and next frames to their positions in the current frame and does some sort of filtering (median, average, fft etc.) on those frames.

-G

 Oops, aploogies dude.  I got yours and Moth3r's quotes mixed up.  Thanks for answering the question though.

 

This place just gets more and more interesting every day :)

If television is chewing gum for the mind, then the prequels are the worlds first visual laxative.

Author
Time
 (Edited)

OK, I received my new voltage convertor and did an average test of 3. I must say it does help to reduce the chroma noise. But since I capture in RGB the ,25,2 addition to the temperalsoften doesn't work and I don't want to convert to yuy2 or something like that, I want to keep it RGB.

Or I could just abandon the RGB stuff and capture in yuy2.

 

About the capture card settings, wouldn't it be best to just set them to the defaults and manually adjust brightness and saturation later using avisynth?

Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
 (Edited)
Arnie.d said:

OK, I received my new voltage convertor and did an average test of 3. I must say it does help to reduce the chroma noise. But since I capture in RGB the ,25,2 addition to the temperalsoften doesn't work and I don't want to convert to yuy2 or something like that, I want to keep it RGB.

Or I could just abandon the RGB stuff and capture in yuy2.

 

About the capture card settings, wouldn't it be best to just set them to the defaults and manually adjust brightness and saturation later using avisynth?

 

I did a couple of tests and the scenechange parameter isn't going to be of any real use, I worked out two very noisey frames are up to about 5% different, but even a badly corrupted frame isn't much more different on average(I added in ~4000 white pixels and this only made it 6% different). So I would ignore the scenechange parameter and stick with capturing in RGB.

If you were iterested comparing the average of 5 captures you can use either of these scripts:

interleave(source1,source2,source3,source4,source5)
temporalsoften(2,255,255)
selectevery(5,2)

or:

merge(merge(merge(source1,source2),merge(source3,source4)),source5,0.2)

 

as for the capture card settings, I'm not an expert so I'll let someone else answer that.