Live data from Hacker News

Ditherpunk: The article I wish I had about monochrome image dithering

surma.dev

91–100 of 203 posts

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#93
post #5

> According to Wikipedia, “Dither is an intentionally applied form of noise used to randomize quantization error”, and is a technique not only limited to images. It is actually a technique used to this day on audio recordings […] Dithering as a digital signal processing technique is also used frequently in the digital control of physical systems. One example of this is in the control of hydraulic servo valves[1]; the…

I worked with a team that included printing, low-level graphics rendering. When we were able to rename our lab at work we went with "Dithering Heights."

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#94

Back when I worked at Marvell Semiconductor (circa 2005), we made laser printer ASICs for HP. We did a lot of dithering in hardware. We had a hardware block that did error diffusion, we had a hardware block that did regular diffusion. We also had a hardware block that did Blue Noise. I was responsible for implementing the firmware that drove those printers' scan/copy path: scan an image in monochrome, run through the…

There is no math.Random() in hardware, so I have to ask: what algorithm did the noise block use? :)

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#95

This article is missing a crucial pre-processing step to dithering algorithms: apply a Retinex-like filter to enhance the local contrast before doing the dithering. This gives a dramatic improvement of the final result. In fact, by exploring the scale parameter of the pre-processing step, you find a continuous family of binarisations that interpolates between global tresholding and local dithering.

I wonder how "Retinex" relates to levels, contrast, white and black point cutoff....

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#96
post #53

As for arbitrary-palette positional dithering, there's no better write up than https://bisqwit.iki.fi/story/howto/dither/jy/

Bisqwit's discussion of dithering is outstanding . He presents a very impressive algorithm for arbitrary-palette dithering that is animation safe . > This paper introduces a patent-free positional (ordered) dithering algorithm that is applicable for arbitrary palettes. Such dithering algorithm can be used to change truecolor animations into paletted ones, while maximally avoiding unintended jitter arising from dither…

> He presents a very impressive algorithm for arbitrary-palette dithering that is animation safe.

They do look good. This makes me want to run his animation examples on a blue noise dither, since he didn’t compare to blue noise, and it’s also animation safe...

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#97
post #5

> According to Wikipedia, “Dither is an intentionally applied form of noise used to randomize quantization error”, and is a technique not only limited to images. It is actually a technique used to this day on audio recordings […] Dithering as a digital signal processing technique is also used frequently in the digital control of physical systems. One example of this is in the control of hydraulic servo valves[1]; the…

PWM signals are dithered by definition, and are probably the most common interface, no?

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#98

Back when I worked at Marvell Semiconductor (circa 2005), we made laser printer ASICs for HP. We did a lot of dithering in hardware. We had a hardware block that did error diffusion, we had a hardware block that did regular diffusion. We also had a hardware block that did Blue Noise. I was responsible for implementing the firmware that drove those printers' scan/copy path: scan an image in monochrome, run through the…

Folks interested in learning more about dithering in genreal or blue noise dithering in particular should read Bart Wronski's blog posts here:

https://bartwronski.com/2016/10/30/dithering-in-games-mini-s...

Re: Ditherpunk: The article I wish I had about monochrome image dithering

#99
post #33
post #5

> According to Wikipedia, “Dither is an intentionally applied form of noise used to randomize quantization error”, and is a technique not only limited to images. It is actually a technique used to this day on audio recordings […] Dithering as a digital signal processing technique is also used frequently in the digital control of physical systems. One example of this is in the control of hydraulic servo valves[1]; the…

I would not define it exactly like that. I would say "Dithering is any method of reducing the bit depth of a signal that prioritizes accurate representation of low frequencies over that of high frequencies". This frames it as essentially an optimization problem, with randomn noise being a heuristic way of accomplishing it.

I feel like that is still a very narrow definition. Dithering's useful anywhere quantization produces an unwanted result, and is useful in a lot of places where "bitrate" isn't even a concept
Post reply on HN