3 ms·
> combining error diffusion with ordered dithering must already exist. > people saying "oh yeah, [...] Knuth mentions it on page X" Though the following answe
by svat 7y ago
> combining error diffusion with ordered dithering must already exist.
> people saying "oh yeah, [...] Knuth mentions it on page X"
Though the following answers your question only in a literal sense, you might find it interesting to read Knuth's article "Fonts for Digital Halftones", originally published in TUGboat (the magazine of the TeX Users Group), Volume 8 (1987), No. 2: http://mirror.tug.org/TUGboat/tb08-2/tb18knut.pdf http://mirror.tug.org/TUGboat/tb08-2/tb18knut.pdf (Reprinted with revisions as Chapter 21 of Digital Typography.) Though it technically mentions "ordered dither" (on the first page), it uses it in a different sense/purpose (to get an initial patterns of dots that make up a "font" called "odith"). It does do error diffusion though (details are in appendix).
Ah, the next chapter of Digital Typography (Knuth's paper "Digital Halftones by Dot Diffusion") seems even more relevant. It mentions "It would be nice to have a solution that retains both the sharpness of the Floyd-Steinberg method [of error diffusion] and the parallelism of ordered dither" and does something that seems to combine the two. (DOI 10.1145/35039.35040)
- vanderZwan 7y ago> Digital Halftones by Dot Diffusion Is that the same dot diffusion that is also mentioned here? http://caca.zoy.org/study/part3.html http://caca.zoy.org/study/part3.html If I understand the description that page correctly, dot diffusion visits pixels in Bayer order (instead of from left to right, top to bottom), and propagates error to all surrounding pixels that have not been visited yet. So yes, that does combine ordered dithering with error diffusion, but in a very different fashion than I do. The output (at least on the page that I've linked) is very half-tone ish.
- svat 7y agoIt's possibly the same (I'm not an expert, just aware of this reference from skimming through the book). Also, the first sentence of the abstract is "This paper describes a technique for approximating real-valued pixels by two-valued pixels" and the title says "halftones" so it wouldn't be surprising if the examples look half-tone ish :) Could you implement it and compare? Also, on your original page, what do the three columns under each algorithm (e.g. the three images under "Floyd-Steinberg" in the "Quick Refresher" section) mean?
- svat 7y agoHaha just read the page again properly: > Do not get fooled by Knuth’s apparent good results. They specifically target dot printers and do not give terribly good results on a computer screen. But of course! Knuth, as is his wont, was obviously not targeting computer screens or even targeting dot printers in general but a specific (Imagen) printer that happened to be on the Stanford campus. :-)
- vanderZwan 7y agoAh, that explanation makes a lot of sense actually! :)