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. |
18th October 2008, 12:23 | #1 | Link |
Registered User
Join Date: Apr 2007
Posts: 240
|
blurry and overenhanced edges - help needed
Hey,
Can somebody tell me how could I improve these edges? They're overenhanced and blurry at the same time. So blurry LimitedSharpenFast fails to sharpen them. I've no idea how to fix this. The most annoying thing that the edges are "ghosted". This may not be obvious at first sight (see third pic), but become very annoying after sharpening. Is there a way to get rid of them? I'd appreciate any help. |
20th October 2008, 02:35 | #2 | Link |
Sleepy overworked fellow
Join Date: Feb 2008
Location: Maple syrup's homeland
Posts: 933
|
Have you tried warp-sharpening?
__________________
AnimeIVTC() - v2.00 -http://boinc.berkeley.edu/- Let all geeks use their incredibly powerful comps for the greater good (no, no, it won't slow your filtering/encoding :p) |
20th October 2008, 04:57 | #3 | Link |
x264aholic
Join Date: Jul 2007
Location: New York
Posts: 1,752
|
You have really bad halos, that's all I can say.
I tried aWarpSharp + merge (so it isn't so shocking) which was useful to some extent: Code:
ImageReader("blurry_halos.jpg").Crop(8,0,-8,0).ConvertToYV12() src = last warp = src.aWarpSharp(32,2,0.45) merged = Merge(warp,src) Interleave(src,merged) try playing around with depth, blur, and threshold.
__________________
You can't call your encoding speed slow until you start measuring in seconds per frame. Last edited by Sagekilla; 20th October 2008 at 05:04. |
20th October 2008, 10:30 | #4 | Link |
Registered User
Join Date: Apr 2007
Posts: 240
|
I've already applied this:
Code:
MergeChroma(aWarpSharp(depth=32, blurlevel=1, thresh=0.5, cm=1)) The screencaps above are taken after appliing this, but the original source has these ghosted halos too. Thanks for the code, will try it out ASAP. |
20th October 2008, 11:32 | #5 | Link |
Registered User
Join Date: Dec 2002
Location: UK
Posts: 1,673
|
I could tell you'd already done that awarpsharp trick, because it often adds green edges, which can be seen in your images.
To avoid this, you need to add (mirror?) borders, warp sharpen, crop borders. For the current problem, there's always the various dehalo plug-ins, but I think they'll make your source far too soft. Maybe someone can suggest "gentle" parameters. Cheers, David. |
20th October 2008, 21:20 | #6 | Link |
Registered User
Join Date: Jun 2007
Posts: 42
|
Try to sharpen everything but the edges via
Code:
LimitedSharpenFaster(ss_x=1.5, ss_y=1.5, Smode=3, strength=160, Lmode=3, wide=false, overshoot=1, soft=0, edgemode=0) |
22nd October 2008, 09:52 | #8 | Link | ||
Registered User
Join Date: Apr 2007
Posts: 240
|
Quote:
Quote:
Unfortunately LimitedSharpen doesn't look good on this source. I guess I've to reduce those halos before sharpening anyway. This is the French DVD, the best uncut version. I'm marrying it with the superior US version. |
||
22nd October 2008, 12:05 | #9 | Link | |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,389
|
Quote:
Tried something with aWarpSharp too, but in a more behind-the-2nd-next-corner way: Code:
# Y'et A'nother H'alo R'educing script function YAHR(clip clp) { b1 = clp.minblur(2).removegrain(11,-1) b1D = mt_makediff(clp,b1) w1 = clp.aWarpSharp(depth=32,blurlevel=2,thresh=0.5) w1b1 = w1.minblur(2,1).removegrain(11,-1) w1b1D = mt_makediff(w1,w1b1) DD = b1D.repair(w1b1D,13) DD2 = mt_makediff(b1D,DD) clp.mt_makediff(DD2,U=2,V=2) } Dependencies are mt_masktools, RemoveGrain.dll, Repair.dll, aWarpSharp.dll, MedianBlur.dll and MinBlur() as found in MCBob (or a few other places). Assuming that your original source is 720*y, rather than 1024*y, it goes like this. (528 kB, Mediafire)
__________________
- 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!) |
|
22nd October 2008, 12:39 | #10 | Link |
Registered User
Join Date: Feb 2004
Posts: 1,348
|
Ages ago I tried to harness the halo reduction abilities of awarpsharp, and it worked a bit, but wasn't great (line detection and all the problems that implies). This however seams to work quite well, I especially like what it does on interpolated images.
|
22nd October 2008, 21:41 | #11 | Link |
x264aholic
Join Date: Jul 2007
Location: New York
Posts: 1,752
|
aWarpSharp still continues to confound me. I don't see any practical use outside of anime, and even there it's deformations from high values gives some funky results.
__________________
You can't call your encoding speed slow until you start measuring in seconds per frame. |
22nd October 2008, 23:00 | #12 | Link | |
Registered User
Join Date: Apr 2007
Posts: 240
|
Quote:
I'll try to use it together with the Merge(aWarpSharp(32,2,0.45)) line Sagekilla suggested. I like how that fixes the blurry edges, while your function reduces the halos. |
|
22nd October 2008, 23:12 | #13 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,389
|
An easy way to get it stronger is to just call it two times. - For a stronger effect with one instance, replace the "13" in the repair line with "12" or even "1". However, things get more n more destructive these ways. (Well, what else?)
To use warping for actual sharpening of the edges, it probably would be better to use much weaker settings fo aWarpSharp, and chain it some times. *.mp4 guy has shown different examples in the past, search for his posts/threads related to 'sharpening'.
__________________
- 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!) |
23rd October 2008, 00:07 | #14 | Link | |
masktools2 (ab)user
Join Date: Oct 2006
Location: PAL-I :(
Posts: 235
|
Quote:
What confounds me more is the fact that I just simply fail to see it as a sharpener no matter on what source I put it on and what settings I use.
__________________
My x264 builds (win32 only up to rev965) and useless AviSynth functions -- use at your own risk |
|
23rd October 2008, 04:04 | #15 | Link |
Fighting spam with a fish
Join Date: Sep 2005
Posts: 2,698
|
I have to admit, I really like YAHR(). It doesn't take any tweaking, and works pretty well on any source I through at it, as long as I have some post sharpening to compensate for the effect it has on non-halo's. This in combination with MC_Spuds and MCTemporalDenoise have been an answer to my prayers for a lot of tv shows recently.
|
23rd October 2008, 13:14 | #16 | Link | |
Registered User
Join Date: Apr 2007
Posts: 240
|
Quote:
Code:
awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) awarpsharp(cm=0, depth=3, blurlevel=1, thresh=0.99) |
|
23rd October 2008, 14:09 | #17 | Link |
x264aholic
Join Date: Jul 2007
Location: New York
Posts: 1,752
|
Erm that's the idea usually, but that's a bit of a high threshold to be using there, even if it's very low depth.
__________________
You can't call your encoding speed slow until you start measuring in seconds per frame. |
23rd October 2008, 15:25 | #18 | Link |
Registered User
Join Date: Feb 2004
Posts: 1,348
|
Thats for use with lots of supersampling, if you applied that without SS you would get heavy artifacting. Tune it down to 3 or so repetitions, and maybe take thresh to .7, or .5 for use without SS. Or you could just use the original sub-function in its entirety.
|
Thread Tools | Search this Thread |
Display Modes | |
|
|