Claims
- 1. A method for thresholding a pixel on a first scanline having a multi-level grey scale value and diffusing an error therefrom, comprising the steps of:
- (a) retrieving an error value from a buffer, the error value corresponding to the pixel;
- (b) modifying the multi-level grey scale value of the pixel based on the retrieve error value;
- (c) thresholding the modified multi-level grey scale of the pixel to generate a renderable grey scale value;
- (d) generating a threshold error as a result of the thresholding process of said step (c);
- (e) diffusing the threshold error to pixels adjacent to the pixel being thresholded in said step (c) based on a set of weighting coefficients;
- (f) accumulating all diffused error for a particular adjacent pixel on a next scanline; and
- (g) storing the accumulated error in the buffer such that the error is associated with the particular adjacent pixel on the next scanline;
- said step (f) including the substeps of,
- (f1) bit shifting the error value by a first shift register,
- (f2) bit shifting the error value by a second shift register,
- (f3) latching the shifted error value produced by said substep (f1),
- (f4) latching the shifted error value produced by said substep (f2),
- (f5) bit shifting the latched shifted error value produced by said substep (f3) by a third shift register,
- (f6) latching the shifted error value produced by said substep (f5),
- (f7) summing the latched shifted error value produced by said substep (f6) with the latched shifted error value produced by substep (f3),
- (f8) latching the sum produced by said substep (f7), and
- (f9) summing the latched sum produced by said substep (f8) and the latched shifted error value produced by said substep (f4) to produce the accumulated error to be stored in the buffer.
- 2. The method as claimed in claim 1, further comprising the step of:
- (h) rendering the grey scale value produced by said step (c) on a recording medium.
- 3. A system for thresholding a pixel on a first scanline having a multi-level grey scale value and diffusing an error therefrom, comprising:
- a buffer for storing error values;
- modifying means for modifying the multi-level grey scale value of the pixel based on an error value retrieved from said buffer, the error value corresponding to the pixel being modified;
- a threshold circuit to threshold the modified multi-level grey scale value of the pixel to generate a renderable grey scale value and to generate an error value;
- a diffusion circuit to diffuse the error to pixels that are adjacent to the pixel being thresholded based on a set of weighting coefficients; and
- accumulating means for accumulating all diffused errors for a particular adjacent pixel on a next scanline;
- said buffer storing the accumulated error such that the error is associated with the particular adjacent pixel on the next scanline;
- said accumulating means including,
- a first shift register to bit shift the error value,
- a second shift register to bit shift the error value,
- a first latch, operatively connected to said first shift register,
- a second latch operatively connected to said second shift register,
- a third shift register operatively connected to said first latch,
- a third latch operatively connected to said third shift register,
- a first adder operatively connected to said third latch and said first latch,
- a fourth latch operatively connected to an output of said first adder, and
- a second adder operatively connected to said fourth latch and said second latch.
- 4. The system as claimed in claim 3, further comprising:
- a print engine to render the renderable grey scale value on a recording medium.
Parent Case Info
This application is a continuation of application Ser. Nos. 08/285,324, filed Aug. 3, 1994.
US Referenced Citations (2)
Number |
Name |
Date |
Kind |
5258854 |
Eschbach |
Nov 1993 |
|
5696601 |
Metcalfe et al. |
Dec 1997 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
285324 |
Aug 1994 |
|