IP Library Granted Patent US 7,869,095
Granted Patent B2
US 7,869,095 · App. 11/933,587 · Granted Jan 11, 2011

System and method to perturb error diffusion patterns

Assignee: Xerox Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,869,095
App. No.
11/933,587
Granted
Jan 11, 2011
Kind
B2
Abstract

A method for halftoning an image using an error diffusion process generates an upper threshold level and a lower threshold level and selects a region number parameter. A pixel from the input image is selected and compared to the upper and lower threshold levels. A first pixel value is output when the input pixel value is below the lower threshold level. The first pixel value is output when the input pixel value is below the upper threshold level and above the lower threshold level and a value of the input pixel divided by the region number parameter, modulo 2, equals zero. A second pixel value, the first pixel value being different from the second pixel value, is output when the input pixel value is below the upper threshold level and above the lower threshold level and a value of the input pixel divided by the region number parameter, modulo 2, is greater than zero. The second pixel value is output when the input pixel value is above the upper threshold level. The error between the output pixel value and the modified input pixel value is diffused to neighboring pixels.

Claims (44)

1. A method of halftoning an image using an error diffusion process, comprising:

(a) generating an upper threshold level and a lower threshold level;

(b) choosing a region number parameter;

(c) selecting an unmodified input pixel value from the input image and modifying the unmodified input pixel value with a diffused error value;

(d) comparing the modified input pixel value from the input image to the upper and lower threshold levels;

(e) outputting a first pixel value when the modified input pixel value is below the lower threshold level;

(f) outputting the first pixel value when the modified input pixel value is below the upper threshold level and above the lower threshold level and the modified input pixel value divided by the region number parameter, modulo 2, equals zero;

(g) outputting a second pixel value, the first pixel value being different from the second pixel value, when the modified input pixel value is below the upper threshold level and above the lower threshold level and the modified input pixel value divided by the region number parameter, modulo 2, is not zero;

(h) outputting the second pixel value when the modified input pixel value is above the upper threshold level;

(i) determining a difference between the output pixel value and the modified input pixel value to generate an error; and

(j) diffusing the error, as error values, to neighboring pixels.

2. The method as claimed in claim 1 , wherein the region number parameter is an integral power of 2.

3. The method as claimed in claim 1 , wherein the upper threshold level and the lower threshold level depend on the value of the unmodified input pixel value.

4. The method as claimed in claim 1 , wherein the values of the upper threshold level and the lower threshold level depends upon an object type within the input image.

5. The method as claimed in claim 1 , wherein the upper threshold level is generated by adding a first amount to a predetermined value within a pixel value range, the first amount being dependent upon the unmodified input pixel value;

the lower threshold level being generated by adding a second amount to a predetermined value within a pixel value range, the second amount being dependent upon the unmodified input pixel value.

6. The method as claimed in claim 5 , wherein the first amount is a first function of the unmodified input pixel value varying in a piecewise linear manner;

the second amount being a second function of the unmodified input pixel value varying in a piecewise linear manner.

7. The method as claimed in claim 5 , wherein a magnitude of the first amount depends upon an amount of texture in the input image and a magnitude of the second amount depends upon an amount of texture in the input image.

8. The method as claimed in claim 5 , wherein a magnitude of the first amount depends upon an amount of noise in the input image and a magnitude of the second amount depends upon an amount of noise in the input image.

9. The method as claimed in claim 1 , wherein the generation of the upper threshold level and the lower threshold level retrieves values from a look-up table based upon the unmodified input pixel value.

10. The method as claimed in claim 1 , wherein the upper threshold level is generated using a first linearly decreasing function dependent upon the unmodified input pixel value;

the lower threshold level being generated using a second linearly decreasing function dependent upon the unmodified input pixel value.

11. A method of halftoning an image using an error diffusion process, comprising:

(a) choosing an upper threshold level and a lower threshold level;

(b) selecting an unmodified input pixel value from the input image and modifying the unmodified input pixel value with a diffused error value;

(c) comparing the modified input pixel value from the input image to the upper and lower threshold levels;

(d) outputting a first pixel value when the modified input pixel value is below the lower threshold level;

(e) outputting the first pixel value when the modified input pixel value is below the upper threshold level and above the lower threshold level and a predetermined bit of the modified input pixel value has a logic value of 1;

(f) outputting a second pixel value, the first pixel value being different from the second pixel value, when the modified input pixel value is below the upper threshold level and above the lower threshold level and the predetermined bit of the modified input pixel value has a logic value of 0;

(g) outputting the second pixel value if it is determined that the modified input pixel value is above the upper threshold level;

(h) determining a difference between the output pixel value and the modified input pixel value to generate an error; and

(i) diffusing the error, as error values, to neighboring pixels.

12. The method as claimed in claim 11 , wherein the upper threshold level and the lower threshold level depend on the value of the unmodified input image.

13. The method as claimed in claim 11 , wherein the values of the upper threshold level and the lower threshold level depends upon an object type within the input image.

14. The method as claimed in claim 11 , wherein the upper threshold level is generated by adding a first amount to a predetermined value within a pixel value range, the first amount being dependent upon the unmodified input pixel value;

the lower threshold level being generated by adding a second amount to a predetermined value within a pixel value range, the second amount being dependent upon the unmodified input pixel value.

15. The method as claimed in claim 14 , wherein the first amount is a first function of the unmodified input pixel value varying in a piecewise linear manner;

the second amount being a second function of the unmodified input pixel value varying in a piecewise linear manner.

16. The method as claimed in claim 14 , wherein a magnitude of the first amount depends upon an amount of texture in the input image and a magnitude of the second amount depends upon an amount of texture in the input image.

17. The method as claimed in claim 14 , wherein a magnitude of the first amount depends upon an amount of noise in the input image and a magnitude of the second amount depends upon an amount of noise in the input image.

18. The method as claimed in claim 11 , wherein the generation of the upper threshold level and the lower threshold level retrieves values from a look-up table based upon the unmodified input pixel value.

19. The method as claimed in claim 11 , wherein the upper threshold level is generated using a first linearly decreasing function dependent upon the unmodified input pixel value;

the lower threshold level being generated using a second linearly decreasing function dependent upon the unmodified input pixel value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2007
From: MANTELL, DAVID A.
To: XEROX CORPORATION
Reel/Frame 020070/0164 →
Continuity (1)
Related Publication 20090116071A1 · May 7, 2009