# Patent

## Title
Touch screen system with hover and click input methods

## Abstract

A touch screen system that can approximate tracking and dragging states regardless of the user's orientation and without reliance on direct sensing of touch pressure or area. A first detector generates a signal representing a first image of an object interacting with the touch screen. A second detector generates a signal representing a second image of the object. A signal processor processes the first signal to determine approximated coordinates of a first pair of outer edges of the object and processes the second signal to determine approximated coordinates of a second pair of outer edges of the object. The signal processor then calculates an approximated touch area based on the approximated coordinates of the first pair of outer edges and the approximated coordinates of the second pair of outer edges of the object. If the approximated touch area is less than or equal to a threshold touch area, the signal processor determines that the object interacting with the touch screen indicates a tracking state. If the approximated touch area is greater than the threshold touch area, the signal processor determines that the object interacting with the touch screen indicates a selection state. The threshold touch area may be established by calibrating the touch screen system when the object interacting with the touch screen is known to indicate the tracking state.

## Background
RELATED APPLICATIONS
This application claims priority to New Zealand Provisional Patent Application No. 554,416, entitled “Touch Screen with Hover and Click Input Methods,” which was filed in the New Zealand Patent Office on Apr. 11, 2007.
TECHNICAL FIELD
The present invention relates generally to touch sensitive screens, also referred to as touch screens. More particularly, the present invention relates to systems and methods for using signal processing to optically detect user interactions with a touch screen representing tracking, selecting and dragging operations.
BACKGROUND OF THE INVENTION
Touch screen systems of the prior art can be categorized into the following technology groups: resistive, surface capacitive, projected capacitive, surface acoustic wave (SAW), infrared (IR), Frustrated Total Internal Reflection (FTIR), optical, and dispersive signal (bending wave). Each type of touch screen technology has its own features, advantages and disadvantages. With all such technologies, the size of human fingers and the lack of sensing precision can make precise touch screen interactions difficult. Most conventional touch screen systems do not address the needs of current user interfaces that require at least four different interaction states: (1) out-of-range; (2) tracking (also known as “hover” or “proximity”); (3) selection (also known as “click”); and (4) dragging.
By way of contrast, traditional computer input devices, such as mice, pens and touch pads, allow a user to perform tracking, dragging and selection operations. A mouse, for example, allows a user to track a cursor around a display computer screen independently from clicking a button to make a selection, or to perform a dragging operation by maintaining a button in a depressed state when manipulating the mouse. Pens and touch pads have the ability to directly measure contact pressure and thus use detected changes in pressure over time to distinguish between tracking, dragging and selection operations. The ability to position the cursor and then optionally press or trigger a button is important in many software applications and allows a more precise input mode. There is therefore a general need for such functionality in the field of touch screen technology.
In order to detect tracking and dragging states, any touch screen system must be able to continuously detect and report the position of the user's finger or stylus. However, most conventional touch screen systems register a selection (i.e., a “click”) only when contact between the user's finger or stylus and the touch screen surface is either established or broken, and thus do not provide for separate tracking or dragging operations. As one exception, Benko et al. have demonstrated in their paper entitled Precise Selection Techniques for Multi-Touch Screens (Proc. ACM CHI 2006: Human Factors in Computing Systems, pp. 1263-1272), that an FTIR touch screen system, which directly senses the area of a touch, can be adapted to detect variations in the area of the touch over time in order to approximate tracking and dragging states. The technique described by Benko et al. is referred to as SimPress and is said to reduce motion errors during clicking and allow the simulation of a hover state on devices unable to sense proximity.
The SimPress technique is similar to that used by pressure-sensitive touch pads and pen interfaces for computers. All of these technologies require the ability to directly sense the pressure or area of a touch (i.e., the surface area of the touch screen contacted by a finger or stylus) and thus are not applicable in touch screen systems that lack such ability, including infrared touch screen systems and optical touch screen systems. In addition, due to the manner in which variations in touch area are calculated, the SimPress technique only works if the user always approaches the tabletop touch screen from the same direction. What is needed, therefore, is a touch screen system that can approximate tracking and dragging states, regardless of the user's orientation and without reliance on direct sensing of touch pressure or area.
Infrared touch screen technology relies on the interruption of an infrared light grid that is positioned in front of the display screen. A “touch frame” or “opto-matrix frame” typically contains a row of infrared LEDs and a row of photo transistors; each mounted on two opposite sides to create a grid of invisible infrared light. The frame assembly is comprised of printed wiring boards on which the opto-electronics are mounted and is concealed behind an infrared-transparent bezel. The bezel shields the opto-electronics from the operating environment while allowing the infrared beams to pass through.
An infrared controller sequentially pulses the LEDs to create a grid of infrared light beams. When a stylus or finger enters the grid, it obstructs some of the light beams. One or more phototransistors detect the absence of light and transmit a signal that can be used to identify the x and y coordinates of the touch. Infrared touch screen systems are often used in manufacturing and medical applications because they can be completely sealed and operated using any number of hard or soft objects. The major issue with infrared touch screen systems is that the “seating” of the touch frame is slightly above the screen. Consequently, the touch screen is susceptible to “early activation” before the finger or stylus has actually touched the screen. The cost to manufacture the infrared bezel is also quite high.
Optical touch screen systems rely on a combination of line-scan or area image cameras, digital signal processing, front or back illumination and algorithms to determine a point of touch. Many optical touch screen systems use line-scanning cameras, orientated along the touch screen surface so as to image the bezel. In this way, the system can track the movement of any object close to the surface of the touch screen by detecting variations in illumination emitted by an illumination source, such as an infrared light source. For example, infrared light may be emitted across the surface of the touch screen either by infrared light emitting diodes (IR-LED) or by special reflective surfaces. Optical touch screen technology shares some of the advantages and disadvantages of infrared touch screen technology. One such disadvantage is that touches are typically registered just before the finger or object actually touches the touch screen surface. The most significant advantages of optical touch screen technology include lower incremental cost as size increases and substantially higher resolution and data rate, which translate into much better drag-and-drop performance.
SUMMARY OF THE INVENTION
The present invention provides a touch screen system for discerning between user interaction states. The inventive touch screen system can approximate tracking and dragging states, regardless of the user's orientation and without reliance on direct sensing of touch pressure or area. The touch screen system includes a touch screen, at least two detectors in proximity to the touch screen and a signal processor. The detectors may be line scan camera, area scan cameras or phototransistors. The touch screen system will typically include a light source for illuminating the object. The detectors will detect illumination level variations caused by an object interacting with the touch screen.
A first detector generates a first signal representing a first image of an object interacting with the touch screen. A second detector generates a second signal representing a second image of the object interacting with the touch screen. The signal processor for executing computer-executable instructions for processing the first signal to determine approximated coordinates of a first pair of outer edges of the object and processing the second signal to determine approximated coordinates of a second pair of outer edges of the object. For example, the approximated coordinates may be determined using slope line calculations.
The signal processor then calculates an approximated touch area based on the approximated coordinates of the first pair of outer edges and the approximated coordinates of the second pair of outer edges of the object. If the approximated touch area is less than or equal to a threshold touch area, the signal processor determines that the object interacting with the touch screen indicates a tracking state. If the approximated touch area is greater than the threshold touch area, the signal processor determines that the object interacting with the touch screen indicates a selection state. The threshold touch area may be established by calibrating the touch screen system when the object interacting with the touch screen is known to indicate the tracking state.
If the object interacting with the touch screen indicates the selection state, the signal processor monitors subsequent signals from the detectors to determine whether the object moves relative to the touch screen. If the object moves relative to the touch screen, the signal processor re-calculates the approximated touch area and determines whether the re-calculated touch area remains greater than or equal to the threshold touch area. If so, the signal processor determines that the object interacting with the touch screen indicates a dragging state. If not, the signal processor determines that the object interacting with the touch screen indicates the tracking state. If the object interacting with the touch screen indicates either the selection state, the dragging state or the tracking state, the signal processor determines whether the object becomes undetected by the first detector and the second detector. If so, the signal processor determines that the object interacting with the touch screen indicates an out-of-range state.
The object interacting with the touch screen may be a finger, stylus or other object capable of producing a first touch area and a relatively larger second touch area. For example, the object may comprise a stylus having a spring loaded plunger protruding from a tip of the stylus, where the plunger produces a relatively small touch area when interacting with the touch screen. The plunger collapses into the tip of the stylus when sufficient compression is applied to the spring, causing the tip of the stylus to contact the touch screen and producing a relatively larger touch area. These and other aspects and features of the invention will be described further in the detailed description below in connection with the appended drawings and claims.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an illustration of a touch screen system, in accordance with certain exemplary embodiments of the present invention.
FIG. 2 is a block diagram of touch screen system components, including a computing device, in accordance with certain exemplary embodiments of the present invention.
FIG. 3, comprising FIG. 3A and FIG. 3B, is an illustration of a finger interacting with a touch screen in tracking mode, in accordance with certain exemplary embodiments of the present invention.
FIG. 4, comprising FIG. 4A and FIG. 4B, is an illustration of a finger interacting with a touch screen in selection mode, in accordance with certain exemplary embodiments of the present invention.
FIG. 5 is a reference diagram shown to provide an understanding of exemplary trigonometric calculations that can be used to approximate touch area in accordance with certain exemplary embodiments of the present invention.
FIG. 6, comprising FIG. 6A and FIG. 6B, is an illustration of a specialized stylus, which may be used in accordance with certain exemplary embodiments of the present invention.
FIG. 7 is a flow chart illustrating an exemplary method for discerning between a tracking state and a selection in a touch screen system, in accordance with certain exemplary embodiments of the present invention.
FIG. 8 is a state diagram showing the operation sequence of certain exemplary embodiment of the present invention.



DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION
The present invention provides touch screen systems and methods for approximating at least four interaction states: (1) out-of-range; (2) tracking; (3) selection; and (4) dragging. The systems and methods of the present invention provide functionality for discerning between the various interaction states regardless of the orientation of the user's finger, stylus or other touch object and without reliance on direct sensing of touch pressure or area. Exemplary embodiments of the present invention will hereinafter be described with reference to the drawings, in which like reference numerals represent like elements throughout the several figures.
FIG. 1 is an illustration of an exemplary touch screen system 100. As used herein, the term “touch screen system” is meant to refer to a touch screen 110 and the hardware and/or software components that provide touch detection functionality. The exemplary touch screen system 100 is shown adjacent to a display device (i.e., video monitor) 190. The display device 190 may be interfaced to a personal computer or other computing device (see FIG. 2), which may execute software for detecting touches on or near the touch screen 110. The illustration in FIG. 1 of the touch screen system 100 adjacent to the display device 190 represents an exemplary application of the touch screen system 100. For example, the touch screen system 100 may be positioned and/or secured in front of the display device 190, so that a user can view and interact with the visual output of the display device 190 through the touch screen 110.
Thus, the touch screen system 100 may have over-lay or retrofit applications for existing display devices 190. However, it should be understood that other applications of the exemplary touch screen system 100 are contemplated by the present invention. For example, the touch screen system 100 may be applied as an integrated component of a display device 190 and may, in that regard, also function as a display screen for the display device 190. The exemplary touch screen system 100 may be used in conjunction with display devices 190 of all sizes and dimensions, including but not limited to the display screens of small handheld devices, such as mobile phones, personal digital assistants (PDA), pagers, etc.
At least a portion of the touch screen 110 is typically transparent and/or translucent, so that images or other objects can be viewed through the touch screen 110 and light and/or other forms of energy can be transmitted within or through the touch screen 110 (e.g., by reflection or refraction). For example, the touch screen 110 may be constructed of a plastic or thermoplastic material (e.g., acrylic, Plexiglass, polycarbonate, etc.) and/or a glass type of material. In certain embodiments, the touch screen may be polycarbonate or a glass material bonded to an acrylic material. The touch screen 110 may also be constructed of other materials, as will be apparent to those skilled in the art. The touch screen 110 may also be configured with a durable (e.g., scratch and/or shatter resistant) coating. The touch screen 110 may or may not include a frame or bezel, i.e., a casing or housing that surrounds the perimeter of the touch screen 110.
The touch screen system 100 includes an energy source 120 that is configured to emit energy, for example, in the form of pulses, waves, beams, etc. (generally referred to herein as “energy beams” for simplicity). The energy source 120 is typically positioned within or adjacent (e.g., in proximity) to one or more edge of the touch screen 110. The energy source 120 may emit one or more of various types of energy. For example, the energy source 120 may emit infrared (IR) energy. Alternately, the energy source 120 may emit visible light energy (e.g., at one or more frequencies or spectrums).
The energy source 120 may include one or more separate emission sources (emitters, generators, etc.) For example, the energy source 120 may include one or more infrared light emitting diodes (LEDs). As another example, the energy source 120 may include one or more microwave energy transmitters or one or more acoustic wave generators. The energy source 120 is positioned and configured such that it emits energy beams 140 across the surface of the touch screen 110, so as to create an energized plane adjacent to the touch screen surface. For example, suitable reflective or refractive components (such as reflective tape, paint, metal or plastic, mirrors, prisms, etc.) may be used to form and position the energized plane.
Energy beams 150 that are reflected across the front surface 111 of the touch screen 110 are detected by detectors 130, 131. These detectors 130, 131 may be configured to monitor and/or detect variations (changes, etc.) in the energy beams 150. Depending upon the orientation of the energy source 120 and the detectors 130, 131, the energy beams 150 may either have a “back-lighting” or “fore-lighting” effect on a finger, stylus, or other object that touches the touch screen 110. In a backlighting scenario, a touch on or near the front surface of the touch screen 110 may cause a level of interruption of the reflected energy beams 150 such that the touch location appears as a shadow or silhouette (i.e., absence of energy) when detected by the detectors 130, 131. In a fore-lighting scenario, energy reflected by the finger, stylus or other object will appear to the detectors 130, 131 as an area of increased energy intensity.
In some embodiments, filtering may be employed by the detectors 130, 131 and/or software in order to enhance the detection of energy beam intensity variations. However, the contrast of intensities between the energy beams 150 and surrounding noise may be sufficient to negate the need for filtering. Information signals generated by the detectors 130, 131 may be processed by a video processing unit (e.g., a digital signal processor) and/or a computing device, as discussed below with reference to see FIG. 2.
The detectors 130, 131 may be positioned within or adjacent (e.g., in proximity) to the touch screen 110 such that they can monitor and or detect the energy beams 150 in the energized plane that is adjacent to the touch screen surface. Reflectors and/or prisms can be used, as or if needed, depending on the location of the detectors 130, 131, to allow the detectors 130, 131 to detect the energy beams 150. In the example shown in FIG. 1, the detectors 130, 131 are positioned within or along the bottom edge of the touch screen 110, one in each corner. At least two spaced apart detectors are included in preferred embodiments, so that the location of a touch can be determined using triangulation techniques, as described below.
A detector 130, 131 can be any device that is capable of detecting (e.g., imaging, monitoring, etc.) variations in the energy beams 150 reflected across the front surface of the touch screen 110. For example, a suitable detector 130, 131 may be one of various types of cameras, such as an area scan or line scan (e.g., digital) camera. Such an area scan or line scan camera may be based on complementary metal oxide semiconductor (CMOS) or charge coupled device (CCD) technologies, which are known in the art. Furthermore, monochrome (e.g., gray-scale) cameras may be sufficient because the detectors 130, 131 do not need to acquire detailed color images.
While cameras generally are more expensive than other types of detector devices that can be used in touch screen systems 100, such as photo-detectors (e.g., photo-diodes or photo-transistors), they allow greater accuracy for touch detection. As known in the art, area scan or line scan cameras (particularly those with monochrome capability) are typically less expensive than cameras configured to acquire detailed images and/or that have color detection capability. Thus, relatively cost effective area scan or line scan cameras can provide the touch screen system 100 with accurate touch screen capability. However, it should be understood that other devices may be used to provide the functions of the detectors 130, 131 in accordance with other embodiments of the invention.
Accordingly, the touch screen system 100 of the present invention is configured to detect a touch (e.g., by a finger, stylus, or other object) based on detected variations in energy beams 150 that form an energized plane adjacent to the touch screen surface. The energy beams 150 are monitored by the detectors 130, 131. The detectors 130, 131 may be configured to detect variation (e.g., a decrease or increase) in the intensity of the energy beams 150. As will be appreciated by those of ordinary skill in the art, the required output capacity of the energy source 120 to allow adequate detection by the detectors may be based on various factors, such as the size of the touch screen 110, the expected losses within the touch screen system 100 (e.g., 1/distance2 losses) and due to and the surrounding medium (e.g., air), speed or exposure time characteristics of the detectors 110, ambient light characteristics, etc. As will be discussed with respect to subsequent figures, the detectors 130, 131 transmit data regarding the energy beams 150 (or variation therein) to a computing device (not depicted) that executes software for processing said data and calculating the location of a touch relative to the touch screen 110.
FIG. 2 is a block diagram illustrating the exemplary touch screen system 100 interfaced to an exemplary computing device 201 in accordance with certain exemplary embodiments of the present invention. The computing device 201 may be functionally coupled to a touch screen system 100, either by a hardwire or wireless connection. The exemplary computing device 201 may be any type of processor-driven device, such as a personal computer, a laptop computer, a handheld computer, a personal digital assistant (PDA), a digital and/or cellular telephone, a pager, a video game device, etc. These and other types of processor-driven devices will be apparent to those of skill in the art. As used in this discussion, the term “processor” can refer to any type of programmable logic device, including a microprocessor or any other type of similar device.
The computing device 201 may include, for example, a processor 202, a system memory 204, and various system interface components 206. The processor 202, system memory 204, a digital signal processing (DSP) unit 205 and system interface components 206 may be functionally connected via a system bus 208. The system interface components 206 may enable the processor 202 to communicate with peripheral devices. For example, a storage device interface 210 can provide an interface between the processor 202 and a storage device 211 (e.g., removable and/or non-removable), such as a disk drive. A network interface 212 may also be provided as an interface between the processor 202 and a network communications device (not shown), so that the computing device 201 can be connected to a network.
A display screen interface 214 can provide an interface between the processor 202 and a display device 190 (shown in FIG. 1). The touch screen 110 of the touch screen system 100 may be positioned in front of or otherwise attached or mounted to a display device 190 having its own display screen 192. Alternately, the touch screen 110 may functions as the display screen 192 of the display device 190. One or more input/output (“I/O”) port interfaces 216 may be provided as an interface between the processor 202 and various input and/or output devices. For example, the detectors 130, 131 or other suitable components of the touch screen system 100 may be connected to the computing device 201 via an input port and may provide input signals to the processor 202 via an input port interface 216. Similarly, the energy source 120 of the touch screen system 100 may be connected to the computing device 201 by way of an output port and may receive output signals from the processor 202 via an output port interface 216.
A number of program modules may be stored in the system memory 204 and/or any other computer-readable media associated with the storage device 211 (e.g., a hard disk drive). The program modules may include an operating system 217. The program modules may also include an information display program module 219 comprising computer-executable instructions for displaying images or other information on a display screen 192. Other aspects of the exemplary embodiments of the invention may be embodied in a touch screen control program module 221 for controlling the energy source 120 and/or detectors 130, 131 of the touch screen system 100 and/or for calculating touch locations and discerning interaction states relative to the touch screen 110 based on signals received from the detectors 130, 131.
Certain embodiments of the invention may include a DSP unit for performing some or all of the functionality ascribed to the Touch Panel Control program module 221. As is known in the art, a DSP unit 205 may be configured to perform many types of calculations including filtering, data sampling, and triangulation and other calculations and to control the modulation of the energy source 120. The DSP unit 205 may include a series of scanning imagers, digital filters, and comparators implemented in software. The DSP unit 205 may therefore be programmed for calculating touch locations and discerning interaction states relative to the touch screen 110, as described herein.
The processor 202, which may be controlled by the operating system 217, can be configured to execute the computer-executable instructions of the various program modules. The methods of the present invention may be embodied in such computer-executable instructions. Furthermore, the images or other information displayed by the information display program module 219 may be stored in one or more information data files 223, which may be stored on any computer readable medium associated with the computing device 201.
As discussed above, when a user touches on or near the touch screen 110, a variation will occur in the intensity of the energy beams 150 that are directed across the surface of the touch screen 110. The detectors 130, 131 are configured to detect the intensity of the energy beams 150 reflected across the surface of the touch screen 110 and should be sensitive enough to detect variations in such intensity. Information signals produced by the detectors 130, 131 and/or other components of the touch screen display system 100 may be used by the computing device 201 to determine the location of the touch relative to the touch screen 110 (and therefore relative to the display screen 192) and to discern whether the touch is indicative of a selection state, a tracking state or a dragging state. The computing device 201 may also determine the appropriate response to a touch on or near the touch screen 110.
In accordance with some embodiments of the invention, data from the detectors 130, 131 may be periodically processed by the computing device 201 to monitor the typical intensity level of the energy beams 150 that are directed across the surface of the touch screen 110 when no touch is present. This allows the system to account for, and thereby reduce the effects of, changes in ambient light levels and other ambient conditions. The computing device 201 may optionally increase or decrease the intensity of the energy beams 150 emitted by the energy source 120, as needed. Subsequently, if a variation in the intensity of the energy beams 150 is detected by the detectors 130, 131, the computing device 201 can process this information to determine that a touch has occurred on or near the touch screen 110.
The location of a touch relative to the touch screen 110 may be determined, for example, by processing information received from each detector 130, 131 and performing one or more well-known triangulation calculations. By way of illustration, the computing device 201 may receive information from each detector 130, 131 that can be used to identify the position of an area of increased or decreased energy beam intensity relative to each detector 130, 131. The location of the area of decreased energy beam intensity relative to each detector 130, 131 may be determined in relation to the coordinates of one or more pixels, or virtual pixels, of the touch screen 110. The location of the area of increased or decreased energy beam intensity relative to each detector may then be triangulated, based on the geometry between the detectors 130, 131, to determine the actual location of the touch relative to the touch screen 110. Calculations to determine the interaction state indicated by the touch are explained with reference to the following figures. Any such calculations to determine touch location and/or interaction state can include algorithms to compensation for discrepancies (e.g., lens distortions, ambient conditions, damage to or impediments on the touch screen 110, etc.), as applicable.
FIG. 3, comprising FIG. 3A and FIG. 3B, illustrates a user interaction with the exemplary touch screen 110. The user interaction in the illustrated example is intended to indicate the tracking state. A portion of the user's finger 302 (or other object) enters into the energized plane (formed by the energy beams 150) adjacent to the touch screen surface and either “hovers” adjacent to the touch screen surface without making contact or contacts the touch screen surface with relatively slight pressure. The two detectors 130, 131, referred to for convenience as Camera0 and Camera1, generate information signals that indicate a variation in the intensity of the energized plane and, thus, the presence of a touch.
Image data captured by the detectors 130, 131 can be processed and interpreted to approximate the interaction state indicated by the touch. For example, the output from Camera0 can be processed in a known manner to determine the slopes (m0a and m0b) of the lines extending from a first reference point (e.g., a corner 303 of the touch screen 110) to a first pair of outer edges 304, 306 of the portion of the user's finger 302 that is within the field of view of the detector 130. Similarly, the output from Camera1 can be processed to determine the slopes (m1a and m1b) of the lines extending from a second reference point (e.g., a corner 305 of the touch screen 110) to a second pair of outer edges 308, 310 of the portion of the user's finger 302 that is within the field of view of the detector 131. The choice of reference points (e.g., corners 303 and 305) of course depends on the geometry of the detectors 130, 131 relative to the touch screen 110. The intersection points of the four calculated slope lines (m0a, m0b, m1a and m1b) can then be used to approximate the surface area (S) of that portion of the user's finger 302 that is within the field of view of the detector 130, 131. The surface area of the portion of the user's finger 302 that is within the field of view of the detector 130, 131 (S) is referred to herein as the “touch area,” though it should be understood, as mentioned above, that a “touch” does not necessarily require actual contact between the finger 302 (or other object) and the touch screen 110.
In contrast to the tracking state example of FIG. 3, the user interaction illustrated in FIG. 4A and FIG. 4B is intended to indicate the selection or “clicking” state. A portion of the user's finger 302 (or other object) enters into (or remains in) the energized plane adjacent to the touch screen surface and contacts the touch screen surface with relatively greater pressure than in the example of FIG. 3. The two detectors 130, 131 again generate information signals that indicate a variation in the intensity of the energized plane and, thus, the presence of a touch. In the example of FIG. 4, the user's finger 302 may have entered the energized plane from an out-of-range position. Alternatively, the position of the user's finger within the energized plane may have changed such that it comes into contact the touch screen surface from a prior hover (non-contact) position or increases pressure on the touch screen surface.
Again, the output from Camera0 can be processed in a known manner to determine the slopes (m′0a and m′0b) of the lines extending from a first reference point (e.g., a corner 303 of the touch screen 110) to a first pair of outer edges 304′, 306′ of the portion of the user's finger 302 that is within the field of view of the detector 130. Similarly, the output from Camera1 can be processed to determine the slopes (m′1a and m′1b) of the lines extending from a second reference point (e.g., a corner 305 of the touch screen 110) to a second pair of outer edges 308′, 310′ of the portion of the user's finger 302 that is within the field of view of the detector 131. The intersection points of the four calculated slope lines (m′0a, m′0b, m′1a and m′1b) can then be used to approximate the touch area (S′).
By way of comparison, FIG. 4A shows the slope lines (m′0a, m′0b, m′1a and m′1b) and touch area (S′) indicative of the selection state in solid lines and shows the slope lines (m0a, m0b, m1a and m1b) and touch area (S) indicative of the tracking state (from FIG. 3) in broken lines. As illustrated, the touch area (S′) indicative of the selection state is greater than the touch area (S) indicative of the selection state. This is so because the user's finger 302 is flexible and deforms at the point of contact (or deforms more greatly upon increase in contact pressure) to cover a larger area of the touch screen surface when the user contacts (or increases contact pressure on) the touch screen surface to make a selection.
The computing device 201 can be used to calibrate the touch screen system 100, such that a threshold touch area is designated to represent a tracking state. Following calibration, the computing device 201 may be programmed to designate as a “selection” any detected touch having a calculated touch area exceeding the threshold touch area. As will be recognized by those of skill in the art, an exemplary calibration method involves prompting the user to perform a tracking operation with respect to the touch screen 110, calculating the touch area while the user is doing so, and then storing that calculated touch area plus an optional error or “hysteresis” value as the threshold touch area.
In certain embodiments, the calibration step may be performed automatically when the user's finger 302 or stylus is at rest. Such a calibration method assumes that the user's finger or stylus will remain in a stationary “tracking” mode for some period of time before additional pressure is applied to indicate a “selection” operation. Other methods for calibrating the exemplary touch screen system 100 will be apparent to those of ordinary skill in the art and are therefore considered to be within the scope of the present invention.
In certain embodiments, the following exemplary trigonometric calculations can be used to approximate touch area. The equations are best understood with reference to FIG. 5. However, it should be noted that FIG. 5 is provided as an exemplary reference only. To start:
let the cameras lie on y=0 and be 1 unit of distance apart
and m0a=slope of the first edge seen by Camera0 
and m0b=slope of the second edge seen by Camera0 
and m0c=average of m0a and m0b 
and m1a=slope of the first edge seen by Camera1 
and m1b=slope of the second edge seen by Camera1 
and m1c=the average of m1a and m1b 
and (x0a, y0a)=the intersection of m0a and m1c 
and (x0b, y0b)=the intersection of m0b and m1c 
and (x0c, y0c)=the intersection of m0c and m1c, the touch center
and (x1a, y1a)=the intersection of m1a and m0c 
and (x1b, y1b)=the intersection of m1b and m0c 
as this is the same as (x0c, y0c) and r0=the distance of the touch center from Camera0 
and r1=the distance of the touch center from Camera1 
and w0=the width or distance of point (x0a, y0a) to (x0b, y0b)
and w1=the width or distance of point (x1a, y1a) to (x1b, y1b)
then to calculate the width (w0) of the touch area as observed by Camera0, the following equations are used:

x0a=m1c/(m0a−m1c)

y0a=m0a*x0a 

x0b=m1c/(m0b−m1c)

y0b=m0b*x0b 

x0c=m1c/(m0b−m1c)

y0c=m0b*x0c 

r0=sqrt(x0c2+y0c2)

Similar equations can be used to calculate the width (w1) of the touch area as observed by Camera1. After solving for width, the touch area (S) can be calculated using the following equation:

S=w0*w1,

where w0 is the width of the touch area as detected from Camera0 and w1 is the width of the touch area as detected from Camera1.
FIG. 6, comprising FIG. 6A and FIG. 6B, shows a simple stylus 602 that has been modified to enable multiple touch areas based on applied pressure. The stylus 602 includes a spring loaded plunger 604 that is designed to collapse into the tip 606 of the stylus 602 when sufficient compression is applied to the spring 608. Thus, when the stylus 602 is made to hover in proximity to the touch screen 110 or to contact the touch screen 110 without sufficient pressure to compress the spring 608, the plunger 604 will remain protruded from the tip 606. The detectors 130, 131 will detect the presence of the plunger 604 and the computing device 201 will base the computation of touch area (S) on the detected size of the plunger. Conversely, when the stylus 602 is made to contact the touch screen 100 with sufficient pressure to compress the spring 608, the plunger 604 will collapse into the tip 606, which will itself contact the touch screen 110. The computing device 201 will thus base the computation of the enlarged touch area (S′) on the detected size of the stylus tip 606.
The stylus 602 of FIG. 6 is designed to operate in a manner similar to a finger 302, which creates an enlarged touch area when pressure is applied. Other stylus designs can accomplish similar functionality. For example, similar functionality could be provided by a stylus having a rubber tip that expands (area-wise) when pressure is applied to it. Accordingly, any stylus or other object that can be used to indicate both a smaller and a larger area can be used in accordance with embodiments of the present invention.
FIG. 7 is a flow chart illustrating an exemplary method 700 for discerning between a tracking state, a selection state and an out-of-range state. The method 700 begins at starting block 701 and proceeds to step 702, where a determination is made as to whether a finger or stylus is detected in the energized plane proximate to the touch screen. If no finger or stylus is detected, the method advances to step 704, where the interaction state is indicated to be “out-of-range”. Following step 704 the method loops back to step 702 for further process. When a finger or stylus is detected at step 702, the method proceeds to step 706, where an image captured by a first detector is processed to determine approximate coordinates for a first pair of outer edges of the finger or stylus. For example, such coordinates may be determined using slope line calculations. Next at step 708, an image captured by a second detector is processed to determine approximate coordinates for a second pair of outer edges of the finger or stylus. At step 710, the approximated coordinates of the two pairs of outer edges of the finger or stylus are used to calculate an approximated touch area.
After calculating an approximated touch area at step 710, the method proceeds to step 712 for a determination as to whether the approximated touch area is greater than a threshold touch area. The threshold touch area may be established through calibration of the touch screen system 100 or may be specified by a system operator or administrator. If the approximated touch area is greater than the threshold touch area, a selection state is indicated at step 712. If the approximated touch area is not greater than the threshold touch area, a tracking state is indicated at step 714. From either step 712 or step 714, the method returns to step 702 for further processing.
As will be apparent to those of ordinary skill in the art, touch position calculations can be performed in sequence or in parallel with the calculations to approximate interaction state. Thus, if movement of the finger or stylus is detected while iterations through the exemplary method 700 indicate a continued selection state, the continued selection state will be recognized as a dragging state. Indication of a continued tracking state in conjunction with movement of the finger or stylus may be recognized, for example, as requiring a cursor to follow the finger or stylus.
FIG. 8 is a state diagram showing the operation sequence of certain exemplary embodiment of the present invention. The tracking state 802 is indicated when the user's finger or stylus is detected within the energized plane in proximity to the touch screen 110 and a calculated touch area is determined to be less than or equal to a threshold touch area. If the finger or stylus is not moving (i.e., detected velocity is approximately zero), the stationary state 804 is indicated. During the stationary state 804, a threshold touch area can optionally be calibrated, for example as a background process. From the stationary state 804, if the finger or stylus starts to move (i.e., detected velocity is greater than zero) and the calculated touch area remains less than or equal to the threshold touch area, the tracking state 802 is again indicated.
From the stationary state 804, if the calculated touch area is determined to be greater than the threshold touch area, the selection state 806 indicated. If the finger or stylus starts to move when the selection state 806 is indicated, the dragging state 808 is indicated. If the calculated touch area is determined to be less than or equal to the threshold touch area (i.e., the finger or stylus is lifted at least partially away from the touch screen 110) when either the selection state 806 or the dragging state 808 has been indicated, a stop selection state 810 is indicated. From the stop selection state 810, if the finger or stylus remains within the energized plane, the stationary state 804 is again indicated. From either the tracking state 802, the stationary state 804 or the stop selection state 810, if the finger or stylus has been lifted completely away from the touch screen 110, the out-of-range state 112 is indicated.
Those skilled in the art will appreciate that the state machine diagram of FIG. 8 is provided by way of example only and that additional and/or alternative states and state transitions are possible. For instance, other embodiments of the invention can be configured to transition directly from a tracking state 802 to a selection state 806 or a dragging state 808. Similarly, the invention can be configured in certain embodiments to transition directly from a selection state 806 or a dragging state 808 to a tracking state 802 or an out-of-range state 812. Accordingly, the scope of the present invention is not intended to be limited by the exemplary state machine diagram of FIG. 8, nor the exemplary flow diagram of FIG. 6.
It should further be appreciated by those skilled in the art that certain functionality of the exemplary embodiments of the invention may be provided by way of any type and number of program modules, created in any programming language, which may or may not be stored locally at the computing device 201. For example, the computing device 201 may comprise a network server, client, or appliance that may be configured to execute program modules that are stored on another network device and/or for controlling a remotely located touch screen system.
Based on the foregoing, it can be seen that the present invention provides an improved touch screen system that can approximate tracking and dragging states, regardless of the touch orientation and without reliance on direct sensing of touch pressure or area. Many other modifications, features and embodiments of the present invention will become evident to those of skill in the art. For example, those skilled in the art will recognize that embodiments of the present invention are useful and applicable to a variety of touch screens, including, but not limited to, optical touch screens, IR touch screens, and capacitive touch screens. It should be appreciated, therefore, that many aspects of the present invention were described above by way of example only and are not intended as required or essential elements of the invention unless explicitly stated otherwise.
Accordingly, it should be understood that the foregoing relates only to certain embodiments of the invention and that numerous changes may be made therein without departing from the spirit and scope of the invention as defined by the following claims. It should also be understood that the invention is not restricted to the illustrated embodiments and that various modifications can be made within the scope of the following claims.

## Claims

1. A method of discerning between user interaction states in a touch screen system, comprising:
receiving a first signal from a first detector of said touch screen system, said first signal representing a first image of an object interacting with a touch screen;
receiving a second signal from a second detector, said second signal representing a second image of the object interacting with the touch screen;
processing the first signal to determine approximated coordinates of a first pair of outer edges of the object;
processing the second signal to determine approximated coordinates of a second pair of outer edges of the object;
calculating an approximated touch area based on the approximated coordinates of the first pair of outer edges and the approximated coordinates of the second pair of outer edges of the object;
if the approximated touch area is less than or equal to a threshold touch area, determining that the object interacting with the touch screen indicates a tracking state;
if the approximated touch area is greater than the threshold touch area, determining that the object interacting with the touch screen indicates a selection state;
if the object interacting with the touch screen indicates the selection state, determining whether the object moves relative to the touch screen;
if the object moves relative to the touch screen, re-calculating the approximated touch area and determining whether the re-calculated touch area remains greater than or equal to the threshold touch area; and
if the re-calculated touch area remains greater than the threshold touch area, determining that the object interacting with the touch screen indicates a dragging state.

2. The method of claim 1, wherein the approximated coordinates of the first pair of outer edges and the approximated coordinates of the second pair of outer edges of the object are determined using slope line calculations.

3. The method of claim 1, wherein the threshold touch area is established by calibrating the touch screen system when the object interacting with the touch screen is known to indicate the tracking state.

4. The method of claim 1, wherein the threshold touch area is established by an operator of the touch screen system.

5. The method of claim 1, further comprising:
if the object interacting with the touch screen indicates either the selection state or the tracking state, determining whether the object becomes undetected by the first detector and the second detector; and
if the object becomes undetected by the first detector and the second detector, determining that the object interacting with the touch screen indicates an out-of-range state.

6. The method of claim 1, further comprising if the re-calculated touch area does not remain greater than the threshold touch area, determining that the object interacting with the touch screen indicates the tracking state.

7. The method of claim 1, further comprising:
if the object interacting with the touch screen indicates either the selection state, the dragging state or the tracking state, determining whether the object becomes undetected by the first detector and the second detector; and
if the object becomes undetected by the first detector and the second detector, determining that the object interacting with the touch screen indicates an out-of-range state.

8. The method of claim 1, wherein the first detector and the second detector are each selected from the group consisting of: a line scan camera, an area scan camera and a phototransistor.

9. A touch screen system for discerning between user interaction states, comprising:
a touch screen;
a first detector in proximity to the touch screen for generating a first signal representing a first image of an object interacting with the touch screen;
a second detector in proximity to the touch screen for generating a second signal representing a second image of the object interacting with the touch screen; and
a signal processor for executing computer-executable instructions for:
processing the first signal to determine approximated coordinates of a first pair of outer edges of the object,
processing the second signal to determine approximated coordinates of a second pair of outer edges of the object,
calculating an approximated touch area based on the approximated coordinates of the first pair of outer edges and the approximated coordinates of the second pair of outer edges of the object,
if the approximated touch area is less than or equal to a threshold touch area, determining that the object interacting with the touch screen indicates a tracking state,
if the approximated touch area is greater than the threshold touch area, determining that the object interacting with the touch screen indicates a selection state,
if the object interacting with the touch screen indicates the selection state, determining whether the object moves relative to the touch screen,
if the object moves relative to the touch screen, re-calculating the approximated touch area and determining whether the re-calculated touch area remains greater than or equal to the threshold touch area, and
if the re-calculated touch area remains greater than or equal to the threshold touch area, determining that the object interacting with the touch screen indicates a dragging state.

10. The touch screen system of claim 9, wherein the approximated coordinates of the first pair of outer edges and the approximated coordinates of the second pair of outer edges of the object are determined using slope line calculations.

11. The touch screen system of claim 9, wherein the threshold touch area is established by calibrating the touch screen system when the object interacting with the touch screen is known to indicate the tracking state.

12. The touch screen system of claim 9, wherein the signal processor executes further computer-executable instructions for:
if the object interacting with the touch screen indicates either the selection state or the tracking state, determining whether the object becomes undetected by the first detector and the second detector; and
if the object becomes undetected by the first detector and the second detector, determining that the object interacting with the touch screen indicates an out-of-range state.

13. The touch screen system of claim 9, wherein the signal processor executes further computer-executable instructions for determining that the object interacting with the touch screen indicates the tracking state, if the re-calculated touch area does not remain greater than the threshold touch area.

14. The touch screen system of claim 9, wherein the signal processor executes further computer-executable instructions for:
if the object interacting with the touch screen indicates either the selection state, the dragging state or the tracking state, determining whether the object becomes undetected by the first detector and the second detector; and
if the object becomes undetected by the first detector and the second detector, determining that the object interacting with the touch screen indicates an out-of-range state.

15. The touch screen system of claim 9, wherein the first detector and the second detector are each selected from the group consisting of: a line scan camera, an area scan camera and a phototransistor.

16. The touch screen system of claim 9, further comprising a light source for illuminating the object; and
wherein the first detector and the second detector detect illumination level variations caused by the object interacting with the touch screen.

17. The touch screen system of claim 9, wherein the object comprises a user's finger.

18. The touch screen system of claim 9, wherein the object comprises a stylus having a spring loaded plunger protruding from a tip of the stylus, said plunger producing a relatively small touch area when interacting with the touch screen; and
wherein said plunger collapses into the tip of the stylus when sufficient compression is applied to the spring, causing the tip of the stylus to contact the touch screen and producing a relatively larger touch area.