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 > Hardware & Software > Software players

Reply
 
Thread Tools Search this Thread Display Modes
Old 28th June 2014, 16:59   #121  |  Link
Shiandow
Registered User
 
Join Date: Dec 2013
Posts: 753
Quote:
Originally Posted by foxyshadis View Post
I find the "broken" version was slightly more pleasant thanks to the extra sharpness. The aliasing had already been reduced enough that further reduction in the fixed didn't quite balance the sharpness loss, but either way, it's a very subtle difference. It might be a worthwhile trade if it speeds things up. Would be interesting to make the sharpness/aliasing tunable, if that's possible.
Using the "broken" method is only faster because I have very little control over the output size, I think the "correct" method could be made almost as fast.

Ironically the difference in sharpness was caused because I was trying to make the sharpness easier to configure. You can tune it by using the "softness" parameter, but more sharpness does tend to lead to more ringing. It's somewhat harder to tune aliasing, as far as I can tell you can avoid it by either making the edges softer (by raising the "baseline" parameter), or you need to lower the "strength" parameter, which means that you may need more iterations to get a good result.
Shiandow is offline   Reply With Quote
Old 28th June 2014, 19:07   #122  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Sounds like a cool algorithm! Is there some scientific paper about the original algorithm available somewhere? Or where did you get the ideas from?
madshi is offline   Reply With Quote
Old 28th June 2014, 20:28   #123  |  Link
Shiandow
Registered User
 
Join Date: Dec 2013
Posts: 753
Quote:
Originally Posted by madshi View Post
Sounds like a cool algorithm! Is there some scientific paper about the original algorithm available somewhere? Or where did you get the ideas from?
I though I had mentioned it in one of my previous posts but I got the main ideas from the publicly available paper Image interpolation by Super-Resolution by Alexey Lukin, Andrey S. Krylov, Andrey Nasonov. To devise the regularization force and refine the definition of faithfulness I took some ideas from an other paper (also cowritten by Alexey Lukin) on page two they list the result from using various different regularization methods and definitions of faithfulness. My method is somewhere in between their p=1,n=2,m=1 and p=1,n=2,m=2.

I also took some inspiration from a different paper Bilateral back projection for single image super-resolution, although what I ended up with is quite different from what they described, the main resemblance is the use of bilateral filtering (use interpolation weights depending on the difference in color space, not just in position), but I use it to define "regularity", they use it to define "faithfulness".

Last edited by Shiandow; 28th June 2014 at 20:33.
Shiandow is offline   Reply With Quote
Old 29th June 2014, 08:40   #124  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Hmmm... Thanks, I'll have to give those papers a read. I've just tested the SmartEdge 2 demo tool. It seems that they've found a way to tame NEDI even more. Their NEDI first pass (before running the Super-Res passes) looks very clean, almost without any directional/fractal artifacts. Not sure how they did that. It does have pretty strong ringing, though (which is later removed/reduced by the post-processing). That's weird because NEDI normally doesn't ring. Makes me wonder...
madshi is offline   Reply With Quote
Old 29th June 2014, 10:05   #125  |  Link
Shiandow
Registered User
 
Join Date: Dec 2013
Posts: 753
On this page they mention "12 taps" NEDI, they also mention that they implemented some improvements by "G. d. Haan" which makes me think that they are using the version described in this paper. Unfortunately most of their changes are just too expensive to be implemented on a shader. They increase the window size and also increase the interpolation order which means that you have to invert an 8x8 matrix. Given that it is nearly impossible to even multiply by an 8x8 matrix I don't think that this is feasible on a simple shader, maybe it could be implemented in OpenCL but I doubt that it will be faster than just using NNEDI3.

Edit: on an unrelated note, I'm investigating a way of shuffling the pixels around which should make it possible to skip some calculations (in a way that actually improves performance). I'll report if this had any success later.

Followup: It didn't work, for some reason you can't branch when one side of the if statement contains texture calls. Or at least I couldn't find a way to do so.

Last edited by Shiandow; 29th June 2014 at 13:14.
Shiandow is offline   Reply With Quote
Old 28th January 2015, 18:21   #126  |  Link
XRyche
Registered User
 
Join Date: May 2008
Posts: 211
unneeded
__________________
Intel i5 3470, EVGA GTX 1050Ti SC ACX 2.0, Windows 10 Pro 64 bit, 16 GB 1600 mhz DDR3 RAM

Last edited by XRyche; 28th January 2015 at 19:02. Reason: Found answer/issue wasn't caused by contents of thread
XRyche is offline   Reply With Quote
Old 7th May 2015, 21:08   #127  |  Link
Hyllian
Registered User
 
Hyllian's Avatar
 
Join Date: Jun 2014
Posts: 42
I've successfully managed to port your NEDI shader to Retroarch shader specs. (Here)

Congrats for this great filter. It works well with retro games. Some screenshots.
Hyllian is offline   Reply With Quote
Old 13th May 2015, 02:27   #128  |  Link
XRyche
Registered User
 
Join Date: May 2008
Posts: 211
Quote:
Originally Posted by Hyllian View Post
I've successfully managed to port your NEDI shader to Retroarch shader specs. (Here)

Congrats for this great filter. It works well with retro games. Some screenshots.
Have you thought of collaboration with maybe........guest.r of the Epsxe forums or maybe Asmodean of the PCSX2 forums to make a multi-psuedo pass shader for Pete's OpenGL2 gpu plugin for PSEmu based emulators. Asmodean did a whole psuedo multi-pass shader suite for the PCSX2 which he ported to use with Pete's OpenGL2 plugin.
__________________
Intel i5 3470, EVGA GTX 1050Ti SC ACX 2.0, Windows 10 Pro 64 bit, 16 GB 1600 mhz DDR3 RAM
XRyche is offline   Reply With Quote
Reply

Tags
chromanedi, nedi, shader, superres, upscaling

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 08:41.


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