1. Field of the Invention
The present invention relates to: an image processing apparatus which uses image data obtained by reading an image on an original and determines whether or not a predetermined item has been filled out or entered in a predetermined field of the original; a controlling method for the same; and a program.
2. Description of the Related Art
There has been heretofore a technology for a computer to analyze an image read from a sheet by a scanner, and to recognize characters and the like which have been filled out or entered (hereinafter generally called as “entered”) in a predetermined field on the sheet.
The use of this technology makes it possible, for example, to easily extract amounts, dates and the like which have been entered on numerous forms sharing the same format; and to input the extracted pieces of data in a process such as counting.
For example, Japanese Patent Laid-Open No. 2008-145611 discloses the following technology. Specifically, a user puts a processing instruction, by handwriting, on an original (a test answer sheet), which has the same format as originals to be checked, the processing instruction specifying a region to be processed and the content of the process. Subsequently, the original on which this processing instruction has been put is read by a scanner; thereby, the region to be processed and the content of the process are identified, and pieces of processing instruction information are thus obtained. Thereafter, information written in the region to be processed, which has been entered in the original to be checked, is extracted by use of the obtained pieces of processing instruction information.
Nevertheless, when a plurality of sets of originals having multiple formats mixed are to be checked in accordance with the above-mentioned processing instruction, the originals, for example, are likely to lack some pages in the middle, or to be arranged in a wrong order. In this case, the prior art makes a check in accordance with a processing instruction different from the processing instruction which is originally expected to be applied. As a result, the prior art entails problems that: it is impossible to discriminate whether an error-indicating check result comes from the actually-entered content or from an influence of lack of some pages from the originals in the middle and the like; and the reliability of the check result is accordingly low.
An image processing apparatus according to the present invention includes: reading means configured to read multiple sets each including multiple originals having different formats and a predetermined arrangement order, and to obtain a piece of image data on each original; storage means configured to store as many pieces of processing instruction information as the originals in one set in association with information on the arrangement order of the originals, each of the pieces of the processing instruction information being used for performing a check process on entered items in one original; check means configured to perform the check process on the obtained piece of image data on an original by applying one of the pieces of processing instruction information, which are stored in the storage means, on a basis of the information on the arrangement order of the originals; control means configured to make control for the check to be performed by applying a different one of the pieces of processing instruction information, which are stored in the storage means, in a case where a result of the check process indicates an error; and means configured to perform a subsequent check by shifting correspondence between the originals and the pieces of processing instruction information applied to the originals in a case where a result of the check performed by applying the different pieces of processing instruction information indicates no error in the check performed by the control means.
The present invention makes it possible to inhibit the deterioration in the reliability of a check result in a case where multiple originals having different formats are checked.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
Descriptions will be hereinbelow provided for the best modes for carrying out the invention by use of the drawings.
A central processing unit (CPU) 11 loads a program stored in a read-only memory (ROM) 19 to a random access memory (RAM) 18, and thereby controls the operation of the image processing apparatus 100 as a whole. In addition, the CPU 11 makes communications with various components inside the image processing apparatus 100 through a bus 12. An operator unit 16 includes: multiple keys for a user to input instructions; and a display part to display various pieces of information of which the user needs to be informed. A scanner 15 is a reading unit and reads an image on an original, which the user sets on a copyboard, as a color image. Electronic data (image data) thus obtained is stored in a hard disc drive (HDD) 13, the RAM 18 or the like. The HDD 13 is a hard disc drive including a hard disc, and stores various pieces of data which are inputted into the HDD 13. Furthermore, the scanner 15 may be configured to include an original feeding unit, and to read multiple originals set in the original feeding unit while sequentially feeding the multiple originals to the top of the copyboard. A printer 14 which is a printing unit prints an image based on the inputted image data on a recording sheet of paper (a sheet). A network interface I/F 17 connects the image processing apparatus 100 to a network 20, and controls reception of data from an external apparatus on the network and transmission of data to the external apparatus on the network.
Note that, although the embodiment will be described by citing an example in which image data used for a below-described process is inputted through the scanner 15, image data on an original, for example, transmitted from an external apparatus can be similarly processed when inputted through the network I/F 17 as well. Moreover, image data can be similarly processed by a personal computer (PC) or the like connected to the scanner and the printer. In this case, all or part of the program used in the embodiment may be provided to the PC through the network or the like, or may be provided by being stored in a storage medium such as a compact disc read-only memory (CD-ROM). In the embodiment, the scanner 15 corresponds to, for example, first reading unit and second reading unit. In addition, the HDD 13 and the RAM 18 correspond to first storage unit and second storage unit. Furthermore, the CPU 11 corresponds to first check unit, second check unit, control unit, and check result selecting unit.
Next, descriptions will be provided for an example of the original used in the embodiment.
The embodiment is configured to check whether or not information is added in fields which are specified by the user from the fields in this invoice form, or whether some of the specified fields still remain in blank. Specifically, the embodiment configures the image processing apparatus to check whether or not information is added in fields in the invoice form in which the user expects the information to be added.
Each processing instruction sheet is prepared by the user, who checks the invoice in which predetermined items are entered in the respective fields, by writing the processing instructions in a sheet having the same format as the invoice to be checked. In other words, the invoice form shown in
Here, descriptions will be provided for a processing instruction (added information) which is written in the invoice form (original). In
On the other hand, the user beforehand registers information on colors to be used for the respective processing instructions and the contents of the processes in the RAM 18 by use of the operator unit 16 with the information on the colors associated with the contents of the processes. In the case shown in
As described above, the user beforehand registers the color components used to represent the processing instructions and the corresponding contents of the processes, and subsequently prepares the processing instruction sheet according to the registered contents of the processes. Thus, the image processing apparatus 100 extracts pieces of processing instruction information by use of the processing instruction sheet thus prepared, and recognizes the contents of the processes depending on this extraction result. By recognizing the contents of the processes, the image processing apparatus 100 checks the original to be checked on whether or not information has been entered in a specific region, whether or not another specific region remains in blank, and whether or not a stamp (a mark or the like) has been pressed in yet another specific region. Note that “processing instruction information” means information on a processing instruction which is described in the processing instruction sheet, and is information used for the image processing apparatus 100 to perform the check process.
Next, descriptions will be provided for a process of generating a scan ticket for checking contents entered in the original on the basis of the processing instruction sheet as shown in
The checking of the original to be checked is achieved by causing the scanner 15 to read the scan ticket, the CPU 11 to recognize the regions to be processed and the contents of the processes, as well as the image processing apparatus 100 to check the original to be checked.
This flow starts once the user issues an instruction to generate the scan ticket through the operator unit 16.
In step S601, the CPU 11 causes the operator unit 16 to display a message requesting a user to set a set of processing instruction sheets on the scanner 15. Once the CPU 11 detects through the operator unit 16 that, in response to this, the user presses an OK bottom after setting the originals, the CPU 11 causes the scanner 15 to read the set of processing instruction sheets in step S602. Image data obtained in this step is stored in the RAM 18.
Subsequently, in step S603, the analysis/recognition process is performed on pieces of processing instruction information from the image data inputted through the scanner 15. In this respect, first of all, the CPU 11 analyzes where instruction colors representing processing instructions are located in the original, and recognizes the colors in the locations. Thereby, the CPU 11 identifies the location of an object region for each color. The location identified in this event is sufficient to discriminate how large a region to be processed exists in what location in the original. The location is identified, for example, by use of a coordinate system. Subsequently, the location identified in this event, the content of the corresponding process, and what processing instruction sheet occupies in order (the page number of the processing instruction sheet) are stored in the RAM 18.
Thereafter, in step S604, the CPU 11 determines whether or not all the processing instruction sheets read in step S602 have finished being processed. In a case where all the processing instruction sheets have finished, the flow proceeds to step S605. In a case where all the processing instruction sheets have not finished yet, the flow proceeds to step S603.
In step S605, the CPU 11 codes the contents of the analysis. Coding the contents of the analysis means coding a result obtained by the analysis by use of, for example, a two-dimensional code (for example, a QR code). The contents (analysis result) coded in the embodiment include: regions whose processes are instructed in each page; and the contents of the processes applied to the regions. In this respect, although descriptions have been provided by citing the two-dimensional code, the contents may be coded by use of any other method. The method of coding the contents is not limited to this two-dimensional code as long as the image processing apparatus 100 can analyze and recognize the coded contents. In step S606, the CPU 11 causes the printer 14 to output and print the coded contents which have been generated in step S605, as an image, onto a recording sheet of paper.
The original to be checked can be checked by use of the scan ticket printed in step S606. However, the check process, which will be described later, may be performed by use of the contents of the read processing instruction sheets with the scan ticket generating process skipped. In this case, the image processing apparatus 100 is configured to recognize the contents of the processes and the like from the read processing instruction sheets when checking the original to be checked. Otherwise, the check may be performed by using the pieces of processing instruction information for each page, which have been obtained by reading the set of processing instruction sheets and stored in the RAM 18 or the HDD 13 beforehand. In this case, the user may be asked, through the operator unit 16, whether or not to perform the check by use of the stored pieces of information.
The following advantages are brought about by the check process performed on the original using the outputted scan ticket obtained by: coding the pieces of processing instruction information for each processing instruction sheet, which are obtained by reading the image data; and outputting the pieces of information onto the paper medium as the scan ticket. Specifically, in a case where, for example, the rectangle or the like handwritten by the user for specifying a processing instruction is out of shape or smeared, this can be coded by the image processing apparatus 100 after corrected into right location information. For this reason, in this case, the scan ticket is generated as a paper medium which includes the code representing the properly-corrected information. In addition, because the image processing apparatus 100 performs a process for reflecting the contents of the processing instructions, the correctness of the contents of the processing instructions (use of no wrong colors, and the like) can be proven. Moreover, as an example of use of the image processing apparatus 100 by the user for actually performing the check, the following method is conceivable. Specifically, one may consider a case in which: originals to be checked are set in the original feeding unit with a scan ticket put on top of the originals to be checked; and the originals to be checked are read and checked while sequentially fed to the top of the copyboard. The scan ticket is a sheet of paper on which the contents of the multiple processing instruction sheets are summarized. For this reason, when a set of multiple originals are checked, it is never that the processing instruction sheets themselves are sequentially misplaced. Moreover, reusability is enhanced in a case where the check is performed again under the same condition; for example, a case where the check is performed by another image processing apparatus under the same condition. As described above, the use of the scan ticket offers the various advantages, although the scan ticket does not have to be used in Embodiment 1 and various embodiments which will be described later. In the following examples, cases in which the scan ticket is used will be described.
Next, detailed descriptions will be provided for a procedure for checking the originals in response to the extracted pieces of processing instruction information by use of the scan check generated in the above-described manner. Note that, as described above, the two-dimensional code and the like of the scan ticket include: the coded page numbers (sequential numbers) assigned to the processing instruction sheets when the processing instruction sheets are read; and the coded pieces of processing instruction information for each processing instruction sheet. For this reason, the analysis of the two-dimensional code means nothing more than reconstructing the above-mentioned pieces of information, and does not necessarily mean reconstructing the processing instruction sheet itself. Nevertheless, to make the present invention easily understood, the following descriptions will be provided on the assumption that: as information, the processing instruction sheet itself is included in the scan ticket; and the processing instruction sheet itself is reconstructed when the scan ticket is read and analyzed.
The flow starts once the user issues an instruction to check the originals to be checked through the operator unit 16. Once this flow starts, the CPU 11 causes the operator unit 16 to display a message requesting that the scan ticket, which has been printed in step S606, should be placed as the first sheet and then the originals to be checked should be set in pile in the original feeding unit (in step S501). Subsequently, once an instruction to read the originals is issued by, for example, pressing the OK bottom in the operator unit 16 after the originals are set therein, the flow proceeds to step S502, where the CPU 11 starts the reading of the originals by the scanner 15 while sequentially feeding the originals set in the original feeding unit to the scanner. In this event, first of all, the CPU 11 feeds the scan ticket which is the first sheet among the originals set in the original feeding unit, and causes the scan ticket to be read by the scanner 15. Thereafter, the CPU 11 causes the scanner 15 to sequentially read the originals to be checked which have been set in pile under the scan ticket. Note that multiple originals to be checked can be set in pile. Furthermore, a number of originals can be set in the original feeding unit by dividing the originals into multiple piles, when it is specified through the operator unit 16 that they should be treated as serial originals.
In step S503, an analysis/recognition process is performed on the image of the first original read in step S502, namely, the scan ticket. In this respect, out of the read scan ticket, the two-dimensional code and the like are analyzed. Thereby, the recognition is performed on: regions (locations) which are objects of the processing instructions; the contents of the processes; and the page numbers of the processing instruction sheets which are included as information in the scan ticket. The recognition of the page numbers of the processing instruction sheets can be achieved by making the CPU 11 assign the page numbers to the processing instruction sheets in the order that the processing instruction sheets are beforehand read by the scanner 15. Otherwise, in a case where the processing instruction sheets are provided with fields in which the corresponding page numbers are entered, the page numbers can be recognized by: recognizing a processing instruction for specifying a page number (a rectangular region encircled in a predetermined color); and using an optical character reader (OCR) on the region. A result of the recognition in step S503 is stored in the RAM 18. In this embodiment, the page numbers of the processing instruction sheets, which are included in the scan ticket, do not have to be recognized as a result of the analysis process performed on the image of the scan ticket. In Embodiments 2 and 3 which will be described later, however, the page numbers have to be recognized.
Thereafter, in step S504, the CPU 11 sequentially reads pieces of image data to be checked, which are stored in the HDD 13. The pieces of image data to be checked are those which have been read together with the scan ticket by the scanner 15. Instead, however, the pieces of image data to be used here may be pieces of image data to be checked which have been read beforehand alone by the scanner 15 and stored in the HDD 13. Otherwise, the pieces of image data to be checked may be read from an external apparatus through the network I/F.
Subsequently, in step S505, for each of the processing instruction sheets included in the scan ticket, the CPU 11 performs an analysis/determination process on the pieces of image data, which have been read in step S504 from the original to be checked, by use of the recognition result stored in the RAM 18. For example, in the case shown in
Afterward, in step S506, the CPU 11 stores determination results, which have been obtained through the check, in the RAM 18. In this respect, an OK determination result is stored therein if the determination results of all the regions to be processed in the single original to be checked are normal, or a NG determination result is stored if even one of the regions in the original is recognized as abnormal. For each of the processing instruction sheets included in the scan ticket, the determination result is stored. Note that a score value (check score) as which each value is expressed with respect to the corresponding one of the above-mentioned threshold values may be instead stored as a determination result. For example, in the case of the region 42 in
Afterward, in step S507, the CPU 11 determines whether or not the check has finished being performed on the pieces of image data, which have been read in step S504, for all the multiple processing instruction sheets included in the scan ticket. In a case where the check has finished, the flow proceeds to step S508. In a case where the check has not finished yet, a processing instruction sheet having the next page number is set as the processing instruction sheet for the check, and the flow proceeds to step S505. Through steps S505 to S507, for each original to be checked, the check is performed by applying all the multiple processing instruction sheets included in the scan ticket. Thereby, a wrong processing instruction sheet due to a missing original(s) or the like is inhibited from being applied, and the reliability of the check result is accordingly inhibited from deteriorating.
In step S508, the CPU 11 determines a final check result on the basis of the results of the checks using the processing instruction sheets, which are stored in the RAM 18, and stores the final check result in the RAM 18. In this respect, the method of determining the final check result is as follows. For example, the final check result is determined as OK in a case where even one of the results of the checks using the processing instruction sheets included in the scan ticket is OK; and the final check result is determined as NG in a case where all the results of the checks using the processing instruction sheets are NG.
Subsequently, in step S509, the CPU 11 determines whether or not the process has finished being performed on all the pieces of image data on the originals to be checked, which have been read in step S502. In a case where the process has finished, the flow proceeds to step S510. Meanwhile, in a case where the process has not finished yet, the flow proceeds to step S504.
Instep S510, the CPU 11 totalizes the check results of all the originals, which have been accumulated in the RAM 18, and causes the operator unit 16 to display the total result. Totalizing the results means collecting, for example, the total number of originals to be checked which have been checked, the total number of regions determined as NG, the page numbers of the originals each including a region (s) determined as NG, and the like. The page numbers are assigned as follows. Page 1 is assigned to the first one of the originals to be checked, excluding the scan ticket, and the remaining page numbers ascend in order that the originals to be checked have been read by the scanner 15 (the order that the originals to be checked have been fed from the original feeding unit). Pieces of information other than the pieces of information shown here may be further totalized if they can be identified from the pieces of information stored in the RAM 18. Note that, although the descriptions have been hereinabove provided on the assumption that the pieces of information are accumulated in the RAM 18, the same processes can be performed even if the accumulation is made in the HDD 13 instead.
As described above, when the check is performed by use of the pieces of information on the multiple processing instructions by, for example, reading the scan ticket, Embodiment 1 makes it possible to inhibit the reliability of the check result from deteriorating due to mixed inclusion of: originals arranged in a wrong sequential order; and originals short of the expected number. Particularly, in a case where a set of multiple originals are arranged irrespective of their sequential order, it is possible to inhibit the reliability of the check result from deteriorating even if errors (missing pages, and the like) occur other than the item errors (missing entries, and the like) which are originally intended to be checked.
Embodiment 1 has been described as the example in which the multiple originals can be dealt with no matter what order the originals are arranged in. In contrast, this embodiment will be described as an example which is based on the arrangement of a set of multiple originals in a predetermined sequential order. In this embodiment, a check is performed by applying a set of processing instruction sheets for multiple sets each consisting of multiple originals arranged in the predetermined order. Descriptions will be provided for a method in which, in a case where a check result agrees with a particular pattern, an error stemming from arrangement of originals in a wrong sequential order or a missing original (s) is inhibited by performing the check by applying different processing instruction sheets. It should be noted that, in this embodiment, the “case where a check result agrees with a particular pattern” is described as a “case where NG occurs as a check result”. Specifically, in this embodiment, in a case where the check result is NG, the check is performed by applying different processing instruction sheets, because a page (s) is likely to be missing in addition to the likelihood of a missing entry as an error factor.
In this embodiment, parts which are the same as those of Embodiment 1 will be denoted by the same reference numerals, and descriptions for such parts will be omitted. Descriptions will be provided for only parts which are different from those of Embodiment 1. Furthermore, like Embodiment 1, this embodiment will be described as the example of using a scan ticket obtained by summarizing pieces of information on multiple processing instruction sheets. Nevertheless, a process which is the same as the below-described process can be performed by: beforehand storing pieces of information on multiple processing instruction sheets in the RAM 18 or the like; and applying the thus-stored pieces of information when the originals are read, as described in Embodiment 1.
Steps S501 to S504 are the same processes as those shown in
In step S701, for each of the processing instruction sheets included in the scan ticket, the CPU 11 performs an analysis/recognition process on the pieces of image data, which have been read in step S504, by use of the recognition result which is obtained by analyzing the scan ticket and stored in the RAM 18. On this occasion, the processing instruction sheets are sequentially applied in the order of being read by use of the scanner 15 in step S502. For example, in a case where the page number of a processing instruction sheet which is applied to an original read in the preceding time (i.e., read one sheet ahead) is Page 1, a processing instruction sheet corresponding to Page 2 is applied to an original read in this time. Similarly, in a case where the processing instruction sheet corresponding to Page 2 is applied to the original read in the preceding time (i.e., read one sheet ahead), a processing instruction sheet corresponding to Page 3 is applied to an original read in this time. Furthermore, in a case where the page number of the processing instruction sheet applied to the original read in the preceding time is Page 3, the processing instruction sheet corresponding to Page 1 is applied to an original read in this time, because all the processing instruction sheets have finished being applied in one round. Note that the processing instruction sheet corresponding to Page 1 is applied to the first original. The contents of the analysis/recognition process are the same as those in step S505 in
Subsequently, in step S702, the CPU 11 determines whether or not the check result in step S701 is NG. If the check result is NG, the flow proceeds to step S703. If the check result is OK, the flow proceeds to step S704. In this respect, the check result is determined as OK if all the results of the recognitions performed on the single original to be checked are normal, and is determined as NG if even one result is not recognized as normal.
Thereafter, in step S703, the CPU 11 determines whether or not the check has finished being performed on the pieces of image data, which have been read in step S504, by applying all the multiple processing instruction sheets included in the scan ticket. In a case where the check has finished, the flow proceeds to step S704. Meanwhile, in a case where the check has not finished yet, the flow proceeds to step S701. Specifically, in processes of steps S701 to S704, only when all the check results are NG, a check process is performed by applying the different processing instruction sheets; and when even one of the check results is OK, the check process is quitted on that occasion.
In step S704, the CPU 11 compares the results of the checks performed on the pieces of image data stored in the RAM 18, which have been read in step S504 for the processing instruction sheets. Then, the best result is stored in the RAM 18 as a final check result of the pieces of image data which have been read in step S504. For example, from check scores calculated as a result of the sequential application of pieces of processing instruction information which have not been applied yet, the result of the check performed on the pieces of image data is selected. In this respect, the final check result is determined as OK in a case where even one of the check results is OK, and the final check result is determined as NG in a case where all the check results are NG.
Steps S509 and S510 are the same processes as those shown in
As described above, when the check is performed on a set of multiple originals, Embodiment 2 makes it possible to inhibit the reliability of the check result from deteriorating due to mixed inclusion of: originals arranged in a wrong sequential order; and originals short of the expected number. Furthermore, in Embodiment 2, the check process is performed by additionally applying processing instruction sheets which have not been applied yet only in the case where a check result is NG. Thus, Embodiment 2 can make the amount of the process smaller than a case where the check process is performed by applying all the processing instruction sheets to all the originals.
In this embodiment, the check is performed by applying the different processing instruction sheets in the “case where a check result agrees with a particular pattern” which is described as the “case where NG occurs as a check result”. However, the check may be performed by applying the different processing instruction sheets in other cases as well. For example, the check may be performed by applying a different scan ticket in a case such as a “case where NG repeatedly occurs a certain number of times” and a “case where NG repeatedly occurs multiple times that correspond to the number of originals”.
The check may be performed in a scheme in which: multiple patterns are beforehand stored in the ROM 19; the user is requested to select one pattern from the multiple patterns; and the different processing instruction sheets are applied when the selected pattern appears.
Like Embodiment 2, this embodiment is based on the arrangement of a set of multiple originals in a predetermined sequential order.
When there is a set of multiple processing instruction sheets, an inclusion relationship may exist among the processing instruction sheets. An example of such as a relationship is that the first processing instruction sheet includes all the processing instructions of the second processing instruction sheet. For example, in a case shown in
In a case where a check is performed by use of a scan ticket generated from a set of multiple processing instruction sheets among which an inclusion relationship exists, if wrong processing instruction sheets are applied due to an error such as a missing original(s), an OK determination may occur depending on the inclusion relationship although an NG determination should occur.
In this case, the error such as a missing original (s) cannot be detected by a method in which all the processing instruction sheets included in the scan ticket are applied to one original to be checked. In this embodiment, descriptions will be provided for a method in which: when a scan ticket is generated, a check result pattern which is likely to occur due to a missing original(s) is predicted beforehand; and an error(s) such as a missing original(s) is detected by use of the pattern.
In this embodiment, parts which are the same as those of the foregoing embodiments will be denoted by the same reference numerals, and descriptions for such parts will be omitted. Descriptions will be provided for only parts which are different from those of the foregoing embodiments.
Once an instruction to generate a scan ticket is issued by the user through the operator unit 16, this flow starts.
Steps S601 to S604 are the same processes as those shown in
In step 801, the CPU 11 analyzes an inclusion relationship in processing instruction information among multiple processing instruction sheets stored in the RAM 18, and stores, in the RAM 18, the existence or absence of the inclusion relationship and the page numbers of the processing instruction sheets on which the analysis is performed. For instance, in a case where an inclusion relationship between the first and second processing instruction sheets is analyzed, if the second processing instruction sheet includes all the processing instructions (regions to be processed and contents of the processes) which the first processing instruction sheet has, the first processing instruction sheet is determined as being covered by the second processing instruction sheet. A determination of whether or not all the processing instructions are included is made as follows. For example, if 80% of all the regions of one processing instruction sheet are included in the other processing instruction sheet, the same regions whose processes are instructed are determined as being included.
Subsequently, in step S802, the CPU 11 determines whether or not the process of the inclusion relationship analysis has finished being performed on all the combinations of the processing instruction sheets stored in the RAM 18 in step S603. In a case where the analysis process has finished, the flow proceeds to step S803. Meanwhile, in a case where the analysis process has not finished, the flow proceeds to step S801.
In step S803, for each error that is likely to occur, the CPU 11 predicts a check result (OK or NG) when the error takes place by use of inclusion relationship information indicating inclusion relationships in processing instruction information among the multiple processing instruction sheets stored in the RAM 18. For example, the CPU 11 predicts check results which are likely to occur in cases such as one missing original and two missing originals. This process of predicting the check results is performed on the assumption that the contents described in the originals to be checked are correct. In other words, on the assumption that predicted check results are OK if the processing instruction sheets are rightly applied with no original missing, check results are predicted depending on types of missing originals. Subsequently, as a check result pattern table, the check results thus predicted are stored in the RAM 18. In this respect, for example, in a case where there is a set of processing instruction sheet in triplicate, the errors that are likely to occur include one missing original, two missing originals, misplacement between first and second originals, misplacement between second and third originals, misplacement between third and first originals, and so forth. In this embodiment, as the errors that are likely to occur, missing of an original (s) is taken into consideration to simplify descriptions. Furthermore, the check result pattern table is represented as an M×N two-dimensional table where M is the number of errors that may occur; and N is the number of originals (i.e., the number of processing instruction sheets is N). In this manner, the check result pattern table is defined according to an error that is likely to occur in each set of multiple originals. Either of OK or NG which are the predicted check results is stored in each element of the table.
Descriptions will be hereinbelow provided for an example of check result prediction.
In a case where a set of originals to be checked is in triplicate, the number of processing instruction sheets in a set is three as well. Let us assume that in a set of processing instruction sheet in triplicate, the second sheet covers the first sheet while the third sheet has no inclusion relationship with the first and second sheets.
In step S804, the CPU 11 codes the analysis contents of the read processing instruction sheets and the pattern table. Step S806 is the same process as that shown in
Next, detailed descriptions will be provided for a procedure for checking originals by use of a scan ticket generated as described above.
Steps S501 and S502 are respectively a step of setting the scan ticket and the originals to be checked, and a step of reading them by use of the scanner 15, like those shown in
In step S901, an analysis/recognition process is performed on the image of the first one of the originals having been read in step S502, namely, the image of the scan ticket. In this respect, the analysis is performed on the two-dimensional code and the like printed on the read scan ticket, and the recognition is performed on: regions (locations) which are objects of the processing instructions; the contents of the processes; the page numbers of the processing instruction sheets which are included in the scan ticket; and the check result pattern table. The recognition result is stored in the RAM 18.
Step S504 is the same process as that shown in
Subsequently, in step S902, the CPU 11 determines whether or not the check has finished being performed on the originals and as many processing instruction sheets (for example, three processing instruction sheets if the number of originals in a set is three). In a case where the check has finished, the flow proceeds to step S903. Meanwhile, in a case where the process has not finished yet, the flow proceeds to step S504. The number of originals may be beforehand inputted into the image processing apparatus by the user. Otherwise, the number of originals may be based on the number of processing instruction sheets included in the scan ticket. In this respect, if the flow proceeds to step S903, the count of the number (0 to 3 if the number of originals in a set is three) of processing instruction sheets to be determined in this step is reset at zero.
Thereafter, in step S903, the CPU 11 determines whether or not the results of the checks performed on the originals and the as many processing instruction sheets agree with any of the patterns stored in the pattern table having been read from the scan ticket in step S901. In other words, the CPU 11 determines whether or not any pattern indicating the error of a missing original (s) appears among the results of the checks performed on the originals and the as many processing instruction sheets. In a case where agreement is recognized, the flow proceeds to step S905. In a case where no agreement is recognized, the process proceeds to step S904. In a case where there are multiple patterns stored in the pattern table, the pattern agreement determination is performed in order that the multiple patterns have been stored in the pattern table. For example, in the case of the pattern table shown in
In step S904, the CPU 11 determines whether or not the check has finished being performed on agreements with all the patterns stored in the pattern table. In a case where the check has finished, the flow proceeds to step S509. Meanwhile, in a case where the check has not finished yet, the flow proceeds to step S903, where the check is repeatedly performed on agreement with the next pattern.
In step S905, the CPU 11 determines whether or not an error has actually occurred. In a case where an error has occurred, the flow proceeds to step S906. Meanwhile, in a case where no error has occurred, the flow proceeds to step S904. In this respect, the process of checking the occurrence of an error means a process of judging whether or not an error corresponding to the pattern, the agreement with which has been recognized in step S903, has actually occurred. For example, if in step S903, a check result agrees with the pattern which is likely to occur in the case where one original is missing, a recheck is performed by advancing the as many processing instruction sheets, which are applied to the originals to be currently checked, by one page (see
In step S906, the CPU 11 performs an error correction process. For example, in the case where the error of one original missing has occurred, the order of arrangement of the processing instruction sheets is changed by advancing the processing instruction sheets to be applied to the originals by one page, as shown in
Note that, for example, in a case where one original is missing as shown in
Steps S509 and S510 are the same processes as those shown in
As described above, according to Embodiment 3, patterns which are likely to occur when an error takes place are beforehand predicted by use of inclusion relationship information on multiple processing instruction sheets included in a scan ticket. Thereby, in the case where an inclusion relationship (s) exists among the processing instruction sheets, it is possible to inhibit deterioration in the reliability due to an error (s) such as a missing original as well. Furthermore, it is also possible to discriminate which error occurs out of one missing original, two missing originals and the like. Moreover, it is possible to correct an error thus discriminated, and thus to continue performing the subsequent check process, too.
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment(s), and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2009-279577, filed Dec. 9, 2009, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2009-279577 | Dec 2009 | JP | national |