Field of the Invention
The present invention relates to a fine line correction technology for optically drawing fine lines in an equal thickness.
Description of the Related Art
In the related art, a printing apparatus performs printing by developing printing data, which is transmitted from a host computer, into bitmap data, and performing predetermined image processing with respect to the bitmap data that is developed. Typically, the bitmap data is developed as data with the same resolution as that of the printing apparatus.
In addition, there is also suggested a technology of performing printing after development into bitmap data with resolution higher than the resolution of the printing apparatus, and resolution conversion into the resolution of the printing apparatus by using a spot-multiplexing technology for respective pixels. When using the spot-multiplexing technology, it is possible to express image quality with resolution higher than the resolution of the printing apparatus.
The spot-multiplexing technology is a technology of forming dots with resolution higher than resolution of a printer in an electro-photographic printer. Specifically, in the spot-multiplexing technology, with respect to pixels adjacent to each other, dots capable of overlapping each other are formed through optical drawing in an intermediate electric potential level. When the dots capable of overlapping each other are formed through optical drawing in the intermediate electric potential level, an electric potential level of overlapping portions becomes a high level. As a result, even at a position between pixels adjacent to each other in which a dot is not capable of being formed with resolution of the printer, the dot is also formed. Accordingly, a dot with resolution higher than the resolution of the printer is formed. Japanese Patent Laid-Open No. H04-336859(1992) discloses the spot-multiplexing technology.
As described above, in the spot-multiplexing technology, when generating a dot with resolution of a printer, a dot in an intermediate electric potential level is generated so as to form a dot with high resolution. On the other hand, when optically drawing a line, laser bending correction, in which a phase is changed to a sub-scanning direction, is performed so as to correct bending of a laser scanning line. In the case of using a dot in an intermediate electric potential level so as to perform the spot-multiplexing, even in lines having the same width, electric potential levels, which are generated, are different from each other in accordance with a phase (a position in the sub-scanning direction). Therefore, the thickness of the lines may vary. Particularly, in the case of a thin line, there is a problem that a difference in the thickness is significant.
According to an aspect of the invention, there is provided an image processing system that performs correction of shifting bitmap data in a sub-scanning direction so as to cancel bending of an electro-photographic laser scanning line. The image processing system includes: a line command conversion unit that converts a first line drawing command defining a line width as an even-number pixel width smaller than a predetermined even-number pixel width into a second line drawing command defining a line width as the predetermined even-number pixel width; a generation unit that generates binary bitmap data with first resolution on a basis of drawing data including the second drawing command; a correction unit that performs the correction with respect to the binary bitmap data that is generated; a resolution conversion unit that converts the binary bitmap data, which is corrected, into multi-value bitmap data with second resolution lower than the first resolution; and an output unit that outputs the multi-value bitmap data, which is converted, to a printing unit.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
Hereinafter, embodiments of the invention will be described with reference to the accompanying drawings. In the following embodiments, description will be given of an example in which a multi-function peripheral (MFP) provided with a plurality of functions such as a copying function and a printer function is used as an image processing apparatus. On the other hand, the image processing apparatus in the following embodiments may be an apparatus that is used in electro-photographic printing, and is not limited to the MFP.
In a first embodiment, description will be given of an image processing system using the MFP (image processing apparatus) that performs spot-multiplexing processing of forming a dot with resolution higher than resolution of a printer as an example. In addition, description will be given of an example in which a line is corrected in advance in order for the thickness of the line not to vary in accordance with a phase during optical drawing (that is, in accordance with an optical drawing position in a sub-scanning direction in consideration of laser bending correction) in a case where the MFP acquires drawing data including a line drawing command.
The host computer (hereinafter, referred to as “PC”) 10 has a function of a personal computer. The PC 10 transmits drawing data to the image processing apparatus 11 through a printer driver.
The image processing apparatus 11 includes a printer unit 14 that is an image output device, a controller 13 that is in charge of an operation control of the entirety of the image processing apparatus 11, and an operation unit 12 including a plurality of keys used by a user to given an instruction and a display unit that displays various kinds of information to be notified to the user.
The CPU 201 performs an overall control of access with various kinds of devices in connection on the basis of a control program stored in the ROM 203, and performs an overall control of various kinds of processing such as image processing that is performed on an inner side of the controller. The RAM 202 is a system work memory for an operation of the CPU 201, and is also a memory that temporarily stores drawing data and image data such as a bitmap. The RAM 202 includes a SRAM that retains stored contents even after power-off, and a DRAM in which stored contents are erased after power-off. A device booting program and the like are stored in the ROM 203. The HDD 204 is a hard disk driver, and can store system software and image data.
The operation unit I/F 205 is an interface unit for connection with the operation unit 12. The operation unit I/F 205 outputs image data to be displayed on the operation unit 12 to the operation unit 12, and acquires information that is input from the operation unit 12. The network I/F 206 is connected to the network 15, and transmits and receives drawing data, image data, and information.
The rendering unit 207 receives drawing data (PDL data) that is transmitted from the PC 10 and the like. The rendering unit 207 generates intermediate data on the basis of the PDL data described with a PDL code that is received, and generates contone (multi-value) image bitmap data on the basis of the intermediate data that is generated.
The image processing unit 208 receives the image bitmap data that is generated in the rendering unit 207, and performs image processing with respect to the image bitmap data with reference to attribute data that is attached to the image bitmap data. The bitmap data after being subjected to the image processing is output to the printer unit 14 through the printer I/F 209.
Next, in step S303, the rendering unit 207 forms a pixel pattern that is drawn in conformity to processing resolution of the controller on the basis of the intermediate data that is generated, and generates image bitmap data in which color information (contone value) to be drawn to each pixel is included in the pixel. In this embodiment, image bitmap data with first processing resolution, which is processing resolution of the controller, is generated. That is, in this embodiment, image bitmap data with first processing resolution instead of second processing resolution is generated. The first processing resolution is processing resolution of a controller which is higher than the second processing resolution that is processing resolution of the printer unit 14. On the other hand, as described above, the resolution is based on information, which indicates resolution, included in the PDL data. In addition, in step S304, the rendering unit 207 generates attribute bitmap data, which stores the attribute analyzed in step S302, so as to correspond to each pixel of the image bitmap data, and terminates the processing. The attribute bitmap data is image data having the same processing resolution and size as in the image bitmap data. In addition, the attribute bitmap data is data in which each pixel has a value indicating an attribute of the pixel in the image bitmap data.
The drawing bitmap data and the attribute bitmap data, which are generated, are recorded on the RAM 202 or the HDD 204, and are transmitted to the image processing unit 208.
Next, in step S403, the image processing unit 208 selects a dither matrix in accordance with attribute information of each pixel in the attribute bitmap data, and performs dither processing by using the dither matrix that is selected for a pixel of the image bitmap data. For example, with respect to a pixel of which an attribute indicates a character, the image processing unit 208 performs the dither processing by selecting a dither matrix corresponding to the character. According to this, image processing such as emphasis and planarization of an edge is performed in accordance with the attribute. The image processing unit 208 converts each pixel value in the image bitmap, which is a contone value, into a binary value by performing the dither processing, and generates binary bitmap data.
In addition, in step S404, so as to correct bending of laser scanning lines, the image processing unit 208 performs laser bending correction of changing a phase in a sub-scanning direction (shifting an optical drawing position in the sub-scanning direction) with respect to the binary bitmap data that is generated.
In addition, in step S405, the image processing unit 208 performs multi-value processing of converting the binary bitmap data into multi-value bitmap data by using a multi-value filter for the spot-multiplexing processing. Before the processing in step S405, the resolution of the bitmap data is set to the processing resolution of the controller as described above.
Next, in step S406, the image processing unit 208 performs resolution conversion processing by thinning out a pixel of the bitmap data. That is, the image processing unit 208 performs resolution conversion processing of converting bitmap data with the resolution (first resolution) of the controller into bitmap data with resolution (second resolution) of a printer, and generates multi-value bitmap data with the resolution of the printer.
Next, description will be given of the multi-value processing in step S405 and the resolution conversion processing in step S406.
[Processing of Generating Multi-Value Bitmap with Resolution of Printer]
For example, in the case of 3 (horizontal) and 2 (vertical), a coordinate position is expressed by coordinates (3, 2). When a pixel of the coordinates (3, 2) in
When applying the filter in
For example, pixels 0, 2, 4, 6, 8, and 10 in vertical coordinates are sampled with a one-pixel interval, and pixels 0, 2, 4, 6, 8, 10, 12, and 14 in horizontal coordinates are sampled with a one-pixel interval for conversion into a multi-value bitmap with resolution of 600 dpi. In the multi-value bitmap with resolution of 600 dpi, a line 501 having a three-pixel width in
The multi-value bitmap data, of which resolution is converted into the resolution of the printer in the resolution conversion processing, with resolution of 600 dpi is output to the printer unit 14 through the printer I/F 209. Hereinbefore, description has been given of the filter processing in step S405, and the resolution conversion processing in step S406 in
The line 501 having a three-pixel width, in which a position (vertical phase) in a sub-scanning direction in
In addition, the line 502 having a three-pixel width, in which a position (vertical phase) in the sub-scanning direction in
Next, description will be given of the phase changing processing that is performed in step S404 so as to correct bending of laser scanning lines. Bending of the laser scanning lines occurs due to non-uniformity of a lens in a deflection scanning apparatus, a deviation in a mounting position of the lens, a deviation in an installation position of the deflection scanning apparatus to a main body of the image processing apparatus, and the like. Bending occurs in the scanning lines due to the deviation in the positions. The image processing unit 208 performs processing of shifting the scanning lines toward a sub-scanning line direction at a predetermined position (changing position) in the main scanning direction so as to cancel bending of the scanning lines. Specifically, the image processing unit 208 performs processing of deviating the bitmap data toward the sub-scanning direction by one pixel at the predetermined position (changing position). When performing scanning by using the bitmap data in which bending is corrected, optical drawing in which bending is solved is realized. In a case where the bending correction is performed with respect to data with low resolution, the amount of shift per one pixel is greater in comparison to a case where bending correction is performed with respect to data with high resolution, and thus a step difference is likely to occur. Accordingly, in this embodiment, the bending correction is performed to bitmap data with high resolution such as the resolution of the controller.
The sums of line concentration values of the lines 711 and 712 are 75%+75%=150% (line 711) and 25%+100%+25%=150% (line 712), and are equal to each other. However, a dot in an intermediate electric potential level such as the concentration of 25% and the concentration of 75 is more unstable in comparison to a dot having a solid concentration of 100%. Accordingly, it cannot be said that the optical drawing thickness of the line 711 and the optical drawing thickness of the line 712 are completely equal to each other, and the thickness of the line 711 and the thickness of the line 712 may become different from each other. Particularly, in the case of optically drawing a thin line such as a fine line, a difference in the thickness becomes significant.
According to this, in this embodiment, line width adjustment is performed through phase changing in order for the thickness of a line not to be changed.
In
In the case of the line drawing command, in step S803, the printer driver acquires a line width defined by the drawing command. In step S804, the printer driver determines whether or not the line width is smaller than a predetermined width. Here, the predetermined width is a value for determination of a fine line in which a difference in line thickness is likely to occur when a phase deviates, and for example, an odd-number pixel width such as a three-pixel width and a five-pixel width is designated. On the other hand, the line width is a pixel width with the resolution of the controller. As described above, in addition to the drawing command, information indicating resolution is also included in the drawing data, and in this embodiment, the resolution of the controller is designated.
In step S804, in a case where it is determined that the line width is smaller than the predetermined width, the processing proceeds to step S805. Otherwise, the processing is terminated. In step S805, the printer driver determines whether or not the line width is an odd-number width. The reason for making the determination is as follows. When performing resolution conversion with respect to a line bitmap (
In step S806, the printer driver increases the line width by one-line width (+1) so as to set (correct) the line width to an even-number width, and terminates the processing. The above-described processing is performed with respect to the drawing command that is included in the drawing data. Furthermore, here, the printer driver performs the above-described processing by analyzing the drawing data, but the printer driver may perform the following processing. Specifically, during generation of the drawing data (drawing command), the printer driver analyzes a drawing command that is sequentially transmitted from an interface such as GDI provided to an operating system (OS) (not shown) of the PC 10, and specifies a line drawing command. In addition, with respect to the line drawing command that is transmitted from the GDI, the printer driver generates a PDL-type drawing command having a line width that is an even-number width. With respect to other drawing commands, the printer driver may generate a PDL-type drawing command in accordance with the drawing command transmitted from the GDI.
Drawing data (PDL data), which includes a drawing command of a line in which a line width is set to an even-number width, is transmitted to the image processing apparatus 11 through the network 15 as described above.
As described above, according to this embodiment, in a case where the line width of the line drawing command is an odd-number width, one line is added to the line width to obtain an even-number width. According to this, it is possible to draw a line having the same thickness regardless of a phase.
On the other hand, in this embodiment, description has been given of an example in which when the line width of the line drawing command is an odd-number width, one line is added to the line width to obtain an even-number width. However, it is also possible to employ processing in which one line is deleted to obtain the even-number width. On the other hand, in a very short line width, when one line is deleted, a line may not be optically drawn. Therefore, in the case of deleting one line, it is possible to employ an aspect in which a lower threshold value is set, and one line is deleted when the line width is greater than the threshold value.
In addition, in this embodiment, description has been given of an example in which the line-width adjustment processing is performed in the printer driver of the PC 10, but the line-width adjustment processing may be performed in the image processing apparatus 11. That is, it is possible to employ an aspect in which the processing illustrated in
In the first embodiment, description has been given of an example in which the line width of the line drawing command of the drawing data is adjusted, but the line may be drawn by using a drawing command of an image or a figure instead of the line drawing command. When drawing a line with a command other than the line drawing command, the line width is not set, and thus it is difficult to adjust the line width by the method described in the first embodiment.
According to this, in the second embodiment, description will be given of processing in which a line is detected from a binary bitmap with the processing resolution of the controller, and the line width is adjusted. On the other hand, as is the case with the first embodiment, this embodiment also illustrates processing of converting a binary bitmap of 1200 dpi that is the processing resolution of the controller into a multi-value bitmap of 600 dpi that is a printing resolution of the printer.
First, in step S1001, the image processing unit 208 acquires binary bitmap data, which is generated in the dither processing in step S402, of 1200 dpi that is the processing resolution of the controller.
In step S1002, the image processing unit 208 performs pattern matching of respective pixels of bitmap data by using a detection window of N×M, and detects line data in the bitmap data. The detection window is set to a window having a size sufficient for detection of a fine line.
Next, in step S1003, the image processing unit 208 calculates a line width of the line data that is detected in step S1002.
In step S1004, the image processing unit 208 determines whether or not the line width is equal to or less than a predetermined width. As the predetermined width, for example, a three-pixel width, a five-pixel width, and the like can be designated as described in the first embodiment. In a case where it is determined that the line width is equal to or less than the predetermined width, the processing proceeds to step S1005. Otherwise, the processing is terminated.
In step S1005, the image processing unit 208 determines whether or not the line width is an odd-number width. In a case where the line width is determined as the odd-number width, the processing proceeds to step S1006. Otherwise, the processing is terminated.
In step S1006, the image processing unit 208 thickens line data by one pixel, and the processing is terminated.
Then, as described in the first embodiment, the image processing unit 208 performs the multi-value processing (S404) and the resolution conversion processing (S405) with respect to the line data which is thickened by one pixel.
The multi-value processing and the resolution conversion processing have been described with reference to
As described above, according to this embodiment, a line is determined from a binary bitmap with the processing resolution of the controller, and the line width is adjusted. According to this, with respect to a line that is drawn with a drawing command other than the line drawing command, it is also possible to draw the line having the same thickness regardless of a phase.
On the other hand, in this embodiment, description has been given of the thickening processing as the line width adjustment as an example, but thinning processing may be employed similar to the first embodiment.
In addition, even in this embodiment, the following processing may be performed. That is, a line width, which is equal to or less than a predetermined width (for example, equal to or less than a three-pixel width), of a line may be set (corrected) to a pixel width of the predetermined width+one pixel width (that is, a four-pixel width). In this case, it is possible to thicken a line having a width that is equal to or less than the predetermined width and is an even-number width (two-pixel width), and it is possible to draw a line without being affected by a phase.
In the first embodiment and the second embodiment, description has been given of examples in which addition or deletion of one line is performed with respect to a line having an odd-number width for adjustment into an even-number width.
When the line having an odd-number width is set to have an even-number width, it is possible to solve a problem in which the thickness of the line is apt to vary due to the phase changing, but the line width has the same thickness as that of an original line having the even-number width. For example, a line having a three-pixel width is adjusted to a line having a four-pixel width, and has the same thickness as that of the line having a four-pixel width. Therefore, the lines are not discriminated from each other.
According to this, in this embodiment, description will be given of the following processing. Specifically, a line, which has a one-pixel width and a concentration of 50%, is added to a line having an odd-number width, and one line (line having a one-pixel width) in the original line is thinned out by a concentration of 50%. According to this, discrimination between the line having an odd-number width and the line having an even-number width is realized.
On the other hand, processing from step S1201 to step S1205 may be set to be the same as the processing from step S1001 to step S1005 described in the second embodiment, and thus description thereof will be omitted.
After passing through step S1204 and step S1205, in a case where a line width is equal to or less than a predetermined width and the line width is an odd-number width, the processing proceeds to step S1206.
In step S1206, the image processing unit 208 thickens 50% line data, which is thinned out with a one-pixel interval, by a one-pixel width. In addition, in step S1207, the image processing unit 208 thins out one line at a line edge thickened by a one-pixel width, and one line at a line edge that is opposite to the line edge are thinned out with a one-pixel interval to obtain 50% line data, and then the processing is terminated.
Then, the multi-value processing (S404) and the resolution conversion processing (S405) are performed with respect to the line data that is subjected to the 50% line-width adjustment as described in
As described above, according to this embodiment, a line having a one-pixel width and a concentration of 50% is added to a line having an odd-number width, and a line having a one-pixel width in an original line is thinned out by a concentration of 50%. According to this, it is possible to draw a line having the same thickness regardless of a phase, and it is possible to discriminate a line having an odd-number width and a line having an even-number width from each other.
On the other hand, in this embodiment, description has been given of an example in which 50% line data which is thinned out with a one-pixel interval is added, and one line at a line edge that is opposite to the added 50% line is thinned out with a one-pixel interval. However, there is no limitation to the example, and it is possible to employ any processing as long as a combination of pixel values (concentration values) in which resolution is converted through multi-value processing is the same between before the correction and after the correction (including vertical inversion). For example, it is also possible to employ processing in which 50% line data, in which two pixels are thinned out with a two-pixel interval, is added, and one line at a line edge opposite to the added 50% line is thinned out by two pixels with a two-pixel interval. In addition, with regard to the line that is thinned out, it is possible to employ an aspect in which a line located over an edge by one pixel is thinned out instead of the line that becomes an edge. The reason for employment of the processing or aspect is because a combination of pixel values (concentration values), in which resolution is converted by multi-value processing through the 3×3 filter processing, is the same between before the correction and after the correction (including vertical inversion).
In addition, in this embodiment, description has been given of an aspect in which a line is detected from bitmap data, but it is also possible to employ an aspect in which a drawing command is changed as described in the first embodiment. For example, in a case where a drawing width of the drawing command indicates a three-pixel width, for example, a line having a concentration of 50% is added to an upper portion in a drawing region of the drawing command. In addition, it is also possible to employ an aspect in which a line width of the drawing command is changed to a two-pixel width, and one line having a concentration of 50% is added to lower portion of a drawing region in a line after the changing.
In the respective embodiments, description has been given a configuration in which processing of deviating the bitmap data by one pixel in the sub-scanning direction is performed through the phase changing processing, and thus combinations of relative positions in pixel sampling with respect to a line do not match before correction of the line width. However, an application range of the invention is not limited to a case where the phase changing processing is performed. That is, the invention is applicable to the entirety of cases in which the combinations of the relative positions in the pixel sampling with respect to a line do not match when the line-width is not adjusted. For example, a line, which has an odd-number width and deviates in a sub-scanning direction for each pixel in a unit of several pixels, may be corrected to a line having an even-number width, and pixel sampling, in which a sampling period is set to two pixels (even-number pixel), may be performed with respect to the line after the correction. The above-described conversion into a multi-value may be performed between the correction of the line width and the pixel sampling.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
According to the invention, when optically drawing a line by using the spot-multiplexing technology, it is possible to draw a line having the same thickness regardless of a drawing phase.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Applications No. 2015-193352, filed Sep. 30, 2015, and No. 2016-176864, filed Sep. 9, 2016, which are hereby incorporated by reference wherein in their entirety.
Number | Date | Country | Kind |
---|---|---|---|
2015-193352 | Sep 2015 | JP | national |
2016-176864 | Sep 2016 | JP | national |