Image processing apparatus that acquires image data from removable driver and image processing method

In an image processing apparatus, a data handling unit (a) estimates a size of the intermediate data on the basis of the image data, and (b) selects one of a first rendering mode and a second rendering mode on the basis of a size of the image data and the estimated size of the intermediate data. In the first rendering mode, the data handling unit makes a copy of the image data and stores the copy in the storage device and causes a rendering unit to generate bitmap image data from the image data stored in the storage device. In the second rendering mode, the data handling unit causes the rendering unit to generate the bitmap image data from the image data stored in the removable drive.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application relates to and claims priority rights from Japanese Patent Application No. 2012-285562, filed on Dec. 27, 2012, the entire disclosures of which are hereby incorporated by reference herein.

BACKGROUND

1. Field of the Present Disclosure

The present disclosure relates to an image processing apparatus and an image processing method.

2. Description of the Related Art

In general, a printing device capable of connecting to a removable drive such as a USB (Universal Serial Bus) flash drive (a) reads image data such as a PDF (Portable Document Format) file from the removable drive, (b) analyzes the image data, generates temporal intermediate data that includes the analyzing result using a memory and/or a hard disk drive in the printing device, and performs a rendering process using a memory and/or a hard disk drive in the printing device, and (c) generates bitmap image data corresponding to the image data for printing.

A printing device has a first mode that image data is developed from print data in a removal drive and a second mode that image data is developed from print data in a memory area inside of the printing device. If a free area size of the removal drive is sufficient to store the developed image data, the first mode is selected; and otherwise the second mode is selected.

In the aforementioned printing device, if a free area size of the removal drive is sufficient to store the developed image data, the developed image is stored in the removal drive. On the other hand, in a device that performs a rendering process after generating temporal intermediate data inside of the device, storing places must be required for both the original image data and the intermediate data, and therefore, even if a free area size is sufficient to store the developed image data, for example, in the aforementioned printing device, the free area may be short and the process may stop.

SUMMARY

An image processing apparatus according to an aspect of the present disclosure includes an interface, a storage device, a rendering unit, and a data handling unit. The interface acquires image data from a removable drive. The rendering unit (a) generates intermediate data from the image data and store the intermediate data in the storage device, and (b) generates bitmap image data on the basis of the intermediate data. The data handling unit (a) estimates a size of the intermediate data on the basis of the image data, and (b) selects one of a first rendering mode and a second rendering mode on the basis of a size of the image data and the estimated size of the intermediate data. In the first rendering mode, the data handling unit is further configured to make a copy of the image data and store the copy in the storage device and to cause the rendering unit to generate the bitmap image data from the image data stored in the storage device. In the second rendering mode, the data handling unit is further configured to cause the rendering unit to generate the bitmap image data from the image data stored in the removable drive.

An image processing method according to an aspect of the present disclosure includes the steps of: acquiring image data from a removable drive; estimating a size of intermediate data on the basis of the image data; selecting one of a first rendering mode and a second rendering mode on the basis of a size of the image data and the estimated size of the intermediate data; and generating the intermediate data from the image data, storing the intermediate data in a storage device, and generating bitmap image data on the basis of the intermediate data in the selected one of the first rendering mode and the second rendering mode. The first rendering mode makes a copy of the image data and stores the copy in the storage device and generates the bitmap image data from the image data stored in the storage device. The second rendering mode generates the bitmap image data from the image data stored in the removable drive.

These and other objects, features and advantages of the present disclosure will become more apparent upon reading of the following detailed description along with the accompanied drawings.

DETAILED DESCRIPTION

Hereinafter, an embodiment according to an aspect of the present disclosure will be explained with reference to drawings.

FIG. 1shows a block diagram which indicates a configuration of an image processing apparatus according to an embodiment of the present disclosure. The image processing apparatus1shown inFIG. 1is an image forming apparatus such as a printer or a multi function peripheral, and includes a print engine11and a device interface12. The print engine11performs printing an image on a paper sheet, and the device interface12is capable of connecting to a removable drive2such as a USB flash drive and performs read and write operations from and to the removable drive2.

The device interface12is capable of acquiring image data31(here, a PDF file) stored in the removable drive2.

Further, the network3is a LAN (Local Area Network) and/or a WAN (Wide Area Network), and a network drive4is connected to the network3and provides a storage service. The network drive4is a NAS (Network Attached Storage), a file server, a shared drive inside of a personal computer, or the like. The image processing apparatus1includes a network interface13that is connected to the network3and capable of data communication with the network drive4and so forth.

Further, the image processing apparatus1includes a hard disk drive (HDD)17as a large scale data storage device and a computer that includes a CPU (Central Processing Unit)14, a ROM (Read Only Memory)15as a non volatile memory, a RAM (Random Access Memory)16as a volatile memory, and so forth.

The CPU14loads a program stored in the ROM15, the HDD17and so forth to the RAM16and executes it to form sorts of processing units. The HDD17is a storage device built in the image processing apparatus1and is used as a temporal storage for image data, intermediate data, and so forth.

The CPU14forms a rendering unit21, a data handling unit22, and an image processing unit23.

The rendering unit21generates intermediate data from the image data31and stores the intermediate data in the HDD17, and generates bitmap image data on the basis of the intermediate data. The intermediate data includes an analyzing result of the image data.

The data handling unit22estimates a size of the intermediate data on the basis of the image data31, and selects one of a first rendering mode and a second rendering mode on the basis of a size of the image data and the estimated size of the intermediate data.

In Embodiment 1, the data handling unit22selects the first rendering mode if a free area size of the HDD17is larger than a sum of the size of the image data31and the estimated size of the intermediate data. Otherwise, the data handling unit22selects the second rendering mode.

The first rendering mode is an operation mode in which a copy of the image data is made and stored in the HDD17and the rendering unit21is caused to generate the bitmap image data from the image data31stored in the HDD17.

The second rendering mode is an operation mode in which the rendering unit21is caused to generate the bitmap image data from the image data31stored in the removable drive2, without making a copy of the image data31and storing the copy in the HDD17.

In the first rendering mode, although it takes a longer processing time due to making and storing a copy of the image data31than that in the second rendering mode, the removable drive2can be removed from the image processing apparatus1after making and storing a copy of the image data31to the HDD17.

For example, the data handing unit22estimates a size of the intermediate data on the basis of a content (a setting value of image resolution, an image size, and so forth) of the image data31(here, a PDF file).

The image processing unit23generates print image data of each toner color of the print engine11by performing image processing such as color conversion, and a screening process for the bitmap image data generated by the rendering unit21. The print engine11prints an image based on this print image data.

Further, the image processing unit1includes an operation display unit18. The operation display unit18includes an input device that detects a user operation and a display device that display sort of information to a user.

In the following part, a behavior of the aforementioned image processing apparatus is explained.

FIG. 2shows a flowchart which explains a rendering process in Embodiment 1.

Firstly, the data handling unit22identifies a size of image data31stored in the removable drive2using the device interface12(Step S1).

Subsequently, the data handling unit22reads necessary data for size estimation of intermediate data from the removable drive2using the device interface12, and estimates the size of the intermediate data on the basis of the read data (Step S2).

Further, the data handling unit22identifies a free area size of the HDD17(Step S3). It should be noted that this free area size is a size of a free area in a whole area that the rendering unit21can use.

Furthermore, the data handling unit22identifies whether the free area size of the HDD17is larger than a sum of a size of the image data31and the estimated size of the intermediate data (Step S4).

If the free area size of the HDD17is larger than a sum of a size of the image data31and the estimated size of the intermediate data, then the data handling unit22reads the image data31from the removable drive2using the device interface12and makes a copy of the image data31and stores the copy in the HDD17(Step S5). Otherwise, a copy of the image data31is not made and not stored in the HDD17.

If a copy of the image data31is made and stored in the HDD17, then the rendering unit21reads the image data31from the HDD17, generates the intermediate data from the read image data31, temporarily stores the intermediate data in the HDD17, and generates bitmap image data from the intermediate data (Step S6).

Contrary to this, if a copy of the image data31is not made and not stored in the HDD17, then the rendering unit21reads the image data31from the removable drive2, generates the intermediate data from the read image data31, temporarily stores the intermediate data in the HDD17, and generates bitmap image data from the intermediate data (Step S7).

The image processing unit23processes the bitmap image data in turn using the RAM16, and provides the print image data to the print engine11. The print engine11performs printing on the basis of the print image data.

In the aforementioned Embodiment 1, the data handling unit22estimates a size of the intermediate data on the basis of the image data31, and selects one of a first rendering mode and a second rendering mode on the basis of a size of the image data and the estimated size of the intermediate data.

Therefore, the possibility is lowered that not only a rendering process but printing stops due to shortage of a free area for the intermediate data.

In the image processing apparatus1of Embodiment 2, in Step S4inFIG. 2, the data handling unit22selects the first rendering mode if a sum of the size of the image data31and the estimated size of the intermediate data is less than a predetermined threshold value. Otherwise, the data handling unit22selects the second rendering mode.

Other parts in the configuration and the operation of the image processing apparatus1in Embodiment 2 are identical to those in Embodiment 1, and therefore, they are not explained here.

In Embodiment 3, the data handling unit22deletes the image data stored in the HDD17and cause the rendering unit21to generate bitmap image data in the second rendering mode again if a storing area is short for the intermediate data in a case the first rendering mode is selected.

Other parts in the configuration of the image processing apparatus1in Embodiment 3 are identical to those in Embodiment 1, and therefore, they are not explained here. The image processing apparatus1in Embodiment 3 runs in the following manner.

FIG. 3shows a flowchart which explains a rendering process in Embodiment 3. Steps S1to S5and Step S7inFIG. 3are identical to those in Embodiment 1 (FIG. 2), and therefore they are not explained here.

In Embodiment 3, after selecting the first rendering mode, making a copy of the image data31and storing the copy in the HDD17, the rendering unit21starts rendering of the image data31stored in the HDD17(Step S11).

The data handling unit22watches whether shortage of a writing area for the intermediate data generated by the rendering unit21occurs or not (Step S12). If shortage of a writing area for the intermediate data occurs until the rendering process is finished (Step S13), the data handling unit22deletes the image data31stored in the HDD17(Step S14), changes the operation mode to the second rendering mode, and causes the rendering unit21to perform the rendering process again (Step S7).

In the aforementioned Embodiment 3, even if a writing area for the intermediate data is short while rendering, the rendering process is performed in the second rendering mode, and consequently printing is not cancelled.

In Embodiment 4, the data handling unit22changes a storing place of the intermediate data from the HDD17to the removable drive2if a storing area is short for the intermediate data in a case the first rendering mode is selected.

Other parts in the configuration of the image processing apparatus1in Embodiment 4 are identical to those in Embodiment 1, and therefore, they are not explained here. The image processing apparatus1in Embodiment 4 runs in the following manner.

FIG. 4andFIG. 5show a flowchart which explains a rendering process in Embodiment 4. Steps S1to S5and Step S7inFIG. 4andFIG. 5are identical to those in Embodiment 1 (FIG. 2), and therefore they are not explained here.

In Embodiment 4, after selecting the first rendering mode, making a copy of the image data31, and storing the copy in the HDD17, the rendering unit21starts rendering of the image data31stored in the HDD17(Step S11).

If shortage of a writing area for the intermediate data occurs (Step S12) until the rendering process is finished (Step S13), the data handling unit22changes a storing place of the intermediate data to the removable drive2(Step S21). Subsequently, the rendering unit21continues the rendering process while storing the subsequent intermediate data in the removable drive2after changing the storing place.

After finishing the rendering process (Step S22), the data handling unit22deletes the intermediate data stored in the removable drive2(Step S23), and deletes the intermediate data stored in the HDD17(Step S24).

In the aforementioned Embodiment 4, even if a writing area for the intermediate data is short while rendering, the removable drive2is used as the writing area for the intermediate data in addition to the HDD17, and consequently printing is not cancelled.

Other parts in the configuration of the image processing apparatus1in Embodiment 5 are identical to those in Embodiment 1, and therefore, they are not explained here. The image processing apparatus1in Embodiment 5 runs in the following manner.

FIG. 6shows a flowchart which explains a rendering process in Embodiment 5. Steps S1and S2inFIG. 6are identical to those in Embodiment 1 (FIG. 2), and therefore they are not explained here.

In Embodiment 5, the data handling unit22identifies free area sizes of the HDD17and the network drive4(Step S31). Subsequently, the data handling unit22identifies whether or not the free area of the HDD17is larger than the free area of the network drive4(Step S32).

If the free area of the HDD17is larger than the free area of the network drive4, then the data handling unit22identifies whether or not the free area size of the HDD17is larger than a sum of a size of the image data31and the estimated size of the intermediate data (Step S33). On the other hand, if the free area of the HDD17is not larger than the free area of the network drive4, then the data handling unit22identifies whether or not the free area size of the network drive4is larger than a sum of a size of the image data31and the estimated size of the intermediate data (Step S34).

If the free area size of the HDD17is not larger than a sum of a size of the image data31and the estimated size of the intermediate data in Step S33or the free area size of the network drive4is not larger than a sum of a size of the image data31and the estimated size of the intermediate data in Step S34, then the data handling unit22selects the second rendering mode, and causes the rendering unit21to perform a rendering process (Step S35).

If the free area size of the HDD17is larger than a sum of a size of the image data31and the estimated size of the intermediate data in Step S33, the data handling unit22identifies whether or not the size of the image data31is larger than the estimated size of the intermediate data (Step S36).

If the free area size of the network drive4is larger than a sum of a size of the image data31and the estimated size of the intermediate data in Step S34, the data handling unit22identifies whether or not the size of the image data31is larger than the estimated size of the intermediate data (Step S37).

If the size of the image data31is larger than the estimated size of the intermediate data in Step S36or the size of the image data31is not larger than the estimated size of the intermediate data in Step S37, then the data handling unit22makes a copy of the image data31stored in the removable drive2and stores the copy in the HDD17(Step S38), sets the network drive4as a storing place of the intermediate data (Step S39), and causes the rendering unit21to perform a rendering process in the first rendering mode (Step S40).

Otherwise, if the size of the image data31is not larger than the estimated size of the intermediate data in Step S36or the size of the image data31is larger than the estimated size of the intermediate data in Step S37, then the data handling unit22makes a copy of the image data31stored in the removable drive2and stores the copy in the network drive4(Step S41), sets the HDD17as a storing place of the intermediate data (Step S42), and causes the rendering unit21to perform a rendering process in the first rendering mode (Step S43). In this case, the rendering unit21reads the image data31from the network drive4and generates the bitmap image data from it.

In the aforementioned Embodiment 5, one of the HDD17and the network drive4, which has a larger free area, is set as a storing place for one of the image data31and the intermediate data, which has the larger one of the size of the image data31and the estimated size of the intermediate data; and the other of the HDD17and the network drive4, which has a smaller free area, is set as a storing place for the other of the image data31and the intermediate data, which has the smaller one of the size of the image data31and the estimated size of the intermediate data, and consequently, the possibility of the free area shortage is lowered.

In Embodiment 6, if a storing area is short for the intermediate data in a case the first rendering mode is selected, the data handling unit22identifies a size of all data stored in the removable drive2. Subsequently, if a free area size of the HDD17is larger than the identified size of the all data stored in the removable drive2, then the data handling unit22migrates the all data stored in the removable drive2to the HDD17, deletes the all data stored in the removable drive2, sets the removable drive2as a storing place for the intermediate data, and returns the migrated all data to the removable drive2after generating the bitmap image data.

Other parts in the configuration of the image processing apparatus1in Embodiment 6 are identical to those in Embodiment 1, and therefore, they are not explained here.

In Embodiment 6, if a writing area in the HDD17for the intermediate data is short while performing the rendering process shown in the aforementioned Embodiment 1 (FIG. 2), the following process is performed.FIG. 7shows a flowchart which explains a rendering process in Embodiment 6.

In Embodiment 6, if a writing area for the intermediate data is short, then the data handling unit22identifies a whole area size of the removable drive2(Step S101), and identifies whether or not the whole area size of the removable drive2is larger than the free area size of the HDD17(i.e. the free area size identified in Step S3inFIG. 2) (Step S102).

If the whole area size of the removable drive2is larger than the free area size of the HDD17, then the data handling unit22identifies an in-use area size of the removable drive2(i.e. a size of all data stored in the removable drive2) (Step S103), and identifies whether or not the free area size of the HDD17is larger than the in-use area size of the removable drive2(Step S104).

If the free area size of the HDD17is larger than the in-use area size of the removable drive2, then the data handling unit22migrates all data stored in the removable drive2to the HDD17(Step S105). Specifically, a copy of all data stored in the removable drive2is made and stored in the HDD17, and the all data stored in the removable drive2is deleted.

The data handling unit22sets the removable drive2as a storing place of the intermediate data (Step S106), and causes the rendering unit21to perform a rendering process in the first rendering mode (Step S107).

After finishing the rendering process, the data handling unit22returns the all data migrated to the HDD17to the removable drive2(Step S108).

In the aforementioned Embodiment 6, even if a writing area for the intermediate data is short while rendering, the removable drive2is used as the writing area for the intermediate data and the rendering process is performed again, and consequently printing is not cancelled.

The description has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the present disclosure.

For example, in Embodiment 5, unshown another built-in HDD of the image processing apparatus1may be used instead of the network drive4.

Further, in any of Embodiments 1 to 6, a non volatile memory drive such as SSD (Solid State Drive) or CF (Compact Flash) may be used instead of the HDD in the image processing apparatus1.