Hacker News new | past | comments | ask | show | jobs | submit login
Stable Fiddusion: Frequency-domain blue noise generator (acko.net)
107 points by cgadski on Nov 17, 2023 | hide | past | favorite | 17 comments



When you generate blue noise by shaping in the frequency domain and transforming, the samples are gaussian distributed, not uniform, as the author mentions. I wonder if you can transform to a uniform distribution by sorting the samples, choosing 256 bins of equal size, then quantizing each pixel into those bins. That would be fast: O(n log n) in number or pixels.

Changing from gaussian to uniform is a distortion that presumably adds harmonics, but since they can only be higher frequencies than the original, the noise should still be blue.


> but since they can only be higher frequencies than the original

That's incorrect, distortion products spread both upwards and downwards in frequency. The easiest example to analyze is x^2, which corresponds to the spectrum convoluted with itself. From there it's easy to expand into polynomials.

Anyway, what you're describing is pretty much a single step in a standard blue noise algo iteration.


You’re right. While a pure tone can only have higher harmonics when distorted, multiple tones can produce the difference frequency. And noise has every tone.


Even when distorting a pure tone, the harmonics will reflect back down once they go past the Nyquist frequency.


And what happensnif you apply a high pass filter to white noise? That would have been my naive approach.


I believe the author acknowledges that a bit later.

> The resulting noise is gaussian, not uniform. […] This is why you need a specialized algorithm.

(The algorithm is afterwards described)


The front page of this website has a 3d demo'ish interactive ui. Love it. https://acko.net/

Great article.


acko.net is a certified HN classic: https://news.ycombinator.com/from?site=acko.net


Not related to ML/AI or Stable Diffusion.

It's about generating 3D blue noise for rendering, it's very interesting on its own but the title is misleading.


For the relationship, you have to read most of the way through:

What I find most interesting is that the problem of generating noise in the time domain has been recast into shaping and denoising a spectrum in the frequency domain. It starts as white noise, and gets turned into a pre-designed picture. You do so by swapping pixels in the other domain. The state for this process is kept in the phase channel, which is not directly relevant to the problem, but drifts into alignment over time.

Hence I called it Stable Fiddusion. If you swap the two domains, you're turning noise into a picture by swapping frequency bands without changing their values. It would result in a complex-valued picture, whose magnitude is the target, and whose phase encodes the progress of the convergence process.

This is approximately what you get when you add a hidden layer to a diffusion model.


It seems obvious to me that blue noise generation wouldn't require anything novel from recent advances in ML generation. Further the name is silly.

Also, your "clarifying" (about generating 3d blue noise for rendering) description is just a rewording of the title. Is your comment also trying to mislead people then?


>just a rewording of the title

You mean the subtitle. The title is an allusion to stable diffusion.


Why does this site block zooming on mobile? What's the reason? I won't read a reader hostile blog


I'm also not able to zoom - FF beta (120.0b8) on Android.


Zooming works well on my Android, with Opera.


Zooming works on my iphone


> noise generation is slow

looks at the tool

It's implemented in TS.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: