Method and apparatus for generating a halftone image from a continuous tone image
Granted 17 Mar 2015 · 1 office action
Current assignee: MARVELL INTERNATIONAL LTD. · originally Marvell Technology Group Ltd.
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Richard I. Klaus · Examiner: Thomas D Lee
Life of the application
9 dated eventsAbstract
Some of the embodiments provide a method for processing a continuous tone image, wherein each pixel of a plurality of pixels of the continuous tone image is associated with a corresponding value that represents a tone of the pixel, the method comprising for each pixel of the plurality of pixels of the continuous tone image, determining the corresponding value of the pixel that represents the tone of the pixel, wherein each pixel of a first subset of the plurality of pixels of the continuous tone image has a corresponding value that is within a first range; and generating a halftone image from the continuous tone image such that for each pixel of the first subset of the plurality of pixels of the continuous tone image, a corresponding pixel of the halftone image is generated to have a value that represents a zero optical density or a first optical density.
Description
10 parts›CROSS REFERENCE TO RELATED APPLICATIONS
This claims priority to U.S. Provisional Patent Application No. 61/648,726, filed on May 18, 2012, which is incorporated herein by reference.
›TECHNICAL FIELD
Embodiments of the present disclosure relate to image processing, and more particularly, to a halftoning process to convert a continuous tone (contone) image to a halftone image.
›BACKGROUND
In order to facilitate printing of images in a printing device, an image having continuous tones (also referred to as a “continuous tone image” or a “contone image”) is often converted into an image having halftones. A pixel of the contone image may be represented, for each color plane, by a plurality of bits, e.g., 8 bits, 10 bits, or the like. Subsequent to converting the contone image into a corresponding halftone image, each pixel of the halftone image may be represented, for each color plane, by one or more bits, e.g., 1 bit, 2 bits, or the like. A halftone image may be generated from a contone image using, for example, one of error diffusion halftoning process, multi-bit halftoning process, threshold halftoning process, or the like.
As discussed, in a halftone image, each pixel is represented by, for example, one or more bits of data. For example, a one bit data associated with a pixel of a halftone image represents whether, during a printing process, a dot is to be placed corresponding to the pixel. A two bit data associated with a pixel of a halftone image represents, during a printing process, whether a dot is to be placed corresponding to the pixel, and a level of the dot (e.g., a size, a tone, an optical density with which the corresponding pixel of the halftone image is to be printed while printing the halftone image, or the like).
When a laser printer prints a halftone image, dots of low optical density (e.g., small sized dots) tend not to form very well. For example, a process of placing charge on a developer roller of an Electrophotographic engine (which is commonly found in laser printers) and causing toner to jump to the developer roller (e.g., prior to printing the image) works relatively better with dots of medium or high optical density (e.g., medium or large sized dots), e.g., compared to dots of low optical density. If dots of low optical density (e.g., which corresponds to small charge in the developer roller) are used, then the output image tends to form a dusting of toner, rather than true dots. Such dusting of toner for dots of low optical density is generally acceptable when the dots are isolated (e.g., spaced sufficiently apart) in the printed image.
However, if dots (e.g., dots of low or medium optical density) are placed in close proximity in a halftone image, while printing the dots in a laser printer, these dots start to reinforce one another and create clumps. This may cause the printed image to appear grainy and of relatively poor quality.
›SUMMARY
In various embodiments, the present disclosure provides a method for processing a continuous tone image, wherein the continuous tone image comprises a plurality of pixels, wherein each pixel of the plurality of pixels of the continuous tone image is associated with a corresponding value that represents a tone of the pixel, the method comprising: for each pixel of the plurality of pixels of the continuous tone image, determining the corresponding value of the pixel that represents the tone of the pixel, wherein (i) each pixel of a first subset of the plurality of pixels of the continuous tone image has a corresponding value that is within a first range and (ii) each pixel of a second subset of the plurality of pixels of the continuous tone image has a corresponding value that is within a second range; and generating a halftone image from the continuous tone image, such that the halftone image comprises a plurality of pixels corresponding to the plurality of pixels of the continuous tone image, wherein each pixel of the plurality of pixels of the halftone image is associated with a corresponding value that represents an optical density with which the pixel of the halftone image is to be printed, wherein generating the halftone image comprises for each pixel of the first subset of the plurality of pixels of the continuous tone image, generating a corresponding pixel of the halftone image to have a value that represents (i) zero optical density or (ii) a first optical density, and for each pixel of the second subset of the plurality of pixels of the continuous tone image, generating a corresponding pixel of the halftone image to have a value that represents (i) zero optical density or (ii) a second optical density, wherein the second optical density is different from the first optical density.
There is also provided an image processing apparatus configured to process a continuous tone image, wherein the continuous tone image comprises a plurality of pixels, wherein each pixel of the plurality of pixels of the continuous tone image is associated with a corresponding value that represents a tone of the pixel, the image processing apparatus comprising a halftone conversion module configured to for each pixel of the plurality of pixels of the continuous tone image, determine the corresponding value of the pixel that represents the tone of the pixel, wherein (i) each pixel of a first subset of the plurality of pixels of the continuous tone image has a corresponding value that is within a first range and (ii) each pixel of a second subset of the plurality of pixels of the continuous tone image has a corresponding value that is within a second range; and generate a halftone image from the continuous tone image, such that the halftone image comprises a plurality of pixels corresponding to the plurality of pixels of the continuous tone image, wherein each pixel of the plurality of pixels of the halftone image is associated with a corresponding value that represents an optical density with which the pixel of the halftone image is to be printed, wherein the halftone conversion module is further configured to generate the halftone image by for each pixel of the first subset of the plurality of pixels of the continuous tone image, generating a corresponding pixel of the halftone image to have a value that represents of one of (i) a zero optical density or (ii) a first optical density, and for each pixel of the second subset of the plurality of pixels of the continuous tone image, generating a corresponding pixel of the halftone image to have a value that represents of one of (i) the zero optical density or (ii) a second optical density.
›BRIEF DESCRIPTION OF THE DRAWINGS
In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown by way of embodiments that illustrate principles of the present disclosure. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of embodiments in accordance with the present disclosure is defined by the appended claims and their equivalents.
FIG. 1 schematically illustrates an image processing system configured to convert a contone image to a halftone image, and print the halftone image.
FIG. 2 illustrates an example of a contone image comprising a plurality of pixels.
FIG. 3 illustrates a graph that maps a contone pixel value of a pixel of a contone image to a corresponding halftone pixel value of a corresponding pixel of a halftone image.
FIGS. 4A-4D illustrate magnified versions of printouts of regions of a halftone image.
FIG. 5 illustrates an example method for converting a contone image to a halftone image.
›DETAILED DESCRIPTION · 1 of 5
FIG. 1 schematically illustrates an image processing system 100 (henceforth referred to as “system 100 ”) configured to convert a contone image to a halftone image, and print the halftone image. The system 100 (or at least a part of the system 100 ) may be implemented, for example, within a printing device that employs laser beams for printing (e.g., implemented within a laser printer).
The system 100 comprises a halftone conversion module 108 configured to receive a contone image data 104 , and convert the contone image data 104 to halftone image data 112 . The halftone image data 112 is used by a laser control module 116 to control a laser generation module 120 generating a laser beam. The laser beam generated by the laser generation module 120 is used by a printing module 130 (which comprises, for example, a developer roller of an Electrophotographic engine, not illustrated in FIG. 1 ) to print an image corresponding to the halftone image data 112 . The laser control module 116 , the laser generation module 120 and the printing module 130 are well known to those skilled in the art, and hence, a detailed description of these components will not be provided herein.
The contone image data 104 comprises a plurality of pixels of a contone image. FIG. 2 illustrates an example of the contone image comprising a plurality of pixels, only some of which are labeled in FIG. 2 . For example, pixels P 11 , P 12 , . . . , P 44 are labeled in FIG. 2 . The pixels illustrated in FIG. 2 form the contone image (or are a part of the contone image).
Each pixel of the plurality of pixels of the contone image is associated with a corresponding contone pixel value that represents a tone of a given color plane of the corresponding pixel. For example, the pixel P 11 of the contone image data 104 is associated with a corresponding pixel value that represents a tone of a given color plane (e.g., represents a tone of a grey scale color plane) of the pixel P 11 . Similarly, other pixels of the contone image data 104 are also associated with corresponding pixel values. The contone image data 104 comprises the pixel values of the pixels of the contone image.
While the halftone conversion module 108 generates the halftone image data 112 from the contone image data 104 , each pixel of the contone image is converted to a corresponding pixel of the halftone image. In an embodiment, a modified version of error diffusion halftoning is used to convert the contone image to the halftone image, as will be discussed herein later. Error diffusion halftoning is a type of halftoning in which quantization residual (or quantization error) of a pixel, which is currently being processed, is distributed to neighboring pixels that have not yet been processed, while performing the halftoning process.
In an embodiment, conversion of a pixel of the contone image to a corresponding pixel of the halftone image is based on, for example, (i) a contone pixel value of the pixel of the contone image and (ii) errors propagated from one or more neighboring pixels that were already processed. For example, FIG. 2 illustrates a situation when a pixel P 22 of the contone image is being processed for conversion to a corresponding pixel of the halftone image. The pixel P 22 is also referred to as a “current pixel”, as pixel P 22 is being currently processed. Also, while the current pixel P 22 is being processed, pixels P 11 , . . . , P 14 and P 21 were already processed and converted to pixels of the halftone image.
While the pixel P 11 was previously processed, a quantization error (henceforth referred to as “error”) was generated during the conversion process (generation of error is discussed herein later in detail). The error is propagated to one or more neighboring pixels (e.g., one or more neighboring pixels that are to be processed subsequent to processing of the pixel P 11 ). For example, part of the error of pixel P 11 is propagated to pixel P 12 , part of the error of pixel P 11 is propagated to pixel P 21 , part of the error of pixel P 11 is propagated to pixel P 22 , and so on. A part of the error of pixel P 11 , which is propagated to the pixel P 22 , is labeled as ell in FIG. 2 .
Similarly, the pixel P 22 may receive errors from pixels P 12 , P 13 and P 21 . For example, a part of an error associated with pixel P 12 , which is propagated to the pixel P 22 , is labeled as e 12 in FIG. 2 ; a part of an error associated with pixel P 13 , which is propagated to the pixel P 13 , is labeled as e 13 in FIG. 2 ; and a part of an error associated with pixel P 21 , which is propagated to the pixel P 22 , is labeled as e 21 in FIG. 2 . A sum of errors received by the current pixel P 22 from one or more neighboring pixels (e.g., which have already been processed) is represented by E 22 , which is equal to (e 11 +e 12 +e 13 +e 21 ). E 22 is also referred to herein as a “sum of errors” associated with the pixel P 22 .
Although the pixel P 22 is illustrated to receive errors from four neighboring pixels P 11 , P 12 , P 13 and P 21 , in another embodiment and although not illustrated in FIG. 2 , the pixel P 22 may receive errors from any different number or combination of neighboring pixels.
In an embodiment, the conversion of the pixel P 22 of the contone image to the corresponding pixel of the halftone image is based on (i) the contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 propagated from the neighboring pixels P 1 , P 12 , P 13 and P 21 to the pixel P 22 .
In an embodiment, each pixel of the halftone image has, for example, two bits (although each pixel may comprise any other appropriate number of bits). For example, a two bit halftone pixel data associated with a pixel of the halftone image data 112 represents, during a printing process, whether a dot is to be placed corresponding to the pixel, and a level of the dot (e.g., a size, a tone, an optical density with which the corresponding pixel of the halftone image is to be printed while printing the halftone image, or the like). For example, for a two bit data associated with a pixel of the halftone image, a value of 00 indicates that no dot is to be placed corresponding to the pixel when the halftone image is to be printed by the system 100 , a value of 01 indicates that a low optical density dot (e.g., a small dot, a low tone dot, or the like) is to be placed corresponding to the pixel when the halftone image is to be printed by the system 100 , a value of 10 indicates that a medium optical density dot (e.g., a medium sized dot, a medium tone dot, or the like) is to be placed corresponding to the pixel when the halftone image is to be printed by the system 100 , and a value of 11 indicates that a high optical density dot (e.g., a large dot, a high tone dot, or the like) is to be placed corresponding to the pixel when the halftone image is to be printed by the system 100 .
›DETAILED DESCRIPTION · 2 of 5
FIG. 3 illustrates a graph 300 that maps a contone pixel value of a pixel of the contone image to a corresponding halftone pixel value of the corresponding pixel of the halftone image. In an embodiment, the graph 300 is used by the halftone conversion module 108 , while converting the contone image data 104 to the halftone image data 112 .
The graph 300 is a one dimensional graph, with the x axis representing contone pixels values of the pixels of the contone image. The x axis is divided in pre-determined threshold values T 1 , T 2 , T 3 and T 4 . The threshold values T 1 , T 2 , T 3 and T 4 may be determined based on, for example, characteristics of the system 100 , a number of bits included in the contone image data 104 , and/or the like. In an embodiment, the threshold T 4 is higher than the threshold T 3 , the threshold T 3 is higher than the threshold T 2 , and the threshold T 2 is higher than the threshold T 1 , as illustrated in FIG. 3 .
Referring to FIGS. 2 and 3 , in an embodiment, while converting the current pixel P 22 of the contone image to the halftone image, the contone pixel value of the pixel P 22 is determined. The contone pixel value of the pixel P 22 is included in the contone image data 104 .
In an embodiment and as illustrated in FIG. 3 , if the contone pixel value of the pixel P 22 is less than the threshold T 1 , the corresponding halftone pixel value is generated, such that either (i) no dots are placed or (ii) a dot of low optical density is placed for the pixel while printing the corresponding halftone image. For example, a halftone pixel value of either 00 or 01 is assigned to the pixel P 22 , if the contone pixel value is less than T 1 . Halftone pixel value corresponding to a dot of medium or high optical density (i.e., a halftone pixel value of 10 or 11) is never assigned to the pixel P 22 , if the contone pixel value of the pixel P 22 is less than the threshold T 1 (even if, for example, a sum of the (i) contone pixel value and (ii) the sum of errors E 22 require an assignment of a medium or a high optical density dot according to the error diffusion halftoning process). The decision of whether to assign the halftone pixel value of 00 or 01 to the pixel P 22 is based on the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 . For example, if the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 is above a threshold value (which is different from the thresholds illustrated in FIG. 3 ), a halftone pixel value of 01 is assigned; else a halftone pixel value of 00 is assigned. Thus, in the embodiment illustrated in FIG. 3 , irrespective of the sum of errors E 22 , the halftone pixel value of the pixel P 22 does not correspond to a medium or high optical density dot (i.e., can have a value of only 00 or 01), if the contone pixel value is less than the threshold T 1 . Thus, while the halftone image is being printed, pixels with contone pixel values less than threshold T 1 will be printed either using a small sized, low tone dots (i.e., dots having low optical density), or no dots will be printed at all.
In an embodiment, if the contone pixel value of the pixel P 22 is between thresholds T 2 and T 3 , the corresponding halftone pixel value is generated, such that either (i) no dots are placed or (ii) a dot of medium optical density is placed for the pixel while printing the corresponding halftone image. For example, a halftone pixel value of either 00 or 10 is assigned to the pixel P 22 , if the contone pixel value is between thresholds T 2 and T 3 . However, a halftone pixel value corresponding to a dot of low or high optical density (i.e., a halftone pixel value of 01 or 11) is never assigned to the pixel P 22 , if the contone pixel value of the pixel P 22 is between thresholds T 2 and T 3 (even if, for example, a sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 requires an assignment of a low or a high optical density dot according to the error diffusion halftoning process). The decision of whether to assign the halftone pixel value of 00 or 10 to the pixel P 22 is based on the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 . For example, if the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 is above a threshold value (which is different from the thresholds illustrated in FIG. 3 ), a halftone pixel value of 10 is assigned; else a halftone pixel value of 00 is assigned. Thus, while the halftone image is being printed, pixels that had contone pixel values between T 2 and T 3 will be printed either using medium sized, medium tone dots (i.e., dots having medium optical density), or no dots will be printed at all.
In an embodiment, if the contone pixel value of the pixel P 22 is higher than the threshold T 4 , the corresponding halftone pixel value is generated, such that either (i) no dots are placed or (ii) a dot of high optical density is placed for the pixel while printing the corresponding halftone image. For example, a halftone pixel value of either 00 or 11 is assigned to the pixel P 22 , if the contone pixel value is higher than the threshold T 4 . That is, a halftone pixel value corresponding to a dot of low or medium optical density (i.e., a halftone pixel value of 01 or 10) is never assigned to the pixel P 22 , if the contone pixel value of the pixel P 22 is higher than the threshold T 4 (even if, for example, a sum of the (i) contone pixel value and (ii) the sum of errors E 22 requires an assignment of a low or a medium optical density dot according to the error diffusion halftoning process). The decision of whether to assign the halftone pixel value of 00 or 11 to the pixel P 22 is based on the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 . For example, if the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 is above a threshold value (which is different from the thresholds illustrated in FIG. 3 ), a halftone pixel value of 11 is assigned; else a halftone pixel value of 00 is assigned. Thus, while the halftone image is being printed, pixels with contone pixel values higher than the threshold T 4 will be printed either using large sized, high tone dots (i.e., dots having high optical density), or no dots will be printed at all.
›DETAILED DESCRIPTION · 3 of 5
In an embodiment, if the contone pixel value of the pixel P 22 is between thresholds T 1 and T 2 , the corresponding halftone pixel value is generated, such that one of (i) no dots, (ii) a low optical density dot, or (iii) a medium optical density dot is placed for the pixel while printing the corresponding halftone image (e.g., based on the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 ). Thus, for contone pixel value of the pixel P 22 between thresholds T 1 and T 2 , high optical density dots are never assigned (e.g., irrespective of the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 ), as illustrated in FIG. 3 .
In an embodiment, if the contone pixel value of the pixel P 22 is between thresholds T 3 and T 4 , the corresponding halftone pixel value is generated, such that one of (i) no dots, (ii) a medium optical density dot, or (iii) a high optical density dot is placed for the pixel P 22 while printing the corresponding halftone image (e.g., based on the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 ). Thus, for contone pixel value of the pixel P 22 between thresholds T 1 and T 2 , low optical density dots are never assigned (e.g., irrespective of the sum of the (i) contone pixel value of the pixel P 22 and (ii) the sum of errors E 22 ), as illustrated in FIG. 3 .
Put differently, as illustrated in FIG. 3 , if the contone pixel value of the pixel P 22 is less than the threshold T 1 , the halftone pixel value corresponds to either no dot or a low optical density dot; if the contone pixel value of the pixel P 22 is between thresholds T 1 and T 2 , the halftone pixel value corresponds to one of (i) no dot, (ii) a low optical density dot, or (iii) a medium optical density dot; if the contone pixel value of the pixel P 22 is between thresholds T 2 and T 3 , the halftone pixel value corresponds either to a medium optical density dot or no dot; if the contone pixel value of the pixel P 22 is between thresholds T 3 and T 4 , the halftone pixel value corresponds to one of (i) no dots, (ii) a medium optical density dot, or (iii) a high optical density dot; and if the contone pixel value of the pixel P 22 is higher than the threshold T 4 , the halftone pixel value corresponds to either no dot or a high optical density dot. The thresholds T 1 , . . . , T 4 divides the contone pixel value in several regions, where for each region, assignment of one or more optical density dots is restricted. For example, as previously discussed, for a pixel with contone value less than the threshold T 1 , assignment of a medium or a high optical density dot is restricted, irrespective of the sum of errors associated with the pixel. In contrast, no such thresholds exist for a conventional error diffusion halftoning process. For example, in a conventional error diffusion halftoning process, even if the pixel P 22 has a contone value less than the threshold T 1 , a relatively high sum of errors E 22 may result in an assignment of a medium or a high optical density dot for the halftone pixel.
Furthermore, the selective restrictions on certain types of optical density dots imposed by the graph 300 of FIG. 3 do not significantly impact the quality or tone of the printed halftone image. The tone of the original contone image is preserved in the halftone image (e.g., as the errors are appropriately propagated to neighboring pixels during the conversion process)—however, the graph 300 imposes a limit on the type of optical density dots that are selectively used to preserve the tone of the original contone image in the halftone image.
Also, as illustrated in FIG. 2 , subsequent to the processing and conversion of the pixel P 22 to a corresponding pixel in the halftone image, a quantization error e 22 is generated for the pixel P 22 . The error e 22 is based on, for example, a difference between (i) a sum of (A) the contone pixel value of the pixel P 22 and (B) the sum of errors E 22 , and (ii) a contone value which corresponds to the halftone pixel value assigned to the corresponding pixel in the halftone image. The generation of the error e 22 in the system 100 is similar to generation of quantization errors in a conventional error diffusion halftoning process, and hence, will not be discussed in detail herein. The error e 22 from the pixel P 22 is propagated to one or more neighboring pixels that are yet to be processed, e.g., to pixels P 23 , P 31 , P 32 and/or P 33 .
FIG. 4A illustrates a magnified version of a printout of a region of the halftone image, when the contone pixel values of the pixels of the region of the corresponding contone image are less than or equal to the threshold Ti. FIG. 4B illustrates a magnified version of a printout of a region of the halftone image, when the contone pixel values of the pixels of the region of the corresponding contone image are between thresholds T 1 and T 2 . FIG. 4C illustrates a magnified version of a printout of a region of the halftone image, when the contone pixel values of the pixels of the region of the corresponding contone image are between thresholds T 2 and T 3 .
FIG. 4D illustrates a magnified version of a printout of a region of the halftone image, when the contone pixel values of the pixels of the region of the corresponding contone image are greater than the threshold T 4 .
Referring to FIGS. 3 and 4A , as the contone pixel values of the pixels of the region of the corresponding contone image are less than or equal to the threshold T 1 , only low optical density dots (e.g., small sized dos) are formed corresponding to some of the pixels (and no dots are formed corresponding to other pixels) in FIG. 4A . As the contone pixel values of the pixels of this region are relatively low (e.g., lower than the threshold T 1 ), the dots in FIG. 4A are sufficiently spaced apart. For example, distances between the dots in FIG. 4A are labeled as A 1 , A 2 and A 3 , where each of these distances is greater than a threshold distance (e.g., which may be equal to, for example, at least two pixel lengths, or three pixel lengths, or the like).
›DETAILED DESCRIPTION · 4 of 5
In FIG. 4B , dots of both low and medium optical densities are placed. In FIG. 4B , the distances between the dots are labeled as B 1 , B 2 and B 3 , where each of these distances is greater than the threshold distance (e.g., as the contone pixel values of the pixels of this region is still relatively low, the error diffusion halftoning process and the propagation of errors ensure that the dots are sufficiently spaced apart).
Referring to FIGS. 3 and 4C , as the contone pixel values of the pixels of the region of the corresponding contone image starts increasing (e.g., between thresholds T 2 and T 3 ), only medium optical density dots (or no dots) are formed, as illustrated in FIG. 4C . Because of the reasons discussed with respect to FIG. 3 , no low optical density dots are allowed to be placed in FIG. 4C . Medium optical density dots are formed for a pixel (e.g., as illustrated in FIG. 4C ) only when the (i) contone pixel value and (ii) the sum of errors for the pixel exceeds a threshold value associated with the error diffusion halftoning process. As the contone pixel value in the region between T 2 and T 3 is still relatively small, a medium dot is placed only when the sum of errors for a pixel is sufficiently large. As it takes errors to propagate from at least a few pixels for the sum of errors of the current pixel to be large enough, the dots in FIG. 4C are also sufficiently spaced apart. In contrast, in a conventional error diffusion halftoning process, pixels with contone pixel values between thresholds T 2 and T 3 can be selectively assigned low optical density dots, which may result in, for example, two low optical density dots being placed in close proximity to each other. However, as discussed with respect to FIG. 3 , by preventing formation of low optical density dots for pixels with contone pixel values between thresholds T 2 and T 3 (i.e., by allowing only medium optical density dots or no dots at all), the medium optical density dots are sufficiently spaced apart (e.g., spaced apart by at least a threshold distance) in FIG. 4C . For example, in FIG. 4C , the distances between the dots are labeled as C 1 , C 2 and C 3 , where each of these distances is greater than the threshold distance.
As discussed, FIG. 4D corresponds to a region of the halftone image, where the contone pixel values of the pixels are greater than the threshold T 4 . Accordingly, only high optical density dots are illustrated in FIG. 4D . If there were no restrictions in the type of dots in FIG. 4D (e.g., if a conventional error diffusion halftoning process were implemented), the resulting halftone image could have low, medium and/or high optical density dots placed in close proximity to each other. However, by allowing only high optical density dots in FIG. 4D , the dots in FIG. 4D are relatively more spaced apart (e.g., compared to the situation where all optical density dots were allowed, as in a conventional error diffusion halftoning process). As the contone pixel value of pixels keeps on increasing, the dots in FIG. 4D will come closer and will be located in close proximity. However, the restrictions imposed by the graph 300 spaces the dots apart in FIG. 4D to the extent possible. Also, with the restrictions imposed by the graph 300 , only high optical density dots can be proximally located. In an embodiment, in FIG. 3 , the region between the thresholds T 1 and T 2 , and the region between the thresholds T 3 and T 4 provide a smooth transition between dots of different optical densities. For example, the region between the thresholds T 1 and T 2 provides a smooth transition between low optical density dot regions and medium optical density dot regions in the printed image. Such transitions prevent (or reduce) visual distinction between various regions (e.g., having various contone pixel values) of the image printed by the system 100 .
As previously discussed, in a laser printer, if dots (e.g., dots of low or medium optical density) are placed in close proximity in a halftone image, these dots start to reinforce one another and create clumps while printing the dots. This may cause the printed image to appear grainy and of poor quality. In an embodiment, in the system 100 , the dots (e.g., low optical density dots, medium optical density dots, etc.) in the halftone image are sufficiently spaced apart (e.g., due to the restrictions imposed by the graph 300 spaces), thereby improving a quality of image printed by the system 100 .
In FIG. 3 , various threshold values (e.g., thresholds T 1 , . . . , T 4 ) are used to describe a manner in which various optical density dots are allowed to form. For example, if a contone pixel value if between thresholds T 3 and T 4 , the corresponding halftone pixel value corresponds to no dots, medium optical density dots or high optical density dots (i.e., no low optical density dots are allowed to be formed).
However, in another embodiment, start and stop limits can be used (e.g., instead of, or in addition to the threshold levels) to describe a manner in which various optical density dots are allowed to form. A start limit for a specific optical density dot is a minimum contone pixel value at which the specific optical density dot is allowed to form, and a stop limit for the specific optical density dot is a maximum contone pixel value at which the specific optical density dot is allowed to form. For example, in FIG. 3 , a halftone pixel value of a halftone pixel is allowed to correspond to a low optical density dot only if the corresponding contone pixel value is less than contone pixel value T 2 . Thus, in FIG. 3 , a start limit for low density dots is zero contone pixel value and a stop limit for low density dots is contone pixel value T 2 . Similarly, a halftone pixel value of a halftone pixel is allowed to correspond to a medium optical density dot only if the corresponding contone pixel value is between contone pixel values T 1 and T 4 . Thus, a start limit for medium density dots is contone pixel value T 1 and a stop limit for medium optical density dots is contone pixel value T 4 . Similarly, a halftone pixel value of a halftone pixel is allowed to correspond to a high optical density dot only if the corresponding contone pixel value is higher than the contone pixel value T 3 . Thus, a start limit for high density dots is contone pixel value T 3 and a stop limit for high optical density dots is a highest possible contone pixel value.
›DETAILED DESCRIPTION · 5 of 5
Although FIG. 3 illustrates a specific example of various start and stop limits for various optical density dots, in an embodiment, the various optical density dots may be formed in a different manner. Merely as an example, in an embodiment, a start limit for low density dots can be zero contone pixel value and a stop limit for low density dots can be contone pixel value T 2 ; a start limit for medium density dots can be zero contone pixel value (e.g., instead of the contone pixel value T 1 , as illustrated in FIG. 3 ) and a stop limit for medium density dots can be contone pixel value T 4 ; and a start limit for high density dots can be contone pixel value T 3 .
It is to be noted that if the start and stop limits for all the types of optical density dots (e.g., low, medium and high optical density dots) are set to zero and a highest contone pixel value, respectively, then such an implementation would be similar to a conventional error diffusion process (e.g., where there is no restriction of a type of optical density dot that is allowed to form).
FIG. 5 illustrates an example method 500 for converting a contone image to a halftone image (e.g., by the halftone conversion module 108 of the system 100 ). At 502 , for each pixel of a plurality of pixels of a contone image, a corresponding contone pixel value is determined (e.g., by the halftone conversion module 108 of the system 100 ). In an embodiment, (i) each pixel of a first subset of the plurality of pixels of the contone image has a corresponding pixel value that is within a first range (e.g., less than the threshold T 1 of FIG. 3 ) and (ii) each pixel of a second subset of the plurality of pixels of the contone image has a corresponding pixel value that is within a second range (e.g., between the thresholds T 2 and T 3 of FIG. 3 ).
At 504 , a halftone image is generated from a contone image (e.g., by the halftone conversion module 108 of the system 100 ). In an embodiment, for each pixel of the first subset of the plurality of pixels of the contone image, a corresponding pixel of the halftone image has a halftone pixel value of one of (i) a zero optical density or (ii) a first optical density (e.g., a zero or a low optical density for pixels having contone pixel values less than threshold T 1 ). In an embodiment, for each pixel of the second subset of the plurality of pixels of the contone image, a corresponding pixel of the halftone image has a halftone pixel value of one of (i) the zero optical density or (ii) a second optical density (e.g., a zero or a medium optical density for pixels having contone pixel values within the thresholds T 2 and T 3 ).
In accordance with various embodiments, an article of manufacture may be provided that includes a storage medium having instructions stored thereon that, if executed, result in the operations described herein with respect to the method 500 (and/or various other operations discussed herein). In an embodiment, the storage medium comprises some type of non-transitory memory (not shown). In accordance with various embodiments, the article of manufacture may be a computer-readable medium such as, for example, software or firmware.
As used herein, the term “module” may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
The description incorporates use of the phrases “in an embodiment,” or “in various embodiments,” which may each refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous.
Various operations may have been described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the claimed subject matter. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order than the described embodiment. Various additional operations may be performed and/or described operations may be omitted in additional embodiments.
Although specific embodiments have been illustrated and described herein, it is noted that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiment shown and described without departing from the scope of the present disclosure. The present disclosure covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents. This application is intended to cover any adaptations or variations of the embodiment disclosed herein. Therefore, it is manifested and intended that the present disclosure be limited only by the claims and the equivalents thereof.
Claims as granted
20 claimsLog in to read the claims of this application.
Log in to unlockClassifications
4 codes- G06K15/02
- H04N1/405
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock