Error diffusion using next scanline error impulse response
First Claim
1. A method of halftoning an image, said method comprising steps of:
- determining an output value of a current pixel on a current scanline using a sum of an input value for the current pixel and a neighbourhood error value at the current pixel;
determining an error at the current pixel as the difference between (i) the sum of the input value for the current pixel and the neighbourhood error value at the current pixel, and (ii) the output value of the current pixel; and
adding a proportion of the error at the current pixel to neighbourhood error values at as yet unprocessed pixels of a subsequent scanline in accordance with a next scanline error impulse response;
wherein said next scanline error impulse response;
approximates a function which spreads with self-convolution in proportion to a degree of self-convolution.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus (1100) for halftoning an image is disclosed. The apparatus comprises means for determining an output value of a current pixel on a current scanline using a sum of an input value (1102) for the current pixel and a neighborhood error value (1150) at the current pixel, means (1124) for determining an error at the current pixel as the difference between (i) the sum of the input value (1102) for the current pixel and the neighborhood error value (1150) at the current pixel, and (ii) the output value (1120) of the current pixel; and means (1140) for adding a proportion of the error at the current pixel to neighborhood error values at as yet unprocessed pixels of a subsequent scanline in accordance with a next scanline error impulse response; wherein said next scanline error impulse response approximates a function which spreads with self-convolution in proportion to a degree of self-convolution.
-
Citations
21 Claims
-
1. A method of halftoning an image, said method comprising steps of:
-
determining an output value of a current pixel on a current scanline using a sum of an input value for the current pixel and a neighbourhood error value at the current pixel; determining an error at the current pixel as the difference between (i) the sum of the input value for the current pixel and the neighbourhood error value at the current pixel, and (ii) the output value of the current pixel; and adding a proportion of the error at the current pixel to neighbourhood error values at as yet unprocessed pixels of a subsequent scanline in accordance with a next scanline error impulse response;
wherein said next scanline error impulse response;approximates a function which spreads with self-convolution in proportion to a degree of self-convolution. - View Dependent Claims (2, 3, 4)
-
-
5. A method of halftoning an image, said image comprising a plurality of pixels each having an input value and an assignable output value that can take on one of at least two output values, where pixels are processed scanline by scanline, and scanlines are processed one at a time from the top of the image to the bottom of the image, and where a scanline is processed pixel by pixel either from left to right or from right to left, and where the processing for each pixel comprises the steps of:
-
(a) determining the output value of a current pixel using a sum of the input value of the current pixel and a neighbourhood error value for the pixel; (b) determining an error at the current pixel as the difference between, firstly, the sum of the input value of the current pixel and the neighbourhood error value for the pixel, and secondly the output value of the pixel; (c) adding proportions of the error at the current pixel to the neighbourhood error values of yet to be processed pixels of the current and next scanline; and where the said proportions of the error at a current pixel are designed so that the next scanline error impulse response, being that function which maps (A) from a horizontal pixel offset; (B) to the total proportion of the error at the current pixel added to the neighbourhood error of that pixel of the next scanline which is displaced by the horizontal pixel offset from the current pixel, following complete processing of the current scanline; approximates a function which spreads with self-convolution in proportion to the degree of self-convolution. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method of halftoning an image, said image comprising a plurality of pixels each having an input value and an assignable output value that can take on one of at least two output values, where pixels are processed scanline by scanline and scanlines are processed one at a time from the top of the image to the bottom of the image, and where a scanline is processed pixel by pixel either from left to right or from right to left, and where the processing for each pixel comprises the steps of:
-
(a) determining the output value of a current pixel using a sum of the input value of the current pixel and a neighbourhood error value for the pixel; (b) determining an error at the current pixel as the difference between, firstly, the sum of the input value of the current pixel and the neighbourhood error value for the pixel, and secondly the output value of the pixel; (c) selecting, using the current pixel input value, a set of proportions and a set of corresponding pixel position offsets, from a family of sets of proportions and corresponding pixel position offsets; (d) adding the selected proportions of the error at the current pixel to the neighbourhood error values of yet to be processed pixels at pixel positions offset from the current pixel by the selected corresponding pixel position offsets; and where each set of the said family of sets of proportions and corresponding pixel offsets, is designed so that the next scanline error impulse response corresponding to that set, being that function which maps (A) from a horizontal pixel offset; (B) to the proportion of the error at the current pixel added to the neighbourhood error of that pixel of the next scanline displaced by the horizontal pixel offset from the current pixel, following complete halftone processing of the current scanline using only the said set of proportions and corresponding pixel offsets; approximates a function which spreads with self-convolution in proportion to the degree of self-convolution. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method of halftoning an image, said image comprising a plurality of pixels each having an input value and an assignable output value that can take on one of at least two output values, where pixels are processed scanline by scanline and scanlines are processed one at a time from the top of the image to the bottom of the image, and where a scanline is processed pixel by pixel either from left to right or from right to left, and where the processing for each pixel comprises the steps of:
-
(a) determining the output value of a current pixel using a sum of the input value of the current pixel and a neighbourhood error value for the pixel; (b) determining an error at the current pixel as the difference between, firstly, the sum of the input value of the current pixel and the neighbourhood error value for the pixel, and secondly the output value of the pixel; (c) selecting, using the current pixel input value, a set of proportions and a set of corresponding pixel position offsets, from a family of sets of proportions and corresponding pixel position offsets, said set of proportions being in accordance with a next scanline error impulse response that approximates a function which spreads with self-convolution in proportion to a degree of self-convolution; (d) adding the selected proportions of the error at the current pixel to the neighbourhood error values of yet to be processed pixels at pixel positions offset from the current pixel by the selected corresponding pixel position offsets; and where each set of the said family of sets of proportions and corresponding pixel offsets, only includes pixel offsets corresponding to pixels on the same scanline as the current pixel or to pixels on the next scanline.
-
-
18. An apparatus for halftoning an image, said apparatus comprising:
-
means for determining an output value of a current pixel on a current scanline using a sum of an input value for the current pixel and a neighbourhood error value at the current pixel; means for determining an error at the current pixel as the difference between (i) the sum of the input value for the current pixel and the neighbourhood error value at the current pixel, and (ii) the output value of the current pixel; and means for adding a proportion of the error at the current pixel to neighbourhood error values at as yet unprocessed pixels of a subsequent scanline in accordance with a next scanline error impulse response;
wherein said next scanline error impulse response;approximates a function which spreads with self-convolution in proportion to a degree of self-convolution.
-
-
19. An apparatus for halftoning an image, said apparatus comprising:
-
a memory for storing a program; a processor for executing the program, said program comprising; code for a determining step for determining an output value of a current pixel on a current scanline using a sum of an input value for the current pixel and a neighbourhood error value at the current pixel; code for a determining step for determining an error at the current pixel as the difference between (i) the sum of the input value for the current pixel and the neighbourhood error value at the current pixel, and (ii) the output value of the current pixel; and code for an adding step for adding a proportion of the error at the current pixel to neighbourhood error values at as yet unprocessed pixels of a subsequent scanline in accordance with a next scanline error impulse response;
wherein said next scanline error impulse response;approximates a function which spreads with self-convolution in proportion to a degree of self-convolution.
-
-
20. A computer program product including a computer readable medium having recorded thereon a computer program for directing a processor to execute a method for halftoning an image, said program comprising:
-
code for a determining step for determining an output value of a current pixel on a current scanline using a sum of an input value for the current pixel and a neighbourhood error value at the current pixel; code for a determining step for determining an error at the current pixel as the difference between (i) the sum of the input value for the current pixel and the neighbourhood error value at the current pixel, and (ii) the output value of the current pixel; and code for an adding step for adding a proportion of the error at the current pixel to neighbourhood error values at as yet unprocessed pixels of a subsequent scanline in accordance with a next scanline error impulse response;
wherein said next scanline error impulse response;approximates a function which spreads with self-convolution in proportion to a degree of self-convolution.
-
-
21. A computer program embodie on a computer readable medium for directing a processor to execute a method for halftoning an image, said program comprising:
-
code for a determining step for determining an output value of a current pixel on a current scanline using a sum of an input value for the current pixel and a neighbourhood error value at the current pixel; code for a determining step for determining an error at the current pixel as the difference between (i) the sum of the input value for the current pixel and the neighbourhood error value at the current pixel, and (ii) the output value of the current pixel; and code for an adding step for adding a proportion of the error at the current pixel to neighbourhood error values at as yet unprocessed pixels of a subsequent scanline in accordance with a next scanline error impulse response;
wherein said next scanline error impulse response;approximates a function which spreads with self-convolution in proportion to a degree of self-convolution.
-
Specification