LASER PRINT APPARATUS WITH TONER EXPLOSION COMPENSATION
A printing apparatus comprises a processor comprising registers, and a memory configured to store image data. The processor is configured to load portions of the image data into the registers and perform toner explosion compensation on the portions of the image data loaded in the registers, excluding image data loaded in boundary positions in the registers.
Latest Patents:
- TOSS GAME PROJECTILES
- BICISTRONIC CHIMERIC ANTIGEN RECEPTORS DESIGNED TO REDUCE RETROVIRAL RECOMBINATION AND USES THEREOF
- CONTROL CHANNEL SIGNALING FOR INDICATING THE SCHEDULING MODE
- TERMINAL, RADIO COMMUNICATION METHOD, AND BASE STATION
- METHOD AND APPARATUS FOR TRANSMITTING SCHEDULING INTERVAL INFORMATION, AND READABLE STORAGE MEDIUM
Color and gray value digital images are both composed of picture elements (pixels), where each pixel is represented by multiple binary bits that define either a color or a gray level. In order to represent such an image on a bi-level printer, the individual color or gray level pixels are typically converted to binary level pixels through use of a digital halftoning process.
In addition to digital halftoning, the images are compensated for toner explosion conditions. Toner explosion is a problem which occurs in laser or light emitting diode (LED) printers. If uncorrected, certain line widths of toner may have parts of the line appear to be exploded and scattered down the page as illustrated in
Template matching is typically performed on 1-bit data to essentially estimate what the original smooth shapes of the image features were in the grayscale image (i.e., prior to halftoning) and to identify toner explosion conditions. Template matching compares a window (e.g., 7×9 pixels) of the 1-bit data with hundreds of templates to identify features in the window and to identify toner explosion conditions. The window is moved around the entire 1-bit image to identify features and toner explosion conditions throughout the entire image. All bits in the image are processed. If a template matches the window, the center bit of the window is replaced. The processed image has jagged edges removed or reduced and toner explosion conditions eliminated or substantially reduced in the printed output. Typically, template matching is performed by dedicated hardware.
SUMMARYOne aspect of the present invention provides a printing apparatus. The printing apparatus comprises a processor comprising registers, and a memory configured to store image data. The processor is configured to load portions of the image data into the registers and perform toner explosion compensation on the portions of the image data loaded in the registers, excluding image data loaded in boundary positions in the registers.
In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. 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 invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
Computer 102 includes processor 104, memory 108, and input/output (I/O) interface 116, which are communicatively coupled together via bus 106. Driver 110, data 112 to be printed, and image data 114 are stored in memory 108. In one embodiment, driver 110 is executed by processor 104 to render data 112 to be printed into image data 114. Data 112 to be printed may be any type of printable data, such as image files, word processing files, etc. In one embodiment, image data 114 comprises rows and columns, with one pixel defined at the intersection of each row and column. In one form of the invention, image data 114 includes a plurality of pixels, with each pixel being represented by a multi-bit value (i.e., each pixel is represented by an N-bit value, where N is greater than one). In another embodiment, each pixel in image data 114 is represented by a 2-bit value (e.g., black, white, and two gray levels). In another embodiment, each pixel is represented by a 1-bit value (e.g., black and white).
Printer 120 includes processor 122, I/O interface 126, memory 128, and laser print engine 130, which are communicatively coupled together via bus 124. In one embodiment, processor 122 is a custom processor for implementing custom instructions for performing toner explosion compensation.
I/O interface 126 of printer 120 is electrically coupled to I/O interface 116 of computer 102 through communication link 118. In one embodiment, I/O interfaces 116 and 126 are serial interfaces, such as universal serial bus (USB) interfaces, and communication link 118 is a USB cable. In another embodiment, I/O interfaces 116 and 126 are network interfaces, and communication link 118 is a network, such as a local area network. In other embodiments, other suitable types of interfaces and communication links may be used, including those for wireless communications.
After rendering data 112 into image data 114, computer 102 outputs the image data 114 to printer 120 via communication link 118. The received image data 114 is stored in memory 128 of printer 120, where processor 122 performs toner explosion compensation on image data 114 using registers 132, as described in further detail below with reference to
Processor 122 then renders description file 142 into image data 114. In one embodiment, printer 120 includes PCL firmware for rendering description file 142 into image data 114. Image data 114 is stored in memory 128 of printer 120, where processor 122 performs toner explosion compensation on image data 114 using registers 132, as described in further detail below with reference to
Columns one and 32 have boundary issues such that they need additional pixel information before a pattern could be examined. The pixels in column one would need pixel data from the column to their left and the pixels in column 32 would need pixel data from the column to their right. In one embodiment, this would add complexity and time to account for these boundary conditions. Therefore, these boundary pixels are left unexamined, and the entire register of data in row three excluding columns one and 32 is operated on without regard to any adjacent pixels (i.e., those not currently in the registers). Therefore, 30 pixels out of each group of 32 pixels have toner explosion compensation applied. In one embodiment, this is just as effective and cannot be distinguished from accounting for the boundary regions and applying the compensation to all possible pixels.
In this example, row three, column one, indicated at 150 is a boundary position and row three; column 32, indicated at 152, is also a boundary position. At positions 150 and 152, toner explosion compensation is not performed since there is no data to the left of position 150 and there is no data to the right of position 152 to compare to the toner explosion patterns. In the remaining register positions in row three, columns 2-31, indicated at 154, toner explosion compensation is performed.
Toner explosion template 202 also includes five rows and three columns, and the center pixel, indicated at 206, is the pixel being examined for toner explosion compensation. In other embodiments, other templates having different numbers of rows and columns and different patterns of ones and zeros can be used. If pattern 202 matches a portion of image data 114 loaded in registers 132, center pixel 206 of image data 114 contributes to potential toner explosion conditions. Center pixel 206 is modified to compensate for the toner explosion conditions based upon its position in image data 114. In one embodiment, center pixel 206 of image data 114 is changed from “1” to “0” if pattern 202 matches and an adjacent pixel also contributing to potential toner explosion conditions has not been changed. In another embodiment, center pixel 206 of image data 114 is not changed if pattern 202 matches and an adjacent pixel also contributing to potential toner explosion conditions has been changed. In one form of the invention, pixels contributing to potential toner explosion conditions are modified in a checkerboard pattern. In other embodiments, more complex patterns are used.
Toner explosion template 212 also includes five rows and three columns, and the center pixel, indicated at 216, is the pixel being examined for toner explosion compensation. If pattern 212 matches a portion of image data 114 loaded in registers 132, center pixel 216 of image data 114 is modified to compensate for the toner explosion conditions. In one embodiment, center pixel 216 of image data 114 is changed from “11” to “01” or “00” if pattern 212 matches. In other embodiments, other templates having different numbers of rows and columns and different patterns of ones and zeros can be used.
Toner explosion template 222 also includes five rows and three columns, and the center pixel, indicated at 226, is the pixel being examined for toner explosion compensation. If pattern 222 matches a portion of image data 114 loaded in registers 132, center pixel 226 of image data 114 is modified to compensate for the toner explosion conditions. In one embodiment, center pixel 226 of image data 114 is changed from “10” to “01” or “00” if pattern 222 matches. In other embodiments, other templates having different numbers of rows and columns and different patterns of ones and zeros can be used. Templates or patterns 200, 202, 210, 212, 220, and 222 can be implemented in lookup tables or in logic instructions.
At 410, the patterns, such as patterns 200 and 202, 210 and 212, and 220 and 222, or other suitable patterns, are compared to the register data, excluding register data in Col and Col+31 (the boundary positions). If one or more matches are found, the data in Row, which is in Reg3, is modified. At 412, Row is incremented by one. At 414, processor 122 determines if the last row of image data 114 has been processed. If the last row of image data 114 has not been processed, then control returns to block 408 where the next partial row of image data 114 is loaded into registers 132 and processed. If the last row of image data 114 has been processed, then at 416, Col is incremented by 32. At 418, processor 122 determines if the last column of image data 114 has been processed. If the last column of image data 114 has been processed, then at 420, strip processing, and toner explosion compensation is complete. If the last column of image data 114 has not been processed, then control returns to block 406, where Row is again set equal to one and processing continues on the next group of columns at block 408. Although the flow diagram of
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
Claims
1.-20. (canceled)
21. A printing apparatus comprising:
- at least one storage element configured to store image data and configured to load a set of values from the image data; and
- a pattern comparator configured to perform toner explosion compensation by comparing a portion of the set of values to data indicative of toner explosion conditions, wherein at least one pixel of the image data is modified based on the comparison of the portion of the set of values of image data to the data indicative of toner explosion conditions and toner explosion compensation is not applied when the at least one pixel is loaded in a boundary position of the at least one storage element.
22. The printing apparatus of claim 21, wherein the at least one storage element includes a first storage element to store the image data and a second storage element to load the set of values from the image data.
23. The printing apparatus of claim 21, wherein the boundary position of the at least one storage element is either a first column or a last column.
24. The printing apparatus of claim 21, wherein the data indicative of toner explosion conditions is at least one template.
25. The printing apparatus of claim 23, wherein the at least one template comprises an odd number of rows or columns of pixel data.
26. The printing apparatus of claim 21, wherein the image data comprises 2-bits per pixel.
27. The printing apparatus of claim 21, further comprising:
- a laser print engine in communication with the pattern comparator for printing the image data.
28. The printing apparatus of claim 21, further comprising:
- an input/output interface in communication with the pattern comparator and configured to receive the image data from a host.
29. A method for performing toner explosion compensation on image data, the method comprising:
- loading a portion of the image data into a storage element;
- comparing a window of the portion of the image data to a toner explosion pattern as the window is moved across the portion of the image data such that image data is not compared to a toner explosion pattern when the window is located at a position such that at least one changeable pixel of the window is loaded in a boundary position of the storage element; and
- modifying the at least one changeable pixel of the window of the portion of the image data based on the comparison, when the at least one changeable pixel is contained in non-boundary positions of the storage element.
30. The method of claim 29, wherein the boundary position of the storage element is either a first column or a last column.
31. The method of claim 29, wherein the toner explosion pattern comprises an odd number of rows or columns of pixel data.
32. The method of claim 29, wherein the image data comprises 2-bits per pixel.
33. The method of claim 29, further comprising:
- printing the image data at a laser print engine after the at least one changeable pixel has been modified.
34. The method of claim 29, further comprising:
- receiving the image data from a host.
35. An image forming apparatus for performing toner explosion compensation on image data comprising:
- a memory for storing at least one toner explosion pattern having a plurality of pixel values, wherein at least one of the plurality of pixel values corresponds to a changeable pixel in the image data;
- a storage element comprising a plurality of positions including a first boundary position, a second boundary position, and one or more non-boundary positions, wherein the storage element is configured to load a portion of the image data into the positions; and
- a pattern comparator configured to compare the at least one toner explosion pattern to the portion of the image data loaded in the storage element and change the changeable pixel when the portion of the image data loaded in the storage element matches the at least one toner explosion pattern, wherein the pattern comparator does not compare the at least one toner explosion pattern to the portion of the image data loaded in the storage element when the changeable pixel is loaded in the first boundary position or the second boundary position.
36. The image forming apparatus of claim 35, wherein the memory stores the image data.
37. The image forming apparatus of claim 35, further comprising a second memory for storing the image data.
38. The image forming apparatus of claim 35, wherein the boundary position of the storage element is either a first column or a last column.
39. The image forming apparatus of claim 35, wherein the at least one toner explosion pattern includes an odd number of rows or columns of pixel data.
40. The image forming apparatus of claim 35, further comprising:
- a laser print engine in communication with the pattern comparator for printing the image data.
Type: Application
Filed: Mar 8, 2010
Publication Date: Jul 1, 2010
Applicant:
Inventors: Douglas Gene Keithley (Boise, ID), Roy Gldeon Moss (Palo Alto, CA)
Application Number: 12/719,613