WO1990004234A1 - Digital half-toning process with error diffusion - Google Patents
Digital half-toning process with error diffusion Download PDFInfo
- Publication number
- WO1990004234A1 WO1990004234A1 PCT/US1989/004581 US8904581W WO9004234A1 WO 1990004234 A1 WO1990004234 A1 WO 1990004234A1 US 8904581 W US8904581 W US 8904581W WO 9004234 A1 WO9004234 A1 WO 9004234A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- values
- gray scale
- pixel location
- preselected pixel
- range function
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
- H04N1/4052—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
Definitions
- the present invention relates generally to a method for reproducing continuous tone images and more particularly to a reproduction process based upon digital half-toning with error diffusion.
- Continuous-tone images are reproduced by screening processes for conventional half-tone printing.
- picture elements of original images are converted into dots whose diameters vary in size according to the amplitude of light penetrating a screen. More particularly, the dots are larger where more light penetrates a screen and are smaller where less light is present.
- Such processes can be described as being of the analog type since dot size is the analog of light intensity for individual picture elements, or pixels, of an image.
- a color-filtered screen is prepared for each of the basic colors; then the segregated colors are printed sequentially with careful mechanical registration of the screens to avoid shadows.
- an image is scanned with an optical scanner which detects and quantifies the light intensity values at preselected pixel locations on the image.
- the detected data typically comprises quantified representations of gray scale values ranging from about 0 to 255 for each pixel location.
- dots of fixed size are printed at locations corresponding in scale to the original pixel locations. It is well known, for instance, to print about forty thousand spaced-apart dots per square inch.
- the placement and density of dots printed within a given range determines the spatial resolution and perceived grayness of the area to an observer. For example, if an area is filled with the maximum number of dots, an observer will perceive the area as a dark, solid color. As dot density within a given area decreases, the area will have a successively lighter appearance. Also, the quality of detail in a reproduced image depends upon the number of picture elements that are reproduced.
- the gray scale values at the pixel locations are binary encoded.
- the typical reference point or "threshold" for binary encoding gray scale values is 126, i.e., half way between the minimum and maximum gray scale values.
- the binary number 0 would be assigned to every pixel which has a detected gray scale value less than 125, and a binary 1 would be assigned to every pixel whose detected gray scale value is 126 or
- a pixel location which has a detected gray scale value of 100 would be binary
- the magnitude of the encoding error would be 100 units as measured by gray scale values.
- the magnitude of the encoding error would be 110 units as measured by gray scale values.
- the present invention provides a digital half-toning process with error diffusion comprising the steps of:
- preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
- the lower limit of the range function is between about 0 and 0.2, and varies linearly with the detected gray scale value of a preselected pixel location. More particularly, the lower limit, w min , of the range function preferably is determined by the following equation:
- Z is the detected gray scale value at a preselected pixel location.
- the upper and lower limits of the range function can be determined from the graph of Figure 3.
- a digital half-toning process with error diffusion comprising the steps of:
- the detected gray scale value at a preselected pixel location is less than a predetermined threshold value, encoding the pixel location as a binary 0, assigning a first error value for the preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
- preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
- Figure 1 is a functional block diagram of a digital half-toning system which operates according to the process of the present invention
- Figure 2 schematically shows a field of picture elements or pixels
- Figure 3 shows a function for use in the process of the present invention.
- Figure 1 shows generally a system for digital printing.
- the components of the system of Figure 1 are an image scanner 5 of the kind conventionally used for making color separations, a digital computer 7, and a digital printer 9.
- the components of the system are conventional but, as will be described below, can be advantageously operated to provide digital half-toning with error diffusion.
- the system of Figure 1 operates on a photographic transparency, although it can operate on a photographic print or a high-resolution printed original.
- scanner 5 digitizes picture elements of an image according to gray scale values and provides the resulting digital information to computer 7.
- an image can be retouched, adjusted, recomposed, and modified using conventional graphics software.
- the digital image information is binary encoded and operated upon by the half-toning algorithm with error diffusion as described below.
- the error- diffused information is provided to digital printer 9 which reproduces the encoded information on a suitable medium.
- the error-diffused half-toning information can also be presented for display on a CRT (cathode ray tube) screen.
- Figure 2 The purpose of the process is to adjust binary encoded values at selected pixel locations so that a reproduced image can provide the illusion of a continuous tone image without discernible artifacts.
- each dot represents one pixel location on a continuous tone image which is presented for scanning.
- scanning proceeds from left to right across each of the pixel rows and sequentially from the top to the bottom of the field.
- variations on the scanning pattern are possible. For example, scanning could proceed from left to right across one row of pixels, and then from right to left across the next lower row, and so forth in a serpentine pattern.
- each field is usually scanned several times, each time with a different filter.
- a field can be scanned once with each picture element having multiple exposures, each exposure being to a different filter.
- Color filtering does not, however, affect the essential steps in the error diffusion process.
- the location of each pixel can be described by its cartesian coordinates.
- an arbitrary pixel "P" in Figure 2 can be identified at location (x,y). It should be noted that pixel P is in the interior of the field and therefore has eight immediately adjacent neighbors. It should also be noted that four of the pixels neighboring pixel P will be scanned before it and four of the neighboring pixels will be scanned after it.
- the neighboring pixel to the immediate right of pixel P is designated by arrow d 1
- the neighboring pixel immediately below pixel P is designated by arrow d 3
- the pixel diagonally below pixel P in the direction of scanning is designated by arrow d 2 .
- the pixel designated by arrow d 1 has coordinates (x+1,y)
- the pixel designated by arrow d 3 has coordinates (x,y+1)
- the pixel identified by arrow d 2 has coordinates (x+1,y+1).
- the digital half- toning and error diffusion process can be assumed to begin at pixel location (x,y) in Figure 2, and the magnitude of the detected gray scale value of pixel P at this location can be assumed to be a number Z.
- Z is between the threshold value and the maximum gray scale value (255)
- the magnitude of the encoding error will be a negative number equal to Z minus 255 gray scale units.
- Z is a number between 0 and the threshold value
- the magnitude of the encoding error is simply equal to the value Z in gray scale units.
- the encoding error will be referred to by the symbol e x,y , where the subscript identifies a pixel location by its cartesian coordinates.
- the threshold value is normally constant. However, it is possible that the threshold value could be randomly varied, or dithered, in a relatively narrow range about a fixed central value (e.g., 128). In that case, another degree of randomness would be introduced into the error diffusion process.
- the gray scale values, Z, of pixels are used as the arguments of range functions.
- range functions One example of range functions, w min and w max , is shown in Figure 3.
- the range functions provide variable minimum and maximum limits which are linearly dependent upon the detected gray scale values, Z, of pixels. For pixel values ranging between 0 and 128, the smallest minimum value of the range function w min is 0, and the largest minimum value is 0.2. Also, for pixel values Z between 128 and 255, the smallest minimum value of the range function w min is 0, and the largest minimum value is 0.2. Algebraically, the range function w min can be approximated as follows:
- the range function w max can be approximated as follows:
- the range functions w min and w max are employed to calculate pseudo-random weights r 1 , r 2 , and r 3 .
- pseudo-ransom weight r 1 a random number is
- the random selection process does not employ a random number generator but (to minimize processing time) uses a look-up table of uniformly distributed random numbers expressed as decimals.
- An identical procedure is followed to calculate weight r 3 .
- the propagated errors err 1 , err 2 , and err 3 can be understood to be pseudo-randomized error values which are diffused, or distributed, to pixels neighboring pixel P in the directions of the arrows d 1 , d 2 , and d3 , respectively, of Figure 2.
- the propagated errors can be either positive or negative.
- pixels with detected gray scale values of either 0 or 255 do not generate error values. That is, error values are not diffused from pixels having error values of 0 and 255, but error values can be diffused to such pixels.
- the gray scale value of the pixel located at (x+1,y) becomes the detected gray scale value for that pixel location plus the propagated error err 1 .
- the gray scale value of the pixel located at (x+1,y+1) becomes the detected gray scatle value for that pixel plus the propagated error err 2 .
- the gray scale value of the pixel located at (x,y+1) becomes the detected gray scale value at that pixel plus the propagated error err 3 .
- the binary encoding error for the pixel located at (x+1,y) will reflect the propagated error err 1 , as well as the error propagated from other previously scanned pixel locations.
- the error value for pixel location (x+1,y) is weighted by the pseudo-random process and then diffused to the pixels located at (x+2,y), (x+1,y+1), and (x+2,y+1). The process continues for each pixel in a row and then begins again at the first pixel on the next lower row.
- r 1 RANDOM [w min (pixel (x,y) ), w max (pixel (x,y) )]
- pixel (x,y) is black
- pixel (x,y) is white
- pixel (x+1,y) pixel (x+1,y) + err 1
- pixel (x+1,y+1) pixel (x+1,y+1) + err 2
- pixel (x,y+1) pixel (x,y+1) + err 3 .
- the above- described error diffusion process could be operated such that encoding errors are propagated only to two pixels adjacent each sampled pixel.
- the error diffusion process could be operated such that error assignments are interchanged (e.g., arrow d 3 in Figure 2 might be interchanged with arrow d 2 ). Also, modifications to the range functions can be made, especially in terms of slope and intercept values.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
- Color, Gradation (AREA)
Abstract
A digital halftoning process with error diffusion reduces visibly discernible artifacts. Gray-scale values of pixles in an image are detected using an optical scanner (5). In the error diffusion process a linear range function and a predetermined threshold value are employed. The range function provides random values which are used to propagate error values, for each pixel, to at least three adjacent pixels, one of which lies on the same line and the other two of which are on an adjacent line. Images are printed based upon the propagated error values using a digital printer (9).
Description
DIGITAL HALF-TONING PROCESS WITH ERROR DIFFUSION
Background of the Invention
Field of the Invention
The present invention relates generally to a method for reproducing continuous tone images and more particularly to a reproduction process based upon digital half-toning with error diffusion.
Prior Art
Continuous-tone images are reproduced by screening processes for conventional half-tone printing. In the processes, picture elements of original images are converted into dots whose diameters vary in size according to the amplitude of light penetrating a screen. More particularly, the dots are larger where more light penetrates a screen and are smaller where less light is present. Such processes can be described as being of the analog type since dot size is the analog of light intensity for individual picture elements, or pixels, of an image. To reproduce a multi-color image, a color-filtered screen is prepared for each of the basic colors; then the segregated colors are printed sequentially with careful mechanical registration of the screens to avoid shadows.
In printing based upon digital half-toning, an image is scanned with an optical scanner which detects and quantifies the light intensity values at preselected pixel locations on the image. The detected data typically comprises quantified representations of gray scale values ranging from about 0 to 255 for each pixel location.
To reproduce an image based upon digital halftoning, dots of fixed size are printed at locations corresponding in scale to the original pixel locations. It is well known, for instance, to print about forty thousand spaced-apart dots per square inch. The placement and density of dots printed within a given range determines the spatial resolution and perceived grayness of the area to an observer. For example, if an area is filled with the maximum number of dots, an observer will perceive the area as a dark, solid color. As dot density within a given area decreases, the area will have a successively lighter appearance. Also, the quality of detail in a reproduced image depends upon the number of picture elements that are reproduced.
When many small picture elements are present, fine detail is evident and the picture usually appears to have high resolution and depth. A shortcoming of digital half-toning as currently practiced, however, is that it produces "noisy" or grainy images. It has been suggested to use error diffusion techniques in conjunction with digital half-toning to improve detail resolution in digital half-toning and to provide more values of gray. For example, error diffusion with perturbation is described in Digital Halftoning, by Robert Ulichney (MIT Press, 1987), pp. 265-268. Such techniques are sometimes referred to as spatial dithering.
In digital half-toning with error diffusion the gray scale values at the pixel locations are binary encoded. The typical reference point or "threshold" for binary encoding gray scale values is 126, i.e., half way between the minimum and maximum gray scale values. Thus, the binary number 0 would be assigned to
every pixel which has a detected gray scale value less than 125, and a binary 1 would be assigned to every pixel whose detected gray scale value is 126 or
greater. For example, a pixel location which has a detected gray scale value of 100 would be binary
encoded as a binary "0", and a pixel location which has a gray scale value of 145 would be binary encoded as a binary "1".
At this juncture, it can be understood that there will be an encoding error for each pixel location having a gray scale value other than 0 or 255. In the first example above, the magnitude of the encoding error would be 100 units as measured by gray scale values. In the second example above, the magnitude of the encoding error would be 110 units as measured by gray scale values.
Images reproduced by digital half-toning with error diffusion normally have discernible patterns, or artifacts, which are distracting to viewers. Sometimes the artifacts appear as straight lines and other times appear as wiggly or worm-like lines. At still other times, the artifacts have a random, pebble-like
appearance.
Summary of the Invention In the preferred embodiment, the present invention provides a digital half-toning process with error diffusion comprising the steps of:
detecting gray scale values at preselected pixel locations in an image;
for each detected gray scale value at the preselected pixel locations, determining upper and lower limits of a range function which generally
linearly depends on the detected gray scale values and has upper and lower limits between 0 and 1 respectively;
selecting first and second values which are randomly located between the upper and lower limits of the range function;
if the detected gray scale value at a preselected pixel location is less than a predetermined threshold value, encoding the pixel location as a binary 0, assigning a first error value for the
preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
if the detected gray scale value at a preselected pixel location is greater than the threshold value, encoding the pixel location as a binary 1, assigning a first error value for the preselected pixel location which equals the first of the selected
randomly located values multiplied by a quantity equal to the detected gray scale value less 255, and assigning a second error value for the preselected pixel location which equals the second of the selected randomly located values multiplied by a quantity equal to the detected gray scale value less 255;
then, for each preselected pixel location, propagating the first and second assigned error values to at least three adjacent preselected pixel locations, one of which lies on the same line as the preselected pixel location and the other two of which are on an adjacent line; and
printing images by digital half-tone printing based upon values of the preselected pixel locations
that have been encoded after distribution of the assigned error values.
In one particularly preferred embodiment, the lower limit of the range function is between about 0 and 0.2, and varies linearly with the detected gray scale value of a preselected pixel location. More particularly, the lower limit, wmin, of the range function preferably is determined by the following equation:
and the upper limit, wmax, of the range function is determined by the following equation:
wmax = 1 - x 0.6
where Z is the detected gray scale value at a preselected pixel location. Alternatively, the upper and lower limits of the range function can be determined from the graph of Figure 3.
In one aspect of the invention there is provided a digital half-toning process with error diffusion, comprising the steps of:
detecting gray scale values at preselected pixel locations in an image;
for each detected gray scale value at the preselected pixel locations, determining upper and lower limits of a range function which depends on the detected gray scale values, and selecting first and second values which are randomly located between the upper and lower limits of the range function;
if the detected gray scale value at a preselected pixel location is less than a predetermined threshold value, encoding the pixel location as a binary 0, assigning a first error value for the
preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
if the detected gray scale value at a preselected pixel location is greater than the threshold value, encoding the pixel location as a binary 1, assigning a first error value for the preselected pixel location which equals the first of the selected
randomly located values multiplied by a quantity equal to the detected gray scale value less 255, and assigning a second error value for the preselected pixel location which equals the second of the selected randomly located values multiplied by a quantity equal to the detected gray scale value less 255;
then, for each preselected pixel location, distributing the first and second assigned error values to at least three adjacent preselected pixel locations, one of which lies on the same line as the preselected pixel location and the other two of which are on an adjacent line; and
printing images by digital half-tone printing based upon values of the preselected pixel locations that have been encoded after distribution of the assigned error values.
In another aspect of the invention there is provided a digital half-toning process with error diffusion comprising the steps of:
detecting gray scale values at preselected pixel locations in an image;
for each detected gray scale value at the preselected pixel locations, determining upper and lower limits of a range function which generally
linearly depends on the detected gray scale values and has upper and lower limits between 0 and 1, respectively;
selecting first and second values which are randomly located between the upper and lower limits of the range function;
if the detected gray scale value at a preselected pixel location is less than a predetermined threshold value, encoding the pixel location as a binary 0, assigning a first error value for the
preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
if the detected gray scale value at a preselected pixel location is greater than the threshold value, encoding the pixel location as a binary 1, assigning a first error value for the preselected pixel location which equals the first of the selected
randomly located values multiplied by a quantity equal to the detected gray scale value less 255, and assigning a second error value for the preselected pixel location which equals the second of the selected randomly located values multiplied by a quantity equal to the detected gray scale value less 255;
then, for each preselected pixel location, propagating the first and second assigned error values to at least three adjacent preselected pixel locations, one of which lies on the same line as the preselected pixel location and the other two of which are on an adjacent line; and
printing images by digital half-tone printing based upon values of the preselected pixel locations
that have been encoded after distribution of the assigned error values.
Brief Description of the Drawing
Figure 1 is a functional block diagram of a digital half-toning system which operates according to the process of the present invention;
Figure 2 schematically shows a field of picture elements or pixels; and
Figure 3 shows a function for use in the process of the present invention.
Description of the Preferred Embodiments
Figure 1 shows generally a system for digital printing. The components of the system of Figure 1 are an image scanner 5 of the kind conventionally used for making color separations, a digital computer 7, and a digital printer 9. The components of the system are conventional but, as will be described below, can be advantageously operated to provide digital half-toning with error diffusion. Generally speaking, the system of Figure 1 operates on a photographic transparency, although it can operate on a photographic print or a high-resolution printed original. In operation of the system, scanner 5 digitizes picture elements of an image according to gray scale values and provides the resulting digital information to computer 7. By manipulating the digital information with computer 7, an image can be retouched, adjusted, recomposed, and modified using conventional graphics software. Then the digital image information is binary encoded and operated upon by the half-toning algorithm with error
diffusion as described below. For printing, the error- diffused information is provided to digital printer 9 which reproduces the encoded information on a suitable medium. The error-diffused half-toning information can also be presented for display on a CRT (cathode ray tube) screen.
A digital half-toning process with error
diffusion will now be described with reference to
Figure 2. The purpose of the process is to adjust binary encoded values at selected pixel locations so that a reproduced image can provide the illusion of a continuous tone image without discernible artifacts.
In the field in Figure 2, each dot represents one pixel location on a continuous tone image which is presented for scanning. For purposes of discussion it can be assumed that scanning proceeds from left to right across each of the pixel rows and sequentially from the top to the bottom of the field. Obviously, variations on the scanning pattern are possible. For example, scanning could proceed from left to right across one row of pixels, and then from right to left across the next lower row, and so forth in a serpentine pattern.
For color printing, the field of Figure 2 must be sequentially viewed through color filters. Each field is usually scanned several times, each time with a different filter. Alternatively, a field can be scanned once with each picture element having multiple exposures, each exposure being to a different filter. Color filtering does not, however, affect the essential steps in the error diffusion process.
In the field of Figure 2, the location of each pixel can be described by its cartesian coordinates. For purposes of discussion, an arbitrary pixel "P" in Figure 2 can be identified at location (x,y). It should be noted that pixel P is in the interior of the field and therefore has eight immediately adjacent neighbors. It should also be noted that four of the pixels neighboring pixel P will be scanned before it and four of the neighboring pixels will be scanned after it. In Figure 2, the neighboring pixel to the immediate right of pixel P is designated by arrow d1, the neighboring pixel immediately below pixel P is designated by arrow d3, and the pixel diagonally below pixel P in the direction of scanning is designated by arrow d2. Thus, the pixel designated by arrow d1 has coordinates (x+1,y), the pixel designated by arrow d3 has coordinates (x,y+1), and the pixel identified by arrow d2 has coordinates (x+1,y+1).
For purposes of discussion, the digital half- toning and error diffusion process can be assumed to begin at pixel location (x,y) in Figure 2, and the magnitude of the detected gray scale value of pixel P at this location can be assumed to be a number Z. When Z is between the threshold value and the maximum gray scale value (255), the magnitude of the encoding error will be a negative number equal to Z minus 255 gray scale units. When Z is a number between 0 and the threshold value, the magnitude of the encoding error is simply equal to the value Z in gray scale units. In the following description the encoding error will be referred to by the symbol ex,y, where the subscript identifies a pixel location by its cartesian coordinates.
In practice the threshold value is normally constant. However, it is possible that the threshold value could be randomly varied, or dithered, in a relatively narrow range about a fixed central value (e.g., 128). In that case, another degree of randomness would be introduced into the error diffusion process.
In the process of the present invention the gray scale values, Z, of pixels are used as the arguments of range functions. One example of range functions, wmin and wmax, is shown in Figure 3. In this example, the range functions provide variable minimum and maximum limits which are linearly dependent upon the detected gray scale values, Z, of pixels. For pixel values ranging between 0 and 128, the smallest minimum value of the range function wmin is 0, and the largest minimum value is 0.2. Also, for pixel values Z between 128 and 255, the smallest minimum value of the range function wmin is 0, and the largest minimum value is 0.2. Algebraically, the range function wmin can be approximated as follows:
wmin =
Further in Figure 3, the pixel values Z between 0 and 128, the smallest maximum value of the range function wmax is 0.4, and the largest maximum value is 1.0. For pixel values between 128 and 255, the smallest maximum value of the range function wmax is 0.4, and the largest maximum value is 1.0. Algebraically, the range function wmax can be approximated as follows:
wmax = 1 - x 0.6
According to the present invention, the range functions wmin and wmax are employed to calculate pseudo-random weights r1, r2, and r3. For calculation of pseudo-ransom weight r1, a random number is
selected; then the random number is multiplied by the numerical range between wmin and wmax, and the resultant product is added to wmin. In practice, the random selection process does not employ a random number generator but (to minimize processing time) uses a look-up table of uniformly distributed random numbers expressed as decimals. An identical procedure is followed to calculate weight r3. Then the sum of the pseudo-random weights r1 and r3 is subtracted from the unity to yield a third pseudo-random weight r2; that is, r2 = 1.0 - r1 - r3.
The pseudo-random weights r1, r2, and r3 are used to propagate, or spread, error values to the pixels at locations (x+1,y), (x+1,y+1) and (x,y+1), respectively. More particularly, the error (err) propagated to the pixel located at (x+1,y) from the pixel located at (x,y) is determined by multiplying the weight r1 by the encoding error. For pixel P that is err1 = r1 x ex,y. Likewise, the error propagated to the pixel located at (x,y+1) is err2 = r2 x ex,y.
Finally, the error propagated to the pixel located at (x+1,y+1) is err3 = r3 x ex,y. Thus, the propagated errors err1, err2, and err3 can be understood to be pseudo-randomized error values which are diffused, or distributed, to pixels neighboring pixel P in the directions of the arrows d1, d2, and d3, respectively, of Figure 2.
It should be noted that the propagated errors can be either positive or negative. Also, it should be understood that pixels with detected gray scale values
of either 0 or 255 do not generate error values. That is, error values are not diffused from pixels having error values of 0 and 255, but error values can be diffused to such pixels. For binary encoding purposes, the gray scale value of the pixel located at (x+1,y) becomes the detected gray scale value for that pixel location plus the propagated error err1. Likewise, the gray scale value of the pixel located at (x+1,y+1) becomes the detected gray scatle value for that pixel plus the propagated error err2. Finally, the gray scale value of the pixel located at (x,y+1) becomes the detected gray scale value at that pixel plus the propagated error err3. It should be understood that the above-described error diffusion process continues with successively scanned pixels. Thus, the binary encoding error for the pixel located at (x+1,y) will reflect the propagated error err1, as well as the error propagated from other previously scanned pixel locations. In turn, the error value for pixel location (x+1,y) is weighted by the pseudo-random process and then diffused to the pixels located at (x+2,y), (x+1,y+1), and (x+2,y+1). The process continues for each pixel in a row and then begins again at the first pixel on the next lower row.
In practice, special error assignment rules must be provided for the first and the last pixel locations in a row. For the pixel location last scanned in a row, a convenient rule is that an encoding error is assigned only to the pixel located immediately below.
For the pixel first scanned in a row, a convenient rule is that its assigned error value reflects only the error assigned from the pixel immediately above.
The above-described error diffusion process can be summarized as follows. First, in accordance with the range distribution function of Figure 3, the range of wmin, wmax is determined by the gray scale value of the pixel located at (x,y). Then the following
calculations are made:
1. r1 = RANDOM [wmin(pixel(x,y)), wmax(pixel(x,y))]
2. r3 = RANDOM [wmin(pixel(x,y)), wmax(pixel(x,y))]
3. r2 = 1.0 - r1 - r3
4. For each input pixel location (x,y), if the detected gray scale value of the pixel at that location is less than the preselected threshold value, then
pixel (x,y) is black, and
error = value of pixel(x,y(
or else,
pixel(x,y) is white, and
error = pixel(x,y) - 255.
5. Then the distributed error values are calculated as follows:
err1 = r1 * ex,y'
err2 = r2 * ex,y, and
err3 = r3 * ex,y.
6. Then the error values are distributed to
neighboring pixel locations as follows:
pixel(x+1,y) = pixel(x+1,y) + err1
pixel(x+1,y+1) = pixel(x+1,y+1) + err2
pixel(x,y+1) = pixel(x,y+1) + err3.
Although the preferred embodiments of the process of the present invention have been described, those skilled in the art will appreciate that additions, modifications, substitutions and deletions not specifically described in the foregoing may be made to the preferred embodiment of the process without
departing from the spirit and scope of the invention as
defined by the following claims. (As modified,
however, the process may not provide the same excellence of results as the preferred embodiments.)
As one example of a modification, the above- described error diffusion process could be operated such that encoding errors are propagated only to two pixels adjacent each sampled pixel. As another
example, the error diffusion process could be operated such that error assignments are interchanged (e.g., arrow d3 in Figure 2 might be interchanged with arrow d2). Also, modifications to the range functions can be made, especially in terms of slope and intercept values.
Claims
1. A digital half-toning process with error diffusion, comprising the steps of:
detecting gray scale values at preselected pixel locations in an image;
for each detected gray scale value at the preselected pixel locations, determining upper and lower limits of a range function which depends on the detected gray scale values, and selecting first and second values which are randomly located between the upper and lower limits of the range function;
if the detected gray scale value at a preselected pixel location is less than a predetermined threshold value, encoding the pixel location as a binary 0, assigning a first error value for the
preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
if the detected gray scale value at a preselected pixel location is greater than the threshold value, encoding the pixel location as a binary 1, assigning a first error value for the preselected pixel location which equals the first of the selected
randomly located values multiplied by a quantity equal to the detected gray scale value less 255, and assigning a second error value for the preselected pixel location which equals the second of the selected randomly located values multiplied by a quantity equal to the detected gray scale value less 255;
then, for each preselected pixel location, distributing the first and second assigned error values to at least three adjacent preselected pixel locations. one of which lies on the same line as the preselected pixel location and the other two of which are on an adjacent line; and
printing images by digital half-tone printing based upon values of the preselected pixel locations that have been encoded after distribution of the assigned error values.
2. A digital half-toning process according to Claim 1 wherein the range function is linear.
3. A digital half-toning process according to Claim 2 wherein the upper and lower limits of the range function are between 0 and 1, respectively.
4. A digital half-toning process according to Claim 3 wherein the lower limit of the range function has a minimum value between about 0 and about 0.2.
5. A digital half-toning process according to Claim 4 wherein the lower limit of the range function varies linearly with the detected gray scale value of a preselected pixel location.
6. A digital half-toning process according to Claim 5 wherein the lower limit, wmin, of the range function is determined as follows:
wmin = x 0.2
where Z is the detected gray scale value at a preselected pixel location.
7. A digital half-toning process according to Claim 5 wherein the upper limit, wmax, of the range function is determined as follows: wmax = 1 - x 0.6
where Z is the detected gray scale value at a preselected pixel location.
8. A digital half-toning process according to Claim 1 wherein the two values which are randomly located between the upper and lower limits of the range function are selected from a set of values that are uniformly spaced between the upper and lower limits of the range function.
9. A digital half-toning process according to Claim 1 wherein the upper and lower limits of the range function are determined from a graph such as shown in Figure 3.
10. A digital half-toning process with error diffusion comprising the steps of:
detecting gray scale values at preselected pixel locations in an image;
for each detected gray scale value at the preselected pixel locations, determining upper and lower limits of a range function which generally linearly depends on the detected gray scale values and has upper and lower limits between 0 and 1, respectively;
selecting first and second values which are randomly located between the upper and lower limits of the range function;
if the detected gray scale value at a preselected pixel location is less than a predetermined threshold value, encoding the pixel location as a binary 0, assigning a first error value for the preselected pixel location equal to its detected gray scale value multiplied by the first of the selected randomly located values and assigning a second error value for the preselected pixel location equal to its detected gray scale value multiplied by the second of the selected randomly located values;
if the detected gray scale value at a preselected pixel location is greater than the threshold value, encoding the pixel location as a binary 1, assigning a first error value for the preselected pixel location which equals the first of the selected
randomly located values multiplied by a quantity equal to the detected gray scale value less 255, and assigning a second error value for the preselected pixel location which equals the second of the selected randomly located values multiplied by a quantity equal to the detected gray scale value less 255;
then, for each preselected pixel location, propagating the first and second assigned error values to at least three adjacent preselected pixel locations, one of which lies on the same line as the preselected pixel location and the other two of which are on an adjacent line; and
printing images by digital half-tone printing based upon values of the preselected pixel locations that have been encoded after distribution of the assigned error values.
11. A digital half-toning process according to Claim 10 wherein the lower limit of the range function has a minimum value between about 0 and 0.2.
12. A digital half-toning process according to Claim 11 wherein the lower limit of the range function varies linearly with the detected gray scale value of a preselected pixel location.
13. A digital half-toning process according to Claim 12 wherein the lower limit, wmin, of the range function is determined as follows: wmin = I2" 28I x 0.2
where Z is the detected gray scale value at a preselected pixel location.
14. A digital half-toning process according to Claim 12 wherein the upper limit, wmax, of the range function is determined as follows:
U
where Z is the detected gray scale value at a preselected pixel location.
15. A digital half-toning process according to Claim 10 wherein the two values which are randomly located between the upper and lower limits of the range function are selected from a set of values that are uniformly spaced between the upper and lower limits of the range function.
16. A digital half-toning process according to Claim 10 wherein the upper and lower limits of the range function are determined from the graph of Figure 3.
17. A digital half-toning process according to Claim 10 wherein the lower limit, wmin, of the range function is determined as follows:
= 1
and the upper limit, wmax, of the range function is determined as follows:
wmax = 1 - l12182"8Zl x 0.6
18. A digital half-toning process according to Claim 17 wherein, for a preselected pixel location having coordinates (x,y), the first and second error values are propagated to pixel locations having coordinates (x+1,y) and (x+1,y+1), respectively.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25784388A | 1988-10-14 | 1988-10-14 | |
US257,843 | 1988-10-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1990004234A1 true WO1990004234A1 (en) | 1990-04-19 |
Family
ID=22978004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1989/004581 WO1990004234A1 (en) | 1988-10-14 | 1989-10-13 | Digital half-toning process with error diffusion |
Country Status (2)
Country | Link |
---|---|
CA (1) | CA2000705C (en) |
WO (1) | WO1990004234A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992008314A1 (en) * | 1990-10-24 | 1992-05-14 | Eastman Kodak Company | High speed digital error diffusion process for continuous tone image-to-binary image conversion |
DE19511417A1 (en) * | 1994-04-15 | 1995-12-07 | Fuji Photo Film Co Ltd | Method and device for binary conversion of an image signal |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2063879C (en) * | 1991-05-28 | 1998-05-05 | Albert D. Edgar | Positive feedback error diffusion signal processing |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4339774A (en) * | 1979-12-20 | 1982-07-13 | Cambridge Consultants Limited | Apparatus and method for generating a dispersed dot half tone picture from a continuous tone picture |
US4345313A (en) * | 1980-04-28 | 1982-08-17 | Xerox Corporation | Image processing method and apparatus having a digital airbrush for touch up |
US4578713A (en) * | 1984-07-20 | 1986-03-25 | The Mead Corporation | Multiple mode binary image processing |
US4651287A (en) * | 1984-06-14 | 1987-03-17 | Tsao Sherman H | Digital image processing algorithm for output devices with discrete halftone gray scale capability |
US4654721A (en) * | 1985-04-12 | 1987-03-31 | International Business Machines Corporation | System for reproducing multi-level digital images on a bi-level printer of fixed dot size |
US4680645A (en) * | 1986-08-25 | 1987-07-14 | Hewlett-Packard Company | Method for rendering gray scale images with variable dot sizes |
US4733230A (en) * | 1984-09-06 | 1988-03-22 | Hitachi, Ltd. | Method of displaying continuous tone picture using limited number of different colors or black-and-white levels, and display system therefor |
-
1989
- 1989-10-13 CA CA 2000705 patent/CA2000705C/en not_active Expired - Fee Related
- 1989-10-13 WO PCT/US1989/004581 patent/WO1990004234A1/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4339774A (en) * | 1979-12-20 | 1982-07-13 | Cambridge Consultants Limited | Apparatus and method for generating a dispersed dot half tone picture from a continuous tone picture |
US4345313A (en) * | 1980-04-28 | 1982-08-17 | Xerox Corporation | Image processing method and apparatus having a digital airbrush for touch up |
US4651287A (en) * | 1984-06-14 | 1987-03-17 | Tsao Sherman H | Digital image processing algorithm for output devices with discrete halftone gray scale capability |
US4578713A (en) * | 1984-07-20 | 1986-03-25 | The Mead Corporation | Multiple mode binary image processing |
US4733230A (en) * | 1984-09-06 | 1988-03-22 | Hitachi, Ltd. | Method of displaying continuous tone picture using limited number of different colors or black-and-white levels, and display system therefor |
US4654721A (en) * | 1985-04-12 | 1987-03-31 | International Business Machines Corporation | System for reproducing multi-level digital images on a bi-level printer of fixed dot size |
US4680645A (en) * | 1986-08-25 | 1987-07-14 | Hewlett-Packard Company | Method for rendering gray scale images with variable dot sizes |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992008314A1 (en) * | 1990-10-24 | 1992-05-14 | Eastman Kodak Company | High speed digital error diffusion process for continuous tone image-to-binary image conversion |
DE19511417A1 (en) * | 1994-04-15 | 1995-12-07 | Fuji Photo Film Co Ltd | Method and device for binary conversion of an image signal |
DE19511417C2 (en) * | 1994-04-15 | 2000-11-02 | Fuji Photo Film Co Ltd | Method and device for binary conversion of an image signal |
Also Published As
Publication number | Publication date |
---|---|
CA2000705C (en) | 1999-09-14 |
CA2000705A1 (en) | 1990-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0560872B1 (en) | Method and apparatus for halftone rendering of a gray scale image using a blue noise mask | |
US5107346A (en) | Process for providing digital halftone images with random error diffusion | |
CA1248878A (en) | System for reproducing multi-level digital images on a bi-level printer of fixed dot size | |
US5317418A (en) | Halftone images using special filters | |
US5726772A (en) | Method and apparatus for halftone rendering of a gray scale image using a blue noise mask | |
US5835687A (en) | Methods and apparatus for providing digital halftone images with random error diffusion dithering | |
US5130823A (en) | Error diffusion system | |
US5053887A (en) | Technique for producing a fine grained dithered halftone image having an increased number of gray levels | |
JPH0774950A (en) | Generating method for half-tone picture using modeling of print symbol | |
JPH03503712A (en) | Digital halftone coloring with error diffusion | |
US5515456A (en) | Process for providing digital halftone image with random error diffusion, color correction and enlargement | |
US5489991A (en) | Method for generating digital halftone images | |
US5051841A (en) | Process for providing digital halftone images with random error diffusion | |
Goertzel et al. | Digital halftoning on the IBM 4250 printer | |
US20020171873A1 (en) | Method for screening of halftone images | |
Velho et al. | Stochastic screening dithering with adaptive clustering | |
EP0642258A2 (en) | Frequency modulated halftone image and method for making same | |
EP0837598B1 (en) | A method of halftoning grey value signals of pixels of an image and image reproduction apparatus for reproducing images | |
KR100354742B1 (en) | Image data processing device | |
US20040090654A1 (en) | FM screening with sub-dot phase modulation | |
CA2000705C (en) | Digital half-toning process with error diffusion | |
US5764810A (en) | Screenless conversion of continuous tone images with alterable dot spacing patterns | |
EP1401189A1 (en) | FM screening with sub-dot phase modulation | |
EP0710007A2 (en) | Image halftoning system | |
JPH01256870A (en) | Half-tone image reproducing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE FR GB IT LU NL SE |