Methods and apparatus for providing digital halftone images with random error diffusion dithering
First Claim
1. A process for performing error diffusion to print an image with reduced visually apparent artifacts, wherein the process is performed by a processor connected to a scanner that scans the image and detect intensity values at selected pixel locations, the process comprising the steps of:
- encoding selected ones of the pixel locations as binary values, and calculating error values corresponding to differences between modified intensity values for such pixel locations and predetermined threshold values;
for selected pixel neighbors of an ith pixel location in the scanned image, diffusing the calculated error value, Ei, of the ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e.sub.j =w.sub.j *E.sub.iwhere ej is the error value diffused to the jth pixel neighbor from the ith pixel location, where the jth pixel neighbor is a second-adjacent pixel location to the right of the ith pixel location and on the same scan line as the ith pixel location, and where wj is a weighting factor randomly selected for the jth pixel location from a predetermined ordered set of weighting factors;
continuing the error diffusion process for other pixel neighbors of the ith pixel location, wherein the other pixel neighbors are located on a scan line following the scan line of the ith pixel location and are adjacent or diagonally-adjacent to the ith or jth pixel location, and wherein the weighting factors applied to the other pixel neighbors are selected from the ordered set of weighting factors in accordance with the weighting factor selected for the jth pixel location; and
continuing the error diffusion process for the (i+1)th pixel location and so forth, such that coding errors are diffused from substantially all of the pixel locations in the image.
2 Assignments
0 Petitions
Accused Products
Abstract
A process for performing error diffusion to print an image with reduced visually apparent artifacts. The process involves a step of encoding selected pixels as binary values, and calculating error values corresponding to differences between modified intensity values of the pixels and predetermined threshold values. The calculated error values are diffused among four neighbors of each pixel in accordance with a predetermined ordered set of weighting factors. The set of weighting values dictates that 4/8 of the error is diffused to one of the pixel neighbors, 1/8 of the error is diffused to a second pixel neighbor, 2/8 of the error is diffused to a third pixel neighbor, and 1/8 of the error is diffused to a fourth pixel neighbor. A random selection is made of one of the predetermined set of weight values as a starting weight value. The starting weight value is assigned to a predetermined one of the pixel neighbors. Based on the starting weight value, the process then involves selecting in an ordered fashion weight values of the predetermined set of weight values until all the predetermined weight values have been selected, and assigning each selected weight value to a predetermined one of the pixel neighbors. This process continues for all pixels of an input image.
-
Citations
22 Claims
-
1. A process for performing error diffusion to print an image with reduced visually apparent artifacts, wherein the process is performed by a processor connected to a scanner that scans the image and detect intensity values at selected pixel locations, the process comprising the steps of:
-
encoding selected ones of the pixel locations as binary values, and calculating error values corresponding to differences between modified intensity values for such pixel locations and predetermined threshold values; for selected pixel neighbors of an ith pixel location in the scanned image, diffusing the calculated error value, Ei, of the ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e.sub.j =w.sub.j *E.sub.iwhere ej is the error value diffused to the jth pixel neighbor from the ith pixel location, where the jth pixel neighbor is a second-adjacent pixel location to the right of the ith pixel location and on the same scan line as the ith pixel location, and where wj is a weighting factor randomly selected for the jth pixel location from a predetermined ordered set of weighting factors; continuing the error diffusion process for other pixel neighbors of the ith pixel location, wherein the other pixel neighbors are located on a scan line following the scan line of the ith pixel location and are adjacent or diagonally-adjacent to the ith or jth pixel location, and wherein the weighting factors applied to the other pixel neighbors are selected from the ordered set of weighting factors in accordance with the weighting factor selected for the jth pixel location; and continuing the error diffusion process for the (i+1)th pixel location and so forth, such that coding errors are diffused from substantially all of the pixel locations in the image. - View Dependent Claims (2, 3)
-
-
4. A digital halftoning process with random error diffusion for reducing visually apparent artifacts in images that are produced by digital halftone printing, comprising the steps of:
-
scanning an image to detect intensity values at selected pixel locations; encoding selected ones of the pixel locations as one binary value when the detected intensity value at a location is less than a predetermined threshold value, and calculating error values for such pixel locations that equal the detected intensity values; encoding selected other ones of the pixel locations as a second binary value when the detected intensity values at those locations are greater than the predetermined threshold value, and calculating error values for those locations that equal the detected intensity values less the upper limit of an intensity scale; for selected pixel neighbors of an ith pixel location in the scanned image, diffusing the calculated error value, Ei, of the ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e.sub.j =w.sub.j *E.sub.iwhere ej is the error value diffused to the jth pixel neighbor from the ith pixel location, where the jth pixel neighbor is a second-adjacent pixel location to the right of the ith pixel location and on the same scan line as the ith pixel location, and where wj is a weighting factor randomly selected for the jth pixel location from a predetermined ordered set of weighting factors; continuing the error diffusion process for other pixel neighbors of the ith pixel location, wherein the other pixel neighbors are located on a scan line following the scan line of the ith pixel location and are adjacent or diagonally-adjacent to the ith or jth pixel location, and wherein the weighting factors applied to the other pixel neighbors are selected from the ordered set of weighting factors in accordance with the weighting factor selected for the jth pixel location; continuing the error diffusion process for the (i+1)th pixel location and so forth, such that coding errors are diffused from substantially all of the pixel locations in the image; and printing images by digital halftone printing based upon intensity values of pixel locations that have been modified by error diffusion. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A digital halftoning process with random error diffusion for reducing visually apparent artifacts in images that are produced by digital halftone printing, comprising the steps of:
-
scanning an image to detect intensity values at selected pixel locations; encoding selected ones of the pixel locations as one binary value when the detected intensity value at a location is less than a predetermined threshold value, and calculating error values for such pixel locations that equal the detected intensity values; encoding selected other ones of the pixel locations as a second binary value when the detected intensity values at those locations are greater than the predetermined threshold value, and calculating error values for those locations that equal the detected intensity values less the upper limit of an intensity scale; for selected pixel neighbors of an ith pixel location in the scanned image, diffusing the calculated error value, Ei, of the ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e(P(i+2,j))=E.sub.i *W.sub.1
space="preserve" listing-type="equation">e(P(i-1,j+1))=E.sub.i *W.sub.2
space="preserve" listing-type="equation">e(P(i,j+1))=E.sub.i *W.sub.3
space="preserve" listing-type="equation">e(P(i+1,j+1))=E.sub.i *W.sub.4where i represents a row of the scanned image and j represents a column of the scanned image, where the selected neighbors include P(i+2,j), P(i-1,j+1), P(i,j+1), and P(i+1,j+1) so that e(P(i+2,j)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+2,j), e(P(i-1,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i-1j+1), e(P(i,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i,j+1), and e(P(i+1,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+1j+1), and where W1, W2, W3, and W4 are selected from an ordered set of weight values; and continuing the error diffusion process for the (i+1)th pixel location and so forth, such that coding errors are diffused from substantially all of the pixel locations in the image. - View Dependent Claims (10)
-
-
11. A digital halftoning process with random error diffusion for reducing visually apparent artifacts in images that are produced by digital halftone printing, comprising the steps of:
-
scanning an image to detect intensity values at selected pixel locations;
encoding selected ones of the pixel locations as one binary value when the detected intensity value at a location is less than a predetermined threshold value, and calculating error values for such pixel locations that equal the detected intensity values;encoding selected other ones of the pixel locations as a second binary value when the detected intensity values at those locations are greater than the predetermined threshold value, and calculating error values for those locations that equal the detected intensity values less the upper limit of an intensity scale; for selected pixel neighbors of an ith pixel location in the scanned image, diffusing the calculated error value, Ei, of the ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e(P(i+2,j))=E.sub.i *W.sub.1
space="preserve" listing-type="equation">e(P(i-1,j+1))=E.sub.i *W.sub.2
space="preserve" listing-type="equation">e(P(i,j+1))=E.sub.i *W.sub.3
space="preserve" listing-type="equation">e(P(i+1,j+1))=E.sub.i *W.sub.4where i represents a row of the scanned image and j represents a column of the scanned image, where the selected neighbors include P(i+2,j), P(i-1i+1), P(i,j+1), and P(i+1,j+1) so that e(P(i+2,j)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+2,j), e(P(i-1,i+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i-1j+1), e(P(i,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i,j+1), and e(P(i+1j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+1j+1), and where W1, W2, W3, and W4 are selected from an ordered set of weight values; and continuing the error diffusion process for the (i+1)th pixel location and so forth, such that coding errors are diffused from substantially all of the pixel locations in the image. - View Dependent Claims (12)
-
-
13. Apparatus for performing error diffusion to print an image with reduced visually apparent artifacts, wherein a scanner scans the image and detects intensity values at selected pixel locations, the apparatus comprising:
-
an encoder configured to encode selected ones of the pixel locations as binary values, and calculate error values corresponding to differences between modified intensity values for such pixel locations and predetermined threshold values; a diffuser, coupled to said encoder, configured to diffuse the calculated error value, Ei, for selected pixel neighbors of an ith pixel location in the scanned image as follows;
space="preserve" listing-type="equation">e.sub.j =w.sub.j *E.sub.iwhere ej is the error value diffused to the jth pixel neighbor from the ith pixel location, where the jth pixel neighbor is a second-adjacent pixel location of the ith pixel location and on the same scan line as the ith pixel location, and where wj is a weighting factor randomly selected for the jth pixel location from a predetermined ordered set of weighting factors; said diffuser continuing to diffuse the error Ei to other pixel neighbors of the ith pixel location, wherein the other pixel neighbors are located on a scan line following the scan line of the ith pixel location and are adjacent or diagonally-adjacent to the ith or jth pixel location, and wherein the weighting factors applied to the other pixel neighbors are selected from the ordered set of weighting factors in accordance with the weighting factor selected for the jth pixel location. - View Dependent Claims (14, 15)
-
-
16. A system for reducing visually apparent artifacts in images that are produced by digital halftone printing, comprising:
-
a scanner configured to scan an image to detect intensity values at selected pixel locations; an encoder, coupled to the scanner, configured to encode selected ones of the pixel locations as one binary value when the detected intensity value at a location is less than a predetermined threshold value, and to calculate error values for such pixel locations that equal the detected intensity values; said encoder configured to encode selected other ones of the pixel locations as a second binary value when the detected intensity values at those locations are greater than the predetermined threshold value, and calculate error values for those locations that equal the detected intensity values less the upper limit of an intensity scale; a diffuser, coupled to said encoder, configured to diffuse the calculated error value, Ei, of an ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e.sub.j =w.sub.j *E.sub.iwhere ej is the error value diffused to the jth pixel neighbor from the ith pixel location, where the jth pixel neighbor is a second-adjacent pixel location to the right of the ith pixel location and on the same scan line as the ith pixel location, and where wj is a weighting factor randomly selected for the jth pixel location from a predetermined ordered set of weighting factors; said diffuser continuing to diffuse the error Ei to other pixel neighbors of the ith pixel location, wherein the other pixel neighbors are located on a scan line following the scan line of the ith pixel location and are adjacent or diagonally-adjacent to the ith or jth pixel location, and wherein the weighting factors applied to the other pixel neighbors are selected from the ordered set of weighting factors in accordance with the weighting factor selected for the jth pixel location; and a printer, coupled to said scanner, configured to print images by digital halftone printing based upon intensity values of pixel locations that have been modified by error diffusion. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A digital halftoning apparatus for reducing visually apparent artifacts in images that are produced by digital halftone printing, comprising:
-
a scanner configured to scan an image to detect intensity values at selected pixel locations; an encoder configured to encode selected ones of the pixel locations as one binary value when the detected intensity value at a location is less than a predetermined threshold value, and to calculate error values for such pixel locations that equal the detected intensity values; said encoder configured to encode selected other ones of the pixel locations as a second binary value when the detected intensity values at those locations are greater than the predetermined threshold value, and calculate error values for those locations that equal the detected intensity values less the upper limit of an intensity scale; a diffuser configured to diffuse the calculated error value, Ei, of an ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e(P(i+2,j))=E.sub.i *W.sub.1
space="preserve" listing-type="equation">e(P(i-1,j+1))=E.sub.i *W.sub.2
space="preserve" listing-type="equation">e(P(i,j+1))=E.sub.i *W.sub.3
space="preserve" listing-type="equation">e(P(i+1,j+1))=E.sub.i *W.sub.4where i represents a row of the scanned image and j represents a column of the scanned image, where the selected neighbors include P(i+2,j), P(i-1,j+1), P(i,j+1), and P(i+1,j+1) so that e(P(i+2,j)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+2,j), e(P(i-1,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i-1,j+1), e(P(i,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i,j+1), and e(P(i+1,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+1j+1), and where W1, W2, W3, and W4 are selected from an ordered set of weight values; and said encoder and said diffuser configured to continue to diffuse an error for the (i+1)th pixel location and so forth, such that coding errors are diffused from substantially all of the pixel locations in the image.
-
-
22. A digital halftoning processor for reducing visually apparent artifacts in images that are produced by digital halftone printing, comprising:
-
a scanner configured to scan an image to detect intensity values at selected pixel locations; an encoder configured to encode selected ones of the pixel locations as one binary value when the detected intensity value at a location is less than a predetermined threshold value, and calculate error values for such pixel locations that equal the detected intensity values; said encoder configured to encode selected other ones of the pixel locations as a second binary value when the detected intensity values at those locations are greater than the predetermined threshold value, and calculate error values for those locations that equal the detected intensity values less the upper limit of an intensity scale; a diffuser configured to diffuse the calculated error value, Ei, of an ith pixel location to its selected neighbors as follows;
space="preserve" listing-type="equation">e(P(i+2,j))=E.sub.i *W.sub.1
space="preserve" listing-type="equation">e(P(i-1,j+1))=E.sub.i *W.sub.2
space="preserve" listing-type="equation">e(P(i,j+1))=E.sub.i *W.sub.3
space="preserve" listing-type="equation">e(P(i+1,j+1))=E.sub.i *W.sub.4where i represents a row of the scanned image and j represents a column of the scanned image, where the selected neighbors include P(i+2,j), P(i-1,i+1), P(i,j+1), and P(i+1j+1) so that e(P(i+2,j)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+2,j), e(P(i-1,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i-1,i+1) e(P(i,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i,j+1), and e(P(i+1,j+1)) is an amount of the error value Ei to be assigned to pixel neighbor P(i+1,j+1), and where W1, W2, W3, and W4 are selected from an ordered set of weight values; and said encoder and said diffuser configured to continue to diffuse an error for the (i+1)th pixel location and so forth, such that coding errors are diffused from substantially all of the pixel locations in the image.
-
Specification