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. |
5th February 2014, 15:02 | #22561 | Link | |
Registered User
Join Date: Dec 2008
Posts: 496
|
Quote:
With NNEDI3 though, this consistent behaviour has gotten a lot easier to achieve, because it actually is also perfectly applicable to game recordings for instance, not just for movies or other clips. And if the HQ dithering (whatever or however it may be implemented in the end) doesnīt leave behind strange artifacts, everyone should immediately benefit, because thereīs a lot of different setups and content out there that will always show flaws more than others. It doesnīt even have to get into the completely insane territory, but a balanced and broad approach that improves upon what we already have, without much additional performance loss or other limiting side effects. @madshi: I got word back from Blaire about the reported OpenCL issue(s) >327.23, NV has actually reproduced it now, but they didnīt get into specifics of when a fix is going to happen. Not sure if that still matters though or what youīve decided once you also have NNEDI3 running well in DirectCompute. But at least they know about the bug now. Last edited by iSunrise; 5th February 2014 at 15:14. |
|
5th February 2014, 15:03 | #22562 | Link | |
Guest
Posts: n/a
|
Quote:
The latest drivers have broken OpenCL. The last driver set that has functioning OpenCL is 327.23. nVidia most likely reproduced the error and will include a fix in future drivers. |
|
5th February 2014, 15:05 | #22563 | Link | |
Registered User
Join Date: Dec 2013
Posts: 753
|
Quote:
I also don't quite understand why these lines appear, I've tested the standard Flloyd-Steinberg error diffusion which didn't cause these patterns, from what I understand Madshi uses a method which should be superior not worse. Edit: Apparently it can also happen using the Flloyd-Steinberg algorithm, but it might be possible to prevent it from happening. Last edited by Shiandow; 5th February 2014 at 15:27. |
|
5th February 2014, 15:17 | #22564 | Link |
Registered User
Join Date: May 2012
Posts: 447
|
Not to beat a dead horse, but.. Yes I can, on level 18. It's too small to see on my 24" monitor unless I get about twice as close to it as I usually do, and I probably wouldn't notice it if the image wasn't static, but I can imagine it being visible on a big-ass TV with a high contrast ratio where the pixels are much bigger
|
5th February 2014, 15:17 | #22565 | Link |
Registered User
Join Date: Apr 2009
Posts: 1,019
|
Well, it removes the obvious effects of ringing, but not all of them.
Using an old example, comparing Lanczos 3 AR with Lanczos 8 AR: You can see that the right of the red circle is still affected, even though the obvious signs of ringing disappear. |
5th February 2014, 16:22 | #22566 | Link | |||||||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
http://madshi.net/SNES.png Here are comparisons between NNEDI3 vs. Jinc3AR, and between Jinc3AR vs. Jinc3: http://screenshotcomparison.com/comparison/59698 http://screenshotcomparison.com/comparison/59702 |
|||||||
5th February 2014, 16:28 | #22567 | Link | |
Registered User
Join Date: May 2008
Posts: 84
|
Quote:
|
|
5th February 2014, 17:21 | #22570 | Link |
Registered User
Join Date: May 2009
Posts: 212
|
I have mentioned debanding_with_angle_detection + NNEDI3 chroma 2x even improves the Sony XCA7 super-resolution engine's performance for 1920x1080 4:2:0 contents. Comparing with Jinc3AR, it increases the perceptual resolution and stability on patterned object shapes under moving scenes -- in either interlaced or progressive format.
|
5th February 2014, 17:29 | #22571 | Link | |
Registered User
Join Date: Jan 2014
Posts: 51
|
Quote:
stochastic rounding picks at random whether to round up or down on 0.5. The differences are relevant to error propagation, always rounding up on 0.5 introduces some bias. But rounding may not be the right thing to do at all if you're using integer RGB -> RGB since only the range [0.0,0.5] would result in black while (0.5,1.5) would result in 1, i.e. full black and full white would get squeezed into a smaller interval. It's probably more appropriate to use if you come from a larger color space and have to clamp anyway. I only brought it up because I was thinking that if you want to introduce randomness in the dither then it should be no more significant than the quantization error, so if it could be incorporated in the quantization step it would probably be the best. Another issue with grey-grey gradients is that if we add noise separately to the RGB channels it will end up propagating to different pixels, basically introducing colored noise when there shouldn't be any. Of course it's very unlikely that real content will have perfectly monochrome gradients with zero deviation between the RGB channels. |
|
5th February 2014, 17:35 | #22572 | Link | |
Registered User
Join Date: Apr 2009
Posts: 1,019
|
Quote:
For example, Pitfall via an RGB connection: Pitfall via a Composite connection: Source: http://www.neogaf.com/forum/showpost...1&postcount=77 Last edited by 6233638; 5th February 2014 at 17:43. Reason: Added Pitfall example |
|
5th February 2014, 17:37 | #22573 | Link |
Registered User
Join Date: Oct 2012
Posts: 7,926
|
pixel art can be a real problem for needi3:
image 1 source jinc3ar spline3ar neeid3x4spline3ar huge artifacts in the bottom left and a lot of small ones with needi3, jinc is known to have problems with this as you can see image 2 source jinc3ar spline3ar needi3x4spline3ar with needi3 the face in the bottom left looks really good but there a artifacts in the fonts again. 64 neurons are used for all screens the mice position can be of by 1 frame in this lossless rgb video i get a black screen when i use neeidi3 with my hd4000 for 1 frame i'm sorry |
5th February 2014, 17:43 | #22574 | Link |
Registered User
Join Date: Apr 2009
Posts: 1,019
|
I think the goals for scaling up pixel art are very different from scaling up video, or even animation.
Pixel art was very useful for showing issues with the anti-ringing filter, but I don't know that it's useful for judging the quality of scaling algorithms. |
5th February 2014, 18:11 | #22579 | Link | |
Registered User
Join Date: Dec 2013
Posts: 753
|
Quote:
The reason this doesn't occur on grayscale images is that the algorithm is deterministic and in a grayscale image all RGB channels are exactly the same, therefore it will simply give the same output for all channels. But this effect is more of an coincidence than a feature of the algorithm and is extremely unstable; if anywhere in the picture there is a rounding error which causes the RGB channel error to be different then you will get coloured patterns instead of gray ones. You can prevent this from happening by performing the calculations in YCbCr space, but this is rather expensive. If you want to see some (exaggerated) examples then see my previous post. By the way I've also been able to figure out why the line like patterns happen. This happens whenever a value is 1/3 of the way between the two possible ways to round this value. For example in the 1bit black-white case using error diffusion on a background which is 1/3 white will result in white lines on a black background, which if you think about it is actually 'optimal' since any 3x3 block contains 3 white pixels and 6 black pixels which averages to 1/3 white. I'm not entirely sure if I even agree with the people who claim that this looks worse, I've compared this to a randomized versions of error diffusion and I prefer the normal error diffusion. Here are the results of the versions I tried: normal error diffusion: Version where the error is diffused in 3 different ways, picked randomly: Version with small amount of noise, error diffused in YCbCr: Version with small amount of noise, error diffused in RGB: Note that using error diffusion with noise in RGB adds coloured noise. |
|
5th February 2014, 18:13 | #22580 | Link | |
Registered User
Join Date: Dec 2008
Posts: 496
|
Quote:
While NNEDI3 4x paired together with Spline or some other Bicubic resizer already does a good job, I can easily see some additional ringing artifacts introduced. Now I wonder, would it be possible to improve that even more with NNEDI 4x + your AR algorithm, because the AR applied with the additional luma resizer is already too late in the chain to correct it. Iīve marked some spots in question with red circles and arrows. Last edited by iSunrise; 5th February 2014 at 18:22. |
|
Tags |
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling |
|
|