Comment by dheera

5 years ago

Not in the same boat as the author but in the past few weeks I've been getting into e-Ink displays and making gadgets and framed art with them, and most of the displays I can get a hold of are either 1-bit or 4-bit greyscale, so this is super relevant.

My "crude" dithering algorithm I wrote though seems not mentioned in the article. What I do is (in the case of 1-bit) just let the grey value (from 0.0=black to 1.0=white) determine the probability that the pixel is on or off, and render pseudorandom numbers according to those probabilities. In the case of 4-bit greyscale I do the same but within 16 bins.

I'm not sure how it compares to the methods in the article but maybe I can test this sometime.

>(in the case of 1-bit) just let the grey value (from 0.0=black to 1.0=white) determine the probability that the pixel is on or off

This is equivalent to the random noise [-0.5; 0.5] before quantization example.

  • I think you're right, very interesting, that means I can do a whole lot better in the visual quality I get out of these e-Ink displays.

    Well damn, I'm excited I found this article! Thanks @dassurma!

You can actually combine error diffusion with your probability-based approach, which helps reduce patterns if I remember correctly (it's been a very long time).