1. Field of the Invention
The present invention relates to an image processing technique for controlling a load amount of a color material.
2. Description of the Related Art
In a case where an image is printed by an electronic photograph-type image forming apparatus by printing a straight line image (line image) extending in a (main scanning) direction orthogonal to a conveying direction, a phenomenon may be caused as shown in
One technique to suppress the tailing is to subject pixel data to a pattern matching to perform a culling processing on pixels matching a predetermined pattern, thereby reducing the load amount of the developer onto the paper 201 (see Japanese Patent Laid-Open No. 2009-23283). The pixel culling processing is a process to convert black pixels to white pixels or a process to convert colored pixels to colorless pixels. In the case of the electronic photograph-type image forming apparatus, an electronic photograph photoreceptor has thereon a strong electric field (which is called an edge field) formed at an edge rather than the center of an electrostatic latent image. Thus, the toner load amount increases toward the lower end of the edge of the line image in the conveying direction. Thus, more tailing can be effectively suppressed in a case where a culling process is performed on pixels closer to the lower end of the edge of the line image in the conveying direction.
On the other hand, one technique to improve the printing quality of characters and lines is to detect an edge of a character or a line to add black pixels (or to convert white pixels to black pixels) to the neighboring region of the detected edge to thereby expand the edge (line width correction processing) (see Japanese Patent Laid-Open No. 2000-206756).
In a case where a parallel configuration is realized by a tailing suppression processing unit for performing the above-described culling processing for the tailing suppression and a line width correction processing unit for performing a line width correction processing, the respective processings are independently performed to inputted pixel data. In this case, the respective processing units must consider the processings by other processing units otherwise a disadvantage as described below is cause. For example, in a case where a line image is inputted to this parallel configuration, then the respective processing units output pixel data obtained by subjecting the inputted line image to the tailing suppression processing and another pixel data subjected to a line width correction processing for expanding the edge of an inputted line image. Then, by combining these pieces of pixel data, output pixel data is finally generated. In the process of this processing, the tailing suppression processing is performed to determine to-be-culled lines and a culling pattern in the line image based on the width of the inputted line image. On the other hand, the line width correction processing expands the edge region. As a result, the inputted pixels that have originally formed the edge do not form an edge anymore. In such a case, a deteriorated image quality may be caused by a deteriorated tailing suppression effect because an image having passed the image fixing units is an image, which is obtained by the culling processing for the tailing suppression which is performed at a position away from the lower end of the edge in the conveying direction.
The image forming apparatus of the present invention includes: an line width correction processing unit that detects an edge neighboring region of an input image in a predetermined direction to subject the detected edge neighboring region to a line width correction processing; a determination unit that determines a tailing suppression processing specification depending on the predetermined direction used by the line width correction processing unit; and a tailing suppression processing unit that is provided to be parallel with the line width correction processing unit, the tailing suppression processing unit subjects the input image to a tailing suppression processing based on the tailing suppression processing specification determined by the determination unit.
According to the present invention, even in a case where the line width correction processing and the tailing suppression processing are provided by a parallel configuration (a configuration having a smaller circuit size by a shared circuit), the tailing suppression processing can be performed by a culling pattern depending on a change in the edge region due to the line width correction processing. As a result, the tailing suppression effect can be suppressed from being reduced.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
The following section will describe an embodiment for carrying out the present invention with reference to the drawings.
A case will be described as an embodiment of the present invention in which the invention is applied to a laser beam printer. However, the invention is not limited to this. The invention also can be applied to, within a scope not deviating from the intention thereof, an arbitrary printer or an electronic photograph-type image processing apparatus such as a facsimile. A case will be described in which the invention is applied to a white black printer. However, the invention also can be applied to a color printer.
<Entire System Configuration>
The host computer 170 is configured so that a CPU 171, a ROM 172, a RAM 173, and a network I/F 174 are connected via a bus 175.
The RAM 173 loads program data stored in the ROM 172 to temporally store the program data. The CPU 171 executes applications stored in the RAM 173. By using these applications, a page layout document, a word processor document, or a graphic document for example can be prepared. The digital document data prepared by these applications is subjected to the execution by the CPU 171 of a printer driver stored in the RAM 173, thereby generating a drawing command based on the digital document. The drawing command generated by the printer driver generally includes a language called a printer description language (PDL) used to prepare page image data. The drawing command generally includes drawing instructions for data such as characters, graphics, or images.
Then, the CPU 171 sends the generated drawing command via the network I/F 174 to the white black printer 100 through the external network 190.
<Configuration of White Black Printer>
The white black printer 100 is composed of: a controller unit 101; and a printer unit 102. As shown in
A display unit 116 displays a user interface (UI) screen that displays an instruction to a user or the status of the printer unit 102. An operation unit 115 is an interface for receiving an input from a user.
An interpreter 117 interprets a drawing command received via the network I/F 110 to generate intermediate language data. A renderer 118 generates a raster image based on the generated intermediate language data. A binary image data generation unit 119 subjects the generated raster image to an image processing (e.g., a color convert processing, a γ correction processing by a lookup table, or a pseudo half tone processing) to generate binary image data. In Embodiment 1, the subsequent processing will be described while paying attention on the binary image data generated by the binary image data generation unit 119.
A binary image processing unit 120 performs an image processing (which will be described later) on the binary image data inputted from the binary image data generation unit 119 to convert the data to an image data format that can be outputted from the printer unit 102.
The printer unit 102 connected to the controller unit 101 is a printer that forms, based on the image data that is converted by the binary image processing unit 120 and that can be outputted, an image on a paper surface by using toner.
<Binary Image Processing Unit>
As shown in
The shared buffer unit 2310 is provided in a former stage of each image processing unit. The shared buffer unit 2310 retains the input pixel data corresponding to a plurality of lines in an accumulated manner. Based on the accumulated input pixel data, the shared buffer unit 2310 outputs the pixel groups Wa to We required for the respective subsequent image processing units.
The half tone determination unit 2320 refers to the pixel group Wb having a predetermined window size (e.g., 11×11) around the target pixel as a center to determine whether the target pixel is a pixel of a half tone region or not. The half tone determination result Fa is outputted to the subsequent toner save processing unit 2330 and line width correction processing unit 2340. In a case where the target pixel is not the one of a half tone region and is an edge pixel, then no toner save processing is performed. In a case where the target pixel is the one of a half tone region, no line width correction processing is performed.
The toner save processing unit 2330 mainly subjects an image object (also may be simply referred as an object) to a pixel culling processing for reducing a toner consumption amount. The toner save processing unit 2330 determines, based on the culling pattern of the toner save processing and the target pixel position, whether the target pixel is a culling target or not. The toner save processing unit 2330 also refers to the pixel group We having a predetermined window size (e.g., 3×3) around the target pixel to determine whether or not the target pixel is an edge pixel provided at a neighboring boundary between a black pixel and a white pixel. In a case where the target pixel is a culling target and has an input pixel value of 1 (black pixel) and is not determined as an edge pixel, then the determination result Fb is set to ON (which means that a culling process for saving toner is to be executed) and the pixel value is converted to 0 (white pixel) and the converted value is outputted. In a case where the target pixel is determined as a culling target and has an input pixel value of 1 (black pixel) and is determined as an edge pixel and the half tone determination result Fa shows that the target pixel is the one of a half tone region, then the determination result Fb is set to ON with regard to the pixel and the pixel value is converted to 0 and the converted value is outputted.
The line width correction processing unit 2340 mainly performs a line width correction processing to highlight a fine line or an object such as a small graphic. The line width correction processing also may be called as a plump processing. The line width correction processing unit 2340 refers to the pixel group We having a predetermined window size (e.g., 3×3) around the target pixel to determine whether the target pixel is an edge neighboring pixel or not. In a case where the target pixel is determined as an edge neighboring pixel and the half tone determination result Fa shows that the target pixel is not a pixel of a half tone region and the inputted pixel value is 0 (white pixel), then the determination result Fc for the target pixel shows that the line width correction processing execution is ON and the pixel value is converted to 1 (black pixel) and the converted value is outputted.
The tailing suppression processing unit 2350 performs a culling process for tailing suppression. The tailing suppression processing unit 2350 refers to the pixel group Wd having the predetermined window size (e.g., 9×9) around a target pixel as a center to determine whether the target pixel should be culled for tailing suppression or not. First, the tailing suppression processing unit 2350 detects a line image (line image region) from the image group Wd. Depending on the line width of the detected line image, the type of the culling pattern for the tailing suppression processing and the position of the culling processing line in the line image are determined. Next, the tailing suppression processing unit 2350 determines, based on the culling pattern for the tailing suppression processing and the target pixel position, whether the target pixel is a culling target or not. In a case where the target pixel is determined as a culling target, then whether the pixel is included in the culling processing line or not is further determined. In a case where it is determined that the input pixel value is 1 (black pixel) and is a culling target and is included in the culling processing line, then the determination result Fd with regard to the target pixel is set to ON (a culling execution for tailing suppression) and the input pixel value is converted to 0 (white pixel) and the converted value is outputted.
In order to avoid an unattractive appearance the dot dispersion processing unit 2360 reduces and disperses the white dots having a specific pattern in the image while maintaining the density. The dot dispersion processing unit 2360 refers to the pixel group We having a predetermined window size (e.g., 27×27) around the target pixel as a center to determine whether or not the white dots of the current target pixel should be reduced and whether or not white dots should be given to the target pixel position to thereby output the determination result Fe. In a case where it is determined that white dots should be reduced, the input pixel value of the target pixel is converted to 1 (black pixel) and the converted value is outputted. In a case where it is determined that white dots should be given to the target pixel, the input pixel value of the target pixel is converted to 0 (white pixel) and the converted value is outputted. In a case where neither of the above determinations is made, the input pixel value of the target pixel is directly outputted.
The final output determination unit 2370 determines the final pixel value of the target pixel based on the input pixel value of the target pixel and the processing results of the respective processing units.
<Shared Buffer Unit>
Next, with reference to
The pixel Wa is a target pixel and is directly inputted to the subsequent final output determination unit 2370.
The pixel group Wb is a pixel group outputted to the subsequent half tone determination unit 2320. The pixel group Wb is exemplarily shown as a 11×11 pixel group. Specifically, the half tone determination unit 2320 collectively refers to the 11×11 pixel group for the half tone determination of the target pixel position.
The pixel group Wc is a pixel group outputted to the subsequent toner save processing unit 2330 and line width correction processing unit 2340. The pixel group Wc is exemplarily shown as a 3×3 pixel group. Specifically, the toner save processing unit 2330 and the line width correction processing unit 2340 collectively refer to the 3×3 pixel group in order to obtain the toner save processing result for the target pixel position and the line width correction processing result.
The pixel group Wd is a pixel group outputted to the subsequent tailing suppression processing unit 2350. The pixel group Wd is exemplarily shown as a 9×9 pixel group. Specifically, the tailing suppression processing unit 2350 collectively refers to the 9×9 pixel group in order to obtain the tailing suppression processing result of the target pixel position.
The pixel group We is a pixel group outputted to the subsequent dot dispersion processing unit 2360. The pixel group We is exemplarily shown as a 27×27 pixel group. Specifically, the dot dispersion processing unit 2360 collectively refers to the 27×27 pixel group in order to obtain the dot dispersion processing result of the target pixel position.
Thus, 27, which is the maximum line number among the output pixel group from Wa to We, is the line number to be accumulated in the shared buffer unit 2310. Thus, K=27 is established in this embodiment.
By having the shared buffer unit 2310 as described above, no need is required to individually configure a plurality of buffer units to generate the pixel groups Wa, Wb, Wc, Wd, and We. Thus, the existence of the shared buffer unit 2310 as in this embodiment can achieve a smaller circuit size and a lower cost when compared with a case where a plurality of buffer units are configured.
<Half Tone Determination Processing>
Next, with reference to
Then, an all area determination unit 2322 generates a final half tone determination result Fa based on the determination by the area determination unit 2321 that the four areas are entirely white. Specifically, if any one of the four areas is determined to be entirely white, then a half tone is not determined. If no one of the four areas is determined to be entirely white, then a half tone is determined. If it is determined that the respective four areas are entirely black (all pixel values have a value of 1), a half tone is similarly determined in this embodiment. Specifically, the half tone of this embodiment does not necessarily match the half tone of the area gradation.
In this embodiment, the one half tone determination result Fa outputted from the half tone determination unit 2320 is commonly inputted to the subsequent toner save processing unit 2330 and line width correction processing unit 2340. In this manner, the half tone determination result shared by the toner save processing and the line width correction processing can reduce the circuit size. However, if necessary, another configuration also may be used in which the toner save processing unit 2330 and the line width correction processing unit 2340 may respectively change the definitions of the determinations areas 1 to 4. Then, the respective determination result may be separately inputted to the toner save processing unit 2330 and the line width correction processing unit 2340.
<Toner Save Processing>
Next, with reference to
Next, the flag mask unit 2335 performs a processing to mask the edge determination result of the above-described upper, lower, left and right directions. By the mask processing, even if an edge is detected, the determination result showing that no edge is detected can be outputted to the subsequent unit.
Specifically, the flag mask unit 2335 refers to the edge detection setting signals ed1 to ed4 inputted by the CPU 112 based on the setting described below to determine whether or not to mask the respective edge determination results. The reference marks ed1 to ed4 show the upper, lower, left and right edge detection settings, respectively. In a case where ed1 is set to OFF for example, the flag mask unit 2335 masks the edge determination signal outputted from the upper edge determination unit 2331 to send the determination result to a subsequent unit. Specifically, even if the upper edge determination unit 2331 detects an upper edge, the determination result showing that no upper edge is detected is sent to a subsequent unit. On the contrary, in a case where ed1 is set to ON and the upper edge determination unit 2331 detects an upper edge, then the determination result is directly outputted to a subsequent unit. A similar processing is performed on the lower edge for ed2, on the left edge for ed3, and on the right edge for ed4. By doing this, the flag mask unit 2335 outputs, to the subsequent toner save determination unit 2337, the edge determination result (edge detection information) in the direction along which ed1 to ed4 are ON.
The pixel position determination unit 2336 generates a signal showing the position of the currently-processed target pixel (target pixel position information) to output the signal to the toner save determination unit 2337. For example, in a case where a culling pattern is a checkered pattern, this output signal is a signal showing whether the target pixel is positioned at an odd number line or an even number line in the sub scanning direction within the processing page or is positioned at an odd number pixel or an even number pixel in the main scanning direction. This signal is used for the subsequent toner save determination processing.
Next, the toner save determination unit 2337 determines whether the current target pixel should be culled for the purpose of reducing the toner consumption amount (or a black pixel should be substituted with a white pixel). Then, the toner save determination unit 2337 outputs the determination result Fb to a subsequent unit. This determination is executed by referring to the half tone determination result Fa, the target pixel data showing a part of the 3×3 pixel group Wc, the upper, lower, left and right edge determination results outputted from the flag mask unit 2335, and the target pixel position information from the pixel position determination unit 2336.
The toner save determination unit 2337 firstly determines, by a logical operation, whether or not the target pixel is a culling target of a toner save processing based on the target pixel position information from the pixel position determination unit 2336 and the culling pattern for the toner save processing (a toner save pattern). As an example, the toner save determination unit 2337 refers to the target pixel position information to determine, in a case where the target pixel position is at an odd number line, the odd number pixel as a culling target and determine, in a case where the target pixel position is at an even number line, the even number pixel as a culling target. As a result, the pixels determined as a culling target are arranged to form a checkered pattern with regard to the entire image. In a case where a target pixel is not determined as a culling target, then the determination result Fb is set to OFF (a culling for toner saving is not executed) and thus the inputted target pixel value is directly outputted.
Next, in a case where the pixel is determined as a culling target, then whether or not the pixel is in an edge region is determined. The toner save determination unit 2337 refers to the masked upper, lower, left and right edge determination results inputted from the flag mask unit 2335 to determine whether the target pixel is in an edge region or not. For example, in a case where any one of the masked upper, lower, left and right edge determination results shows that the target pixel is in an edge region, then the target pixel is determined as an edge region. In a case where any one of the masked upper, lower, left and right edge determination results shows that the target pixel is in not an edge region, then the target pixel is determined as a no-edge region other than an edge region. In a case where the pixel determined as a culling target and determined as the one in a no-edge region has an input pixel value of 1 (black pixel), then the determination result Fb is set to ON (culling execution for toner saving) and the input pixel value is converted to 0 (white pixel) and the converted value is outputted.
Then, it is determined whether or not the pixel determined as a culling target and determined as the one in an edge region is the one of a half tone. Upon receiving the half tone determination result Fa, in a case where the target pixel is determined as the one of a half tone and the input pixel value is 1 (black pixel), then the determination result Fb of the pixel is set to ON (culling execution for toner saving) and the input pixel value is converted to 0 (white pixel) and the converted value is outputted. In a case where the half tone determination result Fa shows that the target pixel is not determined as the one of a half tone, then the determination result Fb is set to OFF (no culling execution for toner saving) the input pixel value is directly outputted, even if the pixel is determined as the one of an edge region.
Specifically, in a case where the target pixel is determined as a culling target and has an input pixel value of 1 (black pixel) and is not determined as an edge pixel or in a case where the target pixel is determined as an edge pixel but the half tone determination result Fa shows that the pixel is the one of a half tone region, then it is determined that the pixel should be culled. With regard to the pixel, the determination result Fb is set to ON (culling execution for toner saving) and the pixel value is converted to 0 (white pixel) and the converted value is outputted. In a case where pixel determined as the culling target is a black pixel with regard to the target pixel but the half tone determination result Fa shows that the pixel is not the one of a half tone region, then it is determined that the pixel should not be culled. Then, with regard to the pixel, the determination result Fb is set to OFF (no execution of culling for toner saving), the pixel value having 1 (black pixel) is directly outputted. This consequently reduces the toner consumption amount while suppressing a situation where the quality of an edge is deteriorated because an edge of a region other than a half tone region (e.g., characters) is undesirably culled. The above section has described a case in which the culling pattern was a checkered pattern. However, another culling pattern also may be used for toner save processing.
<Line Width Correction Processing Unit>
Next, with reference to
The four edge neighboring determination units 2341 to 2344 execute an edge neighboring determination processing in four directions, respectively. The edge neighboring determination processing is a processing to determine whether or not the target pixel is a white pixel which is provided at a neighboring boundary between a black pixel and a white pixel.
In
Similarly, with regard to Wc6 of
Next, the flag mask unit 2345 performs the above-described processing to mask the edge neighboring determination result in the upper, lower, left and right directions. By the mask processing provides, even if an edge neighboring position is detected, the determination result showing that no edge neighboring position is detected can be outputted to a subsequent unit. Specifically, the flag mask unit 2345 refers to the edge neighboring detection setting signals esd1 to esd4 inputted by the CPU 112 based on the line width correction setting described later to determine the processing. The reference marks esd1 to esd4 show the upper, lower, left and right edge neighboring detection settings, respectively.
For example, in a case where esd1 is set to OFF, the flag mask unit 2345 masks the edge neighboring determination signal outputted from the upper edge neighboring determination unit 2341 and outputs the determination result to a subsequent unit. Specifically, even if the upper edge neighboring determination unit 2341 detects the upper edge neighboring position, the subsequent unit receives the determination result showing that no upper edge neighboring position is detected. In a case where esd1 is set to ON on the contrary, the subsequent unit directly receives the determination result showing that the upper edge neighboring position is detected by the upper edge neighboring determination unit 2341.
A similar processing is performed on the determination result of the lower edge neighboring position with regard to esd2, on the determination result of the left edge neighboring position with regard to esd3, and on the determination result of the right edge neighboring position with regard to esd4. By doing this, the flag mask unit 2345 outputs, to the subsequent line width correction determination unit 2346, the edge neighboring determination result (edge neighboring position information) in the directions along which esd1 to esd4 are ON.
Next, the line width correction determination unit 2346 determines whether or not to plump the current target pixel for the line width correction (or to substitute a white pixel with a black pixel) to output the determination result Fc to a subsequent unit. This determination is executed by referring to the half tone determination result Fa, the target pixel data constituting a part of Wc, and the upper, lower, left and right edge neighboring determination results.
Specifically, the line width correction determination unit 2346 refers to the upper, lower, left and right edge neighboring determination results inputted from the flag mask unit 2345 to determine whether or not the target pixel is at an edge neighboring position. For example, in a case where any of the masked upper, lower, left and right edge neighboring determination results determines that the target pixel is at an edge neighboring position, then the target pixel is determined as the one in the edge neighboring region. In a case where any of the masked upper, lower, left and right edge neighboring determination results determines that the target pixel is not at an edge neighboring position, then the target pixel is determined as the one not in the edge neighboring region.
In a case where the target pixel is determined as not the one in the edge neighboring region, then the determination result Fc is set to OFF (no execution of the line width correction processing) and the input pixel value is directly outputted. In a case where the target pixel is determined as an edge neighboring region, then whether or not the pixel is the one of a half tone is determined. If the half tone determination result Fa shows that the target pixel is determined as the one of a half tone, even if the pixel is determined as the one in the edge neighboring region, the determination result Fc is set to OFF (no execution of the line width correction processing) and the input pixel value is directly outputted. In a case where the half tone determination result Fa determines that the target pixel is not the one of a half tone, the determination result Fc for the pixel is set to ON (line width correction processing execution) and the input pixel value is converted to 1 (black pixel) and the converted value is outputted.
Specifically, in a case where the target pixel is determined as an edge neighboring pixel and the half tone determination result Fa shows that the pixel is not the one in a half tone region and the inputted pixel value is 0 (white pixel), then the determination result Fc for the target pixel outputs a pixel value different from the input pixel value. In the case other than the above case, then the determination result Fc for the target pixel outputs a signal having the same pixel value as the input pixel value. This consequently improves the quality of a fine line or an object such as a small graphic while suppressing the deteriorated quality of the edge due to the highlighted edge of a halftone dot of the half tone region.
<Tailing Suppression Processing Unit>
Next, with reference to
The tailing suppression processing unit 2350 receives the 9×9 pixel group Wd from the shared buffer unit 2310. In the tailing suppression processing unit 2350, firstly, the pixel group Wd is input to the line image detection unit 2351.
The line image detection unit 2351 determines whether or not the respective lines of the inputted pixel group Wd are a black line based on the number or ratio of black pixels in the lines. In this embodiment, if all of the pixels in the lines are black pixels, then the lines are determined as black lines. The term “line” herein means a row of pixels having a 1 pixel width extending in the main scanning direction. The term “line image” means an image of a plurality of lines in which black lines are arranged to be adjacent to one another in the sub scanning direction. The line image detection unit 2351 detects a line image including the target pixel based on the black line determination result to determine the line image information such as a line image width to output the information to the tailing suppression determination unit 2353. In this embodiment, the line image information further includes a relative position of the line image in the pixel group Wd.
The pixel position determination unit 2352 generates the signal (target pixel position information) showing the position of the currently-processed target pixel and outputs the signal to the tailing suppression determination unit 2353. For example, in a case where the tailing suppression processing also uses a culling pattern of a checkered pattern, this output signal functions as a signal showing that the target pixel is in an odd number line or in an even number line within the processing page in the sub scanning direction or showing that the target pixel is in an odd number line or in an even number line in the main scanning direction. This signal is used for the subsequent culling processing.
Next, the tailing suppression determination unit 2353 determines whether or not the current target pixel should be culled for the above-described tailing suppression to output the determination result Fd to a subsequent unit. This determination is executed by referring to the target pixel data constituting a part of Wd, the line image detection result by the line image detection unit 2351, the target pixel position information by the pixel position determination unit 2352, and the tailing suppression setting information stored in the tailing suppression setting storage unit 2354.
The tailing suppression setting information stored in the tailing suppression setting storage unit 2354 is information that should be referred to by the tailing suppression determination unit 2353 and that defines the details of the tailing suppression processing (method). This information will be hereinafter referred to as a tailing suppression processing specification. By the setting of the tailing suppression processing specification, the details of the tailing suppression processing applied to a line image having a predetermined line width are determined depending on the level of the line width correction as described later. If the setting of the tailing suppression processing specification changes, the details of the applied tailing suppression processing also changes, even if the line image has the same line width. This tailing suppression processing specification includes the to-be-applied culling pattern type (Pattern) and the position of the culling processing line in the line image that are specified while being associated with the width of the black line. In this embodiment, the position of the culling processing line includes the position (EdgeLine) and the culling width (ApplyLine) from the lower end of the edge of the line image to which the culling pattern is applied.
First, the tailing suppression determination unit 2353 determines, with regard to the width of the detected line image, the type of the to-be-applied culling pattern and the position of the culling processing line to the line image. Then, the tailing suppression determination unit 2353 determines whether or not the target pixel is a culling target based on the determined culling pattern for the tailing suppression processing and the target pixel position information received from the pixel position determination unit. Next, with regard to the pixel determined as a culling target, whether or not the pixel is included in the culling processing line is determined. This determination can be performed by referring to the relative position of the line image in the pixel group Wd received from the line image detection unit 2351. In a case where it is determined that the input pixel value is 1 (black pixel) and the pixel is a culling target and is included in the culling processing line, with regard to the target pixel, the determination result Fd is set to ON (execution of culling for tailing suppression) and the input pixel value is converted to 0 (white pixel) and the convert value is outputted. In a case where it is not determined that the input pixel value is 1 (black pixel) and the pixel is a culling target and is included in the culling processing line, with regard to the target pixel (i.e., in a case that the input pixel value is 0 (white pixel), the pixel is not a culling target, or the pixel is not included in the culling processing line), then the determination result Fd with regard to the pixel is set to OFF (no execution of culling for tailing suppression) and the input pixel value is directly outputted.
The culling processing shown in
The ROM 113 stores therein the tailing suppression processing specification including the culling pattern type (Pattern) and the culling line position to a detected black line width for example and a plurality of culling patterns registered as Pattern of the tailing suppression processing specification. In the tailing suppression processing setting flow described later, the CPU 112 stores, from among a plurality of tailing suppression processing specifications stored in the ROM 113, the appropriate one as the tailing suppression setting information into the tailing suppression setting storage unit 2354.
The pattern size is not limited to the size shown in
<Dot Dispersion Processing Unit>
Next, with reference to
In a case where the target pixel position has a white pixel and the 27×27 pixel group We includes white pixels existing in a point-symmetric manner in four diagonal directions having the target pixel position as a center, then the dot size reduction determination unit 2361 outputs, to a subsequent output dot determination unit 2363, a signal for executing the dot size reduction.
In a case where the target pixel position has a black pixel and the 27×27 pixel group We includes white pixels existing in a point-symmetric manner in the four upper, lower, left and right directions having the target pixel position as a center, the dot application determination unit 2362 outputs, to the subsequent output dot determination unit 2363, a signal for executing dot application.
Next, the output dot determination unit 2363 determines whether or not the white dots of the current target pixel should be size-reduced and whether or not white dots should be applied to the target pixel position to output the determination result Fe to the subsequent final output determination unit 2370. This determination is executed by referring to the target pixel data constituting a part of the We, the dot size reduction determination result, and the dot application determination result. With regard to the target pixel subjected to the dot size reduction determination, the input pixel value is converted to 1 (black pixel) and the converted value is outputted. With regard to the target pixel subjected to the dot application determination, the input pixel value is converted to 0 (white pixel) and the converted value is outputted. If the target pixel does not apply to none of the above determinations, then the input pixel value is directly outputted.
<Final Output Determination Unit>
The final output determination unit 2370 determines the final output pixel value of the binary image processing unit 120 to output the resultant value as the pixel data Dd to a subsequent unit. The final output determination unit 2370 receives the pixel Wa as a target pixel from the shared buffer unit 2310 and the respective determination results Fb, Fc, Fd, and Fe from the respective image processing units (2330 to 2360). The final output determination unit 2370 receives these inputs and outputs a different pixel value in a case where any one of Fb, Fc, Fd, and Fe has a signal outputting a pixel value different from the pixel Wa. Specifically, in a case where pixel Wa is 0 (white pixel) and any one of Fb, Fc, Fd, and Fe shows an output of 1 (black pixel) on the contrary, 1 (black pixel) is outputted. In a case where the pixel Wa is 1 (black pixel) and any one of Fb, Fc, Fd, and Fe shows an output of 0 (white pixel) on the contrary, 0 (white pixel) is outputted. In a case where the pixel Wa has a pixel value equal to all output pixel values shown by Fb, Fc, Fd, and Fe, the pixel value of the pixel Wa is directly outputted.
The final output determination unit 2370 may be configured to ignore a partial result depending on the setting instead of referring to all results Fb, Fc, Fd, and Fe. For example, in a case where the printer unit 102 not requiring a dot dispersion processing exists in a subsequent stage, the dot dispersion processing result Fe may not be included in the determination. If the respective image processing units arranged in parallel have a different processing delay amount, a delay amount adjustment circuit may be provided in the final output determination unit.
<Print Processing Flow>
First, in Step S101, the CPU 112 communicates with the CPU provided in the printer unit 102 to acquire the printer information regarding the image processing for the image forming processing. For example, the CPU 112 acquires such information showing whether or not the tailing suppression processing in the tailing suppression processing unit 2350 and the dot dispersion processing in the dot dispersion processing unit 2360 should be operated. Whether the respective processing units should be operated or not is determined depending on the characteristic of the printer unit 102. For example, in the case of a printer suppressing a fine line from being conspicuous, in order to operate the line width correction, the line width correction processing unit 2340 may be set to ON. In the case of a printer that tends to cause a tailing phenomenon, the tailing suppression processing unit 2350 may be set to ON so that the respective functions can operate. As described above, in a case where the output method of the final output determination unit 2370 is determined, an initial setting is set so that all functions are set to OFF. Depending on a need, a setting may be provided so that the CPU 112 allows the final output determination unit 2370 to refer to any of the results Fb, Fc, Fd, and Fe that realizes the function.
Next, in Step S102, the CPU 112 acquires the information for the line width correction setting. This acquisition may be performed by acquiring the information from information inputted from a user to the operation unit 115 or from the setting information provided on a printer driver installed on the host computer 170. If the setting information must be changed depending on the type or the status of the printer unit 102, the communication with the CPU provided in the printer unit 102 is further performed to acquire information regarding the line width correction setting.
With reference to
In a case where the line width correction is performed, a horizontal line correction level and a vertical line correction level are selected by the user within a range from 0 to 2 via the operation unit 115. Thus, the horizontal line correction level and the vertical line correction level for the line width correction setting are set. The term “horizontal line correction” means the correction to plump an image in a horizontal direction (main scanning direction) and the level shows the correction strength. The term “vertical line correction” means the correction to plump an image in a vertical direction (sub scanning direction) and the level shows the correction strength. The user sets, via the screen in
The CPU 112 acquires the details of line width correction setting in the liquid crystal operation panel on the operation unit 115 to thereby acquire the information for the line width correction setting. Although not shown in
Next, in Step S103, the CPU 112 sets, in the line width correction processing unit 2340, the setting information acquired in Step S102. The details of the line width correction processing setting will be described later with reference to
Next, in Step S104, the CPU 112 sets, in the tailing suppression processing unit 2350, the setting information acquired in Step S101. The details of the tailing suppression processing setting will be described later with reference to
In Step S105, the CPU 112 execute the image forming processing of the white black printer 100. Specifically, the CPU 112 uses the renderer 118 to develop the print pixel data received from the host computer 170 for example via the external network 190 to provide bitmap data to subsequently output the data to the binary image data generation unit 119. The outputted pixel data is subjected, within the binary image data generation unit 119, to a desired image processing (e.g., a color space processing, a halftone processing, a binary image processing), and is outputted to the binary image processing unit 120. Then, the CPU 112 communicates with the CPU provided in the printer unit 102 to control the printer unit 102 to execute the print processing.
<Line Width Correction Processing Setting Flow>
First, in Step S201, the CPU 112 determines, based on the received information for the line width correction setting, whether or not the setting of the line width correction is set to ON. In a case where the setting is ON, the processing proceeds to Step S202. In a case where the setting is OFF, the flow is completed.
Next, in Step S202, the determination with regard to the set horizontal line correction level is executed. First, in Step S202, the CPU 112 determines whether or not the horizontal line correction level is 0. In a case where the horizontal line correction level is 0, then the processing proceeds to Step S206. In a case where the horizontal line correction level is not 0, the processing proceeds to Step S203.
Next, in Step S203, whether or not the horizontal line correction level is 1 is determined. In a case where the horizontal line correction level is 1, then the processing proceeds to Step S205. In a case where the horizontal line correction level is not 1, then it is determined that the horizontal line correction level is 2 and the processing proceeds to Step S204.
In Step S204, the CPU 112 performs the ON setting of the right direction edge neighboring detection. Specifically, the CPU 112 sets the esd4 signal inputted to the line width correction processing unit 2340 to ON. As a result, in the line width correction processing unit 2340, the right edge neighboring determination result not masked by the flag mask unit 2345 is inputted to the line width correction determination unit 2346.
In Step S205, the CPU 112 performs the ON setting of the left direction edge neighboring detection. Specifically, the CPU 112 sets the esd3 signal inputted to the line width correction processing unit 2340 to ON. As a result, in the line width correction processing unit 2340, the left edge neighboring determination result not masked by the flag mask unit 2345 is inputted to the line width correction determination unit 2346.
Next, in Step S206, the determination of the set vertical line correction level is executed. First, in Step S206, the CPU 112 determines whether the vertical line correction level is 0 or not. In a case where the vertical line correction level is 0, the flow is completed. In a case where the vertical line correction level is not 0, then the processing proceeds to Step S207.
Next, in Step S207, whether or not the vertical line correction level is 1 is determined. In a case where the vertical line correction level is 1, the processing proceeds to Step S209. In a case where the vertical line correction level is not 1, then it is determined that the vertical line correction level is 2 and the processing proceeds to Step S208.
In Step S208, the CPU 112 performs the ON setting of the lower direction edge neighboring detection. Specifically, the CPU 112 sets the esd2 signal inputted to the line width correction processing unit 2340 to ON. As a result, in the line width correction processing unit 2340, the lower edge neighboring determination result not masked by the flag mask unit 2345 is inputted to the line width correction determination unit 2346.
In Step S209, the CPU 112 performs the ON setting of the upper direction edge neighboring detection. Specifically, the CPU 112 sets the esd1 signal inputted to the line width correction processing unit 2340 to ON. As a result, in the line width correction processing unit 2340, the upper edge neighboring determination result not masked by the flag mask unit 2345 is inputted to the line width correction determination unit 2346.
<Flow of Tailing Suppression Processing Setting>
First, in Step S301, the CPU 112 determines whether the tailing suppression processing is set to ON or not. In a case where the setting is ON, the processing proceeds to Step S302. In a case where the setting is OFF, the flow is completed.
Next, in Step S302, the CPU 112 executes a default tailing suppression processing setting on the tailing suppression processing unit 2350. Specifically, the tailing suppression processing specification as shown in
Specifically, the tailing suppression processing setting is the culling width (APPlyLine) of the pattern to the width (BkLineCnt) of the detected black line, the position (EdgeLine) from the lower end of the edge of the black line to which the culling pattern is applied, and the culling pattern type (Pattern).
The black line width (BkLineCnt) shows the line width to determine whether the culling processing for the tailing suppression can be performed or not. The culling width (APPlyLine) shows a line width for performing a culling processing of the black line determined to be subjected to the culling processing. This culling width is also used to determine, from among the applied culling pattern, which part of the culling pattern should be used. The culling pattern type (Pattern) shows a culling pattern from among a plurality of culling patterns that should be applied to the applicable black line. One tailing suppression setting information is, as shown in
The ROM 113 stores therein in advance a plurality of tailing suppression processing specifications that can be set in the tailing suppression processing unit 2350. In a case where Step S302 is executed, the CPU 112 reads, from the ROM 113, to-be-referred-to tailing suppression processing specification. Then, the CPU 112 stores the to-be-referred-to tailing suppression processing specification as tailing suppression setting information in the tailing suppression setting storage unit 2354.
Next, in Step S303, the CPU 112 determines whether the vertical line correction level in the line width correction processing unit is 1 or not. In a case where the vertical line correction level is 1, the processing proceeds to Step S304. In a case where the vertical line correction level is not 1, the processing proceeds to Step S305.
In Step S304, in a case where the vertical line correction level is 1, a change to the tailing suppression setting is executed. In a case where the vertical line correction level is 1, the line width correction processing unit performs a processing to add pixels of one line to the line image in the upper direction. Thus, the tailing suppression processing unit 2350 assumes that the line width after the line width correction processing increases by one line in the upper direction. Thus, the tailing suppression setting information is changed from the default tailing suppression processing specification shown in
For example, as shown in
In Step S305, the CPU 112 determines whether or not the vertical line correction level in the line width correction setting is 2. In a case where the vertical line correction level is 2, the processing proceeds to Step S306. In a case where the vertical line correction level is not 2, no vertical line correction is executed. Thus, the flow is completed with no change in the default tailing suppression setting.
In a case where the vertical line correction level is 2, a change to the tailing suppression setting is executed in Step S306. In a case where the vertical line correction level is 2, the line width correction processing unit executes a processing to add pixels corresponding to each one line to the line image in the upper and lower directions, respectively. Thus, the tailing suppression processing unit 2350 assumes that the line width after the line width correction processing increases by one line in the upper and lower directions. Thus, the tailing suppression setting information is changed from the default tailing suppression processing specification shown in
For example, as shown in
By performing the above change of the tailing suppression processing specification, the culling processing for the tailing suppression can be performed in consideration of a change in the position of the lower end of the edge of the line image (object) and a change in the line width due to the line width correction processing. Specifically, the tailing suppression processing specification of the tailing suppression processing is set based on the line width correction setting of the line width correction processing (the line width correction setting of the sub scanning direction in particular).
It is noted that the ROM 113 also may store in advance all of the default tailing suppression processing specification, the tailing suppression processing specification for the vertical line correction level 1, and the tailing suppression processing specification for the vertical line correction level 2. In this case, the tailing suppression processing specification required to execute the tailing suppression setting flow is read from the ROM 113 and is stored in the tailing suppression setting storage unit 2354. Alternatively, only the default tailing suppression processing specification also may be stored in advance in the ROM 113. In this case, the tailing suppression processing specification for the vertical line correction level 1 or 2 required to execute the tailing suppression setting flow is generated from the default tailing suppression processing specification and is stored in the tailing suppression setting storage unit 2354.
<Final Output Result by Change of Tiling Suppression Processing Specification>
First, with regard to the input pixel data of the 3 line image, the line width correction processing unit 2340 outputs the pixel data of a 5 line image obtained by adding one line to the upper and lower sides of the input pixel data of the 3 line image, respectively. On the other hand, the tailing suppression processing unit 2350 executes the tailing suppression processing based on the default tailing suppression processing specification shown in
However, in the case of the above method of culling the final output pixel data, the lines of the black pixel corresponding to 2 lines remains at the lower end of eth edge in the conveying direction. Furthermore, the use of a culling width of 1 line is not appropriate for the pixel data of 5 lines, thus failing to provide a desired tailing suppression effect.
In contrast to
In
Next, as another example,
First, with regard to the input pixel data of the 2 line image, the line width correction processing unit 2340 outputs the pixel data of 3 line image that is obtained by adding one line to the upper side of the 2 line image. On the other hand, the tailing suppression processing unit 2350 executes a culling processing based on the default tailing suppression processing specification shown in
Then, the final output determination unit 2370 performs a pixel value comparison by comparing the input pixel data with the pixel data after the line width correction processing and the tailing suppression processing to output, as a final output image, the pixel data of the 3 line image that is not subjected to a pixel culling. Specifically, in order to increase the tailing suppression effect, a culling processing to the pixel data of the 3 line image is required. However, the final output pixel data of
On the other hand,
With reference to
As described above, in this embodiment, the binary image processing unit 120 having the shared buffer unit 2310 is provided. A control is provided so that the setting of the tailing suppression processing unit is changed depending on the setting of an internal line width correction processing unit. As a result, the tailing suppression effect and the image quality comparable to the conventional case can be realized with a lower-cost configuration.
In this embodiment, the line width correction processing unit 2340 has the input data We of a 3×3 pixel group and provides the line width correction on the basis of a unit of 1 line in any of the upper, lower, left and right directions. However, the We pixel group having a different size also can be used to perform the line width correction processing with an arbitrary line number. The line width correction processing unit 2340 provides the line width correction based on one line unit and a plurality of line units. The setting of the line width correction processing unit includes the line number used as a unit to detect the edge neighboring region subjected to the line width correction. In this case, in a case of assuming that the line number N is added by the line width correction processing unit 2340, then the tailing suppression setting of the tailing suppression processing unit 2350 can be changed by dislocating the default tailing suppression setting in an amount corresponding to N lines.
Similarly, in this embodiment, the tailing suppression processing unit 2350 has the input data Wd of the 9×9 pixel group to detect a line image. However, the Wd pixel group having a different size also can be used to realize the tailing suppression processing to a line image having an arbitrary black line width. In this case, the tailing suppression processing setting may be set so that the tailing suppression setting information (tailing suppression processing specification) is set to the line width depending on the size of Wd.
In this embodiment, no change is made in the tailing suppression setting in a case where the line width correction processing unit 2340 performs the line width correction processing in left and right directions (in a case where the horizontal line correction level is set to 1 or 2). However, as in the vertical line correction level, the tailing suppression setting also can be changed depending on the set value of the horizontal line correction level.
In Embodiment 1, a change in the tailing suppression setting is made by the CPU 112 of the controller unit 101. However, in this embodiment, the configurations of the plump processing unit 2340 and the culling processing unit 2350 will be described that can change the tailing suppression setting by the tailing suppression processing unit 2350.
<Binary Image Processing Unit>
<Tailing Suppression Processing Unit>
<Tailing Suppression Processing Setting Flow>
In Step S401 and Step S402, after the default tailing suppression processing setting to the tailing suppression processing unit 2350 is completed, in Step S403, the CPU 112 notifies the tailing suppression processing unit 2350 of the start of a change of the tailing suppression setting. Upon receiving the notification, the tailing suppression processing unit 2350 starts the internal change of the tailing suppression setting as described alter with reference to
After the change of the tailing suppression setting by the tailing suppression processing unit 2350 in Steps S404 to S407 is completed, in Step S408, the tailing suppression processing unit 2350 notifies the CPU 112 of the completion of the change of the tailing suppression setting. Upon receiving this notification, the CPU 112 may start executing the image forming processing of the white black printer 100 described in S105 of
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiments, and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiments. For this purpose, the program is provided to the computer, for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
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 Application No. 2012-273672, filed Dec. 14, 2012 which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | Kind |
---|---|---|---|
2012-273672 | Dec 2012 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6067377 | Hata | May 2000 | A |
6668101 | Kaneda | Dec 2003 | B2 |
6891972 | Kaneda | May 2005 | B2 |
6970601 | Kaneda et al. | Nov 2005 | B1 |
7003152 | Sawada | Feb 2006 | B1 |
7292356 | Otokita | Nov 2007 | B2 |
7440617 | Kaneda | Oct 2008 | B2 |
7519226 | Kaneda et al. | Apr 2009 | B2 |
7773898 | Nakase | Aug 2010 | B2 |
8610961 | Nagai | Dec 2013 | B2 |
20070236739 | Murakami et al. | Oct 2007 | A1 |
20090214238 | Tanaka et al. | Aug 2009 | A1 |
20120162673 | Narita | Jun 2012 | A1 |
Number | Date | Country |
---|---|---|
2000-206756 | Jul 2000 | JP |
2009-023283 | May 2009 | JP |
Number | Date | Country | |
---|---|---|---|
20140168665 A1 | Jun 2014 | US |