Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!vsi1!altnet!datack!versatc!aden From: aden@versatc.UUCP (Michael Aden) Newsgroups: comp.graphics Subject: Re: Floyd-Steinberg Errors: What do I do with them? Message-ID: <252@versatc.UUCP> Date: 14 Jul 88 21:53:26 GMT References: <6506@well.UUCP> <13172@jumbo.dec.com> Reply-To: aden@Orion.UUCP (Michael Aden) Organization: Versatec, Santa Clara, Ca. Lines: 30 In article <13172@jumbo.dec.com> sclafani@jumbo.dec.com (Michael Sclafani) writes: >In article <6506@well.UUCP>, ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes: ... lots of error conversation here... >I think Steinberg posted on this newsgroup, stating that alternating >directions on scan lines (left to right on odd, right to left on even) >will produce even better results. I've seen an implementation which does >this, and it's true. There is a relatively new book on digital halftoning which discusses Floyd-Steinberg error terms, as well as a half-dozen others which cover this topic fairly effectively. The book is _Digital Halftoning_, by Robert Ulichney, (c)1987 MIT Press. Serpentine treatment of raster gets pretty much a full chapter near the end of the book (the book goes generally from worst-case to best-case rasterization, hence serpentining's later position). The problem with Floyd-Steinberg (and all the others) when used on scanlines is a tendency towards "worm tracks", a propagation of error in a coherent direction. While serpentine helps this, even better would be error propagation along a non-trivial path, which leads us back to the Peano curve discussion of a few months back. I never saw a discussion of how to do those fast. Anybody have any hints they'd like to share? (I'll keep my eyes open this time -> 8-) ) BTW, I'd like to do this on an 8000x8000 image, so efficiency is kind of important. Michael Aden Versatec, Inc. {pyramid,vsi1,uunet}!versatc!aden