Method and system for storing error values for an image conversion process utilizing dynamic error diffusion
First Claim
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.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system implements a dynamic error diffusion process. A grey level value representing a pixel is received. An image segmentation circuit determines an image characteristic of the pixel being processed. A threshold circuit thresholds the grey level value (pixel) and generates an error value as a result of the threshold process. A portion of the error value is diffused to adjacent pixels on a next scanline. The distribution of this error value is dynamic in that different sets of weighting coefficients are used based the image characteristic of the processed pixel. One set of coefficients are utilized in processing a pixel having a first image characteristic, and a second set of coefficients are utilized in processing a pixel having a second image characteristic.
43 Citations
4 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. - View Dependent Claims (2)
-
-
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. - View Dependent Claims (4)
-
Specification