The present invention claims priority to Japanese patent application No. JPAP2003-174788 filed on Jun. 19, 2003, in the Japanese Patent Office, the entire contents of which are incorporated by reference herein.
The present invention relates to a technique of detecting fraudulent alteration of a digital image or a printed material, and more particularly to a method, apparatus, and program for image processing, capable of preventing and detecting fraudulent alteration of the digital image or the printed material.
With recent improvements in image processing and image forming technologies, it has become possible to easily alter an original image. For this reason, numerous techniques for ensuring the validity of an original image have been developed.
However, many of such techniques are not applicable or not effective when the original image is provided in the form of a paper document, such as a paper currency, or provided via a network, such as the Internet.
The present invention provides an apparatus, method, and related computer program product or medium, capable of preventing and detecting alteration of an original image or an original printed material, especially when such an image or material is provided via a network.
In one exemplary embodiment, an image processing apparatus includes a document image generator and an image processor, connected to each other via a network, such as the Internet. The document image generator generates a verification document image by adding a specific verification pattern to an original document image. The original document image may be provided by an image provider of the image processor. The image processing apparatus may additionally include a database storing a plurality of verification patterns, including the specific verification pattern added to the original document image. Further, a printer of the image processor may print out the verification document image, under control of a controller of the image processor.
Further, the image processing apparatus may include a verification area designator configured to designate a verification area, to which the specific verification pattern is added. With the absence of a verification area designator, the document image generator adds the specific verification pattern to an entire portion of the original document image.
Furthermore, the specific verification pattern may include a plurality of predetermined verification pattern elements. The document image generator may adjust a number of the plurality of predetermined verification pattern elements, according to a predetermined arrangement, before generating the verification document image. The predetermined arrangement may be determined based on a random number sequence, preferably generated from a random number generator.
In another exemplary embodiment, an image processing apparatus includes a tampering detector and an image processor, connected to each other via a network, such as the Internet. The tampering detector detects tampering, if any, on a verification document image based on a verification pattern extracted from the verification document image. The verification document image may be provided by an image provider of the image processor. Further, before performing tamper detection, the tampering detector first determines whether the extracted verification pattern is included in a database of the image processing apparatus, and starts tamper detection only when the extracted verification pattern is included. After performing tamper detection, the detection result may be output by an output unit of the image processor, under control of the controller of the image processor, for example.
Further, the image processing apparatus may be provided with a detection area designator configured to designate a detection area, on which the tampering detector performs tamper detection. With the absence of a detection area designator, the tampering detector performs a tamper detection process on the entire portion of the verification document image.
Furthermore, the image processing apparatus may include an error detector and a tampering determinator. The error detector stores the detection result obtained by the tampering detector. The tampering determinator determines whether the verification document image has been tampered based on the detection result stored in the error detector.
The image processing apparatus of the present invention is not limited to the above-described embodiments, as illustrated in the following description. Further, the present invention may be implemented as a method, a system, a computer program product, and a computer readable medium, without departing from the scope and spirit of the appended claims.
A more complete appreciation of the disclosure and many of the attendant advantages thereof will be readily obtained as the same become better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
In describing preferred embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner. Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, particularly to
The image processing apparatus 100 has a function of adding a verification pattern to an original document image received from the outside, and includes a document image generator 11 provided with a verification pattern selector 111 and a random number generator 112, a document provider 12, a printer 13, a controller 14, and a database 16, which are all connected via a network 10.
The network 10, in this example, is preferably implemented as the Internet, however, any kind of network may be used, including LAN, WAN, CAN, MAN, and HAN, for example. Furthermore, functions of the document provider 12, printer 13, and controller 14, may be integrated into one device.
The document image generator 11 generates a verification document image by adding a verification pattern to an original document image received from the document provider 12. The verification pattern is previously stored in the database 16 and selected by the verification pattern selector 111. The printer 13 prints out the verification document image under control of the controller 14.
Referring now to the flowchart of
In Step S101, the document image generator 11 receives an original document image from the document provider 12 via the network 10. The document provider 12 may generate an original document image by itself using suitable software, or it may read out from an original document provided from the outside. As for the document provider 12, a facsimile, a scanner, or a computer may be used. Further, an original document image is preferably an image of a monetary document, such as a paper currency, a security, or a check, however, any other confidential document such as a contract may be used.
Upon receiving the original document image, in Step S102, the image processing apparatus 100 starts operation for generating a verification document image.
In Step S103, the image processing apparatus 100 divides the original document image into a plurality of blocks, with each block containing a plurality of grid points. In this embodiment, the document image of
Then, in Step S104, the verification pattern selector 111 determines whether to add a verification pattern to the selected grid point. In this embodiment, the verification pattern selector 111 determines to add a verification pattern only when no document data exists thereon or in the vicinity thereof, and in Step S105, a verification pattern is added to the selected grid point. When document data exists on or close to the selected grid point, the operation moves to Step S106.
In Step S104, the verification pattern selector 111 extracts a desired verification pattern from the database 16 via the network 10. The database 16 stores therein a plurality of verification patterns P1, P2, P3 and P4, for example, as illustrated in
Next, Step S106 determines whether all the grid points in the selected block have been processed. When all the grid points have been processed, the operation moves to Step S107. Otherwise, in Step S109, the target moves to a next grid point, and Steps S104 to S106 are repeated.
In Step S107, the image processing apparatus 100 adjusts the amount of verification patterns added in the selected block. For example, in the case of dot pattern, the number of dots added in the selected block (hereinafter, referred to as a “dot number”) is adjusted so as to correspond to a random number previously assigned to the selected block. The following explains an exemplary process of adjusting dot numbers in the document image of
In Step S107, the document image generator 11 generates a random number sequence containing 0 and 1 using the random number generator 102, and randomly assigns a random number 0 or 1 to each block. If the number 0 is assigned, and a dot number is an odd number, the dot number is changed to an even number, for example, by deleting one dot. If the number 1 is assigned, and a dot number is an even number, the dot number is changed to an odd number, for example, by deleting one dot. Therefore, if random numbers 0, 0, 1, and 0 are respectively assigned to the first, second, third, and fourth blocks, as shown in
In Step S107, instead of assigning the random number 0 or 1, the odd or even of a dot number may be previously defined.
Step S108 determines whether all the blocks in the original image have been processed. When all the blocks have been processed, the operation moves to Step S111. Otherwise, in Step S110, the target moves to the next block, and Steps S104 to S108 are repeated.
In Step S111, the controller 14 instructs the printer 13 to print a verification document based on the verification document image received from the document image generator 11. In this embodiment, any kind of hardware or software may be used as the controller 14, while any kind of image forming apparatus, such as a printer, plotter, or copier, may be used as the printer 13. Further, the printer 13 can print the image on a normal type of paper using a normal type of toner or ink.
In another example, the image processing apparatus 100 may print out an original document image as is without adding a verification pattern thereto. In such a case, a document image generation starter (not shown) is preferably provided for allowing a user to choose to add or not to add a verification pattern. The document provider 12 may also function as the document image generation starter, for example, by receiving an instruction from the controller 14.
Next, an image processing apparatus 200 according to another embodiment of the present invention will be described referring to
As shown in
Next, an image processing apparatus 300 according to another embodiment of the present invention will be described referring to
The image processing apparatus 300 checks validity of a verification document image provided from the outside, and includes a tampering detector 31, a document provider 32, an output unit 33, a controller 34, and a database 16, which are all connected via a network 20.
The document provider 32, the controller 34, and the network 20 are substantially similar to the document provider 12, the controller 14, and the network 10 of
The tampering detector 31 detects tampering, if any, on a verification document image received from the document provider 32, and includes a verification rule generator 311, a verification pattern extractor 312, and a verification pattern comparator 313. The verification rule generator 311 determines whether a verification document image is detectable by the image processing apparatus 300, and generates a verification rule if it is detectable. The verification pattern extractor 312 extracts characteristics of the verification pattern added to the image. The verification pattern comparator 313 compares the extracted characteristics with those of one of the verification patterns previously stored in the database 16, and detects tampering of the verification document image.
The detection result of the tampering detector 31 is output to the output unit 33, which includes a display 331, a printer 332, a speaker 333, and a memory 334, as illustrated in
The display 331, which may be implemented as any kind of display, such as e.g., a liquid crystal display, displays the detection result to a user. For example, as illustrated in
The printer 332, which may be implemented as a printer or a plotter, prints out the detection result. For example, the printer 332 prints out the detection result shown in
The speaker 333 outputs a warning sound or voice if tampering is detected, and outputs no sound or voice if tampering is not detected. Alternatively, the speaker 333 may generate a warning sound or voice notifying that tampering is detected, and generate another warning sound or voice notifying that tampering is not detected. As for the speaker 333, any kind of audio or voice output device may be used.
The memory 334 stores therein information whether a verification document image is tampered, and if tampered, the tampered document image as well as various information on the tampered document image. As for the memory 334, any kind of storage medium may be used including floppy disks, optical disks, CD-ROMs, magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, flash memory, magnetic or optical cards. Further, the information stored in the memory 334 may be output to another device via the network 20 as needed. For example, the tampering detector 31 may detect tampering on a plurality of verification document images at a time, and store the detection results on the plurality of verification document images in the memory 334. The detection results may be then output to the display 331 or the printer 332, at any desired time.
In this embodiment, the display 331, the printer 332, the speaker 333, and the memory 334 are integrated into one device of the output unit 33, however, these devices may be distributed over the network 20.
Referring now to the flowchart of
In Step S301, the tampering detector 31 receives a verification document image from the document provider 32 via the network 20.
In Step S302, the verification rule generator 311 determines whether the received document image is detectable. If yes, the operation moves to Step S303, otherwise, the operation ends without performing tamper detection on the document image.
In Step S302, if the verification rule generator 311 is provided with information that the verification pattern has been generated by one of the above or other embodiments of the image processing apparatus of the present invention, the verification rule generator 311 automatically determines if it is detectable, and generates a verification rule based on the provided information. Using this verification rule, the tampering detector 31 divides the image into a plurality of blocks, and the operation moves to Step S303.
When none of such information on the verification document image is provided, the verification rule generator 311 performs pattern matching on the image. For example, the verification rule generator 311 divides the image into a plurality of blocks with each block containing a predetermined number of grid points, arbitrarily selects one of the plurality of blocks, and arbitrarily extracts a verification pattern in the selected block to compare it with respective verification patterns stored in the database 16. If the extracted verification pattern matches one of the verification patterns stored in the database 16, the verification rule generator 311 determines if the image is detectable, generates a verification rule based on the matched verification pattern, and the operation moves to Step S303.
In Step S303, the verification rule generator 311 calculates positions of the grid points in the image.
In Step S304, the verification pattern extractor 312 selects a block to be focused, further selects a grid point to be focused in the selected block, and initializes its counter (not shown) to 0. In Step S305, the verification pattern extractor 312 checks whether a verification pattern has been added to the selected block. If the answer is yes, the operation moves to Step S306 to increment the counter by one, otherwise the operation moves to Step S307.
In Step S307, the image processing apparatus 300 determines whether all the grid points in the selected block have been processed. When all the grid points have been processed, the operation moves to Step S309. Otherwise, in Step S308, the target moves to a next grid point, and Steps S305 to S307 are repeated.
In Step S309, the image processing apparatus 300 determines whether the selected block has been tampered based on the amount of verification patterns added in the selected block. For example, in the case of a dot pattern, it is determined whether an even or odd dot number in the selected block corresponds to a random number 0 or 1, that has been previously assigned to the selected block. If the answer is yes, the operation moves to Step S310 to determine that the selected block has not been tampered, and otherwise, the operation moves to Step S311 to determine that the selected block has been tampered.
Next, Step S312 determines whether all the blocks in the image have been processed. When all the blocks have been processed, the operation moves to Step S314. Otherwise, in Step S313, the target moves to a next block, and Steps S304 to S312 are repeated.
In Step S314, the controller 34 instructs the output unit 33 to output the detection result on all processed blocks.
Next, an image processing apparatus 400 according to another embodiment of the present invention will be described referring to
As shown in
Next, an image processing apparatus 500 according to another embodiment of the present invention will be described referring to
The tampering detector 51 includes a verification rule generator 511, a verification pattern extractor 512, a verification pattern comparator 513, an error detector 514, and a tampering determinator 515. The verification rule generator 511, the verification pattern extractor 512, the verification pattern comparator 513 are substantially similar to the verification rule generator 311, the verification pattern extractor 312, the verification pattern comparator 313, respectively. The error detector 514 stores therein the detection result of a verification document image. The error determinator 515 determines whether the verification document image has been tampered based on the detection result stored in the error detector 514.
As shown in
In Step S511, when tampering has been detected, the error detector 514 increments its register (not shown) by one. Thus, the value of the register corresponds to the number of tampered blocks detected in the image.
After Step S312 determines that all blocks have been processed, in Step S514, the tampering determinator 515 determines whether the value of the register is above a predetermined register value. If not, the operation moves to Step S515 to determine that the image has not been tampered. Otherwise, the operation moves to Step S314 to output the detection result. The predetermined register value, in this embodiment, is set to 0 or above, depending on the level of tampering protection.
In Step S514, the tampering determinator 515 may determine the level of tampering, detected by the tampering detector, based on the value of the register. For example, a high register value indicates a high level of detected tampering, while a low register value indicates a low level of detected tampering. The level of tampering may be also output in Step S314.
In any of the above-described embodiments, a mark may be provided on a printed verification document to specify a part of a verification document image having a verification pattern, thereby facilitating the tamper detection process.
Further, a verification document image may be visually checked for its validity. For example, assuming that the document image shown in
Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of this patent specification may be practiced otherwise than as specifically described herein.
For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims, as illustrated in
This invention may be conveniently implemented using a conventional general purpose digital computer programmed according to the teachings of the present specification, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The present invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.
Number | Date | Country | Kind |
---|---|---|---|
2003-174788 | Jun 2003 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5119444 | Nishihara | Jun 1992 | A |
5638188 | Moro et al. | Jun 1997 | A |
5724364 | Mori et al. | Mar 1998 | A |
5866895 | Fukuda et al. | Feb 1999 | A |
5896403 | Nagasaki et al. | Apr 1999 | A |
5898166 | Fukuda et al. | Apr 1999 | A |
5943448 | Tatsuta | Aug 1999 | A |
5950181 | Federl | Sep 1999 | A |
5983243 | Heiney et al. | Nov 1999 | A |
6014500 | Wang | Jan 2000 | A |
6052813 | Nagasaki et al. | Apr 2000 | A |
6058225 | Mori et al. | May 2000 | A |
6072871 | Ur | Jun 2000 | A |
6119937 | Wang et al. | Sep 2000 | A |
6148429 | Tatsuta | Nov 2000 | A |
6186405 | Yoshioka | Feb 2001 | B1 |
6192166 | Mori et al. | Feb 2001 | B1 |
6208771 | Jared et al. | Mar 2001 | B1 |
6219460 | Tatsuta | Apr 2001 | B1 |
6289121 | Abe et al. | Sep 2001 | B1 |
6353840 | Saito et al. | Mar 2002 | B2 |
6354630 | Zhang et al. | Mar 2002 | B1 |
6364209 | Tatsuta et al. | Apr 2002 | B1 |
6384935 | Yamazaki | May 2002 | B1 |
6421145 | Kurita et al. | Jul 2002 | B1 |
6445465 | Samworth | Sep 2002 | B1 |
6580804 | Saito et al. | Jun 2003 | B1 |
6633526 | Imade et al. | Oct 2003 | B1 |
6707577 | Morikawa et al. | Mar 2004 | B1 |
6741722 | Abe | May 2004 | B2 |
7039215 | Suzaki | May 2006 | B2 |
7057775 | Kurita et al. | Jun 2006 | B2 |
7061652 | Kurita et al. | Jun 2006 | B2 |
7085399 | Suzaki | Aug 2006 | B2 |
20010002827 | Yamazaki et al. | Jun 2001 | A1 |
20020040816 | Sahlberg et al. | Apr 2002 | A1 |
20020097903 | Prakash | Jul 2002 | A1 |
20040090646 | Saitoh et al. | May 2004 | A1 |
Number | Date | Country |
---|---|---|
06-113117 | Apr 1994 | JP |
8-297743 | Nov 1996 | JP |
11-98344 | Apr 1999 | JP |
11-112787 | Apr 1999 | JP |
11-275511 | Oct 1999 | JP |
2002-044429 | Feb 2002 | JP |
2002-99209 | Apr 2002 | JP |
2002-209085 | Jul 2002 | JP |
2002-298120 | Oct 2002 | JP |
2003-066839 | Mar 2003 | JP |
2003-101762 | Apr 2003 | JP |
Number | Date | Country | |
---|---|---|---|
20040258276 A1 | Dec 2004 | US |