The present invention relates to an image forming apparatus for printing an image on a printing medium, a control method, and a storage medium storing a program.
In image forming apparatuses which form color images, adjusting a usage amount of a printing material such as toner or ink in accordance with an image signal at a time of image formation is performed. In such image forming apparatuses, processing referred to as UCR (Under Color Remove) is often executed in order to reduce the total usage amount of the printing material. The UCR processing is processing for reducing the total amount of printing material used at a time of image formation by reducing a YMC component and substituting in a K component when an achromatic color image signal comprising four components of CMYK is outputted. In Japanese Patent Laid-Open No. 2012-205228, determining a reduction amount of a YMC component and a substitution amount of a K component in accordance with a brightness or saturation of pixels which are a processing target is recited.
However, when executing the UCR processing, there exist cases in which an amount of applied printing material of printed document that is outputted becomes low causing image quality to be reduced. Accordingly, conventionally, UCR processing was executed on only an image region such as a graphic, and UCR processing could not be executed on an image region for which image quality is emphasized such as a photograph.
An aspect of the present invention is to eliminate the above-mentioned problems with the conventional technology. To realize maintenance of image quality as well as a reduction of a printing material, the present invention provides an image forming apparatus for appropriately executing image processing for adjusting an amount of printing material applied to a printing medium, a control method, and a storage medium storing a program.
The present invention in one aspect provides an image forming apparatus for printing an image on a printing medium based on image data, the apparatus comprising: an image processing unit configured to, with respect to image data, execute image processing that adjusts an amount of printing material applied to the printing medium; a control unit configured to control execution of the image processing based on an amount of change of pixel values of the image data; and a printing unit configured to print an image on the printing medium based on image data resulting from the control of execution of the image processing by the control unit.
According to the present invention it is possible to appropriately execute image processing for adjusting an amount of printing material applied on a printing medium so as to realize maintenance of image quality as well as a reduction of a printing material.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Embodiments of the present invention will be described hereinafter in detail, with reference to the accompanying drawings. Preferred embodiments of the present invention will now be described hereinafter in detail, with reference to the accompanying drawings. It is to be understood that the following embodiments are not intended to limit the claims of the present invention, and that not all of the combinations of the aspects that are described according to the following embodiments are necessarily required with respect to the means to solve the problems according to the present invention. Note that the same reference numerals have been added to equivalent configuration elements, and description thereof is omitted.
The image forming apparatus 100 illustrated in
A CPU 102 controls each block connected to a system bus 107 and comprehensively controls the entirety of the image forming apparatus 100. A ROM 104 is a general-purpose ROM and stores programs, data, tables, or the like necessary for operation of the image forming apparatus 100. Each piece of software such as an application and a program which describes processing of each flowchart described later is stored in the ROM 104. A RAM 103 is a general-purpose RAM and is used as a working memory of the CPU 102, for example. Operation of the present embodiment is realized by the CPU 102 reading a program stored in the ROM 104 to the RAM 103 and executing it for example.
A communication interface (I/F) unit 101 is configured to be able to communicate between the image forming apparatus 100 and an external network and to be compatible with a standard such as Ethernet (registered trademark), a serial interface, or a parallel interface, for example. The communication I/F unit 101 has a configuration that supports a network medium such as wired or wireless, and may also be capable of communication with a mobile terminal that is at a close proximity or the like by having a communication configuration that supports a short-range wireless communication such as NFC (Near Field Communication), for example.
An image processing unit 105 executes image processes such as an enlargement/reduction, a rotation, a correction, or a color space conversion with respect to data obtained from the outside or data obtained by optically scanning an original by a scanner in a case where the image forming apparatus 100 has a scanning function. Although one image processing unit 105 is illustrated in
An engine I/F 106 is an interface to a device such as a printer or a scanner. Although the engine I/F 106 is illustrated as an interface with only a print engine 108 in
Print target image data received from the host computer 1 is converted to rasterized print data for example, in the image processing unit 105, and is outputted to the print engine 108. Then, the print engine 108 forms an image on a printing medium based on the outputted print data.
The communication I/F unit 101, the CPU 102, the RAM 103, the ROM 104, the image processing unit 105, and the engine I/F 106 are connected together via the system bus 107 and are configured as a controller 109. Note, some of the blocks illustrated in
In
The controller 109 receives image data targeted for printing, performs rasterizing on the image data, and generates attribute data and image data thereof in units of pixels. The rasterized image data holds a color space of a plurality of color components such as RGB or CMYK and has a value of eight bits (256 tones) per one color component for each pixel. Also, attribute data holds a value representing an attribute such as an image, graphic, lines, or characters of an object and is processed within the image processing unit 105 together with the image data.
Next, description is given regarding the image forming apparatus 100 in a case where the print engine 108 is configured by an electrophotographic method.
The primary chargers 210, 211, 212, and 213 provide an equal amount of electrical charge to the front surfaces of the photosensitive drums 202, 203, 204, and 205. Next, by the exposure control unit 201, a light beam such as a laser beam modulated in accordance with a print image signal is caused to be exposed on the photosensitive drums 202, 203, 204, and 205 to form an electrostatic latent image. Additionally, an electrostatic latent image is visualized by the developing apparatuses 206, 207, 208, and 209 containing each of the four colors (YMCK) of developer (toner). On a downstream side of an image transfer region in which a visualized visible image is transferred to an intermediate transfer body, cleaning apparatuses 214, 215, 216, and 217 perform a cleaning of toner that is not transferred to the printing paper and remains on the photosensitive drums 202, 203, 204, and 205. Image formation by the toners is sequentially performed by the process described above.
Meanwhile, printing paper is picked up by a pick-up roller 224 or 225 from an upper cassette 222 or a lower cassette 223, and is fed by a paper feed roller 226 or 227. Fed printing paper is conveyed to a registration roller 221 by a conveyance roller 228. Also, the printing paper is conveyed between an intermediate transfer body 219 and a transfer belt 220 at a timing at which a transfer to the intermediate transfer body 219 finishes. After this, the printing paper is conveyed by the transfer belt 220 and pressure bonded to the intermediate transfer body 219, and a toner image is transferred to the printing paper by the intermediate transfer body 219. The toner image transferred to the printing paper is fixed on the printing paper by heat and pressure being applied by a fixing roller and a pressure roller 221. The printing paper on which an image is fixed is discharged to a face up paper discharge orifice 230.
Next, description is given regarding a configuration of the image processing unit 105. The image processing unit 105 includes a color processing unit 301, a gamma correction processing unit 302, and an image forming unit 303 as illustrated in
Next, description is given regarding a configuration of the color processing unit 301. The color processing unit 301 includes a color conversion processing unit 401, a luminance conversion processing unit 402, a degree of change calculation unit 403, a UCR execution determination unit 404, and a UCR processing unit 405 as illustrated in
The luminance conversion processing unit 402 converts the inputted RGB signal value to a signal value of an L*a*b* space. The luminance conversion processing unit 402 determines whether a reference pixel is chromatic or achromatic from a luminance value L obtained in the conversion. Then, the luminance conversion processing unit 402 outputs the luminance value L of a target pixel to the degree of change calculation unit 403 in a case where the target pixel is determined to be achromatic. The degree of change calculation unit 403 calculates, from an image signal value (pixel value) of the target pixel and an image signal value of pixels in the periphery, a degree of change of the image signal value of the target pixel. Here, the degree of change that the degree of change calculation unit 403 calculated is an evaluation value representing how much a pixel value changed by comparing a target pixel with the peripheral pixels, and is a luminance value for example. Description regarding a method of calculating a degree of change performed by the degree of change calculation unit 403 is given later.
The UCR execution determination unit 404 receives the degree of change of the target pixel from the degree of change calculation unit 403 and uses the received degree of change to determine whether or not the UCR processing will be executed on the target pixel. In the present embodiment, the UCR execution determination unit 404 compares a threshold predetermined by the CPU 102 with the degree of change that the degree of change calculation unit 403 calculated to perform a determination of whether or not to execute the UCR processing. Specifically, the UCR execution determination unit 404 performs determination that the UCR processing will not be executed in a case where the degree of change is larger than the threshold, and, in contrast, that the UCR processing will be executed in a case where the degree of change is smaller than the threshold. This is because the larger the value of the degree of change the more likely a target pixel is in a region whose image quality is important such as in a natural image, since the degree of change represents how much the target pixel differs from its peripheral pixels. Accordingly, the UCR execution determination unit 404 performs a determination so that the UCR processing will not be executed on a region where the degree of change of the pixel value is large and so that the UCR processing will be executed only on a region where the degree of change of the pixel value is small such as a solid color. The UCR processing unit 405 receives a UCR execution determination result for the target pixel from the UCR execution determination unit 404 and executes the UCR processing on the target pixel in a case where it is determined that the UCR processing will be executed. Meanwhile, the UCR processing unit 405 does not execute the UCR processing in a case where it is determined that the UCR processing will not be executed.
For example, the above threshold may be obtained together with the image data. It can be considered that degrees of change tend to differ depending on a scene, such as a “landscape” scene or an “everyday” scene, in a case of image data such as a photograph. For example, it can be considered that the degree of change of a “scenery” scene tends to be larger than the degree of change of an “everyday” scene. Accordingly, if it is image data representing a photograph, for example, in an application of the host computer 1, by analyzing a feature amount of the image data (a number of faces for example), a scene classification is performed, a threshold corresponding to the scene is set, and the threshold is transmitted to the image forming apparatus 100. Configuration may also be taken such that the color processing unit 301 of the image forming apparatus 100 uses a threshold corresponding to the image data.
Next, description is given regarding the UCR processing that the UCR processing unit 405 performs with reference to
The UCR processing is image processing for reducing the total image signal value of a target pixel by decreasing the image signal values of specific colors, the three colors of CMY for example, and increasing the image signal value of K with respect to an achromatic target pixel that includes the four image signals CMYK.
Firstly, a minimum image signal value Imin is calculated from among three image signal values IC(x, y), IM (x, y), and IY(x, y) of C, M, and Y of the target pixel according to Equation (1).
I
min=Min(IC(x, y), IM(x, y), IY(x, y)) (1)
Also, the calculated Imin is a UCR amount (UCR) representing an amount of a reduction of the CMY signal amounts and an amount of an increase of the K signal value at a time of UCR processing according to Equation (2).
UCR=Imin (2)
Also, a signal value I′C,M,Y,K(x, y) for which the UCR signal amount is subtracted from each signal value of C, M, and Y and the signal value of K is increased by the UCR amount is outputted according to Equations (3) and (4).
I′
C,M,Y(x, y)−UCR (3)
I′
X
=I
K(x, y)+UCR (4)
By this, the total image signal value of the target pixel is reduced by 2 UCR amounts and the amount of toner applied to the printing medium is also reduced.
Description is given regarding a degree of change that the degree of change calculation unit 403 calculates. Generally, for an image of an image attribute in which image quality is emphasized such as a photograph, a pixel value of each pixel is not fixed and changes finely. For this reason, pixel values of a target pixel and the peripheral pixels are compared, and if there is variation, it is determined that the target pixel is in an image region where image quality should be emphasized. In the present embodiment, the target pixel and the peripheral pixels are compared, and it is determined whether or not the target pixel is in a region where image quality should be emphasized based on the evaluation value, specifically the degree of change, which represents how much the pixel value changed.
Using
Firstly, an average I′(x, y) of the absolute values of the differences between the target pixel and the adjacent pixels is calculated in an x direction and a y direction. An average difference of the x direction is calculated in Equation (5) from the target pixel and the adjacent pixels I(x, y), I(x−1, y), and I(x−1, y−1).
I′
x(x, y)=½(|I(x, y)−I(x−1, y)|+|I(x, y)−I(x−1, y−1)|) (5)
Similarly, an average difference of the y direction is calculated in Equation (6) from the target pixel and the adjacent pixels I(x, y), I(x, y−1), and I(x−1, y−1).
I′
y(x, y)=½(|I(x, y)−I(x, y−1)|+|I(x, y)−I(x−1, y−1)|) (6)
Next, degrees of change I′xdeg and I′ydeg of the x direction and y direction of the target pixel I(x, y) are calculated from Equations (7) and (8). In the present embodiment, the degree of change is defined as the arithmetic mean of the previously described average difference of the target pixel in each direction and the peripheral pixels and the degrees of change of the adjacent pixels I(x−1, y) and I(x, y−1). It is possible to calculate not only the degree of change from the adjacent pixels but also the degree of change in the image in a wide area by making the degree of change of the target pixel a recursive form in which the arithmetic mean of the degrees of change of the peripheral pixels calculated previously is obtained.
I′
xdeg
=αI′
x(x, y)+βI′xdeg(x−1, y)+γI′xdeg(x, y−1) (7)
I′
ydeg
=αI′
y(x, y)+βI′ydeg(x−1, y)+γI′ydeg(x, y−1) (8)
Note, the coefficients α, β, and γ of the weighted addition are positive values and are set so that α+β+γ=1. Also, the larger out of the x direction and the y direction of the degree of change values is made to be the degree of change I′deg(x, y) used for UCR execution determination for the target pixel I(x, y). The degree of change I′deg(x, y) is calculated from Equation (9). If the degree of change of the larger of the values out of the degrees of change of the x direction and the y direction falls below the threshold when the UCR execution determination is performed in the UCR execution determination unit 404, it is determined that the pixel is a target of the execution of the UCR processing.
I′
deg(x, y)=Max(I′xdeg, I′ydeg) (9)
Note, the Max function is a function that outputs a maximum value from among a plurality of inputted values. In the present embodiment, the degree of change of the larger of the values among the x direction and the y direction is made to be the degree of change of the target pixel. However, the degree of change of the target pixel may additionally be defined as the root mean square of the degrees of change of each direction of the target pixel by taking the degree of change as a vector.
Also, the degree of change calculation unit 403 outputs the calculated degree of change to the UCR execution determination unit 404. A comparison between the inputted degree of change and the threshold for UCR execution determination set by the CPU 102 is performed in the UCR execution determination unit 404. In a case where the degree of change is larger than the threshold, it is determined that the reference pixel is in a region where image quality should be emphasized, and it is determined that the UCR processing will not be executed. Meanwhile, in a case where the degree of change is smaller than the threshold, it is determined that the UCR processing will be executed. Then, in the case where it is determined that the UCR processing will not be executed, the UCR execution determination unit 404 outputs a determination result that the UCR processing is not to be executed to the UCR processing unit 405. In the case where it is determined that the UCR processing will be executed, the UCR execution determination unit 404 outputs a determination result that the UCR processing is to be executed to the UCR processing unit 405.
Firstly, the degree of change calculation unit 403 obtains the pixel value of the target pixel of the image data inputted from the RAM 103 in step S701. The degree of change calculation unit 403 uses the pixel value of the obtained target pixel and the pixel values of the adjacent pixels of the target pixel to calculate the degree of change of the target pixel in step S702. The degree of change of the target pixel is ultimately calculated from Equation (9).
The UCR execution determination unit 404 compares the degree of change of the target pixel calculated in step S702 with the threshold for the UCR execution determination in step S703. Here, in a case where the degree of change is a value larger than the threshold, the UCR execution determination unit 404 determines that the UCR processing will not be executed and outputs this determination result to the UCR processing unit 405, and step S705 is advanced to. On the other hand, in a case where the degree of change is a value less than or equal to the threshold, the UCR execution determination unit 404 determines that the UCR processing will be executed and outputs this determination result to the UCR processing unit 405, and step S704 is advanced to.
In step S704, the UCR processing unit 405 executes the UCR processing on the target pixel in accordance with the UCR execution determination result inputted from the UCR execution determination unit 404. The UCR processing unit 405 executes the UCR processing on the target pixel and outputs an obtained image signal to the gamma correction processing unit 302 in step S705. The color processing unit 301 determines whether or not the execution determination of the UCR processing has been performed on all of the pixels of the inputted image data in step S706. In a case where it is determined that the execution determination of the UCR processing has been performed on all pixels, the processing of
As described above, by virtue of the present embodiment, it becomes possible to reduce a usage amount of toner by executing UCR processing on a region where a degree of change is small while maintaining image quality by not executing the UCR processing on a region where a degree of change is large and image quality is emphasized.
Hereinafter, description will be given regarding a second embodiment. In the first embodiment, a level at which a pixel value of a target pixel changes in relation to peripheral pixels, specifically a degree of change, is calculated and it is determined whether or not UCR processing will be executed on the target pixel based on the calculation result. However, there exist cases in which, in an image region such as a gradation from a chromatic color using CMY toward a solid region of an achromatic color of CMYK for example, a tint between adjacent pixels changes when the UCR processing is performed and not performed in the solid region and the gradation region.
As an example of such a case, when image data is generated by an application of the host computer 1 for example, an attribute such as an image or a graphic is determined at the time of this generation. In a case of graphic data including a gradation, the gradation region is imaged by the application. In such a case, the tint between adjacent pixels changes and looks like a frame when it changes whether the UCR processing is performed and not performed in the solid region and the gradation region.
Accordingly, in the present embodiment, the CMY signal amount that is subtracted and the K signal amount that is increased when the UCR processing is executed, specifically the UCR amount, is determined in accordance with the degree of change of the target pixel. By this, it becomes possible to reduce the usage amount of a printing material within a gradation and also it is possible to suppress a difference of a tint between a solid region and a gradation region by gradually increasing the UCR amount, and so it is possible to suppress a tint change. Hereinafter, description will be given of points that differ from the first embodiment.
The UCR reduction percentage calculation unit 406 calculates a UCR reduction percentage used for the UCR processing unit 405 to determine a UCR amount in a case where it receives from the UCR execution determination unit 404 a determination result that the UCR processing will be executed. At this time, the UCR reduction percentage calculation unit 406 calculates the UCR reduction percentage based on the degree of change of the target pixel calculated by the degree of change calculation unit 403. Description is given later regarding a detailed calculation method. The UCR reduction percentage calculation unit 406 outputs the calculated UCR reduction percentage to the UCR processing unit 405. The UCR processing unit 405 receives the UCR execution determination result for the target pixel from the UCR execution determination unit 404 and receives the UCR reduction percentage from the UCR reduction percentage calculation unit 406. Then, in a case where a determination result is that the UCR processing will be executed, the UCR processing unit 405 determines a UCR amount based on the inputted UCR reduction percentage to execute the UCR processing on the target pixel.
Description is given regarding a method of calculating the UCR reduction percentage performed by the UCR reduction percentage calculation unit 406 with reference to
In the present embodiment, the UCR reduction percentage calculation unit 406 calculates a UCR reduction percentage RUCR at a time of execution of UCR processing. Also, the UCR amount used by the UCR processing unit 405 is determined based on the UCR reduction percentage.
In the present embodiment, the UCR amount used by the UCR processing unit 405 is calculated from Equation (10).
UCR=RUCR* Imin (10)
Then, a reduction percentage RUCR is calculated from Equation (11) in the UCR reduction percentage calculation unit 406.
R
UCR=(TH−I′deg(x, y))/TH (11)
Here, TH represents the value of the threshold of the determination of execution of the UCR processing used by the UCR execution determination unit 404. By setting the UCR amount as described above, the UCR amount is changed so as to increase the smaller the degree of change becomes, and the UCR amount becomes a maximum when the degree of change becomes zero, specifically when the region becomes a solid color. Note, because TH is the threshold of the determination of execution of the UCR processing, it is not necessary to consider a case in which I′deg(x, y) is larger than TH in Equation (11) because the UCR processing is not executed if I′deg(x, y) is larger than TH.
As described above, in the present embodiment, a gradual adjustment of the UCR amount in a gradation region is possible by introducing the UCR reduction percentage, specifically, a parameter representing a degree of adjustment of the UCR amount.
Firstly, the degree of change calculation unit 403 obtains the pixel value of the target pixel of the image data inputted from the RAM 103 in step S1001. The degree of change calculation unit 403 uses the pixel value of the obtained target pixel and the pixel values of the adjacent pixels of the target pixel to calculate the degree of change of the target pixel in step S1002. The degree of change of the target pixel is ultimately calculated from Equation (9).
The UCR execution determination unit 404 compares the degree of change of the target pixel calculated in step S1002 with the threshold for the UCR execution determination in step S1003. Here, in a case where the degree of change is a value larger than the threshold, the UCR execution determination unit 404 determines that the UCR processing will not be executed and outputs this determination result to the UCR processing unit 405 and the UCR reduction percentage calculation unit 406, and step S1006 is advanced to. Meanwhile, in a case where the degree of change is a value less than or equal to the threshold, the UCR execution determination unit 404 determines that the UCR processing is executed, outputs the determination result and the degree of change to the UCR processing unit 405 and the UCR reduction percentage calculation unit 406, and step S1004 is advanced to.
In step S1004, when the UCR reduction percentage calculation unit 406 inputs the determination result and the degree of change from the UCR execution determination unit 404, it calculates a UCR reduction percentage based on the degree of change and outputs it to the UCR processing unit 405. The UCR reduction percentage is calculated by Equation (11).
In step S1005, the UCR processing unit 405 executes the UCR processing on the target pixel in accordance with the UCR execution determination result inputted from the UCR execution determination unit 404. At this time, the UCR processing unit 405 determines, based on the UCR reduction percentage inputted from the UCR reduction percentage calculation unit 406, a UCR amount used for the UCR processing. The determination of this UCR amount is calculated and determined by Equation (10).
In step S1006, the UCR processing unit 405 executes the UCR processing on the target pixel and outputs an obtained image signal to the gamma correction processing unit 302. In step S1007, the color processing unit 301 determines whether or not the execution determination of the UCR processing has been performed on all of the pixels of the inputted image data. In a case where it is determined that the execution determination of the UCR processing has been performed on all pixels, the processing of
As described above, by virtue of the present embodiment, even if a gradation region toward a solid region exists, it is possible to prevent a change of a tint due to a switch of whether or not UCR processing is executed arising.
In the first and second embodiments, the UCR execution determination unit 404 performing a determination of execution of UCR processing by using a degree of change as an evaluation value is described. However, the evaluation value used for determination of execution of UCR processing is not limited to a degree of change. For example, in addition to the degree of change of the target pixel, the luminance value of the target pixel may be referred to and made to be the evaluation value of the determination of an execution of the UCR processing. Also, configuration may also be taken such that it is determined that the UCR processing is executed in a case where a degree of change is smaller than a threshold for comparing degree of change and where the luminance value of a target pixel is also smaller than a threshold for comparing luminance. By this, even in a case where a degree of change is sufficiently small, it is possible to emphasize image quality by not executing UCR processing on an image region of high luminance, specifically, a bright image region. Meanwhile, in a case where a degree of change is sufficiently small, it becomes possible to reduce a usage amount of toner by executing UCR processing on an achromatic region whose luminance is low.
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.
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. 2016-165070, filed Aug. 25, 2016, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2016-165070 | Aug 2016 | JP | national |