Blue noise dithered Sobol

Discussion related to the Engine functionality, implementations and API.
juangea
Donor
Posts: 107
Joined: Thu Jan 02, 2020 6:23 pm

Re: Blue noise dithered Sobol

Post by juangea » Wed Mar 18, 2020 4:54 pm

I've been doing some tests, and while Dithering is not so visible without Scramble, it's very obvious with scramble.

In the following picture you will see the same scene, rendered in Cycles, with 200 samples, as you can see there is a difference in the perceptual noise level, specially in combination with scramble distance, but I think that the effect in general is much more visible than in the tests here, not sure why.
Comparison_Dithering.png
Regarding denoise, with Dithering the noise patters in theoretically more uniform, hence you won't find the artifacts you can find in standard sobol, like small islands of packed pixels with the same color that can lead to "clouds" with denoise, with dithering the denoise should be improved thanks to that, at least theoretically, and it's what I found in our tests in the past, but as you can see, scramble is doing something in that regards, not sure what and why.

User avatar
alpistinho
Developer
Posts: 190
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Blue noise dithered Sobol

Post by alpistinho » Wed Mar 18, 2020 11:55 pm

Thanks for the test.

As far as I understand, the method implemented in Cycles is described here: https://www.arnoldrenderer.com/research ... stract.pdf
This method degrades into white noise as the rendering goes on, so I assume that by 200 samples there would be not that much difference between using the blue noise.

About scrambling, that I assume is something called "Distance Scrambling", I have never investigated so I actually don't know what it is about.

Would you be able to repeat this test with less samples per pixel such as 1, 4, 8 and 16?
Support LuxCoreRender project with salts and bounties

juangea
Donor
Posts: 107
Joined: Thu Jan 02, 2020 6:23 pm

Re: Blue noise dithered Sobol

Post by juangea » Thu Mar 19, 2020 12:08 am

Yes, ok, I’ll do that tomorrow 👍

juangea
Donor
Posts: 107
Joined: Thu Jan 02, 2020 6:23 pm

Re: Blue noise dithered Sobol

Post by juangea » Thu Mar 19, 2020 10:56 am

BTW keep in mind that I posted here an evolution of that method, this is the link:

https://hal.archives-ouvertes.fr/hal-02 ... slides.pdf

User avatar
Sharlybg
Donor
Posts: 1808
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Blue noise dithered Sobol

Post by Sharlybg » Thu Mar 19, 2020 11:49 am

juangea wrote:
Thu Mar 19, 2020 10:56 am
BTW keep in mind that I posted here an evolution of that method, this is the link:

https://hal.archives-ouvertes.fr/hal-02 ... slides.pdf
Wow can't even imagine that kind of improvement with a noise distribution method.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
Sharlybg
Donor
Posts: 1808
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Blue noise dithered Sobol

Post by Sharlybg » Thu Mar 19, 2020 1:01 pm

He it in the master ready for test ?

want to integrated theses improvements in my cycles vs luxcore test i'm working on.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
alpistinho
Developer
Posts: 190
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Blue noise dithered Sobol

Post by alpistinho » Thu Mar 19, 2020 2:26 pm

juangea wrote:
Thu Mar 19, 2020 10:56 am
BTW keep in mind that I posted here an evolution of that method, this is the link:

https://hal.archives-ouvertes.fr/hal-02 ... slides.pdf
This is only valid for animation rendering.
The counterpart for still rendering is the one I mentioned in the first post, using Owen scrambled Sobol points
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Posts: 190
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Blue noise dithered Sobol

Post by alpistinho » Thu Mar 19, 2020 2:33 pm

Sharlybg wrote:
Thu Mar 19, 2020 1:01 pm
He it in the master ready for test ?

want to integrated theses improvements in my cycles vs luxcore test i'm working on.
Definitely not, the code is a bunch of patches thrown together and it is not even rebased for 2.4
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Posts: 190
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Blue noise dithered Sobol

Post by alpistinho » Sat Mar 28, 2020 4:39 pm

Just to give an update, I haven't really been able to create something that:
  • Has blue-noise characteristics in screen space
  • Doesn't have a heavy correlation between dimensions
  • Doesn't need to generate an absurd amount of samples
The version using Owen scrambled Sobol samples works ok for the first 256 samples and then reverts to the current Sobol. The first 256 samples are also faster to generate
The PMJ02 using Cranley-patterson rotation with blue noise works fine, but doesn't seem to be a lot of improvement over the current Sobol
The PMJ02 using Cranley-patterson but inside each stratum looks "bluer" but has heavy correlation between pixels.
Using PMJ02 but spreading the samples in the screen instead of using a sequence for each pixel looks good in the first pass, but I haven't found a way to make it good between the first and until all samples have been consumed.
Support LuxCoreRender project with salts and bounties

juangea
Donor
Posts: 107
Joined: Thu Jan 02, 2020 6:23 pm

Re: Blue noise dithered Sobol

Post by juangea » Sun Mar 29, 2020 9:54 pm

Sorry for not having done the tests yet, I’m having some busy days at home, I’ll do them ASAP

Post Reply