Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 9th July 2010, 22:39   #1  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
which de-grain Recommended?

I like use the UnsharpMask, but creates the grain

which de-grain Recommended to remove this type of grain?



byme is offline   Reply With Quote
Old 9th July 2010, 23:09   #2  |  Link
dansrfe
Registered User
 
Join Date: Jan 2009
Posts: 1,210
I'm guessing MDegrain1 is enough to deal with something like this:

Code:
super = MSuper(pel=2, sharp=1)
bv1 = super.MAnalyse(isb = true, delta = 1, overlap=4, blksize=16,chroma=false)
fv1 = super.MAnalyse(isb = false, delta = 1, overlap=4, blksize=16,chroma=false)
MDegrain1(super,bv1,fv1,thSAD=100)
The grain you have is very soft silver film grain. If I were you I would keep that grain. This much grain is good for film content.
dansrfe is offline   Reply With Quote
Old 9th July 2010, 23:52   #3  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
on television material the grain I do not like

I tried the MDegrain1 with settings you gave me suggested, but remains the grain

Last edited by byme; 10th July 2010 at 00:14.
byme is offline   Reply With Quote
Old 10th July 2010, 01:19   #4  |  Link
BigDid
Actually in reserve
 
Join Date: Oct 2004
Posts: 1,605
Quote:
Originally Posted by byme View Post
on television material the grain I do not like

I tried the MDegrain1 with settings you gave me suggested, but remains the grain
Code:
super = MSuper(pel=2, sharp=1)
bv1 = super.MAnalyse(isb = true, delta = 1, overlap=4, blksize=16,chroma=false)
fv1 = super.MAnalyse(isb = false, delta = 1, overlap=4, blksize=16,chroma=false)
MDegrain1(super,bv1,fv1,thSAD=100)
Hi,

You can increase the thsad value;
instead of "MDegrain1(super,bv1,fv1,thSAD=100)"
try "MDegrain1(super,bv1,fv1,thSAD=200)"
or 300 or 400 (defaut)
If you feel that you are losing details, consider using mdegrain2 or 3; better details, but lower processing speed...
If needed, use search for the exact script.

Did
__________________
Having a problem with AutoGK? Read & use the FAQ & MORE FAQ first
Want to exchange on AutoGK? try doom10.org
In reserve (inactive) for an undefined period of time.
BigDid is offline   Reply With Quote
Old 10th July 2010, 01:41   #5  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Quote:
Originally Posted by dansrfe View Post
The grain you have is very soft silver film grain.
It's difficult to tell from just one single screenshot, but when looking close, it seems like it could be artificially generated grain, not physical film grain.

Quote:
I'm guessing MDegrain1 is enough to deal with something like this
That's even more difficult to tell from just one single screenshot, since you can't see how strong the temporal fluctuations really are.
However, judging from the (spatial) amplitude of the noise, and extrapolating the temporal variation from that by experience, I'm pretty sure that MDegrain1 is by far not strong enough to make that noise disappear.


@ byme

You should show a not-processed raw sample of the footage, because ...

a) one screenshot is not sufficient to make any decisions

b) that screenshot is 960x547, which is an impossible size for any sort of original content

c) your comment "I like use the UnsharpMask, but creates the grain" indicates that the screenshot shows something that already has been filtered.

In short: the information you gave is pretty much useless, in order to make any specific recommendations.


- Edit -

In several spots there are artifacts that look like interlaced DCT, however those artifacts are 5 pixels in height.

547/5*4 =~ 438.

Most probably, we are looking at 720x432 SD material that has been upsized.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)

Last edited by Didée; 10th July 2010 at 01:59.
Didée is offline   Reply With Quote
Old 10th July 2010, 10:47   #6  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
you're right about everything Didèe... compliments!
but I just want to know how to remove the grain in this result

more caps







the unsharpmask I like because increases Details without creating too many halos and squaring


@ BigDid

MDegrain3 gives me error
which version of MVTool does it take?

Last edited by byme; 10th July 2010 at 11:02.
byme is offline   Reply With Quote
Old 10th July 2010, 12:04   #7  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
If you browse this thread, you might find something useful for what you're trying.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 10th July 2010, 12:54   #8  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
I tried this... is right?

(without UnsharpMask)

Code:
source = AviSource("C:\Users\Propietario\Documents\Edit Video\Untitled 3.avi").ConvertToYV12()
sharp0 = source.sharpen(1).mergechroma(source)
sup1   = source.MSuper(pel=2,sharp=2)
sup2   = sharp0.MSuper(pel=2,sharp=2,levels=1)
bv1    = sup1.MAnalyse(isb=true, delta=1)
fv1    = sup1.MAnalyse(isb=false,delta=1)
bv2    = sup1.MAnalyse(isb=true, delta=2)
fv2    = sup1.MAnalyse(isb=false,delta=2)

source.MDegrain2(sup2,bv1,fv1,bv2,fv2,thSAD=400)
but the grain does not go away completely, rather... it remains lot

...

you recommend use the MVDegrain3 with this method of Sharp?

and if yes ... you do the script? Thanks

Last edited by byme; 10th July 2010 at 13:08.
byme is offline   Reply With Quote
Old 10th July 2010, 13:44   #9  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Quote:
Originally Posted by byme View Post
I tried this... is right?
Yes.

Quote:
you recommend use the MVDegrain3 with this method of Sharp?
No.

MVfiltername() is the syntax used by old v1.x MVTools. The v1.x branch is outdated.

Mfiltername() is the syntax usexd by actual v2.x MVTools. (most recent: v2.5.10.1)

Quote:
but the grain does not go away completely, rather... it remains lot
[slightly shirty]

That's your problem. Without a sample, the only advice is: "try all of the thousand filters available until you find something".
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 10th July 2010, 14:10   #10  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
indeed, setting sharp to 0 in the old MVDegrain, the grain is little, there but little
to eliminate completely I always resort to NeatVideo

my current script is this

Code:
source=last
backward_vec1 = MVAnalyse(isb=true, truemotion=true, chroma=true, delta=1, pel=2, blksize=8, overlap=2, sharp=0, idx=1)
backward_vec2 = MVAnalyse(isb=true, truemotion=true, chroma=true, delta=2, pel=2, blksize=8, overlap=2, sharp=0, idx=1)
backward_vec3 = MVAnalyse(isb=true, truemotion=true, chroma=true, delta=3, pel=2, blksize=8, overlap=2, sharp=0, idx=1)
forward_vec1 = MVAnalyse(isb=false, truemotion=true, chroma=true, delta=1, pel=2, blksize=8, overlap=2, sharp=0, idx=1)
forward_vec2 = MVAnalyse(isb=false, truemotion=true, chroma=true, delta=2, pel=2, blksize=8, overlap=2, sharp=0, idx=1)
forward_vec3 = MVAnalyse(isb=false, truemotion=true, chroma=true, delta=3, pel=2, blksize=8, overlap=2, sharp=0, idx=1)
source.MVDegrain3(backward_vec1,forward_vec1,backward_vec2,forward_vec2,backward_vec3,forward_vec3,thSAD=300, idx=2)
I'd kindness to me a script for MDegain3, to eliminate most possible the grain... according to grain there in images posted?

Last edited by byme; 10th July 2010 at 14:23.
byme is offline   Reply With Quote
Old 10th July 2010, 16:45   #11  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
now I'm using this script

Code:
src = AviSource("C:\Users\Propietario\Documents\Edit Video\Untitled 300.avi").ConvertToRGB32()
c = src.Crop(814, 522, 90, 90)

UnShP = src.VD_UnsharpMask(2, 64, 0).ConvertToYV12()
AAAS = UnShP.AAASimple()

HQDe = AAAS.HQDering(strength=255, overall=0)
#HQDe_med = HQDe.repair(HQDe.MedianBlur(2,-333,-333),1) # using radius 2
HQDe_med = HQDe.repair(HQDe.repair(HQDe.MedianBlur(3,-333,-333),1),1) # using radius 3
HQDe_diff = mt_makediff(src,HQDe)
HQDe_med_diff = mt_makediff(HQDe,HQDe_med)
DD = mt_lutxy(HQDe_diff,HQDe_med_diff,"x 128 - y 128 - * 0 < 128 x 128 - abs y 128 - abs < x y ? ?")

HQDe.mt_adddiff(DD,U=2,V=2) # the result

BDH3 = HQDe.BlindDeHalo3(strength=60, sharpness=0.0, interlaced=false)
#BDH3_med = BDH3.repair(BDH3.MedianBlur(2,-333,-333),1) # using radius 2
BDH3_med = BDH3.repair(BDH3.repair(BDH3.MedianBlur(3,-333,-333),1),1) # using radius 3
BDH3_diff = mt_makediff(src,BDH3)
BDH3_med_diff = mt_makediff(BDH3,BDH3_med)
DD = mt_lutxy(BDH3_diff,BDH3_med_diff,"x 128 - y 128 - * 0 < 128 x 128 - abs y 128 - abs < x y ? ?")

BDH3.mt_adddiff(DD,U=2,V=2) # the result

ConvertToYUY2()
super = MSuper(pel=2, sharp=1)
backward_vec3 = MAnalyse(super, isb = true, delta = 3, overlap=4, truemotion=true)
backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4, truemotion=true)
backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4, truemotion=true)
forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4, truemotion=true)
forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4, truemotion=true)
forward_vec3 = MAnalyse(super, isb = false, delta = 3, overlap=4, truemotion=true)
MDegrain3(super, backward_vec1,forward_vec1,backward_vec2,forward_vec2, backward_vec3, forward_vec3, thSAD=500)

FastLineDarkenMOD2(strength=48, luma_cap=255, threshold=0, thinning=64)
GradFunkMirror()

Overlay(c, x=814, y=522)
ConvertToRGB32()
but it gives me this error



tell me why?

Last edited by byme; 10th July 2010 at 17:16.
byme is offline   Reply With Quote
Old 10th July 2010, 20:08   #12  |  Link
Lyle_JP
Unreasonable User
 
Lyle_JP's Avatar
 
Join Date: Nov 2003
Posts: 216
Although MDegrain might preserve more detail that the following script, your goal seems to be grain removal at all costs. So try this (it's a little waxy for my tastes, but it's faster than anything you're trying now, and strong too):

Code:
super = MSuper()
backward_vectors = MAnalyse(super, isb = true)
forward_vectors = MAnalyse(super, isb = false)
forward_compensation = MFlow(super, forward_vectors, thSCD1=500)
backward_compensation = MFlow(super, backward_vectors, thSCD1=500)
interleave(forward_compensation, last, backward_compensation)
DeGrainMedian(mode=0, limity=6, limituv=10)
selectevery(3,1)
Lyle_JP is offline   Reply With Quote
Old 11th July 2010, 04:37   #13  |  Link
7ekno
Guest
 
Posts: n/a
It looks perfect for MCTemporalDenoise(settings="medium") if that washes out too much, try settings="low" ...

Have a look at some of Lato's comments at the end of the MCTemporalDenoise thread for a few more hints on optimizing the filter (like flat=true, chroma=true, etc) ...

7ek
  Reply With Quote
Old 11th July 2010, 12:30   #14  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
Thanks!

for me the best is MCTemporalDenoise setting in Very High, but is exceedingly slow

DeGrainMedian Indeed takes away a bit detail compared to other

regard to the script I put on, you tell me which the problem?
byme is offline   Reply With Quote
Old 11th July 2010, 12:38   #15  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Avisynth reports the error in line 40 of the BlindDeHalo3 script. Judging from the actual name, "Mediaset_BORDI_BlindDeHalo3.avs", it is not sure if it's the original script, or if it has been modified. You need to post that script, or look for yourself what's happening in line 40, or closely around line 40.


Edit: Oh, saw something in your script above ...

Code:
src = AviSource("C:\Users\Propietario\Documents\Edit Video\Untitled 300.avi").ConvertToRGB32()
c = src.Crop(814, 522, 90, 90)

UnShP = src.VD_UnsharpMask(2, 64, 0).ConvertToYV12()
AAAS = UnShP.AAASimple()

HQDe = AAAS.HQDering(strength=255, overall=0)
#HQDe_med = HQDe.repair(HQDe.MedianBlur(2,-333,-333),1) # using radius 2
HQDe_med = HQDe.repair(HQDe.repair(HQDe.MedianBlur(3,-333,-333),1),1) # using radius 3
HQDe_diff = mt_makediff(src,HQDe)
Red: RGB clip
Blue: YV12 clip

Of course, that cannot work.

Subsequently, you'll get problems because you convert to YUY2 before the MVTools stuff. MVTools can work with YUY2, but the following-up filters FastLineDarken and GradFunkMirror require YV12.

There's several ways of doing UnsharpMasking in Avisynth. Better get rid of using VirtualDub Filters in Avisynth.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)

Last edited by Didée; 11th July 2010 at 13:16.
Didée is offline   Reply With Quote
Old 11th July 2010, 12:52   #16  |  Link
Lyle_JP
Unreasonable User
 
Lyle_JP's Avatar
 
Join Date: Nov 2003
Posts: 216
Quote:
Originally Posted by byme View Post
DeGrainMedian Indeed takes away a bit detail compared to other
You can always lower the settings of DegrainMedian in the script, but then of course you'd be lowering the grain reduction, too.

At the end of the day, it's important to remember that, when dealing with film, grain is detail. It's the very building blocks of the picture itself, not just some noise layer to be removed.
Lyle_JP is offline   Reply With Quote
Old 11th July 2010, 13:00   #17  |  Link
byme
Registered User
 
Join Date: Sep 2008
Location: Italy
Posts: 204
please Didée, you make me script that works without using the UnsharpMask of VD? (but however with UnsharpMask or a similar sharp)

I would insert the MCTemporalDenoise(settings="very high") instead of MDeGrain3..... or a MDegrain3 more stronger, if I gain in speed without loss detail

Last edited by byme; 11th July 2010 at 13:09.
byme is offline   Reply With Quote
Old 11th July 2010, 13:21   #18  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Quote:
Originally Posted by Lyle_JP View Post
when dealing with film, grain is detail. It's the very building blocks of the picture itself, not just some noise layer to be removed.
By that argumentation, you also must agree that the noise from e.g. VHS tapes is part of the picture, and should be left alone. Or that the noise found on audio tapes is part of the music.

When a film camera shots a smooth brown plastic plate, there will be grain in the result. But the plastic plate does not have any visible detail to begin with. Film grain is not image detail. It is (to some extend) a technical necessity, and it is often used as a stylistic device. But it has only very little to do with the actual detail of the presented scene.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 11th July 2010, 13:25   #19  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Quote:
Originally Posted by byme View Post
please Didée, you make me script
No.

Over the years, I've shown hundreds-of-times how to do things.

This here is not a difficult task. Go figure.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 12th July 2010, 01:36   #20  |  Link
Undead Sega
Registered User
 
Join Date: Oct 2007
Posts: 713
Is that a raw cap?

Sorry if i may seem abit unprofessional here, but it looks like if that was already heavily denoised and then very fine noise or grain itself was applied to it. It is only on a handful of occasions I am wrong on these things.
Undead Sega is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.