IP Library Granted Patent US 7,319,549
Granted Patent B2
US 7,319,549 · App. 10/401,240 · Granted Jan 15, 2008

Multiple weight error diffusion

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,319,549
App. No.
10/401,240
Granted
Jan 15, 2008
Kind
B2
Abstract

A method for halftoning includes the steps of defining a first set of weight sets, and defining a second set of weight sets. A first error associated with a first pixel location of a plurality of pixel locations is diffused to a first neighboring at least one pixel location using a first weight set selected from the first set of weight sets, and a second error associated with a second pixel location of said plurality of pixel locations is diffused to a second neighboring at least one pixel location using a second weight set selected from the second set of weight sets. The first diffusing step and the second diffusing step are alternately performed along each scanline in the image to reduce visual artifacts.

Claims (59)

1. A method for halftoning an image formed of an array of scanlines of pixels, comprising the steps of:

defining a first set of weight sets;

defining a second set of weight sets;

first diffusing a first error associated with a first pixel location of a plurality of pixel locations to a first neighboring at least one pixel location using a first weight set selected from said first set of weight sets;

second diffusing a second error associated with a second pixel location of said plurality of pixel locations to a second neighboring at least one pixel location using a second weight set selected from said second set of weight sets; and

alternatingly performing said first diffusing step and said second diffusing step along each scanline in said image to reduce visual artifacts.

2. The method of claim 1 , wherein a first pixel input value is associated with said first pixel location, and a second pixel input value is associated with said second pixel location, further comprising:

adding a first accumulated error to said first pixel input value;

thresholding said first pixel input value using a first threshold to determine a first pixel output value;

adding a second accumulated error to said second pixel input value; and

thresholding said second pixel input value using a second threshold to determine a second pixel output value,

wherein each of said first threshold and said second threshold are selected from a threshold lookup table having threshold values that are determined in part based on a combination of at least a first weight set from said first set of weight sets and a second weight set from said second set of weight sets, and

wherein said first accumulated error is at least partially a result of a previous application of said first diffusing step with respect to a previous first pixel location of said plurality of pixel locations, and said second accumulated error is at least partially a result of a previous application of said second diffusing step with respect to a previous second pixel location of said plurality of pixel locations.

3. The method of claim 1 , wherein in said first diffusing step, said first neighboring at least one pixel location includes first neighboring two pixel locations.

4. The method of claim 3 , wherein each of said first neighboring two pixel locations are located on one of a current scanline and a subsequent scanline.

5. The method of claim 4 , wherein each of said first neighboring two pixel locations are located adjacent said first pixel location in a direction the same as said scan direction or in a direction opposite to said scan direction.

6. The method of claim 1 , wherein in said second diffusing step, said second neighboring at least one pixel location includes second neighboring two pixel locations.

7. The method of claim 6 , wherein each of said second neighboring two pixel locations are located on one of a current scanline and a subsequent scanline.

8. The method of claim 7 , wherein each of said second neighboring two pixel locations are located adjacent said second pixel location in a direction the same as said scan direction or in a direction opposite to said scan direction.

9. The method of claim 1 , having a first scan direction and a second scan direction, said second scan direction being opposite said first scan direction, further comprising changing a scanning direction from said first scan direction to said second scan direction or changing said scanning direction from said second scan direction to said first scan direction.

10. The method of claim 9 , wherein said scanning direction changes for each subsequent scanline in said image to one of said first scan direction and said second scan direction, whereby said image is scanned in a serpentine fashion.

11. The method of claim 1 , wherein said first set of weight sets is stored in a first weight set lookup table, and said second set of weight sets is stored in a second weight set lookup table.

12. The method of claim 1 , wherein in said first diffusing step, said first neighboring at least one pixel location includes first neighboring more than two pixel locations.

13. The method of claim 1 , wherein in said second diffusing step, said second neighboring at least one pixel location includes second neighboring more than two pixel locations.

14. A system including a processing unit executing instructions for carrying out a computer executable method for halftoning an image, said image formed of an array of scanlines of pixels, comprising the steps of:

accessing a first set of weight sets;

accessing a second set of weight sets;

first diffusing a first error associated with a first pixel location of a plurality of pixel locations to a first neighboring at least one pixel location using a first weight set selected from said first set of weight sets;

second diffusing a second error associated with a second pixel location of said plurality of pixel locations to a second neighboring at least one pixel location using a second weight set selected from said second set of weight sets; and

alternatingly performing said first diffusing step and said second diffusing step along each scanline in said image to reduce visual artifacts.

15. The system of claim 14 , wherein a first pixel input value is associated with said first pixel location, and a second pixel input value is associated with said second pixel location, further comprising:

adding a first accumulated error to said first pixel input value;

thresholding said first pixel input value using a first threshold to determine a first pixel output value;

adding a second accumulated error to said second pixel input value; and

thresholding said second pixel input value using a second threshold to determine a second pixel output value,

wherein each of said first threshold and said second threshold are selected from a threshold lookup table having threshold values that are determined in part based on a combination of at least a first weight set from said first set of weight sets and a second weight set from said second set of weight sets, and

wherein said first accumulated error is at least partially a result of a previous application of

said first diffusing step with respect to a previous first pixel location of said plurality of pixel locations, and said second accumulated error is at least partially a result of a previous application of said second diffusing step with respect to a previous second pixel location of said plurality of pixel locations.

16. The system of claim 14 , wherein in said first diffusing step, said first neighboring at least one pixel location includes first neighboring two pixel locations.

17. The system of claim 16 , wherein each of said first neighboring two pixel locations are located on one of a current scanline and a subsequent scanline.

18. The system of claim 17 , wherein each of said first neighboring two pixel locations are located adjacent said first pixel location in a direction the same as said scan direction or in a direction opposite to said scan direction.

19. The system of claim 14 , wherein in said second diffusing step, said second neighboring at least one pixel location includes second neighboring two pixel locations.

20. The system of claim 19 , wherein each of said second neighboring two pixel locations are located on one of a current scanline and a subsequent scanline.

21. The system of claim 20 , wherein each of said second neighboring two pixel locations are located adjacent said second pixel location in a direction the same as said scan direction or in a direction opposite to said scan direction.

22. The system of claim 14 , having a first scan direction and a second scan direction, said second scan direction being opposite said first scan direction, further comprising changing a scanning direction from said first scan direction to said second scan direction or changing said scanning direction from said second scan direction to said first scan direction.

23. The system of claim 22 , wherein said scanning direction changes for each subsequent scanline in said image to one of said first scan direction and said second scan direction, whereby said image is scanned in a serpentine fashion.

24. The system of claim 14 , wherein said first set of weight sets is stored in a first weight set lookup table, and said second set of weight sets is stored in a second weight set lookup table.

25. The system of claim 14 , wherein in said first diffusing step, said first neighboring at least one pixel location includes first neighboring more than two pixel locations.

26. The system of claim 14 , wherein in said second diffusing step, said second neighboring at least one pixel location includes second neighboring more than two pixel locations.

27. A method for halftoning an image, comprising the steps of:

determining a plurality of distinct pixel neighborhoods used in forming said image;

defining a plurality of sets of weight sets, said plurality of distinct pixel neighborhoods corresponding in number to said plurality of sets of weight sets; and

diffusing error associated with a plurality of pixel locations to neighboring pixel locations using each of said plurality of sets of weight sets, wherein said plurality of sets of weight sets are selectively applied based on a particular distinct pixel neighborhood of said plurality of distinct pixel neighborhoods.

28. The method of claim 27 , wherein said plurality of sets of weight sets are selectively applied in a rotating pattern in order to ensure that an appropriate set of weight sets is selectively applied to each corresponding said particular distinct pixel neighborhood of said plurality of distinct pixel neighborhoods.

29. The method of claim 27 , wherein said plurality of sets of weight sets are selectively applied in an alternating pattern in order to ensure that an appropriate set of weight sets is selectively applied to each corresponding said particular distinct pixel neighborhood of said plurality of distinct pixel neighborhoods.

30. The method of claim 27 , wherein said plurality of sets of weight sets are selectively applied in a repeating pattern in order to ensure that an appropriate set of weight sets is selectively applied to each corresponding said particular distinct pixel neighborhood of said plurality of distinct pixel neighborhoods.

31. The method of claim 27 , wherein said diffusing step is applied along a first scanline and along at least a subsequent scanline.

32. The method of claim 27 , wherein said plurality of sets of weight sets is more than two sets of weight sets.

33. The method of claim 27 , wherein said plurality of sets of weight sets is more than three sets of weight sets.

Assignments (7)
SECURITY INTEREST Recorded Jan 5, 2026
From: LEXMARK INTERNATIONAL, INC.
To: BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 074202/0293 →
SECURITY INTEREST Recorded Jan 5, 2026
From: LEXMARK INTERNATIONAL, INC.
To: BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 074202/0192 →
SECURITY INTEREST Recorded Sep 23, 2025
From: LEXMARK INTERNATIONAL, INC.
To: CITIBANK, N.A.
Reel/Frame 073007/0118 →
SECURITY INTEREST Recorded Sep 23, 2025
From: LEXMARK INTERNATIONAL, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 073007/0346 →
RELEASE OF SECURITY INTEREST Recorded Jan 18, 2024
From: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
To: LEXMARK INTERNATIONAL, INC.
Reel/Frame 066345/0026 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT U.S. PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 046989 FRAME: 0396. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Oct 24, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 047760/0795 →
PATENT SECURITY AGREEMENT Recorded Aug 30, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 046989/0396 →