1. Field of the Invention
The present invention relates to an image processing apparatus and a method for the same, and more specifically, relates to an image processing apparatus capable of utilizing electronic data of an image of a document stored in a storage and a method for the same.
2. Description of the Related Art
A digital copying apparatus optically scans a document to obtain an image, converts the scanned image into an electronic image, and prints out a copy of the document based on the electronic image. However, when using such a digital copying technique to copy all pages of a document including a plurality of pages, there are typically three major problems: 1) copies of all pages of the document cannot be obtained when any of the pages of the document to be copied are missing; 2) every page of the document has to be copied page by page unless an automatic document feeder is available for automatically scanning the plurality of pages; and 3) the quality of the copied images is degraded when copies of the copied documents are produced.
To solve such problems, for example, Japanese Patent Laid-Open No. 10-308868 (corresponding to U.S. patent application publication No. 2001-0029513 A1) describes a system capable of printing out a document by storing electronic data corresponding to images of a document, reading a document ID attached to the document, and printing out the electronic data corresponding to the document ID.
However, the system described in Japanese Patent Laid-Open No. 10-308868 prints out all the pages included in the electronic data retrieved on the basis of the document ID. In other words, it is difficult to obtain a desired part of the electronic data specified by the document ID.
A feature of the present invention provides an image process apparatus and a method for the same that are capable of solving the above-identified problems.
Another feature of the present invention provides an image process apparatus and a method for the same that are capable of facilitating the processing of electronic data being stored in a storage and corresponding to a document.
Another feature of the present invention provides an image process apparatus and a method for the same that are capable retrieving a portion of electronic data stored in a storage without complicated operations.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
An embodiment of the present invention provides an image processing apparatus including a reading unit adapted to read at least a page of a document and to generate image data corresponding to the read page, a detecting unit adapted to detect specifying information included in the image data obtained by the reading unit, wherein the specifying information includes information on electronic data corresponding to the document read by the reading unit, a searching unit adapted to retrieve the electronic data from a storage on the basis of the specifying information detected by the detecting unit, a setting unit adapted to set a printing mode of the electronic data retrieved by the searching unit when the page read by the reading unit corresponds to a portion of the document corresponding to the retrieved electronic data, and a printing unit adapted to print out an image of the retrieved electronic data in accordance with the printing mode set by the setting unit.
Another embodiment of the present invention provides an image processing method comprising the steps of reading at least a page of a document and to generate image data corresponding to the read page, detecting specifying information included in the image data obtained by the reading unit, wherein the specifying information including information on electronic data corresponds to the document read by the reading unit, retrieving the electronic data from a storage on the basis of the specifying information detected by the detecting unit, setting a printing mode of the electronic data retrieved by the searching unit when the page read by the reading unit corresponds to a portion of the document corresponding to the retrieved electronic data, and printing out an image of the retrieved electronic data in accordance with the printing mode set by the setting unit.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
Several embodiments, features and aspects of the present invention will be now herein be described in detail below with reference to the drawings.
[Exemplary Hardware Configuration]
A central processing unit (CPU) 102 of the host PC 101 uses a random access memory (RAM) 103 as a work memory to execute software stored in a hard disk drive (HDD) 104 or the like. In the HDD 104, an operating system (OS), application software, application data, and other data are stored. The CPU 102 is capable of communicating with devices connected to the network 199 via a communication interface (I/F) 105.
A CPU 112 of the printing apparatus 110 uses a RAM 113 as a work memory to execute software stored in the ROM 114 and operates the printing apparatus 110 in accordance with instructions input via an operation panel 111 by a user. The CPU 112 generates image data based on page description language (PDL) data input from external devices connected via a communication I/F 116 and supplies this image data to a printer engine 115 for printing on a sheet of recording paper.
A CPU 122 of the multi-function apparatus 120 uses a RAM 123 as a work memory to execute software stored in an HDD 124 and operates the multi-function apparatus 120 in accordance with instructions input via an operation panel 121 by the user. A page of a document is copied onto a sheet of recording paper by reading the page with a scanner 127 to generate image data and sending the generated image data to a printer engine 125. The scanner 127 includes an automatic document feeder (ADF) configured to convey the pages of a document and enable continuous scanning. The HDD 124 is capable of storing PDL data, intermediate language data, and image data. The CPU 122 generates image data based on the PDL data input from an external device via the communication I/F 126. Then, the CPU 122 sends the generated image data to the printer engine 125 for printing on a sheet of recording paper. The image data obtained by reading a page of a document by the scanner 127 can be sent to external devices via the communication I/F 126.
[Exemplary Software Configuration]
In the printing apparatus 110, a data receiving unit 210 analyzes the data received from the network 199 via the I/F 116 and determines the destination of the received data on the basis of the result of the analysis. A print control unit 211 is provided for print control. A data transmitting unit 212 transmits an enquiry to other devices connected to the network 199 based on the control by the print control unit 211. A PDL analyzing unit 213 analyzes the received PDL data so as to generate intermediate language data 214. A renderer 215 renders the intermediate language data 214 so as to generate image data 216. Also, a printer engine 115 is provided which is in communication with the print control unit 211 and of which is configured to receive image data 215.
The exemplary multi-function apparatus 120 has a similar architecture as that of the printing apparatus 110; therefore, descriptions thereof are omitted.
[Exemplary Processing]
The print control unit 211 (221) switches the operation in accordance with the type of the received data (S303). When PDL data is received, a printing process is carried out (S304). When a storage search request is received, a storage search process (a process of searching a storage for storing print data in a form that is later retrievable) is carried out (S305). When a storage request is received, a storage process (a process of storing print data in a storage) is carried out (S306). When a retrieval request is received, a data retrieval process (a process of retrieving print data stored in a storage) is carried out (S307).
[Exemplary Printing Process]
When there is storage, the print control unit 221 determines whether space is available in the storage (S402). When space is available, PDL analyzing unit 223 analyzes the received PDL data so as to generate intermediate language data 224 for each page of the document, and renderer 225 renders the intermediate language data 224 so as to generate image data 226 by rendering the PDL analyzing unit 223 (S403).
The print control unit 221 stores the intermediate language data 224 or the image data 226 for each of the pages as a data file in a storage (HDD 124) (S404). The name of the file generated at this time may be “apparatus ID_document ID_page number.” All pages included in one PDL data set make up a single document, wherein the document ID is a unique document identifier provided by the print control unit 221.
The print control unit 221 adds a file name, which is storage information indicating the storage location of the intermediate language data 224 or the image data 226, and an address of the apparatus (for example, an IP address or a MAC address) to the image data 226 (S405). The image data 226 is sent to the printer engine 125 for printing (S406). The storage information may be included in the header or footer of the printed document as a character string of a two-dimensional bar code or may be embedded in the printed document as an electronic watermark.
When the apparatus does not include storage or when there is no space available in the storage included in the apparatus, the print control unit 211 (221) searches for a storage in other devices connected to the network 199 (S407). The storage search process is carried out by the data transmitting unit 212 (222) by broadcasting packets, as shown in
After packets for storage search are broadcasted, the print control unit 211 (221) waits for a response (S408) or timeout (S409). If a device having a storage with available space is connected to the network 199, a packet, as shown in
When the packet for the storage search result, shown in
Then, the print control unit 211 (221) stores the intermediate language data 224 or the image data 226 for each of the pages of the document as a data file in the retrieved storage (S412). At this time, the intermediate language data 224 or the image data 226 is transmitted as the packets shown in
The data length of the fields 904 to 907 may be fixed. However, an additional data length field indicating the data length value included in the data length field 907 may be provided so that the data length field 907 may have a variable data length. The name of the file generated at this time may be named “apparatus ID_document ID_page number.”
Then, the print control unit 211 (221) adds storage information indicating the storage location of the intermediate language data 214 (224) or the image data 216 (226). In other words, the address of the device providing the storage, the storage location, and the file name (which are equivalent to the codes written in the destination address field 901, the storage location field 904, and the file name field 905, respectively, as shown in
If the storage search is timed out, the print control unit 211 (221) determines that no available storage space is connected to the network 199. Then, the PDL analyzing unit 213 (223) analyzes the received PDL data to generate intermediate language data 214 (224). Subsequently, the renderer 215 (225) renders the intermediate language data 214 (224) to generate the image data 216 (226) (S410) and supplies this image data 216 (226) to the printer engine 115 (125) to print out the image data 216 (226) (S406).
[Exemplary Storage Search Process]
[Exemplary Storage Process]
The print control unit 221 creates a file at the location in the HDD 124 written in the storage location field 904, wherein the file has the file name written in the file name field 905 in the packet shown in
[Exemplary Method of Creating Storage Space]
The following exemplary methods may be carried out to organize data so as to create storage space:
(1) intermediate data and image data are indiscriminately stored until a predetermined amount of data is stored, and once the predetermined amount of data is stored, old data (i.e., data having an oldest time stamp indicating the time of creation or storage) is deleted to allow new data to be stored;
(2) intermediate data and image data are indiscriminately stored until a predetermined amount of data is stored, and once the predetermined amount of data is stored, the data having the oldest access record (i.e., data having an oldest time stamp indicating time of access) is deleted to allow new data to be stored;
(3) after a predetermined amount of time elapses after the creation or storage of intermediate data and image data, the intermediate data and the image data are deleted;
(4) intermediate data and image data are indiscriminately stored until a predetermined amount of data is stored, and once the predetermined amount of data is stored, the compression rate of the old data is increased; and
(5) intermediate data and image data are indiscriminately stored until a predetermined amount of data is stored, and once the predetermined amount of data is stored, intermediate data whose data amount can be reduced by converting the intermediate data into image data are searched and rendered into image data to be stored again.
Furthermore, when data is deleted or compressed, the data is processed per document, and files having the same document ID are deleted or compressed at once.
In this way, the printing system according to this embodiment carries out printing by assigning the printing apparatus 110 or the multi-function apparatus 120 from the host PC 101 or another host PC connected to the network 199. At this time, the assigned apparatus carries out printing while, at the same time, intermediate language data or image data acquired by processing the PDL data is stored in a storage and storage information indicating the storage location of the data is added to the image data that is being printed. The storage is not limited to the HDD 124 of the multi-function apparatus 120 and any storage included in a device connected to the network 199 may be used. If software for performing the process shown in the flow chart in
[Exemplary Copying Process]
First, one page of a document is scanned (S1202). Then, it is determined whether storage information is attached to the scanned image (S1203). If storage information is not attached, the scanned image is printed by the printer engine 125 as a regular copy (S1204). After printing, the document number, which is an internal variable of the print control unit 221, is reset (S1205) and then the process ends. As described below, the document ID extracted from the storage information included in the scanned image is set in the document number, which is an internal variable.
When storage information is attached to the scanned image, data is retrieved on the basis of the storage information (S1206).
Referring back to
If intermediate language data or image data is stored, the file number field 1108 is referred to to determine whether the scanned page is a page of a document including other pages (S1208). Then, it is determined whether a value is set for the document number (S1209). Then, it is determined whether the document number matches the document ID included in the file name in the storage information attached to the scanned image (S1210). Subsequently, if the result of Step S1208 or S1209 is ‘no’ or if the result of Step S1210 is ‘yes,’ the process proceeds to Step S1220.
If the results of Steps S1208 and S1209 are ‘yes’ and the result of Step S1210 is ‘no,’ the document number is reset (S1211), and an operation screen 1301, as shown in
The user selects the printing mode by pressing one of the following buttons: a ‘print all pages’ button 1302 for printing all pages of the document; a ‘print from current page’ button 1303 for printing the scanned page and the subsequent pages; and a ‘print assigned page’ button 1304 for printing the assigned page(s); and, a ‘print scanned page only’ button 1306 for printing only the page that has been scanned. The user may also select a ‘print pages between assigned pages’ button 1307 for printing the pages of the document interposed between the two scanned pages. When the ‘print assigned page’ button 1304 is selected, a page or a range of pages is assigned by inputting the page number in an input box 1305.
Referring again to
The intermediate language data or the image data obtained by the retrieval request sent out in Step S1206 and/or S1214 are printed in order by page (S1215). If it is determined, on the basis of the information included in the data type field 1106 of the packed shown in
If the ‘print scanned page only’ button 1306 is selected, the document ID included in the file name obtained by the retrieval request sent out in Step S1206 is set in the document number, which is an internal variable (S1219). Then, the process proceeds to Step S1220.
If it is determined in Steps S1208, S1209, and S1210 that the printing mode does not have to be selected or if the user selects the ‘print scanned page only’ button 1306, an image based on the data retrieved as a result of the retrieval request sent out in Step S1206 is printed (S1220). If it is determined, on the basis of the information included in the data type field 1106 of the packed shown in
Then, it is determined whether scanning has been performed using the ADF (S1221). If the ADF is used, it is determined whether more pages of the document remain in the ADF (S1222). If there are more pages in the ADF, the process is returned to Step S1202 and the subsequent steps are repeated since the remaining pages may not be pages from the same document.
If the document ID attached to the page newly read in Step S1202 matches the document number set in Step S1219, and it is determined in Step S1210 that a printing mode does not have to be selected, then process proceeds to S1220. These steps are carried out to prevent the same processing from being carried out twice on the same document.
After S1222, if pages of the document do not remain in the ADF, the document number, which is an internal variable, is reset (S1223), and the process is ended. If the ADF is not used (i.e., if the document is place on the document table), the process is ended. If the process is ended because the ADF is not used, the document number is not reset because the pages of the document may be copied using the document table. However, if the printing process is not restarted after a predetermined amount of time, the document number is reset. The user can reset the document number by operating the operation panel 121.
If the ‘print pages between assigned pages’ button 1307 is selected, the process for printing the pages between two predetermined pages (S1216) is carried out.
Then, it is determined whether storage information is attached to the scanned image of the second page (S1403). The document ID included in the file name of the storage information attached to the scanned second page is extracted and determined whether it matches the document ID of the first scanned image (S1404). If storage information is not attached to the second scanned image or if the document IDs of the first and second pages do not match, the operation panel 121 displays a message informing the user that storage information is not included in the second image or that the two images have difference document IDs. Further, the operation panel 121 may display a request for the correct document to be set (S1408). In this way, the user can set the correct page of the document. Then, if the user presses the start button on the operation panel 121, the process is returned to Step S1402 to rescan the second page of the document (S1409). If the cancel button on the operation panel 121 is pressed, the printing process is ended.
If storage information is attached to the second scanned image and the document IDs of the first and second images match, data retrieval is requested on the basis of the storage information attached to the first and second images (S1405). At this time, the page numbers included in the file names of the first and second pages are compared and the data retrieval is requested in order, for example, by page. If the printing is set in a reversed order, a data retrieval request for retrieving the pages in the inverse order is sent out. Since the data corresponding to the first scanned page has already been obtained in Step S1206, data retrieval does not have to be requested for the first page.
Next, the pages of the intermediate language data or the image data obtained by the retrieval request sent out in Steps S1206 and S405 are printed by page (S1406). If it is determined, on the basis of the information included in the data type field 1106 of the packed shown in
[Exemplary Data Retrieval Process]
When a data retrieval request is received, it is determined whether files corresponding to the storage location field 1004 and the file name field 1005 of the packet shown in
In this way, if a page of a document including storage information is scanned in the copying process, it is. determined whether the electronic data corresponding to the page is stored in a storage and whether the scanned page is a page of a document including other pages. If electronic data corresponding to the page is stored in a storage and if the scanned page is a page of a document including other pages, the uses is instructed to select one of the printing modes, ‘print all pages of the document,’ ‘print the scanned page and the subsequent pages,’ ‘print assigned pages,’ ‘print the scanned page only,’ or ‘print pages between first and second assigned pages.’ Accordingly, pages that have not been scanned can be printed if the electronic data of the unscanned pages of the document is stored and if the user requests the printing.
If the user loads a plurality of pages of the document in the ADF and selects the ‘print the scanned page only’ mode, the printing mode of the remaining pages is not reconfirmed. Hence, the user may not be bothered with unnecessary operations. If the ‘print the scanned page only’ mode is selected when the user places a page of a document on the document table to carry out copying, the printing method is not reconfirmed even if second page of the document is scanned after the first page. Thus, in this case too, the user may not be bothered with unnecessary operations.
In the above embodiment, the file name of the file generated by the print control unit 211 (221) was “apparatus ID_document ID_page number.” In an alternative embodiment, a directory or a folder named “apparatus ID_document ID” may be created and files each named “page number” may be created in the directory or the folder to achieve the same advantages as described above.
In such a case, in the process in Step S404 (see
The methods for assigning the pages to be printed is not limited to the methods described above, various modifications are possible such as providing a printing mode, ‘print pages preceding current page.’
A printing system according to a second embodiment of the present invention is described below. The components according to the second embodiment that are the same as those according to the first embodiment are represented by the same reference numerals, and descriptions thereof are omitted.
According to the first embodiment, in the copying process of the multi-function apparatus 120, when a first page of a document having storage information is scanned, it is determined whether electronic data of the page is stored in a storage and whether the scanned page is a page of a document including other pages. As a result, if the page is a page of a document including other pages, the user is instructed to select a printing mode. However, the same advantages as described above may be achieved even when the user selects the printing mode before starting the copying process.
When the user selects a printing mode and presses the start button corresponding to the printing mode on the operation panel 121, a page of a document is scanned (S1603) and the selected printing mode is determined (S1604).
If the ‘print only scanned page’ button 1306 is selected, it is determined whether storage information is attached to the image obtained by scanning a page of a document (S1605). If storage information is not attached to the scanned image, the scanned image is printed by the printer engine 125 as a regular copy (S1609). If storage information is attached, a data retrieval request is sent out on the basis of the storage information (S1606). Then, it is determined, on the basis of the fields 1106 and 1107 of the packet received in response, whether intermediate language data or image data is stored (S1607). If it is determined that data is not stored, the scanned image is printed by the printer engine 125 as a regular copy (S1609).
When it is determined that intermediate language data or image data is stored, the data is printed out (S1608). If it is determined that the data included in the data field 1107 is image data on the basis of the information included in the data type field 1106 of the packet shown in
Then, it is determined whether the ADF is used and whether any pages remain in the ADF (S1610). If pages remain in the ADF, the process is returned to Step S1603 and the subsequent steps are repeated. If the ADF is not used or if no pages remain in the ADF, the process is ended. The printing mode is not changed for the next copying process unless the user selects a different printing mode.
If a printing mode other than that selected by pressing the ‘print only scanned page’ button 1306 is selected, it is determined whether storage information is attached to the image of the scanned page (S1611). If storage information is not attached to the scanned image, the operation panel 121 indicates that storage information is not attached to the scanned image (S1619), and the process is ended.
If storage information is attached to the scanned image, a data retrieval request based on the storage information is sent out (S1612). Then, it is determined, on the basis of the fields 1106 and 1107 of the packet received in response, whether intermediate language data or image data is stored (S1613). If data is not stored, the operation panel 121 displays a message indicating that data of the document is not stored (S1619), and the process is ended.
If intermediate language data or image data is stored, the selected printing mode is determined again (S1614). If the printing mode for printing the pages between two pages is selected, the process for printing the pages between predetermined pages, shown in
When the printing mode for printing assigned pages is selected, it is determined whether the pages input in the input box 1305 exist in the document of the scanned image (S1615). In other words, the page number in the file number field 1108 of the packet shown in
In step S1614, the printing mode selected in Step S1602 is determined. If it is determined in Step S1614 that a printing mode for printing assigned pages has been selected, the process proceeds to Step S1615. In Step S1615, it is determined whether the assigned pages are stored. When it is determined that the assigned pages exist or when the printing mode for printing all pages of the document or printing the scanned page and the subsequent pages is selected, a data retrieval request for the assigned pages of the document is sent out (S1616). When the printing mode for printing all pages is selected, all pages are assigned to be retrieved, except for the pages already retrieved in Step S1612. When the printing mode for printing the scanned page and the subsequent pages is selected, the pages subsequent to the pages that have already been retrieved are assigned. If the printing mode for printing assigned pages is selected, the page or range of pages input in the input box 1305, except for the pages that have already been retrieved, are assigned.
Then, the intermediate language data or the image data of the pages obtained as a result of the retrieval request sent out in Step S1612 and/or Step S1616 are printed (S1617). If it is determined that the data included in the data field 1107 is image data on the basis of the information included in the data type field 1106 of the packed shown in
In the above-described embodiment, the storage information may be information conforming to a known uniform resource locator (URL) format indicating the network path to the address of the device storing the electronic data and file name.
In the above, intermediate language data and image data were the exemplary data to be retrieved. However, the type of data is not limited, and application data generated by application software or the application data converted into a PDL data format by the printer driver may be may be retrieved as well.
For application data, after the data is retrieved, the data is converted into a printing data format by a predetermined printer driver installed in the server. Then, printable image data is generated from this printing data and printed out. For PDL data, printable image data is generated from PDL data obtained by a printing apparatus capable of interpreting the PDL data.
Embodiments of the present invention may be employed in a system constituting a plurality of device (for example, a host computer, an interface device, a reader, and a printer) or may be employed in a single apparatus (for example, a multi-function apparatus or a facsimile apparatus).
The various processing units according to the above-described embodiments can be realized by providing a recording medium storing program codes for software capable of realizing the functions according to the above-described embodiments to the system or the apparatus. A computer (central processing unit (CPU) or micro processing unit (MPU)) included in the system or the apparatus reads out the program codes stored on the storage medium and carries out above-described process entirely or partially. In such a case, the program codes read out from the recording medium realize the functions according to the above-described embodiments. Therefore, the recording medium storing the program codes constitutes an aspect of the present invention. Further, embodiments of the present invention are not limited to executing the program codes read out by a computer. Another embodiment of the present invention may be realized by entirely or partially carrying out the actual processing by an operation system (OS) operating on the computer in accordance with the program codes to perform the functions of the above-described embodiments.
Other embodiments of the present invention include the steps of realizing the functions according to the above-described embodiments by executing the program codes read out from the recording medium and written in a function expansion board mounted in the computer or a function expansion unit connected to the computer. More specifically, an embodiment of the present invention may be realized by entirely or partially carrying out the actual processing by a CPU included in the function expansion board or the function expansion unit in accordance with the program codes.
When embodiments of the present invention are employed in the above-described recording medium, program codes corresponding to the above-described flow charts are stored on the recording medium.
As described above, a system according to the various embodiment is capable of efficiently using electronic data corresponding to an image of a document stored in a storage by easy operation.
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 modifications, equivalent structures and functions.
This application claims the benefit of Japanese Application No. 2004-364780 filed Dec. 16, 2004, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2004-364780 | Dec 2004 | JP | national |