Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!eos!jbm From: jbm@eos.UUCP (Jeffrey Mulligan) Newsgroups: comp.graphics Subject: Re: Extended dithering, any work done? Message-ID: <3362@eos.UUCP> Date: 25 Apr 89 20:53:26 GMT References: <5237@hubcap.clemson.edu> Organization: NASA Ames Research Center, California Lines: 31 From article <5237@hubcap.clemson.edu>, by jcocon%hazel.cs.clemson.edu@hubcap.clemson.edu (James C O'Connor III, 2846): > Has any work been done on displaying 256 grey shades on a monitor with > greater than two grey shades (i.e. black and white + some number of greys)? > It seems that an extension to dither would be a good place to start. Some time ago I wrote a generalization of the F-S error diffuser to use multiple quantization levels (the values of the levels could be user-defined). Then just a couple of weeks ago, when trying to get a multiple level ordered dither algorithm that would run on an array processor, I discovered that there is a very simple way to do this which only involves 1 bit dithering: Say the input image is already quantized, from 0 to N-1 (N levels), and that you want to re-quantize to go between 0 and M-1 (M levels). Let's say that the final M levels should be uniformly spaced on the same range as the input, so the increment between levels will be (N-1)/(M-1). Begin by just truncating the input to M-1 levels by doing an integer division by M-1, and multiplying the result by (N-1)/(M-1). Then compute the error image by subtraction. Now dither the error image down to 1 bit, and combine with the original quantized image. I have left out a little detail about scaling to avoid getting M+1 bits in the result, but that is the gist of it. -- Jeff Mulligan (jbm@aurora.arc.nasa.gov) NASA/Ames Research Ctr., Mail Stop 239-3, Moffet Field CA, 94035 (415) 694-6290