Sign In

GOUT image stabilization - Released — Page 4

Author
Time
boba feta said:

I think that's pretty damn good actually, but I wouldn't mind seeing a few selected scenes considered to be some of the worst i.e: the stormtroopers finding the O Ring by the escape pod, R2 in the canyon and the landspeeder entering Mos Eisley. I think they all suffered terribly from the DVNR process.


Thanks for the compliment! I don't expect to be able to do anything to help with those areas. They will look more stable and sharper, but will still have the old artifacts. They are just too horrible, and all the information is gone. I'll encode some samples with these scenes soon.

-G

Author
Time
g-force said:

New test encode. This one has better local stabilization, less artifacting (actually none that I can see), and temporal sharpening!

http://rapidshare.com/files/99217835/stabilize_hc4.m2v.html

This may be as good as I can get this, so the script is going up as soon as I can annotate it.

Let me know what you think!

-G


Wow!

Can't believe the source is from the GOUT!!!
Author
Time
Oldschooljedi said:



Wow!

Can't believe the source is from the GOUT!!!


Thanks! I promise it is! :)

-G
Author
Time
I just noticed some ringing near the letterbox area that I know can be fixed. stay tuned.

-G
Author
Time
g-force said:

I just noticed some ringing near the letterbox area that I know can be fixed. stay tuned.

Happened to me one time because I added the black bars before filtering... whoops!

I was wondering, although the image looks pretty clean don't you think it's a bit to soft?

Also, do you use fft3d for noise filtering or sharpening (assuming you still use it).
Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
Arnie.d said:


I was wondering, although the image looks pretty clean don't you think it's a bit to soft?

Also, do you use fft3d for noise filtering or sharpening (assuming you still use it).


Yes, I'm still using FFT3D for both filtering and sharpening at one stage (although less than before). Would you mind posting some comparison pics of mine compared to the original showing me what you mean by too soft? I personally don't see it, but I may not be looking in the right place.

thanks,

-G
Author
Time
 (Edited)
http://img80.imageshack.us/img80/9966/001originalvo5.jpg
Original

http://img166.imageshack.us/img166/4629/002gforceky5.jpg
G-Force

http://img166.imageshack.us/img166/8031/003arniedlz7.jpg
Arnie.d

I have tried out so many filters and as a result what was in my memory didn't match with the actual original. I included my own for comparison. Yours is much cleaner no doubt. I think mine is a tiny bit sharper (but also darker and more grainy).
Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
Arnie.d said:

I have tried out so many filters and as a result what was in my memory didn't match with the actual original. I included my own for comparison. Yours is much cleaner no doubt. I think mine is a tiny bit sharper (but also darker and more grainy).


Ugh. I was hoping you wouldn't point out that scene. For the last clip I posted I was doing the motion compensation/sharpening after my levels command and I noticed that some softening of the picture was happening in the darker scenes. Moving the levels command to the end helps this a lot, but I still think I can do a bit better. I have an idea that will mitigate the blurring effects of the eedi2 command, then when the temporal sharpener comes in, there will be more detail to work with. Yours is really nice and sharp! Is that even after the eedi2? What are you using to sharpen? Do you think the lighter scenes in mine are too soft also? (like Leia standing in front of the stormtroopers?)

-G
Author
Time
 (Edited)
Yes, it's after eedi2 but I don't use "turnright" and "turnleft".

For sharpening I resize with limitedsharpenfaster (so I don't have to use an extra step of lanczos4resize). But since I use eedi2 without "turnright" and "turnleft" I don't need to sharpen as much. But as you showed using "turnright" and "turnleft" removes some vertical jaggies.

Well, I'm not saying your version is to soft, I was just wondering what you thought about it. I think your version of Leia standing in front of the stormtroopers looks better than mine. The image is cleaner than mine and I think the sharpness is about the same.

It's all just a matter of personal taste. Some people (probably most) prefer a clean image that may be a bit softer. I prefer a bit more grainy image that's a bit sharper (or at least the grain gives the impression it's sharper).

Btw, for my version I used some things from Moth3r's script like the color correction and contrast settings.
Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
 (Edited)
Here's a pic of the same scene through my most recent script (moved levels to after temporal sharpener)

http://www.wackychimp.com/uploads/HanGreedo.jpg

I agree with you Arnie.d, I think the grain adds the perception of detail also, but it was a somewhat unintended casualty of the local stabilization that I did. Oh well. ;)

Anyway, I have updated the script on page 1, and it now reflects what I used to generate the pic in this post. I have not yet annotated the script, and I have some more things that I would like to do, but it's there for your viewing pleasure.

-G
Author
Time
Added some annotations to the most recent script on the first page. If anyone wants more details about a particular section, just ask.

-G
Author
Time
g-force,

I'm trying to start my testencodings at the moment and I did modify your script for the PAL-DVD. This is the script:

Mpeg2Source("C:\ANH.d2v",cpu2="ooooxo")

orig=Crop(0,124,0,-126,align=true)

temp=orig.TemporalSoften(7,255,255,25,2)
rep=Repair(temp,orig,mode=16).TemporalSoften(1,255,255,25,2)
source=Interleave(rep,orig,rep)
mdata=DePanEstimate(source, range=1, trust=0, dxmax=1, dymax=0)
DePan(source, data=mdata, offset=1)
SelectEvery(3,2)

a=EEDI2().TurnRight().EEDI2().TurnLeft().Trim(0,58642)
b=EEDI2(maxd=15,nt=8).TurnRight().EEDI2(maxd=15,nt=8).TurnLeft().Trim(58643,58994)
c=EEDI2().TurnRight().EEDI2().TurnLeft().Trim(58995,0)
a+b+c #needed for interrogation scene

Spline36Resize(720,432)
FFT3DFilter(sigma=1,sharpen=.7)
BlindPP(cpu2="ooooxo")

source=last

backward_vec1= source.MVAnalyse(isb=true, delta=1,pel=2,overlap=4,sharp=1,idx=1)
forward_vec1 = source.MVAnalyse(isb=false,delta=1,pel=2,overlap=4,sharp=1,idx=1)
bw1 = source.MVCompensate(backward_vec1,idx=1)
fw1 = source.MVCompensate(forward_vec1, idx=1)

inter=Interleave(bw1,bw1,bw1,source,fw1,fw1,fw1)
intersmooth=inter.Clense().TemporalSoften(1,255,255,10,2)

RestoreMotionBlocks(intersmooth,inter,neighbour=inter,alternative=inter,gmthreshold=100,dist=1,dmode=3,debug=false,noise=10,noisy=15,grey=false,show=false)
SelectEvery(7,3)

pmax = source.MT_Logic(bw1,"max").MT_Logic(fw1,"max")
pmin = source.MT_Logic(bw1,"min").MT_Logic(fw1,"min")
Sharpen(.6)
MT_Clamp(pmax,pmin,0,0,U=2,V=2)

restored=last
a=source.Levels(0,1.5,150,0,255)
b=restored.Levels(0,1.5,150,0,255)
ConditionalFilter(restored,source,restored,"(LumaDifference(b,a)/AverageLuma(a))","greaterthan",".01")

Crop(8,0,-4,0,align=true)
AddBorders(6,72,6,72)
Levels(10,1.13,255,0,255) #8 is bare minimum to fix "Tie matte scene"
Tweak(sat=1.08,hue=-4)

My encoder says: "avisynth successfully initialized".

But when I start the encoding my encoders (tried several ones) shut down immediately without notice.

I'm not sure, if I have all avisynth-plugins, that were needed and if they were from the right source.

I'm using:

removedirt from: http://avisynth.org/warpenterprises/<br />removegrain from: http://avisynth.org.ru/<br />EEDI2 from: http://avisynth.org.ru/<br />MVTools from: http://avisynth.org.ru/mvtools/mvtools.html<br />depan and depanestimate from: http://avisynth.org.ru/depan/depan.html<br />fft3dfilter (with fftw3) from: http://avisynth.org.ru/fft3dfilter/fft3dfilter.html<br />
Maybe did I download from the false sources?

Do I have all the needed plugins?

Maybe there is a error in my script?

I'm a littlebit confused, because when I load the script, everything seems to be ok.

Any ideas?
Author
Time
 (Edited)
I checked your conversion to PAL resolution, and it keeps it close enough to the correct dimensions. It may not run as quickly though, since everying before the resize is MOD2. You might try:

orig=Crop(0,120,0,-120,align=true)
...
Spline36Resize(720,448)
...
AddBorders(6,64,6,64)

I'll check all the pages you posted for the plugins and verify against mine tonight when I get home. In the mean time, make sure you have Removedirt from here: http://home.arcor.de/kassandro/RemoveDirt/RemoveDirt.htm
and Removegrain from here:
http://home.pages.at/kassandro/RemoveGrain/

-G

Author
Time
 (Edited)
Hi G-Force!

Been lurking on this thread for a while and just wanted to say it's great the work you've put into this - looks fantastic.

I have a RIP of the NTSC G-Out on my hard disc, but - and I know I'll probably get laughed off the forums for asking this - but how do i convert the VOB to D2V format? What do you recommend? Also have you used your script for the entire film, or just sections of it?

Many thanks! Sorry for the layman's questions ;)

- John

Edit: Just found out about DGIndex which I'm using now to create the D2V files - playing catch-up here :) Using the 64-bit floating option under video - is this correct?
Author
Time
I have found some more scenes in the film were eedi2 causes serious artifacts (like in the interrogation scene). It also happens at the floor in the scene were Leia is shot and captured by the stormtroopers and also on the tiny bridge Obiwan crosses to disable the tractor beam. Just thought I'd let you know to maybe adjust the script for these scenes if you want.
Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
g-force said:

I checked your conversion to PAL resolution, and it keeps it close enough to the correct dimensions. It may not run as quickly though, since everying before the resize is MOD2. You might try:

orig=Crop(0,120,0,-120,align=true)
...
Spline36Resize(720,448)
...
AddBorders(6,64,6,64)

I'll check all the pages you posted for the plugins and verify against mine tonight when I get home. In the mean time, make sure you have Removedirt from here: http://home.arcor.de/kassandro/RemoveDirt/RemoveDirt.htm
and Removegrain from here:
http://home.pages.at/kassandro/RemoveGrain/

-G



I did download RemoveGrain and RemoveDirt there, and updated the script like you suggested, but it didn't help.

I have to go to work now, and I'll try again tomorrow...
Author
Time
g-force,

I did try to run the script a few times and updated script like you posted above. But I always have the same issue: The encoder shuts down every time I hit the "encode" button.
I also tried exactly the script you have posted (for NTSC-source) and have the same problem. I assume, that one of my avisynth-dll's is the wrong one, but I'm not sure which one it is. I did download RemoveGrain and RemoveDirt from your link above but it didn't help.
So could you maybe post the download links of the .dll's you've been using or maybe make a zip-file of your .dll' and load them up to rapidshare? This would help...
Author
Time
Only thing I can think of is to try commenting out parts of the script selectively to try to narrow it down. Can you get the script to show frames in a media player? If so, it may have something to do with the encoder.

-G
Author
Time
 (Edited)
Arnie.d said:

I have found some more scenes in the film were eedi2 causes serious artifacts


That's it. The final nail in the coffin for EEDI2. I also found a blur bubble on a stormtrooper helmet. I sure liked how it looked over NNEDI on the R2 scene, but I can't justify screwing up everything else as a result. Plus NNEDI blurs way less.

Updating script now to switch to NNEDI.

seventiesfilmnut said:

Hi G-Force!

Been lurking on this thread for a while and just wanted to say it's great the work you've put into this - looks fantastic.

Edit: Just found out about DGIndex which I'm using now to create the D2V files - playing catch-up here :) Using the 64-bit floating option under video - is this correct?


Thanks for the kind words! I'm glad you figured out the DGindex thing. Not sure about the 64bit thing right now. Will check at home. Sorry I didn't respond sooner. So far, I've only done the full script on parts of the film, but only because it's getting really slow! I'm sure there will be some tweaks after the first full encode.

-G
Author
Time
seventiesfilmnut - Skal SSE MMX is what my video is set to in DGindex. I'm not sure what this means. I'll have to read the manual again.

Updated the script again after verifying some things with NNEDI.

-G
Author
Time
 (Edited)
g-force said:

Arnie.d said:

I have found some more scenes in the film were eedi2 causes serious artifacts


That's it. The final nail in the coffin for EEDI2. I also found a blur bubble on a stormtrooper helmet. I sure liked how it looked over NNEDI on the R2 scene, but I can't justify screwing up everything else as a result. Plus NNEDI blurs way less.

Updating script now to switch to NNEDI.

I tried NNEDI too. Works good enough for me. And no damn artifacts at the known EEDI2 places. Good find!
Fez: I am so excited about Star Whores.
Hyde: Fezzy, man, it's Star Wars.
Author
Time
Arnie.d said:

I tried NNEDI too. Works good enough for me. And no damn artifacts at the known EEDI2 places. Good find!


Sweet! It seems that I am able to squeeze just a bit more sharpening out of the script now that EEDI2 isn't used. Script updated yet again.

-G
Author
Time
 (Edited)
Thanks for the reply guys - love this forum :)

Is there a complete list of files to download for this? Might help if we're all using the same plug-ins?

Can't wait to get this up and running and have a watchable version of the GOUT :)

- John
Author
Time
 (Edited)
Downloaded all the plug-ins, and placed them into the Avisynth plug-ins folder. Trouble is evertime I open my script I get the following message using VirtualDubMod:

AVIsynth read error: CAVIStreamSynth: unknown system exception - 0xc000001e ahO7 0

!!!

Have tried systematically going through the script, and the error occurs when I get down to the MT-Logic parts. Have commented them out and I still get the message however... Here's my script:

Mpeg2Source("C:\Documents and Settings\John\Desktop\SW Test\VIDEO_TS\sw test.d2v",cpu2="ooooxo")

#cut off some black bars and make image size MOD 16
orig=Crop(0,96,0,-96,align=true) #NTSC now 720x288
#orig=Crop(0,120,0,-120,align=true) #PAL now 720x336

#global motion stage
temp=orig.TemporalSoften(7,255,255,25,2)
rep=Repair(temp,orig,mode=16).TemporalSoften(1,255,255,25,2)
source=Interleave(rep,orig,rep)
mdata=DePanEstimate(source, range=1, trust=0, dxmax=1, dymax=0)
DePan(source, data=mdata, offset=1)
SelectEvery(3,2)

#anti-aliasing
NNEDI(dh=true,field=1).TurnRight().NNEDI(dh=true,field=1).TurnLeft()

#resize to 16x9 proportion (still MOD 16)
Spline36Resize(720,384) #NTSC
#Spline36Resize(720,448) #PAL

#some filtering, sharpening and smoothing to avoid oversharpening
FFT3DFilter(sigma=1.5,sharpen=.6)
BlindPP(cpu2="ooooxo")

#get motion vectors and apply them
source=last
backward_vec1= source.MVAnalyse(isb=true, delta=1,pel=2,overlap=4,sharp=1,idx=1)
forward_vec1 = source.MVAnalyse(isb=false,delta=1,pel=2,overlap=4,sharp=1,idx=1)
bw1=source.MVCompensate(backward_vec1,idx=2)
fw1=source.MVCompensate(forward_vec1, idx=2)

#local motion stabilization/degrain stage
inter=Interleave(bw1,bw1,source,fw1,fw1)
intersmooth=inter.Clense().TemporalSoften(1,255,255,10,2)
RestoreMotionBlocks(intersmooth,inter,neighbour=inter,alternative=inter,gmthreshold=100,dist=1,
\ dmode=3,debug=false,noise=10,noisy=15,grey=false,show=false)
SelectEvery(5,2)

#temporal min/max sharpening stage
pmax=source.MT_Logic(bw1,"max").MT_Logic(fw1,"max")
pmin=source.MT_Logic(bw1,"min").MT_Logic(fw1,"min")
Sharpen(.6)
MT_Clamp(pmax,pmin,1,1,U=2,V=2)

#moving star protection (better version will be tested soon)
restored=last
a=source.Levels(0,1.5,150,0,255)
b=restored.Levels(0,1.5,150,0,255)
ConditionalFilter(restored,source,restored,"(LumaDifference(b,a)/AverageLuma(a))","greaterthan",".01")

#set black level, remove sides, add borders, hue and saturation
Levels(10,1.13,255,0,255) #8 is bare minimum to fix "Tie matte scene"
Crop(8,8,-4,-8,align=true)
#Crop(8,10,-4,-10,align=true) #PAL
AddBorders(6,56,6,56) #NTSC now 720x480
#AddBorders(6,74,6,74) #PAL now 720x576
Tweak(sat=1.08,hue=-4)

Can anyone see any obvious errors? Have been trawling the net for any helpful information but no luck so far.

Which version of masktools should I be using? Perhaps the answer lies here?

Thanks,

- John

P.S. I've edited out the subs in my script, as the clip I am running the test on doesn't need them.
Author
Time
 (Edited)
seventiesfilmnut wrote:

Trouble is evertime I open my script I get the following message using VirtualDubMod:

AVIsynth read error: CAVIStreamSynth: unknown system exception - 0xc000001e ahO7 0

Can anyone see any obvious errors? Have been trawling the net for any helpful information but no luck so far.

Which version of masktools should I be using? Perhaps the answer lies here?

Thanks,

- John

This is exactly the error I'm getting too! My encoder simply shuts down when I start encoding and when I load the script in my mediaplayer I get the same error-message with this little difference:

CAVIStreamSynth: unknown system exception - 0xc000001e at 0x0.