Image forming apparatus, method of controlling the same, and storage medium

An image forming apparatus includes circuitry that binarizes image data, a memory, and a print engine unit that forms an image of the binarized image data. When the image data is low in resolution, the circuitry has the image data stored in the memory and thereafter performs on the image data, detection processing for detecting whether or not the image data includes a predetermined pattern before binarization processing. When the image data is high in resolution, the circuitry binarizes the image data, thereafter has the image data stored in the memory, thereafter further performs multivalue converting processing on the image data, and thereafter performs detection processing.

The entire disclosure of Japanese Patent Application No. 2019-051501 filed on Mar. 19, 2019 is incorporated herein by reference in its entirety.

BACKGROUND

Technological Field

The present disclosure relates to an image forming apparatus and particularly to an image forming apparatus that performs detection processing for detecting whether or not a predetermined pattern is included.

Description of the Related Art

Quality of an image formed by an image forming apparatus such as a multi-functional peripheral (MFP) has recently been improved. With such backgrounds, significance of detection processing on image data for printing that had conventionally been performed for avoiding printing of a print prohibited image such as valuable paper or banknotes has become great. For such detection processing, for example, Japanese Laid-Open Patent Publication No. H05-014683 discloses a technique for performing detection processing after multivalue converting processing on binary image data.

SUMMARY

When image data are uniformly subjected to binarization processing and thereafter to multivalue converting processing and detection processing, however, accuracy in detection may be lower.

In a conventional image forming apparatus, timing of binarization of image data may be different depending on resolution of the image data. For example, image data high in resolution is binarized immediately after rasterization for minimizing an amount of data to internally be handled, and thereafter stored in a file memory. Image data low in resolution, on the other hand, is stored in a file memory after rasterization without being binarized, and thereafter read from the file memory and then binarized. When detection processing onto image data immediately before binarization is uniformly attempted, process delay may be caused. More specifically, when image data high in resolution is processed in succession to image data low in resolution, detection processing onto preceding image data is performed after storage into and from the file memory. Therefore, start of detection processing onto subsequent image data is delayed, which may cause delay in output of subsequent image data.

Dedicated circuitry for detection processing onto each of image data high in resolution and image data low in resolution may also be provided. In such a case, however, a circuit scale in an image forming apparatus is larger, which may lead to significant increase in cost for manufacturing an image forming apparatus.

Therefore, a technique for avoiding lowering in detection accuracy in detection processing while avoiding delay in processing of image data has been demanded.

To achieve at least one of the abovementioned objects, according to an aspect of the present invention, an image forming apparatus reflecting one aspect of the present invention comprises an image processing unit that binarizes image data and an image forming unit that forms an image of the binarized image data. The image processing unit includes a file memory. When the image data is low in resolution, the image data is stored in the file memory and thereafter subjected to detection processing for detecting whether or not the image data includes a predetermined pattern before binarization processing. When the image data is high in resolution, the image data is binarized, thereafter stored in the file memory, and thereafter subjected to multivalue converting processing and then to the detection processing.

To achieve at least one of the abovementioned objects, according to an aspect of the present invention, a method of controlling an image forming apparatus reflecting one aspect of the present invention comprises determining whether image data to be processed is high or low in resolution, when the image data is low in resolution, storing the image data in a file memory and thereafter performing detection processing on the image data before binarization processing, when the image data is high in resolution, binarizing the image data and thereafter storing the binarized image data in the file memory, and when the image data is high in resolution, reading the image data from the file memory, performing multivalue converting processing on the image data, and thereafter performing the detection processing for detecting whether or not the image data includes a predetermined pattern.

DETAILED DESCRIPTION OF EMBODIMENTS

An embodiment of an image forming apparatus will be described below with reference to the drawings. The same elements and components in the description below have the same reference characters allotted and their labels and functions are also identical. Therefore, description thereof will not be repeated.

[Manner of Use of Image Forming Apparatus]

FIG. 1is a diagram showing an exemplary manner of use of an image forming apparatus. As shown inFIG. 1, an image forming system1000includes an image forming apparatus100and a user terminal200. Image forming apparatus100may be a multi-functional machine such as an MFP or a printer. User terminal200may be a general-purpose computer or a portable terminal such as a smartphone. Image forming apparatus100and user terminal200can communicate with each other through a network N.

[Hardware Configuration of Image Forming Apparatus]

FIG. 2is a diagram showing an exemplary hardware configuration of image forming apparatus100.

Image forming apparatus100includes a controller101for overall control of image forming apparatus100Image forming apparatus100further includes a display102, an operation unit103, a communication unit104, a storage105, an image pick-up unit106, an image processing unit107, and an image forming unit108. These components are connected to controller101through an internal bus.

Controller101includes a central processing unit (CPU). Display102is implemented, for example, by a display apparatus such as a liquid crystal display, an organic electro-luminescence (OEL) display, and/or an indicator. Operation unit103is implemented, for example, by an input apparatus such as a display (software key) and/or a hardware key.

Communication unit104is implemented, for example, by a communication interface such as a local area network (LAN) card. Storage105is implemented, for example, by a storage apparatus such as a hard disk drive (HDD) and/or a solid state drive (SSD). Image pick-up unit106is implemented, for example, by an image pick-up apparatus such as an image sensor.

Image processing unit107includes, for example, a processor (for example, circuitry)107X that performs processing such as rasterization and binarization processing onto image data and a memory107Y that stores data representing a result of processing.

Image forming unit108is implemented, for example, by a print engine unit that includes a photoconductor that forms an electrostatic latent image, an ink cartridge drive circuit for supplying ink for forming an image, a roller that transports printing paper, and a motor that drives the roller.

[Functional Configuration of Image Forming Apparatus]

FIG. 3is a diagram showing an exemplary functional configuration of image processing unit107. Image processing unit107includes a raster image processing (RIP) unit301, an RIP buffer memory302, a direct memory access (DMA) controller303, a binarization processor304, a compression and decompression processor305, a file memory306, an image editor307, a binarization processor308, a print controller309, a multivalue converting processor310, and a detection processor311.

RIP unit301, DMA controller303, binarization processor304, compression and decompression processor305, image editor307, binarization processor308, print controller309, multivalue converting processor310, and detection processor311are each implemented by at least one processor. Each of them is implemented by execution of a given program by a general-purpose processor and/or a dedicated processor (for example, hardware such as an ASIC). RIP buffer memory302and file memory306are each implemented by a memory.

RIP unit301rasterizes input image data and has the rasterized image data stored in RIP buffer memory302.

DMA controller303transfers image data stored in RIP buffer memory302to each element in image processing unit107. More specifically, DMA controller303transfers image data categorized as image data high in resolution to binarization processor304and transfers image data categorized as image data low in resolution to compression and decompression processor305. By way of example, DMA controller303categorizes image data having resolution not larger than a given threshold value as image data low in resolution and categorizes image data having resolution exceeding the threshold value as image data high in resolution. An exemplary threshold value is set to 600 dots per inch (dpi).

By way of example, image data of 600 dpi and image data of 1200 dpi may be input to image forming apparatus100. In this case, image data of 600 dpi is handled as image data low in resolution and image data of 1200 dpi is handled as image data high in resolution.

Compression and decompression processor305compresses image data. DMA controller303transfers compressed image data to file memory306.

DMA controller303transfers image data input as image data high in resolution among image data stored in file memory306to multivalue converting processor310as necessary, after decompression by compression and decompression processor305. DMA controller303transfers image data input as image data low in resolution among image data stored in file memory306to image editor307after decompression by compression and decompression processor305.

Image editor307performs edition processing on image data. Enlargement processing represents one example of edition processing and reduction processing represents another example. DMA controller303transfers image data edited by image editor307to binarization processor308and detection processor311.

Multivalue converting processor310performs multivalue converting processing on image data. Multivalue converting processor310may perform multivalue converting processing on image data so as to lower resolution thereof to be lower than resolution at the time of input of the image data. For example, image data at resolution of 1200 dpi input to image processing unit107is binarized and thereafter converted to multi-valued data at resolution of 600 dpi.

When image data input to image processing unit107is high in resolution, DMA controller303transfers the image data read from RIP buffer memory302or the image data processed by multivalue converting processor310to detection processor311in accordance with a condition which will be described later with reference toFIG. 4.

Detection processor311performs detection processing for detecting a specific image pattern in the image data. Examples of the specific image pattern include a pattern that constitutes an image of which output is prohibited, such as an image of banknotes. Detection processor311outputs a result of detection processing to DMA controller303.

On condition that the image data has been determined as not including the specific image pattern in detection processing, DMA controller303transfers image data high in resolution decompressed by compression and decompression processor305or image data low in resolution binarized by binarization processor308to print controller309.

When the image data has been determined as including the specific image pattern in detection processing, DMA controller303does not transfer the image data to print controller309. Formation of an image in accordance with image data that may include the specific image pattern in image forming apparatus100is thus avoided. In this case, DMA controller303may notify controller101of a result of detection processing onto the image data. In response, controller101may have display102show information indicating that the image data (may) contains an image of which printing is prohibited.

Print controller309transfers the image data to image forming unit108and controls image forming unit108to form an image in accordance with the image data on a recording medium such as printing paper.

FIG. 4is a flowchart of processing in image processing unit107for transferring input image data to detection processor311. The processing is performed by a hardware element implementing DMA controller303and performed by execution of a given program by a given hardware element (circuitry) by way of example.

The processing inFIG. 4is started, for example, in response to input of an instruction to execute a print job from user terminal200to image forming apparatus100. The processing inFIG. 4should only be started in response to an instruction to execute a job including formation of an image, and may be started in response to an instruction to execute a copy job (for example, pressing of a copy button) in image forming apparatus100.

In step S10, DMA controller303determines whether or not RIP (rasterization by RIP unit301) of image data input to image processing unit107has been completed. When DMA controller303determines that RIP has not yet been completed, the process stays in step S10(NO in step S10), and when it determines that RIP has been completed, the DMA controller allows control to proceed to step S20(YES in step S10).

In step S20, DMA controller303determines whether or not image data in a job from which an image is formed is high in resolution. In one example, when a file of which printing is indicated in a job includes an image high in resolution, DMA controller303determines the image data as being high in resolution (for example, resolution exceeding 600 dpi) and determines the image data as being in high in resolution. In another example, when the image data does not include an image high in resolution, DMA controller303determines the image data as not being high in resolution. When DMA controller303determines the image data as being high in resolution, the DMA controller allows control to proceed to step S40(YES in step S20), and otherwise, the DMA controller allows control to proceed to step S30(NO in step S20).

In step S30, DMA controller303transfers image data edited by image editor307and yet to be binarized by binarization processor308to detection processor311and quits the process inFIG. 4.

In step S40, DMA controller303determines whether or not detection processing is busy. In one example, the detection processing being busy means that image data in another job is being processed by detection processor311. The detection processing not being busy means that image data is not being processed by detection processor311. When DMA controller303determines that the detection processing is busy, the DMA controller allows control to proceed to step S60(YES in step S40), and when it determines that the detection processing is not busy, the DMA controller allows control to proceed to step S50(NO in step S40).

In step S50, DMA controller303transfers image data binarized by binarization processor304and thereafter subjected to multivalue converting processing in multivalue converting processor310to detection processor311and quits the process inFIG. 4.

In step S60, DMA controller303transfers image data yet to be binarized by binarization processor304(the image data read from RIP buffer memory302) to detection processor311and quits the process inFIG. 4.

FIGS. 5 to 8each show an exemplary timing chart of processing in the image processing unit in image forming apparatus100according to the present disclosure or an image forming apparatus in a comparative example. Each ofFIGS. 5 to 8shows a timing chart in execution of two successive print jobs (a “job1” and a “job2” in each figure). In each example shown inFIGS. 5 to 8, each of “job1” and “job2” represents a job for a file including image data of three pages.

Each ofFIGS. 5 to 8shows processing performed onto image data, such as “RIP”. More specifically, RIP (rasterization) A1by RIP unit301, compression processing A2and decompression processing A3by compression and decompression processor305, image edition A4by image editor307, binarization processing A5by binarization processor308, detection processing X by detection processor311, and print processing Y by print controller309are shown as processing performed onto image data low in resolution.

RIP (rasterization) B1by RIP unit301, binarization processing B2by binarization processor304, compression processing B3and decompression processing B4by compression and decompression processor305, detection processing X by detection processor311, and print processing Y by print controller309are shown as processing performed onto image data high in resolution.FIG. 7further shows multivalue converting processing B5by multivalue converting processor310.

In each ofFIGS. 5 to 8, the abscissa represents lapse of time.FIGS. 5 to 8show on which page in which job image data is subjected to each type of processing. Each ofFIGS. 5 to 8will be described below.

(FIG. 5: Example in Which Jobs Low in Resolution Are Successively Executed)

In an example inFIG. 5, each of job1and job2is a print job for printing image data low in resolution. As shown inFIG. 5, initially, image data on a first page in job1is subjected to RIP A1. When RIP on the image data on the first page in job1is completed, image data on the first page is transferred to compression and decompression processor305and RIP A1on image data on a second page is performed. Image data on each of the first page to a third page in job1is sequentially processed in RIP A1, compression processing A2, decompression processing A3, image edition A4, and binarization processing A5. Each piece of image data is processed in detection processing X in parallel to processing in binarization processing A5. As detection processing X for each page is completed, print processing Y onto that page is performed on condition that the specific image pattern described above was not detected in the detection processing.

In the example inFIG. 5, after RIP A1onto the last page (the third page) in job1, RIP A1onto a top page (a first page) in job2is started. For job2as well, image data on each of the first page to the third page is sequentially processed in RIP A1, compression processing A2, decompression processing A3, image edition A4, and binarization processing A5.

In the example inFIG. 5, image edition A4of the first page in job2ends at time t12. Detection processing X onto the third page in job1ends at time t11before time t12. In other words, detection processing X onto the top page in job2can be started without waiting for the end of detection processing X onto the last page in job1. Thus, in processing of the image data in job2, delay which may be caused by waiting for processing onto the image data in job1is avoided.

(FIG. 6: Example (1) in Which Job High in Resolution Is Executed After Job Low in Resolution)

In an example inFIG. 6, job1is a print job for printing image data low in resolution and job2is a print job for printing image data high in resolution.

In the example inFIG. 6as well, as in the example inFIG. 5, image data on each of the first page to the third page in job1is sequentially processed in RIP A1, compression processing A2, decompression processing A3, image edition A4, and binarization processing A5. Each piece of image data is processed in detection processing X in parallel to processing in binarization processing A5. When detection processing X onto each page is completed, print processing Y onto that page is performed on condition that the specific image pattern described above was not detected in the detection processing.

In the example inFIG. 6, RIP B1onto a first page in job2is started at the timing of end of the print processing onto the first page in job1. Thereafter, image data on each of the first page to the third page also in job2is sequentially processed in RIP B1, binarization processing B2, compression processing B3, and decompression processing B4.

In the example inFIG. 6, at time t22, RIP B1onto the first page in job2ends and binarization processing B2is started. Detection processing X onto the last page in job1ended at time t21before time t22. In other words, image processing unit107(DMA controller303) can determine that detection processing X is not busy at the time when it attempts binarization processing B2onto the first page in job2(NO in step S40inFIG. 4). Therefore, in the example inFIG. 6, image data before binarization processing B2is processed in detection processing X.

In the example inFIG. 6, detection processing onto image data in job2is performed without waiting for end of detection processing onto the image data in job1and image data before binarization processing B2(which remains high in resolution) can be processed.

(FIG. 7: Example (2) in Which Job High in Resolution Is Executed After Job Low in Resolution)

In an example inFIG. 7, as in the example inFIG. 6, job1is a print job for printing image data low in resolution and job2is a print job for printing image data high in resolution.

In the example inFIG. 7as well, as in the example inFIG. 6, image data on each of the first page to the third page in job1is sequentially processed in RIP A1, compression processing A2, decompression processing A3, image edition A4, and binarization processing A5. Each piece of image data is processed in detection processing X in parallel to processing in binarization processing A5. When detection processing X onto each page is completed, print processing Y onto that page is performed on condition that the specific image pattern described above was not detected in the detection processing.

In the example inFIG. 7, RIP B1onto image data on the first page in job2is started in a relatively early stage after the end of RIP A1onto the last page (the third page) in job1. Therefore, for image data on the first page in job2, at the timing (time t31) of completion of RIP B1and start of binarization processing B2, detection processing X onto image data on the last page in job1has not yet ended. Detection processing X onto the image data on the last page in job1ends at time t32after time t31. In other words, at time t31, detection processing X is determined as being busy (YES in step S40).

Then, in the example inFIG. 7, image processing unit107(DMA controller303) performs detection processing X onto image data in job B2that has been subjected to binarization processing B2, compression processing B3, decompression processing B4, and multivalue converting processing B5, as described as control in step S60. Detection processing X onto the image data on the first page in job2is thus started at time t33after time t32.

In the example inFIG. 7, image processing unit107performs detection processing onto image data low in resolution before it is binarized. Lowering in accuracy in detection processing can thus be avoided Image processing unit107performs detection processing onto image data high in resolution after it is subjected to multivalue converting processing even though it has been binarized. Thus, in a scene where a job (image data) high in resolution is executed after a job (image data) low in resolution, delay in start of detection processing for the job high in resolution that may be caused by waiting for detection processing for the job low in resolution can be avoided. In such a scene, delay in processing can be avoided while lowering in accuracy in detection processing is avoided.

(FIG. 8: Example (3) in Which Job High in Resolution Is Executed After Job Low in Resolution)

In an example inFIG. 8, as in the example inFIG. 7, job1is a print job for printing image data low in resolution and job2is a print job for printing image data high in resolution. The example inFIG. 8is a comparative example with respect to the example inFIG. 7and does not include multivalue converting processing B5. The comparative example shown inFIG. 8will be described in further detail with reference toFIGS. 9 and 10.

FIG. 9is a diagram showing an exemplary configuration of an image processing unit107A corresponding to the example inFIG. 8.FIG. 10is a flowchart of processing corresponding to the example inFIG. 8for transferring image data input to image processing unit107A to the detection processor. The configuration inFIG. 9does not include multivalue converting processor310as compared with the configuration inFIG. 3. In the example inFIG. 9, when image data is high in resolution, DMA controller303transfers image data before binarization processing to detection processor311. When detection processor311is performing detection processing onto another piece of image data, DMA controller303transfers next image data to detection processor311after end of detection processing onto that image data.

In processing inFIG. 10, as compared with the processing inFIG. 4, when DMA controller303determines that the detection processing is busy (YES in step S40), it has control stay in step S40until the detection processing is no longer busy. DMA controller303transfers image data to detection processor311on condition that it determines that the detection processing is not busy (NO in step S40).

Referring back toFIG. 8, even when RIP B1onto image data in job2ends at time t31, image data in job1is being processed in detection processing X. Therefore, DMA controller303is unable to transfer image data on the first page in job2from RIP buffer memory302to detection processor311. Since image data on the first page is stored in RIP buffer memory302, RIP unit301is unable to start RIP onto image data on the second page in job2.

At time t32, DMA controller303starts transfer of image data on the first page in job2to detection processor311. DMA controller303thus starts RIP onto image data on the second page in job2at time t32. Since the example inFIG. 8does not include multivalue converting processing B5, there is no path through which image data proceeds to binarization processing B2, compression processing B3, and decompression processing B4after RIP B1. Thus, start of RIP onto image data on the second page in job2is significantly delayed as compared with the example inFIG. 7and hence start of processing onto image data on the second page in binarization processing B2or later is also delayed. Thus, even when detection processing X onto each page in job2ends early, end of decompression processing B4is later than in the example inFIG. 7and consequently start of print processing Y is delayed (time t41).

In other words, in the example inFIG. 7, with progress of detection processing X onto image data in job1before job2, DMA controller303can select whether image data before binarization processing B2or image data after binarization processing B2and after multivalue converting processing B5should be subjected to detection processing X. Thus, image forming apparatus100can avoid lowering in accuracy in detection processing and delay in processing as much as possible.