Method and apparatus for masking an identification document Technical Field
[01] The present invention generally relates to document data protection. Aspects of the invention include computer-implemented methods, software and computer systems for masking of an identification document. A person skilled in the art would be familiar with modern computer system design, hardware specifications, software design and suitable alternatives to those described here.
Background
[02] Nowadays people frequently run into a situation where one or more identification document that carries their financial or personal information/referred to as identification (ID) information in the present specification, needs to be presented to another party for example a bank when opening a bank account or a telecommunication company when purchasing a new telephone number, and a copy of the identification document needs to be stored by the other party. The identification document in this specification may take a variety of forms, including but not limited to, a plastic card, a book of a few pages, or a piece of paper with dimensions that may or may not be in compliance with industry standards. Specifically, the identification document may be for example a credit card, a debit card, an insurance card, a driver license, a passport or even apiece of standard A3 or A4 paper with identification information printed thereon. If the identification document is a credit card, it nonnally contains the cardholder's name, primary account number (PAN) or credit card number in this case, expiration date and Card Verification Value (CVV).
[03] In practice, the other party that needs to store the identification document of a person may simply scan and store the identification document in its system. However, according to certain industry standards, for example the Payment Card Industry's Data Security Standard (PCI DSS), if a merchant needs to store cardholder data of a payment card for example a credit card or a debit card for business purposes, the primary account number (PAN) must be masked whenever it is displayed. In this case, the merchant can't simply store and display the cardholder data of the payment card.
[04] Any discussion of documents, acts, materials, devices, articles or the like which has been included in the present specification is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present disclosure as it existed before the priority date of each claim of this application.
Summary
[05] In a first aspect there is provided a computer-implemented method for masking a portion of an image of an identification document, the method comprising: displaying a display area on a screen to display the image of the identification document; determining position and size of a mask in the display area on the screen, the position and size of the mask substantially corresponding to the portion of the image of the
identification document to be masked; receiving the image of the identification document; displaying the mask of the size at the position and the image of the identification document in the display area; and applying the mask to the image of the identification document such that the portion of the image of the identification document to be masked is substantially masked by the mask.
[06] It is an advantage that the invention applies the mask to the portion of image of the identification document while displaying the image of the identification document, which improves document security and productivity, and reduces the amount of human intervention.
[07] The order of the steps is not important and where appropriate may be performed in a different order than the sequence described above.
[08] The step of determining the position and size of the mask in the display area may comprise determining the size and position of the mask based on specifications of the identification document and specifications of the screen displaying the image of the identification document.
[09] The identification document may be a credit card, a debit card, an insurance card, a passport or a piece of paper carrying identification information. The identification document may have document-specific dimensions.
[10] The screen may be a screen operating with a computing device for example a tablet computer or a smart phone, etc. The screen may have device-specific resolution.
[11] The position and size of the mask may be determined by searching a data file that associates the specifications of the identification document and the specifications of the screen with the position and size of the mask.
[12] The step of displaying the display area on the screen may be based on the
specifications of the identification document and the specifications of the screen.
[ 13] The size of the display area may be determined by searching the data file that associates the specifications of the identification document and the specifications of the screen with the size of the display area.
[14] The size of the display area may have substantially same aspect ratio as that of the identification document and may have sufficient dimensions to display the image of the identification document with sufficiently clear level to be at least legible.
[15] The data file may be stored in a local or remote datastore.
[16] The step of applying the mask to the image of the identification document may further comprise performing one or more of the following actions in response to an instruction: moving the mask to cover the portion of the image of the identification document;
zooming in or out the mask to cover the portion of the image of the identification document; rotating the mask to cover the portion of the image of the identification document; moving the image of the identification document for the portion of the image of the identification document to be covered by the mask; zooming in or out the image of the identification document for the portion of the image of the identification document to be covered by the mask; and rotating the image of the identification document for the portion of the image of the identification document to be covered by the mask.
[17] The step of displaying the image of the identification document in the display area may further comprise automatically substantially fitting the image of the identification document to the display area.
[18] The computer-implemented method may further comprise causing the masked image of the identification document to be stored.
[19] The masked image of the identification document may be stored locally or remotely.
[20] The image of the identification document may comprise one or more portions to be masked.
[21] One or more mask may be applied to the one or more portions of the identification document to substantially mask the one or more portions of the identification document.
[22] In a second aspect there is provided a computer software program, including machine- readable instructions, when executed by a processor, causes the processor to perform the above methods and steps where appropriate.
[23] In a third aspect there is provided a computer system for masking a portion of an identification document, the system comprising a processor that is adapted to: display a display area on a screen to display the image of the identification document; determine position and size of a mask in the display area on the screen, the position and size of the mask substantially corresponding to the portion of the image of the
identification document to be masked; receive the image of the identification document; display the mask of the size at the position and the image of the identification document in the display area; and apply the mask to the image of the identification document such that the portion of the image of the identification document to be masked is substantially masked by the mask.
[24] The computer system may include an image capture device such as a camera to capture an image of the identification document.
[25] in a fourth aspect there is provided a computer-implemented method for facilitating masking of a portion of an image of an identification document, the method comprising: receiving a request for position and size of a mask to substantially mask the portion of the image of the identification document, the request including specifications of a screen and specifications of the identification document; determining the position and size of the mask based on the specifications of the screen and specifications of the identification document; and sending a response including the position and size of the mask.
[26] It is an advantage that the invention automatically determines the position and size of the mask to mask the portion of image of the identification document, which facilitates masking of the identification document.
[27] The method may further comprise determining size of a display area on the screen to display the image of the identification document based on the specifications of the screen and the specifications of the identification document.
[28] The size of the display area may have substantially same aspect ratio as that of the identification document and may have sufficient dimensions to display the image of the identification document with sufficiently clear level to be at least legible.
[29] The response may further comprise the size of the display area on the screen.
[30] The method may further comprise receiving a masked image of the identification document; and causing masked image of the identification document to be stored.
[31] The masked image of the identification document may be stored locally or remotely.
[32] In a fifth aspect there is provided a computer software program, including machine- readable instructions, when executed by a processor, causes the processor to perform the above methods and steps where appropriate.
[33] In a sixth aspect there is provided a computer system for facilitating masking of a portion of an identification document, the system comprising a processor that is adapted to: receive a request for position and size of a mask to substantially mask the portion of the image of the identification document, the request including specifications of a screen and specifications of the identification document; determine the position and size of the mask based on the specifications of the screen and specifications of the identification document; and send a response including the position and size of the mask.
Brief Description of Drawings
[34] At least one example of the invention will be described with reference to the accompanying drawings, in which:
[35] FIG. 1 is a diagram of an system having an ID document masker and an ID document server used to mask an image of an ID document according to an embodiment of the present invention;
[36] FIG. 2 is an exemplary table used to associate specifications of an ID document and a screen with size of a display area and position and size of a mask.
[37] FIG. 3 is a flow chart of masking an image of an ID document according to an embodiment of the present invention; and
[38] FIG. 4A-C are diagrams of graphical interfaces used to mask an image of an ID document according to an embodiment of the present invention.
[39] It should be noted that the same numeral represents the same or similar elements throughout the drawings.
Description of Embodiments
[40] A system 100 used to mask a portion of an image of an ID document will now be described with reference to FIGs. 1 and 2. The system 100 includes an ID document masker 110, an ID document server 120 and a dimension datastore 140. In the embodiment shown in FIG.l, the ID document is illustrated as a credit card, and the portion of the image of the credit card to be masked may for example be the 5th-10,h digits of the credit card number, which are "4", "5", "6", "7", "8", "9" in this example. Alternatively, the ID document may be a debit card, a passport, or a piece of standard A3, A4 paper.
[41] In the present specification, although the terms "a/the portion" and "a/the mask" are adopted to describe masking of a portion of an image of an ID document with a mask according to an embodiment of the invention, the invention is not limited to masking only one
portion of the image of the ID document. This invention may also be applied to masking more than one portions of the image of the ID document with more than one masks without departing from the concept and scope of the invention.
[42] Further, although the ID document masker 110 and the ID document server 120 are shown as independent physical entities that can perform computing functions, they may also be a physical or logic part of another computing entity. For example, the ID document masker 110 or the ID document server 120 maybe a part of a mobile phone or a tablet computer. The ID document masker 110 and the ID document server 120 are connected by a network 130, which may for example comprise private networks, public networks, public secured networks, wired networks, wireless networks, Local Area Networks (LANs), Wide Area Networks (WANs), and any combination of the foregoing. Alternatively, The ID document masker 110 and the ID document server 120 may be integrated together as a single entity performing the functions that arc performed by the ID document masker 110 and the ID document server 120.
ID document masker
[43] In the embodiment shown in FIG. 1 , the ID document masker 110 includes a processor 1101, memory 1102, and ports 1 103-1106. The processor 1101 may be for example a general purpose processor, an application-specification integrate circuit (ASIC) or a field- programmable gate array (FPGA), etc. The processor 1101 fetches and performs instructions stored in the memory 1102 to mask a portion of an image of an ID document received from the port 1103.
[44] As shown in FIG. 1 , the port 1103 is an image collection port that interfaces with a camera/scanner to capture an image 1502 of the credit card shown in FIG. 1. Additionally or alternatively, the port 1103 may interface with an ID image datastore to receive the image by retrieving an image file representing the credit card.
[45] The port 1104 is a communication port that communicates information to and from the ID document server 120 through the network 130 via existing communication protocols for example TCP IP, 3 GPP, 3GPP2, IEEE 802.x, etc.
[46] The port 1105 is a screen port interfacing with a screen 150 to control the screen 150 to display text and graphic information. In this embodiment, the image 1502 of the credit card received from the port 1103 and a mask 1501 with position and size that correspond to the 5th- 10th digits of the credit card number, shown as the black strip in FIG . 1 , are displayed in a display area 1503 on the screen 150. Further, the mask 1501 is applied to the image 1502 to mask the corresponding portion of the image 1502. The screen 150 may for example be a cathode ray tube (CRT), liquid crystal display (LCD), light emitting diode (LED) display, organic LED (OLED) display or a touch screen display.
[47] The port 1106 is a control port that interfaces with control devices (not shown in FIG. 1), for example a keyboard, a mouse, a touch sensor, a microphone, etc., to receive control instructions from outside, for example, a user of the ID document masker 110. The control instructions received from outside are then sent to the processor 1101 to operate the system 100.
ID document server
[48] The ID document server 120 includes a processor 1201, memory 1202, and ports 1203 and 1204. The processor 1201 may for example be a general purpose processor, an application-specification integrate circuit (ASIC) or a field-programmable gate array (FPGA), etc. The processor 1201 fetches and performs instructions stored in the memory 1202 to facilitate masking of a portion of an image of an ID document. In this embodiment, the ID document server 120 provides the ID document masker 110 with information in relation to size of the display area 1503 and position and size of the mask 1501 based on specifications of the screen 150 and the ID document in response to a request sent from the ID document masker 110. Such information facilitates displaying and masking of the image 1502 of the ID document in the display area 1503 on the screen 150.
[49] The port 1203 is a communication port that communicates information to and from the ID document masker 110 through the network 130 via existing communication protocols for example TCP/IP, 3GPP, 3GPP2, IEEE 802.x, etc.
[50] The port 1204 is a data port that interfaces with a dimension datastore 140, through which data in the dimension datastore 140 representing association of specifications of the ID document and the screen 150 with the size of the display area 1503 and the position and size of the mask 1501 are retrieved or updated.
Document datastore
[51] As described above, the data in the dimension datastore 140 represent association of specifications of the ID document and the screen 150 with the size of the display area 1503 and the position and size of the mask 1501, which may be organised in the form of data structure such as a database. Although the dimension datastore 140 is shown as an independent entity in FIG. 1, it may be integrated into the ID document server 120 as a physical or logic part thereof. FIG. 2 is an exemplary data file or table indicating such associotion. In FIG. 2, the first column represents the specifications of the screen 150 including, but not limited to, type of the screen 150 for example CRT, resolution in pixel for example 800*600, name of the device that incorporates the screen 150 for example "Android Phone" or "Apple iPhone 5", from which the resolution of the screen 150 can be derived according to existing industry standards, or their combination. The first row in FIG. 2 represents the specifications of the ID document including, but not limited to, dimensions of the ID document, type of the document or their combination. In this embodiment, the type of the ID document, for example "Credit Card", "Driver License", etc., is adopted to indicate the specifications of the ID document for illustration purpose, and the dimensions of these types of ID document may be derived from corresponding industry standards.
Also included in FIG. 2 are the size of the display area 1503 and the position and size of the mask 1501. In this example, the size of the display area 1503 or the mask 1501 is in pixel and the position of the mask is relative to the display area 1503 in which the image 1502 of the ID document is displayed. Alternatively, the size may be in other physical units for example centimetre or inch. Theoretically, the size of the display area 1503 may be any size as long as the display area 1 03 can accommodate the image 1502 of the ID document; however, due to constrains of resolution of the screen 150 and visual effect of the image 1502 when displayed on the screen 150, the size of the display area 1503 is preferably determined based on the specifications of the screen 150 and the ID document in order to display the image 1502 with
a sufficiently clear level to be at least legible. Further preferably, the aspect ratio, i.e. the ratio of width over height, of the display area 1503 is substantially same as that of the ID document to achieve the best visual effect when the image 1502 is substantially fitted to the display area 1503 on the screen 150. For example, according to ISO/IEC 7810, the physical size of most bank cards or ID cards is 85.60 * 53.98 millimetres (mm), thus the display area 1503 may be set as for example 600x382 for a credit card on the screen of an Apple iPhone 5, or 400x253 for a credit card on a CRT screen with resolution of 800 x 600 in order to achieve the sufficiently clear level and the best visual effect when the image 1502 of the ID document is displayed on the screen 150.
[52] In this example, the position and size of the mask 1501 is denoted by X/, Y/ : width* height , indicating that the z'-th mask 1501 is positioned at X/, Y/ relative to the upper-left corner of the display area 1503 with the size of width/ * height,. Alternatively, the position of the mask 1501 may be denoted by a pair of percentage, for example, 20%, 35%, which means the X coordinate of the position of the mask 1501 is 20 percent of the width of the display area 1503, and the Y coordinate of the position of the mask 1501 is 35 percent of the height of the display area 1503. Similarly, the size of the mask 1501 may also be represented by a pair of percentage. Regardless of the way to represent the position and size of the mask 1501, the position and size of mask 1501 correspond to the portion of the image 1502 to be masked.
[53] It should be noted that although the data in relation to the position or size of the mask 1501 and display area 1503 are pre-populated into the dimension dataslore 140, the data may be updated in the future where appropriate.
[54] It should also be noted that the data may also be computed by the processor 1101 in the ID document masker 110 or the processor 1201 in the ID document server 120 based on specifications of the screen 150 and the ID document especially when the specifications of the ID document comply with related industry standards. In this case, there is no need to retrieve the data from the dimension datastore 140.
[55] It should be further noted that there may be more than one portions in the image 1502 of the ID document to be masked, therefore there may be more than one masks to be defined
for the ID document in the dimension datastore 140 to mask the more than one portions of the image 1502 respectively.
Process of masking an image of an ID document
[56] Now the process of masking a portion of an ID document will be described with reference to FIGs. 3 and 4. The flow chart 300 shown in FIG. 3 is divided into two parts, the left part of which is performed by the ID document masker 110 and the right part is performed by the ID document server 120.
[57J One of the scenarios to which the process 300 is applicable is that an ID document of a customer needs to be stored by a merchant when the customer purchases goods or services from the merchant.
[58] The customer presents his or her ID document to a salesperson of the merchant and the salesperson recognises type of the ID document, which is a credit card in this example. The salesperson enters or selects the type of the ID document through the control port 1 106 of the ID document masker 110 to inform the processor 1102 of the type of the ID document. . In other examples, there is only one type of document that is processes so the selection by the salesperson does not need not take place. Once the processor 1102 determines 302 the type of the ID document from the input from the salesperson, the processor 1102 determines 304 specifications of the screen 150 connected with the ID document masker 110 through the screen port 1105, including, but not limited to, type and resolution of the screen 150 or their combination, as described above. In practice, the process 300 may be implemented as a software program running on a mobile phone, and the screen of the mobile phone is used as the screen 150 to display the image 1502 of the ID document. In this case, the specifications of the screen 150 may be simply indicated by the name of the mobile phone such as "Apple iPhone 5", as described above.
[59] The ID document masker 110 then sends 306 a request including the specifications of the ID document and the screen 150 to the ID document server 120 via the communication port 1104, as shown by the arrow with a circled number "1" in FIG. 3.
[60] The request is sent over the network 130 and received 309 at the communication port 1203 of the ID document server 120. The processor 120J of the ID document server 120 extracts the specifications of the ID document and the screen 150 from the request and determines 311 the size of the display area 1503 and the position and size of the mask 1501 based on the specifications of the ID document and the screen 150 received from the ID document masker 1 10 by searching the dimension datastore 140 or computing these data with reference to related industry standards, as described above.
[61] Once the size of the display area 1503 and the position and size of the mask 1501 are determined at the ID document server 120, these data are sent 313 back to the ID document masker 110 via the communication port 1203 as a response to the request sent from the ID document masker 110, as shown by the arrow with a circled number "2" in FIG. 3.
[62] The response is send over the network 130 and received 308 at the communication port 1104 of the ID document masker 110. The processor 1 101 extracts the size of the display area 1503 and the position and size of the mask 1501 from the response.
[63] Then the ID document masker 110 displays 310 the display area 1503 with the size extracted from the request on the screen 150 for subsequent displaying of the mask 1501 and the image 1502 of the credit card of the customer, indicated by the grey area in FIG. 4A.
[64] Based on the position and size of the mask 1501 extracted from the request sent from the ID document server 120, the ID document masker 110 display 312 the mask 1501 correspondingly in the display area 1503, indicated by the black strip in FIG. 4A.
[65] When the salesperson sees the graphic interface shown in FIG. 4 A, the salesperson places the credit card of the customer in front of the camera connected with the image collection port 1103 of the ID document masker 110 to capture the image 1502 of the credit card. Once the image 1520 of the credit card is captured by the camera, the image 1502 is, sent to the ID document masker 110 from the camera in real time.
[66] The image 1502 is received 314 at the image collection port 1103 of the ID document masker 110 and then displayed 316 in the display area 1503 on the screen 150.
[67] At the same time, the mask 1501 is applied 318 to the image 1502 to mask a portion of the image 1502. As the image 1502 is captured from the camera and displayed in the display area 1502 in real time, if the mask 1501 fails to mask the portion of the image 1502 to be masked; for example, the 9lh and 10,h digits, "8" and "9", can still be seen due to the inappropriate orientation of the credit card, as shown in FIG. 4B, salesperson may manually adjust for example the distance of the credit card from the camera or the orientation of the credit card relative to the camera to cause the portion (i.e., the 5lh - 10th digits of the credit card number) to be appropriately masked by the mask 1501. Additionally or alternatively, the salesperson may send adjustment instructions to the ID document masker 1 10 through the control port 1 106 to make adjustments. The adjustments that can be made by the ID document masker 110 may include, but not limited to, the following actions or their combinations: moving the mask 1501 to cover the portion of the image 1502 of the credit card; zooming in or out the mask 1501 to cover the portion of the image 1502 of the credit card; rotating the mask 1501 to cover the portion of the image 1502 of the credit card; moving the image 1502 of the credit card for the portion of the image 1502 to be covered by the mask 1501; zooming in or out the image 1502 of the credit card for the portion of the image 1502 to be covered by the mask 1 01 ; and rotating the image 1502 of the credit card for the portion of the image 1502 to be covered by the mask 1501.
Alternatively, the processor 1101 of the ID document masker 110 may automatically fit the image 1502 of the credit card to the display area 1503 by performing one or more above actions to cause the portion of the image 1502 to be masked by the mask 1501.
[68] Once the portion of the image 1502 is masked by the mask 1501 appropriately, as shown in FIG. 4C, the ID document masker 110 sends the masked image 1502 of the ID document to the ID document sever 120 via the communication port 1 104, causing the masked image 1502 to be stored 320, as shown by the arrow with a circled number "3" in FIG. 3.
[69] The masked image 1502 is sent over the network 130 and received 315 at the communication port 1203 of the ID document server 120.
[70] Once the masked image 1502 is received at the ID document sever 120, the ID document server 120 stores 317 the masked image 1502 in a storage device for example a local or remote hard disk. As a result, the mask 1501 is stored along with the masked image 1502 as part of it, and the digits behind the mask 1501 can't be seen by later accessing the masked image 1502.
[71] It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the scope of the invention as broadly described.
[72] For example, the masked image 1502 may not be sent to the ID document server 120 for storage; instead, the masked image 1502 may be stored directly by the ID document masker 110 in a datastore connected therewith through the port 1103 (not shown in FIG. 1).
[73] Moreover, the functions of the ID document server 120 may be integrated into the ID document masker 110 such that the ID document masker 110 takes less time to determine the size of the display area 1503 and the position and size of the mask 1501.
[74] It should be understood that the techniques of the present disclosure might be implemented using a variety of technologies. For example, the methods described herein may be implemented by a series of computer executable instructions residing on a suitable computer readable medium. Suitable computer readable media may include volatile (e.g. RAM) and/or non-volatile (e.g. ROM, disk) memory, carrier waves and transmission media. Exemplary carrier waves may take the form of electrical, electromagnetic or optical signals
conveying digital data steams along a local network or a publically accessible network such as the Internet.
[75] It should also be understood that, unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "controlling" or "obtaining" or "computing" or "storing" or
"receiving" or "determining" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that processes and transforms data
represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer · system memories or registers or other such information storage, transmission or display devices.