Encrypting touch screen

In accordance with an example embodiment there is disclosed herein a method for authenticating a touch screen layout. A file containing the touch screen layout is signed by a key known to the device that is to deploy the touch screen layout, such as, for example an automated banking machine and/or a point of sale system. Before the touch screen is used by the device's user interface, the device validates the touch screen.

TECHNICAL FIELD

The present disclosure relates generally to touch screen displays.

BACKGROUND

Touch screen displays are increasing in popularity because they eliminate the need for a separate keyboard which can save space and money. Encrypting touch screens encrypt the touch coordinates, preventing unauthorized parties from obtaining the data entered on the touch screen.

SUMMARY OF EXAMPLE EMBODIMENTS

In accordance with an example embodiment there is disclosed herein a method for authenticating a touch screen layout. A file containing the touch screen layout is signed by a key known to the device that is to deploy the touch screen layout, such as, for example an automated banking machine and/or a point of sale system. Before the touch screen is used by the device's user interface, the device validates the touch screen.

In accordance with an example embodiment, there is disclosed herein a technique for parallax correction for a touch screen. The technique includes a method that comprises determining an amount of parallax for an electronically generated visual image on a display surface that passes through and airgap between the display and a touch screen medium and the touch screen medium, where the touch screen medium is prone to causing apparent image displacement. The parallax correction is determined for a maximum predetermined angle relative to the display surface. A mechanical tolerance is determined between the display and the touch screen medium. A worst case variation based on the amount of parallax and mechanical tolerance is determined. A touch area that is adjacent to at least a portion of the perimeter of the visually generated electronic image extending a distance from the portion of the perimeter of the visually generated electronic image corresponding to the worst case variation is assigned where a touch input is considered the same as touching where the electronically generated electronic image is displayed. In response to detecting a touch input in the assigned area that is adjacent to the at least a portion of the perimeter of the visually generated electronic image corresponding to the worst case variation, a signal is generated by a circuit coupled with the touch screen medium indicating that the visually generated electronic image was touched.

DESCRIPTION OF EXAMPLE EMBODIMENTS

This description provides examples not intended to limit the scope of the appended claims. The figures generally indicate the features of the examples, where it is understood and appreciated that like reference numerals are used to refer to like elements. Reference in the specification to “one embodiment” or “an embodiment” or “an example embodiment” means that a particular feature, structure, or characteristic described is included in at least one embodiment described herein and does not imply that the feature, structure, or characteristic is present in all embodiments described herein.

There are example embodiments described herein that are directed to Encrypted Touch Screen (ETS) screen layouts, e.g., how to design, sign, load and generate screen content for the encrypting touch screen. The layout may be signed with a key associated with the manufacturer of the device (e.g., manufacturer of an automated banking machine or point of sale device) key (such as for example Diebold Nixdorf, the applicant of this application) key, a key associated with the manufacturer of the ETS (e.g., Cryptera), or a key associated with the customer (e.g., the owner or lessee of the device).

A designer of a touch screen layout is responsible for ensuring the touch screen layout comports with the associated display screen that will be output at the time the touch screen layout is employed. When the touch screen layout file is downloaded to the ETS module, the ETS module authenticates the touch screen layout file. In an example embodiment, the touch screen layout file is downloaded from the device's controller via a Universal Serial Bus (USB) connection. The touch screen layout file can be signed with any suitable key (e.g., symmetric or asymmetric key) as long as the ETS has a corresponding key.

In an example embodiment, the display and touch screen layout files are stored in a controller, e.g., an automated teller machine (ATM) controller, coupled with the display module and the ETS module. An ATM controller may forward the files as needed. For example, for a personal identification number (PIN) entry the ATM controller forwards the display file to the display module and the touch screen layout file to the ETS module which authenticates the display. In particular embodiments, the display controller can also authenticate the display file.

In other embodiments, once the touch screen layout file is authenticated it is stored in a secure memory associated with the ETS module. This can obviate the need to authenticate the touch screen layout file every time the file is employed. When he controller requests an input that employs the touch screen layout file, the controller can send data identifying the touch screen layout file.

FIG.1is a block diagram illustrating a device100with an encrypting touch screen (ETS) module102operable to authenticate a touch screen layout in accordance with an example embodiment. In the illustrated example, the ETS module102comprises an authentication module104and an ETS input module106. Although the authentication module104and ETS input module106are illustrated as separate modules, those skilled in the art should readily appreciate that this is a logical view merely selected for ease of illustration, and that the functionality of the authentication module and ETS input module106can be implemented by employing a single processor executing computer readable instructions, or a single circuit. In an example embodiment, the functionality of the ETS module102, including but not limited to the authentication module104and ETS module106are implemented in logic. “Logic”, as used herein, includes but is not limited to hardware, firmware, software and/or combinations of each to perform a function(s) or an action(s), and/or to cause a function or action from another component. For example, based on a desired application or need, logic may include a software controlled microprocessor, discrete logic such as an application specific integrated circuit (ASIC), a programmable/programmed logic device, memory device containing instructions, or the like, or combinational logic embodied in hardware. Logic may also be fully embodied as software that performs the desired functionality when executed by a processor.

In an example embodiment, a touch screen layout file, containing data representative of a touch screen layout, is obtained from memory108. The touch screen layout file may be conveyed to the touch screen module102by a communication connection110. The communication connection110may be any suitable wired or wireless media. In an example embodiment, the communication connection110is a USB.

In an example embodiment, the ETS module102receives a request to load a touch screen layout. For example, the request can be from an ATM controller or a POS controller. The touch screen module102obtains the touch screen layout file (or data representative of the touch screen layout) from the memory108. The authentication module104authenticates the touch screen data file. The touch screen data file can be authenticated by using any suitable technique, such as, for example a message authentication check (MAC) or message integrity check (MIC). For example, the touch screen layout file can be signed using a key (asymmetric or symmetric) that is associated with the authentication module104. In particular embodiments, the touch screen layout file is encrypted by either a symmetric or asymmetric key, and the authentication module104employs the corresponding key to decrypt the touch screen layout file. If the touch screen layout file is successfully authenticated, the data representative of the touch screen layout in the touch screen layout file is loaded into the ETS input module106. The ETS input module106employs the touch screen layout for handling touch screen inputs. For example, the touch screen layout can be employed for receiving a PIN. If the touch screen layout file can not be authenticated by authentication module104, the touch screen layout file is discarded.

As will be described in more detail herein infra, in an example embodiment where the touch screen module102has a memory (not shown, see e.g., ref.218inFIG.2), the touch screen layout can be stored in the memory for future use. In particular embodiments the memory is a secure memory. For a subsequent use, the touch screen layout is loaded from the memory, eliminating the need to authenticate the file for subsequent uses.

As will be described in more detail herein infra, in an example embodiment, the data representative of a display screen layout associated with the touch screen layout can also be encrypted. The data representative of the display screen layout is authenticated by logic associated with the display employing a key that is associated with the logic associated with the display, which in an example embodiment is a different key than is used for authenticating the touch screen layout although it is also possible to use the same key for authenticating the touch screen layout and the screen layout. Upon successfully authenticating the display screen layout, the display screen.

FIG.2is a block diagram illustrating an example of a user interface202and controller204of an automated banking machine200with an encrypting touch screen module206operable to authenticate a touch screen layout in accordance with an example embodiment.

The user interface202comprises a display208with a touch surface210that overlies the display208. The touch surface210is operable to receive touch inputs from a person interacting with the user interface202.

The touch surface is coupled with ETS module206. The ETS module206comprises ETS logic214which is operable to perform the functionality described herein. In an example embodiment, the EGS logic214is operable to perform both the function of an authentication module (see e.g., authentication module104inFIG.1) and an ETS input module (see e.g., ETS input module106inFIG.1). The ETS logic214employs key216for authenticating ETS screen layouts.

In an example embodiment, an ETS screen layout (or data representative of a screen layout) S is received by the ATM controller204via a communication interface228. Although the example illustrated inFIG.2employs an ATM controller, those skilled in the art can readily appreciate that the principles described herein may apply to other types of devices and controllers, such as a POS with a touch screen. The ATM controller204comprises logic for performing the functionality described herein. The communication interface228can be any suitable wired or wireless interface. In an example embodiment, the communication interface228is secured. For example, the communication interface228can be a USB interface that is in a physically locked compartment to prevent unauthorized access. As another example, communication interface228can employ encryption to prevent communications with any device (e.g., a device connected via a wire or a wireless device employing a wireless protocol such as WIFI or BLUETOOTH) that does not have the appropriate key.

In an example embodiment, the ATM controller204stores the ETS screen layout in memory226. When the ATM controller204is performing a function that requires the use of the ETS layout S (for example a PIN input), the ATM controller204has the screen layout S forwarded to the ETS module206. The ETS logic214employs key216to validate the ETS layout S. ETS logic214can use any suitable protocol for authenticating ETS screen layout S, including but not limited to, authenticating a MAC or MIC, or decrypting the file containing the touch screen layout with a predefined (symmetric or asymmetric) key. Upon successfully authenticating the ETS screen layout S, the ETS logic214employs the screen layout S for touch inputs received by touch surface210.

In an example embodiment, the ETS module206further comprises a memory218. In particular embodiments the memory is secured (e.g., protected from tampering, see for example U.S. Pat. No. 10,078,764 which is hereby incorporated by reference herein). In an example embodiment, the ETS logic214upon successfully authenticating the ETS screen layout S, stores the authenticated ETS screen layout S in memory218. For subsequent uses of the screen, the ATM controller204can specify the ETS module206employs the previously authenticated ETS Screen Layout S, which the ETS logic214can retrieve from memory218without needing to again authenticate the ETS screen layout S. In an example embodiment, the key216is stored in memory218.

The user interface202further comprises a display208that comprises a display surface209that is operable to display electronically generated visual images. The display208is coupled to a display module222. The display module222employs display logic220for obtaining data to display from the ATM controller204.

In an example embodiment, the display module222is operable to authenticate data to be displayed, such as screen layouts. This can prevent a hacker from trying to obtain personal identification (e.g., name and/or social security number) of a user by requesting the user input it on the screen. The display logic220employs a key230for authenticating display screens. For example, display screens can be uploaded similar to how the ETS screen layout S, display screens can be uploaded to the ATM controller204via communication interface228.

In an example embodiment, the ATM controller204stores the display screen layout D in memory226. When the ATM controller204is performing a function that requires the use of the display layout (for example “Enter PIN:”), the ATM controller204has the display screen layout D forwarded to the display module222. The display logic220employs key230to validate the display layout. Display logic220can use any suitable protocol for authenticating display screen layout D, including but not limited to, authenticating a MAC or MIC, or decrypting the file containing the touch screen layout with a predefined (symmetric or asymmetric) key. Upon successfully authenticating the display screen layout D, the display logic220employs the display screen layout D for output on display208.

In an example embodiment, the display module222further comprises a memory224. In particular embodiments the memory is secured. In an example embodiment, the display logic220upon successfully authenticating the display screen layout D, stores the authenticated display screen layout D in memory224. For subsequent uses of the screen, the ATM controller204can specify the display module222employs the previously authenticated display screen layout D, which the display logic220can retrieve from memory224without needing to again authenticate the display screen layout D. In an example embodiment, the key230is stored in memory224. In an example embodiment, keys216,230are different, however, in another example embodiment keys216,230can be the same.

FIG.3is a block diagram of an automated banking machine300, such as an automated teller machine (ATM) with an encrypting touch screen module206operable to authenticate a touch screen layout in accordance with an example embodiment. The touch screen module206comprises a touch surface210, and ETS logic214. The ETS logic214is coupled with a controller204. The controller204is coupled with a memory226a communication interface228, and display logic220of display module222that comprises a display208. The controller204is operable to obtain data representative of an input from the touch screen logic214and provide data representative of an output to the display logic220.

In an example embodiment, the communication interface208is coupled with a local port302. The local port302can be any suitable wired or wireless interface. For example, the local port302can be a USB port and/or a Near Field Communication (NFC) interface.

In an example embodiment, the local port302is located within a secure compartment within the automated banking machine where access is limited to approved individuals such as service technicians. A service technician can a service technician device304to communicate with the local port302. In an example embodiment, the service technician uses the local port to upload data representative of touch screen and/or screen layouts to controller204. In an example embodiment, the controller is operable to store the data representative of the touch screen layout and/or display screen layout in memory226. The controller204is operable to forward data representative of a touch screen received via the local port302to the ETS logic214. The ETS logic204is operable to authenticate the data representative of the touch screen using any suitable technique, such as the techniques described herein. In particular embodiments, the controller204is operable to forward data representative of a display screen layout is received via the local port302to the display logic220. The display logic220is operable to authenticate the data representative of the display screen layout using any suitable technique, such as the techniques described herein.

In an example embodiment, the communication interface228is coupled with a network306. Network306can allow automated banking machine to communicate with a financial institution device308. The financial institution device308can be employed to approve financial transactions conducted on automated banking machine300. In particular embodiments, network306can be coupled with a manufacturer's device310. In an example embodiment, updated, including touch screen layouts and/or screen layouts, to the automated banking machine300can be performed by either the financial institution device308and/or the manufacturer device310via the communication interface228. In an example embodiment, the controller204is operable to store the data representative of the touch screen layout and/or display screen layout in memory226. The controller204is operable to forward data representative of a touch screen received via the communication interface208to the ETS logic214. The ETS logic204is operable to authenticate the data representative of the touch screen using any suitable technique, such as the techniques described herein. In particular embodiments, the controller204is operable to forward data representative of a display screen layouts received via the communication interface228to the display logic220. The display logic220is operable to authenticate the data representative of the display screen layout using any suitable technique, such as the techniques described herein.

In an example embodiment, the automated banking machine300further comprises a PIN receiving device320, such as for example, a PIN pad, encrypting PIN PAD (EPP), and/or a keypad that is separate from the touch screen. The PIN pad and/or keypad can be employed as an alternative method for a user to input data.

In another example embodiment, the automated banking machine300further comprises a user identification device312. The user identification device312can be any device operable to obtain data representative of a user. Examples of user identification devices312include but are not limited to card readers, encrypted card readers, biometric devices or wireless devices such as a NFC interface. In particular embodiments, the automated banking machine300may suitably comprise a plurality of user identification devices312.

In yet another example embodiment, the automated banking machine300further comprises a check acceptor318. This can allow the automated banking machine300to receive checks or other documents that are a form of payment, such as money orders, for deposit.

In still yet another example embodiment, the automated banking machine300further comprises a cash acceptor or recycler316. A cash acceptor will allow users to deposit cash into the automated banking machine300. A cash acceptor can not only accept cash deposits but can dispense the cash that was deposited for cash withdrawals.

In another example embodiment, the automated banking machine300further comprises a cash dispenser314. The cash dispenser314is employed for dispensing cash for cash withdrawal transactions.

In yet another example embodiment, the automated banking machine300further comprises an audio input/output (I/O) device324. The audio input/output device314can aid handicapper users in conducting transactions with the automated banking machine300.

In still yet another example embodiment, the automated banking machine300further comprises a combination of two or more of a group consisting of a PIN receiving device (e.g., a PIN PAD, EPP and/or keyboard)320, user identification device312, check acceptor318, cash acceptor or recycler316, and audio input/output device324.

To illustrate by way of example the automated banking machine300can be employed for making a cash withdrawal transaction. The user requesting the withdrawal is identified via the user identification device312. For example, the user may insert a magnetic stripe card into the user identification device312, employ a wireless device such as a mobile phone and wirelessly connect to the user identification device312. The controller204causes a display screen layout to be output on display208requesting the user to authenticate themselves, for example by entering a PIN into the touch screen206or by entering a PIN into the PIN receiving device (e.g., a PIN PAD, EPP, or keypad)320. The screen layout is authenticated by display logic220before the layout is output. The controller204causes data representative of a touch screen layout to be provided to the touch screen206. The ETS logic220authenticate the data representative of the touch screen layout before employing the touch screen layout to receive inputs that are representative of the PIN.

Upon successfully authenticating the user, the controller204causes a data representative of one or more display screen layouts for requesting transaction details such as which user account and the amount of the withdrawal forwarded to the display208. The display logic220authenticates the one or more display screen layouts for requesting transaction details such as which user account and the amount prior to outputting the one or more display screen layouts on the display208. The controller204also causes data representative of one or more touch screen layouts corresponding to the one or more display screen layouts to be forwarded to the touch screen module206for receiving user inputs. The ETS logic214authenticates the one or more touch screen layouts corresponding to the one or more display screen layouts before employing the one or more touch screen layouts for receiving user inputs.

Upon obtaining the transaction data, the controller204can communicate via the communication interface228and network306with the financial institution308to obtain authorization to dispense the cash. Upon receiving authorization, the controller204causes the cash dispenser314to dispense the requested funds. The controller204can also cause an output to be displayed on display208indicating to the user the cash is available at the dispenser.

Those skilled in the art can readily appreciate the controller204can employ the display208and touch screen module206for conducting other types of transactions. For example, for check deposits the controller can provide displays indicating when to deposit checks into a check acceptor318, display detected amounts, and receive confirmation of the amounts of the checks being deposited. As another example, a cash recycler316can be employed instead of a cash dispenser314. Thus, the controller204can accept cash deposits via the cash recycler316and output on the display208the amount of the deposit and request an input via the touch screen module206. The display screens and touch screen inputs employed for these types of transactions may also be authenticated as described herein.

In view of the foregoing structural and functional features described above, methodologies400,500in accordance with example embodiments will be better appreciated with reference toFIGS.4and5respectively. While, for purposes of simplicity of explanation, the methodologies400,500ofFIGS.4and5are shown and described as executing serially, it is to be understood and appreciated that the example embodiments are not limited by the illustrated orders, as some acts could occur in different orders and/or concurrently with other acts from that shown and described herein. Moreover, not all illustrated features may be required to implement the methodologies400,500. The methodologies described herein is suitably adapted to be implemented in hardware, software when executed by a processor, or a combination thereof.

FIG.4is a block diagram illustrating a method400for employing an authenticated touch screen layout in accordance with an example embodiment. The methodology400can be implemented by the ETS input module106and authentication module104inFIG.1, ETS logic214inFIG.2or3, and/or processor _ in FIG. _.

At402, a touch screen layout is created. The person creating the touch screen layout would be responsible for ensuring that the coordinates for the touch inputs align with the corresponding display screen layout.

At404, data representative of the touch screen layout is signed or encrypted. For example, the layout a Message Authentication Code (MAC) or Message Integrity Code (MIC) can be employed for signing the touch screen layout. In an example embodiment, the data representative of the touch screen layout is encrypted. The signature or encryption can employ a key known to the machine that will be employing the touch screen layout. The key can be a symmetric or asymmetric key.

At406, the signed or encrypted data representative of the touch screen layout is sent to the device that will employ the touch screen layout. In this example, an automated banking machine such as an Automated Teller Machine (ATM).

At408, the data representative of the touch screen layout is stored at the destination device. For example, the signed or encrypted data representative of the touch screen layout can be stored in a memory associated with an ATM's controller.

At410, the signed or encrypted data representative of the touch screen layout is send to an encrypted touch screen (ETS) module. For example, during a transaction being conducted at an ATM, when the ATM controller is at a point in a transaction where the touch screen layout is to be employed, the ATM controller forwards to the signed or encrypted data representative of the touch screen layout to the ETS module.

At412, the ETS module attempts to authenticate the signed or encrypted data representative of the touch screen layout. If the data representative of the touch screen layout is signed, the ETS module authenticates the signature, such as a MAC or MIC. If the data representative of the touch screen layout is encrypted, the ETS module decrypts the data representative of the touch screen layout, and optionally may further verify the data representative of the touch screen layout is correct by verifying a checksum.

If the data representative of the touch screen layout is authenticated (YES), at414, the touch screen layout based on the data representative of the touch screen layout is loaded by the ETS module. The ETS module employs the touch screen layout for interpreting touch inputs (e.g., touch coordinates) received at the touch screen.

At416, the transaction is performed. Touch inputs received are interpreted by the ETS module employing the touch screen layout derived from the authenticated data representative of the touch screen layout.

If, at412, the data representative of the touch screen layout cannot be authenticated (NO), as indicated at418the touch screen layout is not loaded. This prevents unauthorized layouts, such as layouts from unknow sources, from being employed by the ATM for financial transactions.

As those skilled in the art can readily appreciate, a similar method can be employed for authenticating display screens. The display screen layout can be authenticated by the display module instead of the ETS module, however, in an example embodiment, the display module can employ the ETS module to authenticate a display screen layout.

FIG.5is block diagram illustrating a method500for employing a touch screen layout where the layout is stored in a secure memory after the touch screen layout is authenticated. The methodology500can be implemented by the ETS input module106and authentication module104inFIG.1, ETS logic214inFIG.2or3, and/or processor _ in FIG. _.

At502, a touch screen layout is created. The person creating the touch screen layout would be responsible for ensuring that the coordinates for the touch inputs align with the corresponding display screen layout.

At504, data representative of the touch screen layout is signed or encrypted. For example, the layout a Message Authentication Code (MAC) or Message Integrity Code (MIC) can be employed for signing the touch screen layout. In an example embodiment, the data representative of the touch screen layout is encrypted. The signature or encryption can employ a key known to the machine that will be employing the touch screen layout. The key can be a symmetric or asymmetric key.

At506, the signed or encrypted data representative of the touch screen layout is sent to the device that will employ the touch screen layout. In this example, an automated banking machine such as an Automated Teller Machine (ATM).

In this example embodiment, the ETS module has a secure memory that can store touch screen layout data. Thus, when the ATM controller receives the data representative of the touch screen layout the controller automatically forwards the data representative of the touch screen layout to the ETS module before employing the touch screen layout. At508, the ETS module attempts to authenticate the signed or encrypted data representative of the touch screen layout. If the data representative of the touch screen layout is signed, the ETS module authenticates the signature, such as a MAC or MIC. If the data representative of the touch screen layout is encrypted, the ETS module decrypts the data representative of the touch screen layout, and optionally may further verify the data representative of the touch screen layout is correct by verifying a checksum.

If the data representative of the touch screen layout is authenticated (YES), at510, the data representative of the touch screen layout is stored in the memory of the ETS module. Because the touch screen layout has already been authenticated and is stored in a secured memory, the touch screen layout does not have to be authenticated again when it is time to employ the touch screen layout.

At512, the signed or encrypted data representative of the touch screen layout is send to an encrypted touch screen (ETS) module. For example, during a transaction being conducted at an ATM, when the ATM controller is at a point in a transaction where the touch screen layout is to be employed, the ATM controller forwards to the signed or encrypted data representative of the touch screen layout to the ETS module.

Since the data representative of the touch screen layout has already been authenticated, at514, the touch screen layout based on the data representative of the touch screen layout is automatically loaded by the ETS module. The ETS module employs the touch screen layout for interpreting touch inputs (e.g., touch coordinates) received at the touch screen.

At516, the transaction is performed. Touch inputs received are interpreted by the ETS module employing the touch screen layout derived from the authenticated data representative of the touch screen layout.

If, at508, the data representative of the touch screen layout cannot be authenticated (NO), as indicated at518the touch screen layout is not loaded. This prevents unauthorized layouts, such as layouts from unknow sources, from being employed by the ATM for financial transactions.

As those skilled in the art can readily appreciate, a similar method can be employed for authenticating display screens. The display screen layout can be authenticated by the display module instead of the ETS module, however, in an example embodiment, the display module can employ the ETS module to authenticate a display screen layout.

FIG.6is a block diagram illustrating an example of an exploded view600of the display surface209and touch screen surface210that overlies the display surface209. The display208can be any suitable type of device for outputting electronically generated visual images, such as Cathode Ray Tube (CRT), Liquid Crystal Display (LCD), or Light Emitting Diode (LED). The touch screen assembly602includes a X-Y matrix which responds to touching by generating output signals into sensors604and606. The sensors604and606are coupled to ETS logic214. Touch detection can be by any of capacitive or inductive sensors, contact switches, pressure sensors, optical sensors and the like. The ETS logic214can correlate the detected touch coordinates with electronically generated visual images on the display surface214. As will be described in further detail herein, the ETS logic214compensates for parallax error and correlates touch coordinates within a predefined distance of at least a portion of the perimeter of an electronically generated visual image with the electronically generated visual image.

FIG.7is a block diagram illustrating an example of an exploded side view700of the display surface209and touch screen209. An air gap702exits between the display surface209and the touch screen209. In the illustrated example, the air gap is 6 mm and the thickness of the touch screen210is 4 mm. Note that these numbers were selected merely for ease of illustration and the principles described herein are not limited to any specific size and/or configuration. A frame704is employed to hold the display surface in place.

For purposes of illustration a pixel is located on the display surface209at a first location706. Light from the pixel at location706passes through air gap702and reaches the touch screen surface210at an angle of incidence, ⊖1. Upon reaching the touch screen210, the light from pixel706is refracted at an angle of refraction ⊖2. The angle of refraction, ⊖2, depends on the type of medium employed for the touch screen210. For example, the touch screen210can be constructed of glass or any suitable transparent material. After passing through the touch screen medium, the pixel appears at location708. A normal to the touch surface210is illustrated by line710. A maximum viewing angle above the normal is illustrated by line712and a minimum viewing angle below the normal is illustrated by line714. The displacement of the pixel between locations706and708is the sum of the displacement caused by parallax and diffraction. The displacement is represented by720.

In an example embodiment, the mechanical tolerance between the display surface209and the touch screen210is determined. The mechanical tolerance is employed to determine a worst case variation (or displacement) for an electronically generated visual image (e.g., a pixel, a button, an alphanumeric character, icon, etc.) at the surface211of the touch screen210. As will be described herein, a touch area that is adjacent to at least a portion of the perimeter of the visually generated electronic image is assigned where a touch input in the assigned area is considered the same as a touch input where the electronically generated visual image is displayed. The distance of the assigned area from the perimeter (or a portion of the perimeter) is based on the determined worst case variation (or displacement). Thus, when a touch input is detected, for example by sensors604and606inFIG.6, the ETS logic214(not shown, see e.g.,FIGS.2,3, and/or6) will treat the touch input the same as if the touch input was received in the area of the electronically generated visual image to compensate for parallax, refraction, and mechanical tolerances as described herein, and generate a signal indicating the electronically generated visual icon was touched.

In an example embodiment, the maximum viewing angle from the normal represented by line712and the minimum viewing angle from the normal represented by line714may be at different angles from the normal, represented by line710. Therefore, the assigned area above perimeter of the electronically generated visual image may be different than the assigned area below the perimeter of the electronically generated visual image (higher and lower). In particular embodiments, the maximum parallax is employed for the assigned area around the entire perimeter.

FIG.8illustrates an example configuration211or a touch screen in an automated banking machine. This example represents a type of touch screen configuration employed by an automated banking machine and is being used merely for ease of illustration. In the illustrated example, the display surface209and touch screen surface211are tilted at an angle of eighteen degrees from the vertical plane. The bottom of the assembly with the display surface209and touch screen surface211is one-thousand and three millimeters above a horizontal surface. The parallax calculations involve a person standing four hundred and six millimeters from the display surface209with a maximum height of one-thousand seven-hundred and eight millimeters above the surface for calculating the maximum viewing angle and a height of one-thousand two-hundred millimeters for calculating the minimum viewing angle. The normal from the touch screen surface211would intersect a person standing four hundred and six millimeters away from the display surface209at one-thousand and six-hundred millimeters above the surface.

For example, the parallax and refraction error of a known touch screen for a user standing four hundred millimeters from a display209at a height of one thousand and one hundred millimeters with a six millimeter air gap and the touch screen medium (e.g., glass) is four millimeters is 4.58 mm at an eye height of 1740 mm and is −5.50 mm for a 1200 mm eye height. The mechanical tolerance between the display and the touch screen is +/−2.45 mm worst case, 0.85 RMS (Root-Mean-Square). The worst case variation between the display surface209and the touch screen surface211is +7.03 mm, −7.96 mm.

As another example, the parallax and refraction error of a known touch screen for a user standing four hundred millimeters from a display209at a height of one thousand millimeters with a 7.5 millimeter air gap and the touch screen medium (e.g., glass) is five millimeters is +7.02 mm at an eye height of 1740 mm and is −2.72 mm for a 1200 mm eye height. The mechanical tolerance between the display and the touch screen is +/−2.45 mm worst case, 0.85 RMS (Root-Mean-Square). The worst case variation between the display surface209and the touch screen surface211is +9.47 mm, −5.17 mm.

FIG.9illustrates an example900of an electronically generated visual image (a button)902and an assigned area adjacent to the electronically generated visual image on a touch screen surface. In the illustrated example, the electronically generated visual image902is a button with the number1inside. The button has a height906of 15 mm to comport with global usability requirements. An area904is assigned with a distance908of 9 mm from the perimeter910of the electronically generated visual image902to compensate for parallax, refraction, and mechanical tolerance. Any touch inputs detected within area904are handled the same as touch inputs detected over the electronically generated visual image902.

FIG.10illustrates an example1000of two electronically generated visual images902and902B that are bounded by assigned areas904and904B respectively for parallax, refraction, and mechanical tolerance compensation on a touch surface (e.g., touch surface211shown and described herein). The minimum distance1002between the electronically generated visual images902and902B displayed on display surface209(FIG.2) by display logic220(FIG.2) is the sum of the distances (see e.g., distance908inFIG.9) of the assigned areas904,904B from the perimeters910,910B respectively. For example, assuming the same measurements from the previous example inFIG.9, the minimum distance1002between the electronically generated visual images902and902B is eighteen millimeters

FIG.11illustrates an example of a plurality of electronically generated visual images (or buttons)902,902B,902C,902D,902E,902F,902G,902H,902J, and902K and parallax corrections on a touch screen surface (e.g., touch surface211shown and described herein). Each of the electronically generated visual images902,902B,902C,902D,902E,902F,902G,902H,902J, and902K have an assigned touch area904,904B,904C,904D,904E,904F,904G,904H,904J, and904K respectively based on the worst case variation (or displacement). As illustrated inFIG.11, the minimum distance between any two buttons on display surface209(FIG.2) by display logic220(FIG.2) is the sum of the distance between the perimeter of the button and the distance the assigned area extends from the button. Using the previously described example inFIG.9, the minimum spacing between any two buttons902-902K is 18 mm. Any touches detected in assigned touch areas904,904B,904C,904D,904E,904F,904G,904H,904J, and904K will be correlated with the corresponding button02,902B,902C,902D,902E,902F,902G,902H,902J, and902K respectively. Although the examples illustrated inFIGS.9-11employ a button with a numeric character, those skilled in the art can readily appreciate that the content of the bottoms02,902B,902C,902D,902E,902F,902G,902H,902J, and902K can be any alphanumeric character, icon, or any other visual indicia.

In view of the foregoing structural and functional features described above inFIGS.6-11, a methodology1200in accordance with an example embodiment will be better appreciated with reference toFIG.12. While, for purposes of simplicity of explanation, the methodology1200ofFIG.12is shown and described as executing serially, it is to be understood and appreciated that the example embodiment is not limited by the illustrated order, as some acts could occur in different orders and/or concurrently with other acts from that shown and described herein. Moreover, not all illustrated features may be required to implement a methodology in accordance with an aspect of an example embodiment. The methodology1200described herein is suitably adapted to be implemented in hardware, software when executed by a processor, or a combination thereof. For example, methodology may be implemented by ETS logic214described inFIGS.2,3, and6.

At1202, an amount of parallax and refraction for an electronically generated visual image on a display surface that passes through and airgap between the display surface and a touch screen medium, and the touch screen medium is determined. For example, as illustrated inFIG.7, an image (e.g., pixel) on display surface209passes through air gap702to touch screen medium210that further causes the image to be refracted. The amount of parallax and refraction are determined for a maximum viewing angle (e.g. represented by line712inFIG.7) and a minimum angle (represented by line714inFIG.7).

At1204, a mechanical tolerance between the display surface (e.g., display surface209) and the touch screen medium (e.g., touch screen210) is determined. The mechanical tolerance can be based on machine tolerances, changes due to temperature changes, or any other physical phenomena that can cause a change in the distance between the display surface and the touch screen.

At1206, a worst case variation (or displacement) based on the amount of parallax, refraction, and mechanical tolerance is determined. The worst case variation includes the amount of parallax that can be caused by mechanical tolerances. Examples of worst case variations are described inFIG.8herein.

At1208, a touch area adjacent to at least a portion of the perimeter of the visually generated electronic image extending a distance from the portion of the perimeter of the visually generated electronic image corresponding to the worst case variation is assigned. A touch input detected in the assigned area is considered the same as touching where the electronically generated electronic image is displayed. SeeFIG.9for an example of an assigned area adjacent to the perimeter of an electronically generated visual image (e.g., a button).

At1210, a signal is generated by a circuit (e.g., ETS logic214) coupled with the touch screen medium in response to detecting a touch input in the assigned touch area adjacent to at least a portion of the perimeter of the visually generated electronic image. The signal indicating that the electronically generated visual image was touched. This compensates for any introduced by parallax, refraction, and/or mechanical tolerances. For example, the ETS logic214upon detecting from sensors604,606that an input was received on the touch screen210at coordinates corresponding to the assigned touch area adjacent to an electronically generated visual image (e.g., button) for example as illustrated inFIG.9, the ETS logic214will generate a signal indicating the button was touched.

In an example embodiment, wherein a second electronically generated image is displayed on the display having a second assigned touch area corresponding to a second worst case variation (or displacement) which may or may not be the same as the first worst case displacement. The display (e.g., display logic220described inFIGS.2and3) is operable to display the first and second electronically generated visual images a minimum distance apart on the display surface that is twice the worst case variation.

In an example embodiment, a plurality of electronically generated images are displayed on the display. Each of the plurality of electronically generated images have an assigned touch area extending from the their perimeters based on worst case variation as determined herein. The minimum distance between any two of the plurality of electronically generated images on the display surface is twice the worst case variation. SeeFIG.11for an example.

FIG.13is a block diagram that illustrates a computer system1300upon which an example embodiment may be implemented. The computer system1300can be employed to implement the authentication module104(FIG.1), the ETS Input Module106(FIG.1), the ATM controller204(FIGS.2,3), the ETS logic214(FIGS.2,3,6), and the Display Logic220(FIGS.2,3). In example embodiments, the computer system300can be employed to implement methodology400(FIG.4), methodology500(FIG.5), and/or methodology1200inFIG.12.

The computer system1300comprises a bus1302or other communication mechanism for communicating information and a processor1304coupled with bus1302for processing information. Computer system1300also includes a main memory1306, such as random access memory (RAM) or other dynamic storage device coupled to bus1302for storing information and instructions to be executed by processor1304. Main memory1306also may be used for storing a temporary variable or other intermediate information during execution of instructions to be executed by processor1304. Computer system1300further includes a read only memory (ROM)1308or other static storage device coupled to bus1302for storing static information and instructions for processor1304. A storage device1310, such as a magnetic disk, optical disk, or solid state disk is provided and coupled to bus1302for storing information and instructions.

Computer system1300may be coupled via bus1302to a display1312such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. An input device1314, such as a one or more touch sensor are coupled to bus1302for communicating information and command selections to processor1304. This input device typically has two degrees of freedom in two axes, a first axis (e.g. x) and a second axis (e.g. y) that allows the device to specify positions in a plane.

An aspect of the example embodiment is related to the use of computer system1300for touch screen parallax. According to an example embodiment, touch screen parallax is provided by computer system1300in response to processor1304executing one or more sequences of one or more instructions contained in main memory1306. Such instructions may be read into main memory1306from another computer-readable medium, such as storage device1310. Execution of the sequence of instructions contained in main memory1306causes processor1304to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory1306. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement an example embodiment. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software.

The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor1304for execution. Such a medium may take many forms, including but not limited to non-volatile media. Common forms of computer-readable media include for example, hard disk, magnetic cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASHPROM, CD, DVD, SSD or any other memory chip or cartridge, or any other medium from which a computer can read.

In some embodiments, the computer system1300also includes a communication interface1318coupled to bus1302. Communication interface1318provides a two-way data communication coupling computer system1300to a network link1320that is connected to a local network1322. For example, communication interface1318may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. As another example, communication interface1318may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. Wireless links may also be implemented. In any such implementation, communication interface1318sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.

The network link1320typically provides data communication through one or more networks to other data devices. For example, network link1320may provide a connection through local network1322to a host computer1324or to data equipment operated by an Internet Service Provider (ISP)1326. ISP1326in turn provides data communications through the worldwide packet data communication network, now commonly referred to as the “Internet”1328.

Described above are example embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies, but one of ordinary skill in the art will recognize that many further combinations and permutations of the example embodiments are possible. Accordingly, this application is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.