# Patent

## Title
Touch screen signal processing with single-point calibration

## Abstract

A coordinate detection system can comprise a display screen, a touch surface corresponding the top of the display screen or a material positioned above the screen and defining a touch area, at least one camera outside the touch area and configured to capture an image of space above the touch surface, and a processor executing program code to identify whether an object interferes with the light from the light source projected through the touch surface based on the image captured by the at least one camera. The processor can be configured to carry out a calibration routine utilizing a single touch point in order to determine a plane corresponding to the touch surface by using mirror images of the features adjacent the touch surface, images of the features, and/or based on the touch point and a normal to the reflective plane defined by an image of the object and its mirror image.

## Background
PRIORITY CLAIM
This application claims priority as a continuation-in-part of U.S. patent application Ser. No. 12/578,165, filed Oct. 13, 2009, which is a continuation of U.S. patent application Ser. No. 11/033,183, filed Jan. 11, 2005 (and now U.S. Pat. No. 7,629,967), which is a continuation of Application No. PCT NZ2004/000029, published as WO 2004/072843, filed Feb. 16, 2004, which claims priority to NZ Application No. 524211, filed Feb. 14, 2003, each of which is incorporated by reference herein in its entirety.


TECHNICAL FIELD
The present invention relates to a touch sensitive screen and in particular to optically detecting the presence of an object by using signal processing.
BACKGROUND
Touch screens can take on forms including, but not limited to, resistive, capacitive, surface acoustic wave (SAW), infrared (IR), and optical. Each of these types of touch screen has its own features, advantages and disadvantages.
Resistive is a common type of touch screen technology. It is a low-cost solution found in many touch screen applications, including hand-held computers, PDA's, consumer electronics, and point-of-sale-applications. A resistive touch screen uses a controller and a specifically coated glass overlay on the display face to produce the touch connection. The primary types of resistive overlays are 4-wire, 5-wire, and 8 wires. The 5-wire and 8-wire technologies are more expensive to manufacture and calibrate, while 4-wire provides lower image clarity. Two options are generally given: polished or anti-glare. Polished offers clarity of image, but generally introduces glare. Anti-glare will minimize glare, but will also further diffuse the light thereby reducing the clarity. One benefit of using a resistive display is that it can be accessed with a finger (gloved or not), pen, stylus, or a hard object. However, resistive displays are less effective in public environments due to the degradation in image clarity caused by the layers of resistive film, and its susceptibility to scratching. Despite the trade-offs, the resistive screen is the most popular technology because of its relatively low price (at smaller screen sizes), and ability to use a range of input means (fingers, gloves, hard and soft stylus).
Capacitive touch screens can comprise glass and may be designed for use in ATM's and similar kiosk type applications. A small current of electricity runs across the screen with circuits located at the corners of the screen to measure the capacitance of a person touching the overlay. Touching the screen interrupts the current and activates the software operating the kiosk. Because the glass and bezel that mounts it to the monitor can be sealed, the touch screen is both durable and resistant to water, dirt and dust. This makes it commonly used in harsher environments like gaming, vending retail displays, public kiosks and industrial applications. However, the capacitive touch screen is only activated by the touch of a human finger and a gloved finger, pen, stylus or hard object will not work. Hence, it is inappropriate for use in many applications, including medical and food preparation.
Surface acoustic wave (SAW) technology provides better image clarity because it uses pure glass construction. A SAW touch screen uses a glass display overlay. Sound waves are transmitted across the surface of the display. Each wave is spread across the screen by bouncing off reflector arrays along the edges of the overlay. Two receivers detect the waves. When the user touches the glass surface, the user's finger absorbs some of the energy of the acoustic wave and the controller circuitry measures the touch location. SAW touch screen technology is used in ATM's, Amusements Parks, Banking and Financial Applications and kiosks. The technology is not able to be gasket sealed, and hence is not suitable to many industrial or commercial applications. Compared to resistive and capacitive technologies, it provides superior image clarity, resolution, and higher light transmission.
Infrared technology relies on the interruption of an infrared light grid in front of the display screen. The touch frame or opto-matrix frame contains a row of infrared LEDs and 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. The infrared controller sequentially pulses the LEDs to create a grid of infrared light beams. When a stylus, such as a finger, enters the grid, it obstructs the beams. One or more phototransistors detect the absence of light and transmit a signal that identifies the x and y coordinates. Infrared touch screens are often used in manufacturing and medical applications because they can be completely sealed and operated using any number of hard or soft objects. An issue with infrared can relate to the “seating” of the touch frame, which may be slightly above the screen. Consequently, it is susceptible to “early activation” before the finger or stylus has actually touched the screen. The cost to manufacture the infrared bezel can be quite high.
Optical imaging for touch screens uses a combination of line-scan cameras, digital signal processing, front or back illumination and algorithms to determine a point of touch. The imaging lenses image the user's finger, stylus or object by scanning along the surface of the display. This type of touch screen is susceptible to false readings due to moving shadows and bright lights and also requires that the screen be touched before a reading is taken. Attempts have been made to overcome these disadvantages. Touch screens using optical imaging technology are disclosed in the following publications.
Examples of touch screen technology can be found in U.S. Pat. Nos. 4,943,806; 5,914,709; 5,317,140; 5,698,845; 4,782,328; and U.S. Pat. No. 4,868,551.
SUMMARY
Objects and advantages of the present subject matter will be apparent to one of ordinary skill in the art upon careful review of the present disclosure and/or practice of one or more embodiments of the claimed subject matter.
A coordinate detection system can comprise a display screen, a touch surface corresponding the top of the display screen or a material positioned above the screen and defining a touch area, at least one camera outside the touch area and configured to capture an image of space above the touch surface, and a processor executing program code to identify whether an object interferes with the light from the light source projected through the touch surface based on the image captured by the at least one camera. The processor can be configured to carry out a calibration routine utilizing a single touch point in order to determine a plane corresponding to the touch surface by using mirror images of the features adjacent the touch surface, images of the features, and/or based on the touch point and a normal to the reflective plane defined by an image of the object and its mirror image. The touch point need not actually correspond to an actual touch, but may be inferred based on the object and its mirror image. Additionally, in some embodiments, the touch surface may comprise a surface outside and separate from the display.
In some aspects, the invention may broadly be said to consist in a touch display comprising: a screen for a user to touch and view an image on or through; light sources at one or more edges of said screen, said light sources directing light across the surface of said screen; at least two cameras having outputs, each said camera located at the periphery of said screen to image the space in front of said screen, said output including a scanned image; means for processing said outputs to detect the level of light, said light including: direct light from said light sources, and/or reflected light from said light sources; a processor receiving the processed outputs of said cameras, said processor employing triangulation techniques and said processed outputs to determine whether the processed outputs indicate the presence of an object proximate to said screen and if so the location of said object.
Preferably said processed output indicates the relative bearing of a presumed object location relative to said camera. Preferably said processed output indicates the relative bearing of a presumed object location relative to the centre of the lens of said camera. Preferably said processor determines location of said object as a planar screen co-ordinate.
Preferably said light sources are behind said screen arranged to project light through said screen and said display includes at each edge having a light source, light deflectors in front of said screen, directing light emitted from said light sources across the surface of said screen.
Preferably said cameras are line scan cameras, said camera output including information on line scanned and said processor using said information in determining location of said object.
Preferably said touch display can include means for modulating said light from said light sources to provide a frequency band within the imageable range of said cameras and means for excluding image data outside said frequency band.
Preferably said means for processing said outputs includes said means for excluding image data outside said frequency band and said means for excluding image data outside said frequency includes filtering. Preferably, filtering includes applying a filter selected from the group consisting of: a comb filter; a high pass filter; a notch filter; and a band pass filter.
Preferably said touch display can include means for controlling said light sources and means for taking and processing an image taken in a non lighted ambient light state and in a lighted state, wherein said means for processing said outputs subtracts the ambient state from the lighted state before detecting the level of light.
Preferably said light sources are LEDs and said touch display includes means for controlling the operation of sections of said light source independent of other sections of said light source. Preferably means for controlling the operation of sections of said light source includes means for independently controlling the effective intensity of said light source.
Preferably said means for controlling sections of said light source comprises wiring said sections in antiphase and driving using a bridge drive. Preferably means for controlling sections of said light source comprises using a diagonal bridge drive. Preferably said means for controlling sections of said light source comprises using a shift register for each section to be controlled.
Preferably said means for taking and processing images includes controlling sections of said light sources and each said camera and said means for processing said outputs includes processing information on whether a said section is lighted or not. Preferably some section are lighted and others are not when an image is taken.
Accordingly in another aspect the invention may broadly be said to consist in a touch display comprising: a screen for a user to touch and view an image on or through; light sources at one or more edges edge of said screen, said light sources directing light across the surface of said screen; at least two cameras having outputs located at the periphery of said screen, said cameras located so as not to receive direct light from said light sources, each said camera imaging the space in front of said screen, said output including a scanned image; means for processing said outputs to detect level of reflected light; and a processor receiving the processed outputs of said cameras, said processor employing triangulation techniques and said processed outputs to determine whether the processed outputs indicate the presence of an object proximate to said screen and if so the location of said object.
Preferably said processed output indicates the relative bearing of a presumed object location relative to said camera. Preferably said processed output indicates the relative bearing of a presumed object location relative to the centre of the lens of said camera. Preferably said processor determines location of said object as a planar screen co-ordinate.
Preferably said touch display can include means for modulating said light from said light sources to provide a frequency band within the imageable range of said cameras; and means for excluding image data outside said frequency band. Preferably said means for processing said outputs includes said means for excluding image data outside said frequency band and said means for excluding image data outside said frequency includes filtering. Preferably filtering includes applying a filter selected from the group consisting of a comb filter; a high pass filter; a notch filter; and a band pass filter.
Preferably said touch display includes means for controlling said light sources and means for taking and processing an image taken in a non lighted ambient light state and in a lighted state, wherein said means for processing said outputs subtracts the ambient state from the lighted state before detecting the level of light. Preferably said light sources are LEDs and said touch display includes means for controlling the operation of sections of said light source independent of other sections of said light source.
Preferably means for controlling the operation of sections of said light source includes means for independently controlling the effective intensity of said light source. Preferably the means for controlling sections of said light source comprises wiring said sections in antiphase and driving using a bridge drive. Preferably the means for controlling sections of said light source comprises using a diagonal bridge drive. Preferably the means for controlling sections of said light source comprises using a shift register for each section to be controlled.
Preferably said means for taking and processing images includes controlling sections of said light sources and each said camera and said means for processing said outputs includes processing information on whether a said section is lighted or not. Preferably some sections are lighted and others are not when an image is taken.
Preferably said screen is reflective, said camera further images said screen, and said means for processing outputs detects the level of light from the mirror image. Preferably said processed out put indicates the relative bearing of a presumed object relative to said camera and the distance of said object from said screen.
Accordingly in another aspect the invention may broadly be said to consist in a method of receiving user inputs in reference to an image including the steps of providing a screen for a user to touch and view an image on or through; providing light sources at one or more edges of said screen, said light sources directing light across the surface of said screen; providing at least two cameras having outputs, each said camera located at the periphery of said screen to image the space in front of said screen, said output including a scanned image; processing said outputs to detect the level of light, said light including: direct light from said light sources, and/or reflected light from said light sources; processing the processed outputs of said cameras, and using triangulation techniques to obtain the location of said object.
Preferably said processed output indicates the relative bearing of a presumed object location relative to a said camera.
Preferably said processed output indicates the relative bearing of a presumed object location relative to the centre of the lens of said camera. Preferably said location of is a planar screen co-ordinate. Preferably said light sources are behind said screen and arranged to project light through said screen and said display includes at each edge having a light source, light deflectors in front of said screen, directing light emitted from said light sources across the surface of said screen.
Preferably said cameras are line scan cameras, said camera output including information on line scanned and said processor using said information in determining location of said object.
Preferably said method includes the steps of: modulating said light from said light sources to provide a frequency band within the imageable range of said cameras and excluding image data outside said frequency band. Preferably the step of processing said outputs includes the steps of excluding image data outside said frequency band and said step of excluding image data outside said frequency includes filtering. Preferably filtering includes the step of applying a filter selected from the group consisting of: a comb filter; a high pass filter; a notch filter; and a band pass filter.
Preferably said method includes the steps of: controlling said light sources and taking and processing an image taken in a non lighted ambient light state and in a lighted state, wherein said step of processing said outputs subtracts the ambient state from the lighted state before detecting the level of light. Preferably said light sources are LEDs and said touch display includes means for controlling the operation of sections of said light source independent of other sections of said light source. Preferably the step of controlling the operation of sections of said light source includes independently controlling the effective intensity of said light source.
Preferably the step of controlling sections of said light source comprises wiring said sections in antiphase and driving using a bridge drive. Preferably the step of controlling sections of said light source comprises using a diagonal bridge drive. Preferably the step of controlling sections of said light source comprises using a shift register for each section to be controlled.
Preferably the step of taking and processing images includes controlling sections of said light sources and each said camera and said step of processing said outputs includes processing information on whether a said section is lighted or not. Preferably some sections are lighted and others are not when an image is taken.
Accordingly in a further aspect the invention may broadly be said to consist in a method of receiving user inputs in reference to an image including the steps of: providing a screen for a user to touch and view an image on or through; providing light sources at one or more edges edge of said screen, said light sources directing light across the surface of said screen; providing at least two cameras having outputs located at the periphery of said screen, said cameras located so as not to receive direct light from said light sources, each said camera imaging the space in front of said screen, said output including a scanned image; processing said outputs to detect level of reflected light; and processing the processed outputs of said cameras, employing triangulation techniques and said processed outputs to determine whether the processed outputs indicate the presence of an object proximate to said screen and if so the location of said object.
Preferably said processed output indicates the relative bearing of a presumed object location relative to said camera. Preferably said processed output indicates the relative bearing of a presumed object location relative to the centre of the lens of said camera. Preferably said processor determines location of said object as a planar screen co-ordinate.
Preferably said method includes: modulating said light from said light sources to provide a frequency band within the imageable range of said cameras and excluding image data outside said frequency band. The method can use means for processing said outputs includes said means for excluding image data outside said frequency band and said means for excluding image data outside said frequency includes filtering. Preferably filtering includes applying a filter selected from the group consisting of: a comb filter; a high pass filter; a notch filter; and a band pass filter.
Preferably said method includes controlling said light sources and taking and processing an image taken in a non lighted ambient light state and in a lighted state, wherein said means for processing said outputs subtracts the ambient state from the lighted state before detecting the level of light.
Preferably said light sources are LEDs and said touch display includes means for controlling the operation of sections of said light source independent of other sections of said light source. Preferably the means for controlling the operation of sections of said light source includes means for independently controlling the effective intensity of said light source. Preferably the means for controlling sections of said light source comprises wiring said sections in antiphase and driving using a bridge drive.
Preferably controlling sections of said light source comprises using a diagonal bridge drive. Preferably controlling sections of said light source comprises using a shift register for each section to be controlled.
Preferably taking and processing images includes controlling sections of said light sources and each said camera and said means for processing said outputs includes processing information on whether a said section is lighted or not. Preferably some sections are lighted and others are not when an image is taken.
Preferably said screen is reflective, said camera further images said screen, and said means for processing outputs detects the level of light from the mirror image. Preferably said processed out put indicates the relative bearing of a presumed object relative to said camera and the distance of said object from said screen.
Accordingly in yet another aspect the invention may broadly be said to consist in a method of receiving user inputs in reference to an image, the method comprising providing at least one light source on or adjacent the periphery of said image, said light source(s) directing light across said image; detecting at least two locations on or adjacent the periphery of said image, the level of light and providing said level as an output; and processing said outputs using triangulation techniques to determine whether said outputs indicate the presence of an object proximate to said image and if so the location of said object.
Preferably said locations are substantially non-opposite so that when an object is present said output is substantially indicative of light reflected from said object.
Accordingly in a still further aspect the invention may broadly be said to consist in a user input device for locating an object with reference to an image comprising: at least one light source at or proximate to the periphery of said image, said light source directing light across said image; at one detector having an output, said detector located or in proximity to said image to image the space in front of said screen, said output indicative of a level of light; and a processor receiving said outputs and using triangulation techniques and said outputs determining the presence of said object and if so the location of said object.



BRIEF DESCRIPTION OF THE DRAWINGS
A full and enabling disclosure including the best mode of practicing the appended claims and directed to one of ordinary skill in the art is set forth more particularly in the remainder of the specification. The specification makes reference to the following appended figures, in which use of like reference numerals in different features is intended to illustrate like or analogous components.
FIG. 1 is a diagrammatic illustration of a front view of the preferred embodiment of the touch screen of the present invention.
FIG. 1a is an illustration of a cross sectional view through X-X of FIG. 1.
FIG. 1b is an illustration of front illumination of the preferred embodiment of the touch screen of the present invention.
FIG. 2 is an illustration of the mirroring effect in the preferred embodiment of the touch screen of the present invention.
FIG. 2a is a block diagram of the filter implementation of the preferred embodiment of the touch screen of the present invention.
FIG. 2b is a diagrammatic illustration of the pixels seen by an area camera and transmitted to the processing module in the preferred embodiment of the present invention.
FIG. 3 is a block diagram of the system of the preferred embodiment of the touch screen of the present invention.
FIG. 4 is a side view of the determination of the position of an object using the mirrored signal in the preferred embodiment of the touch screen of the present invention.
FIG. 4a is top view of the determination of the position of an object using the mirrored signal in the preferred embodiment of the touch screen of the present invention.
FIG. 5 is an illustration of the calibration in the preferred embodiment of the touch screen of the present invention.
FIG. 6 is a graph representing in the frequency domain the output from the imager in the processing module in the preferred embodiment of the touch screen of the present invention.
FIG. 6a is a graph representing in the frequency domain the filters responses on the signal from the imager in the preferred embodiment of the touch screen of the present invention.
FIG. 6b is a graph representing in the frequency domain the separation of the object from the background after two types of filtering in the preferred embodiment of the touch screen of the present invention.
FIG. 7 is an illustration of a front view of the alternate embodiment of the touch screen of the present invention.
FIG. 7a is an illustration of a cross sectional view through X-X of the alternate embodiment of the touch screen of the present invention.
FIG. 7b is an illustration of rear illumination of the alternate embodiment of the touch screen of the present invention.
FIG. 7c is an illustration of rear illumination controlling the sense height of the alternate embodiment of the present invention.
FIG. 7d is a diagrammatic illustration of the pixels seen by a line scan camera and transmitted to the processing module in the alternate embodiment of the present invention.
FIG. 8 is a graph representing simple separation of an object from the background in the alternate embodiment of the present invention.
FIG. 9a shows a two section backlight driven by two wires of the present invention.
FIG. 9b shows a twelve section backlight driven by 4 wires of the present invention.
FIG. 9c shows a piece of distributed shift register backlight of the present invention.
FIGS. 10A-10B show an embodiment of a position detection system featuring a single camera remote from a body featuring the touch surface.
FIGS. 10C-10D show an embodiment of a position detection system featuring cameras mounted to a body featuring the touch surface.
FIG. 11 is a flowchart showing exemplary steps in a method of single-touch calibration.
FIG. 12 is an illustration of calibration in another preferred embodiment of the present invention.
FIG. 13 is an illustration of calibration in yet another preferred embodiment of the present invention.



DETAILED DESCRIPTION
Reference will now be made in detail to various and alternative exemplary embodiments and to the accompanying drawings. Each example is provided by way of explanation, and not as a limitation. It will be apparent to those skilled in the art that modifications and variations can be made without departing from the scope or spirit of the disclosure and claims. For instance, features illustrated or described as part of one embodiment may be used on another embodiment to yield still further embodiments. Thus, it is intended that the present disclosure includes any modifications and variations as come within the scope of the appended claims and their equivalents.
The present invention relates to improvements in signal processing in the field of optical imaging touch screens. In the preferred embodiment the optical touch screen uses front illumination and is comprised of a screen, a series of light sources, and at least two area scan cameras located in the same plane and at the periphery of the screen. In another embodiment, the optical touch screen uses backlight illumination; the screen is surrounded by an array of light sources located behind the touch panel which are redirected across the surface of the touch panel. At least two line scan cameras are used in the same plane as the touch screen panel. The signal processing improvements created by these implementations are that an object can be sensed when in close proximity to the surface of the touch screen, calibration is simple, and the sensing of an object is not effected by the changing ambient light conditions, for example moving lights or shadows.
In additional embodiments, a coordinate detection system is configured to direct light through a touch surface, with the touch surface corresponding to the screen or a material above the screen.
A block diagram of a general touch screen system 1 is shown in FIG. 3. Information flows from the cameras 6 to the video processing unit and computer, together referred to as the processing module 10. The processing module 10 performs many types of calculations including filtering, data sampling, and triangulation and controls the modulation of the illumination source 4.
Front Illumination Touch Screen
One preferred embodiment of the touch screen of the present invention is shown in FIG. 1. The touch screen system 1 is comprised of a monitor 2, a touch screen panel 3, at least two lights 4, a processing module (not shown) and at least two area scan cameras 6. The monitor 2, which displays information to the user, is positioned behind the touch screen panel 3. Below the touch screen panel 3 and the monitor 2 are the area scan cameras 6 and light sources 4. The light sources 4 are preferably Light Emitting Diodes (LED) but may be another type of light source, for example, a fluorescent tube. LEDs are ideally used as they may be modulated as required, they do not have an inherent switching frequency. The cameras 6 and LEDs 4 are in the same plane as the touch panel 3.
Referring to FIG. 1a, the viewing field 6a of the area scan camera 6 and the radiation path 4a of the LEDs 4 are in the same plane and parallel to the touch panel 3. When an object 7, shown as a finger, enters into the radiation path 4a, it is illuminated. This is typically known as front panel illumination or object illumination. In FIG. 1b, this principle is again illustrated. Once a finger 7 enters into the radiation field 4a, a signal is reflected back to the camera 6. This indicates that a finger 7 is near to or touching the touch panel 3. In order to determine if the finger 7 is actually touching the touch panel 3, the location of the touch panel 3 must be established. This is performed using another signal, a mirrored signal.
Mirrored Signal
The mirrored signal occurs when the object 7 nears the touch panel 3. The touch panel 3 is preferably made from glass which has reflective properties. As shown in FIG. 2, the finger 7 is positioned at a distance 8 above the touch panel 3 and is mirrored 7a in the touch panel 3. The camera 6 (only shown as the camera lens) images both the finger 7 and the reflected image 7a. The image of finger 7 is reflected 7a in panel 3; this can be seen through the field lines 6b, 6c and virtual field line 6d. This allows the camera 6 to image the reflected 7a image of the finger 7. The data produced from the camera 6 corresponds to the position of the field lines 6e, 6b as they enter the camera 6. This data is then fed into a processing module 10 for analysis.
A section of the processing module 10 is shown in FIG. 2a. Within the processing module 10 is a series of scanning imagers 13 and digital filters 11 and comparators 12 implemented in software. There are a set number of pixels on the touch panel, for example 30,000 pixels. These may be divided up into 100 columns of 300 pixels. The number of pixels may be more or less than the numbers used, the numbers are used for example only. In this situation, there are 30,000 digital filters 11 and comparators 12, broken up into 100 columns of 300 pixels, this forms a matrix similar to the matrix of pixels on the monitor 2. A representation of this is shown in FIG. 2a as one column is serviced by one image scanner 13 and three sets 14a, 14b, 14c of digital filters 11 and comparators 12, this allows information from three pixels to be read. A more illustrated example of this matrix is shown in FIG. 2b. Eight pixels 3a-3h are connected, in groups of columns, to an image scanner 13 that is subsequently connected to a filter 11 and a comparator 12 (as part of the processing module 10). The numbers used in FIG. 2b are used for illustration only; an accurate number of pixels could be greater or less in number. The pixels shown in this diagram may not form this shape in the panel 3, their shape will be dictated by the position and type of camera 6 used.
Referring back to FIG. 2, finger 7 and mirrored finger 7a activates at least two pixels; two pixels are used for simplicity. This is shown by the field lines 6e and 6b entering the processing module 10. This activates the software so the two signals pass through a digital filter 11 and a comparator 12 and results in a digital signal output 12a-12e. The comparator 12 compares the output from the filter 11 to a predetermined threshold value. If there is a finger 7 detected at the pixel in question, the output will be high, otherwise it will be low.
The mirrored signal also provides information about the position of the finger 7 in relation to the cameras 6. It can determine the height 8 of the finger 7 above the panel 3 and its angular position. The information gathered from the mirrored signal is enough to determine where the finger 7 is in relation to the panel 3 without the finger 7 having to touch the panel 3.
FIGS. 4 and 4a show the positional information that is able to be obtained from the processing of the mirrored signal. The positional information is given in polar co-ordinates. The positional information relates to the height of the finger 7, and the position of the finger 7 over the panel 3.
Referring again to FIG. 2, the height that the finger 7 is above the panel 3 can be seen in the distance between the outputs 12a-12e. In this example the finger 7 is a height 8 above the panel 3 and the outputs 12b and 12e are producing a high signal. The other outputs 12a, 12d are producing a low signal. It has been found that the distance 9 between the high outputs 12b, 12e is twice as great as the actual height 8 of the finger above the panel 3.
Modulating
The processing module 10 modulates and collimates the LEDs 4 and sets a sampling rate. The LEDs 4 are modulated, in the simplest embodiment the LEDs 4 are switched on and off at a predetermined frequency. Other types of modulation are possible, for example modulation with a sine wave. Modulating the LEDs 4 at a high frequency results in a frequency reading (when the finger 7 is sensed) that is significantly greater than any other frequencies produced by changing lights and shadows. The modulation frequency is greater than 500 Hz but no more than 10 kHz.
Sampling
The cameras 6 continuously generate an output, which due to data and time constraints is periodically sampled by the processing module 10. In the preferred embodiment, the sampling rate is at least two times the modulation frequency; this is used to avoid aliasing. The modulation of the LEDs and the sampling frequency does not need to be synchronised.
Filtering
The output in the frequency domain from the scanning imager 13 is shown in FIG. 6. In FIG. 6, there are two typical graphs, one showing when there is no object being sensed 21 and one showing when a finger is sensed 20. In both graphs there is a region of movement of shadows 22 at approximately 5 to 20 Hz, and an AC mains frequency region 23 at approximately 50 to 60 Hz.
In a preferred embodiment when there is not object in the field of view, no signal is transmitted to the area camera so there are no other peaks in the output. When an object is in the field of view, there is a signal 24 corresponding to the LED modulated frequency, for example 500 Hz. The lower unwanted frequencies 22, 23 can be removed by various forms of filters. Types of filters can include comb, high pass, notch, and band pass filters.
In FIG. 6a the output from the image scanner is shown with a couple of different filter responses 26, 27 being applied to the signal 20. In a simple implementation a 500 Hz comb filter 26 may be implemented (if using a 500 Hz modulation frequency). This will remove only the lowest frequencies. A more advanced implementation would involve using a band pass 27 or notch filter. In this situation, all the data, except the region where the desired frequency is expected, is removed. In FIG. 6a this is shown as a 500 Hz narrow band filter 27 applied to the signal 20 with a modulation frequency of 500 Hz. These outputs 30, 31 from the filters 26, 27 are further shown in FIG. 6b. The top graph shows the output 30 if a comb filter 26 is used while the bottom graph shows the output 31 when a band filter 27 is used. The band filter 27 removes all unwanted signals while leaving the area of interest.
Once the signal has been filtered and the signal in the area of interest identified, the resulting signal is passed to the comparators to be converted into a digital signal and triangulation is performed to determine the actual position of the object. Triangulation is known in the prior art and disclosed in U.S. Pat. No. 5,534,917 and U.S. Pat. No. 4,782,328, and are herein incorporated by reference.
Calibration
One preferred embodiment of the touch screen of the present invention uses very quick and easy calibration that allows the touch screen to be used in any situation and moved to new locations, for example if the touch screen is manufactured as a lap top. Some embodiments of calibration involve touching the panel 3 in three different locations 31a, 31b, 31c, as shown in FIG. 5; this defines the touch plane of the touch panel 3. These three touch points 31a, 31b, 31c provide enough information to the processing module (not shown) to calculate the position and size of the touch plane in relation to the touch panel 3. Each touch point 31a, 31b, 31c uses both mirrored and direct signals, as previously described, to generate the required data. These touch points 31a, 31b, 31c may vary around the panel 3, they need not be the actual locations shown.
As noted in further detail below, other preferred embodiments may utilize fewer than three touches. For instance, some embodiments of calibration utilize only a single touch. Still further, some embodiments of calibration do not even require a true “touch”—that is, a single “touch point” may be inferred even in the absence of contact between an object and a touch surface (e.g., the screen).
Back Illumination Touch Screen
FIG. 7 shows an alternate embodiment of the touch screen of the present invention. As in the preferred embodiment, the monitor 40 is behind the touch panel 41 and around the sides and the lower edge of the panel 41 is an array of lights 42. These point outwards towards the user and are redirected across the panel 41 by a diffusing plate 43. The array of lights 42 consists of numerous Light Emitting Diodes (LEDs). The diffusing plates 43 are used redirect and diffuse the light emitted from the LEDs 42 across the panel 41. At least two line-scan cameras 44 are placed in the upper two corners of the panel 3 and are able to image an object. The cameras 44 can be alternately placed at any position around the periphery of the panel 41. Around the periphery of the touch panel 41 is a bezel 45 or enclosure. The bezel 45 acts as a frame that stops the light radiation from being transmitted to the external environment. The bezel 45 reflects the light rays into the cameras 44 so a light signal is always read into the camera 44 when there is no object near the touch panel 41.
Alternately, the array of lights 42 may be replaced with cold cathode tubes. When using a cold cathode tube, a diffusing plate 43 is not necessary as the outer tube of the cathode tube diffuses the light. The cold cathode tube runs along the entire length of one side of the panel 41. This provides a substantially even light intensity across the surface of the panel 41. Cold cathode tubes are not preferably used as they are difficult and expensive to modify to suit the specific length of each side of the panel 41. Using LED's allows greater flexibility in the size and shape of the panel 41.
The diffusing plate 43 is used when the array of lights 42 consists of numerous LED's. The plate 43 is used to diffuse the light emitted from an LED and redirect it across the surface of panel 41. As shown in FIG. 7a, the light 47 from the LEDs 42 begins its path at right angles to the panel 41. Once it hits the diffusing plate 43, it is redirected parallel to the panel 41. The light 47 travels slightly above the surface of the panel 41 so to illuminate the panel 41. The light 47 is collimated and modulated by the processing module (not shown) as previously described.
Referring to FIG. 7a, the width 46 of the bezel 45 can be increased or decreased. Increasing the width 46 of the bezel 45 increases the distance at which an object can be sensed. Similarly, the opposite applies to decreasing the width 10 of the bezel 45. The line scan cameras 44 consists of a CCD element, lens and driver control circuitry. When an image is seen by the cameras 44 a corresponding output signal is generated.
Referring to FIGS. 7b and 7c, when the touch screen is not being used, i.e. when there is no user interaction or input, all the light emitted from the array of lights 42 is transmitted to the line-scan cameras 44. When there is user input, i.e. a user selects something on the screen by touching it with their finger; a section of the light being transmitted to the camera 44 is interrupted. Through calculations utilizing triangulation algorithms with the outputted data from the camera 44, the location of the activation can be determined.
The line scan cameras 44 can read two light variables, namely direct light transmitted from the LED's 42 and reflected light. The method of sensing and reading direct and mirrored light is similar to what has been previously described, but is simpler as line scan cameras can only read one column from the panel at once; it is not broken up into a matrix as when using an area scan camera. This is shown in FIG. 7d where the panel 41 is broken up into sections 41a-41d (what the line scan camera can see). The rest of the process has been described previously. The pixels shown in this diagram may not form this shape in the panel 41, their shape will be dictated by the position and type of camera 44 used.
In this alternative embodiment, since the bezel surrounds the touch panel, the line scan cameras will be continuously reading the modulated light transmitted from the LEDs. This will result in the modulated frequency being present in the output whenever there is no object to interrupt the light path. When an object interrupts the light path, the modulated frequency in the output will not be present. This indicates that an object is in near to or touching the touch panel. The frequency present in the output signal is twice the height (twice the amplitude) than the frequency in the preferred embodiment. This is due to both signals (direct and mirrored) being present at once.
In a further alternate embodiment, shown in FIG. 8, the output from the camera is sampled when the LEDs are modulating on and off. This provides a reading of ambient light plus backlight 50 and a reading of ambient light alone 51. When an object interrupts the light from the LEDs, there is a dip 52 in the output 50. As ambient light varies a lot, it is difficult to see this small dip 52. For this reason, the ambient reading 51 is subtracted from the ambient and backlight reading 50. This results in an output 54 where the dip 52 can be seen and thus simple thresholding can be used to identify the dip 52.
Calibration of this alternate embodiment can be performed in the same manner as previously described, although the touch points 31a, 31b, 31c (referring to FIG. 5) cannot be in the same line, they must be spread about the surface of the panel 3. Of course, other embodiments of calibration could be used with this alternative embodiment.
In FIG. 7 the backlight is broken up into a number of individual sections, 42a to 42f. One section or a subset of sections is activated at any time. Each of these sections is imaged by a subset of the pixels of the image sensors 44. Compared to a system with a single backlight control, the backlight emitters are operated at higher current for shorter periods. As the average power of the emitter is limited, the peak brightness is increased. Increased peak brightness improves the ambient light performance.
The backlight switching may advantageously be arranged such that while one section is illuminated, the ambient light level of another section is being measured by the signal processor. By simultaneously measuring ambient and backlit sections, speed is improved over single backlight systems.
The backlight brightness is adaptively adjusted by controlling LED current or pulse duration, as each section is activated so as to use the minimum average power whilst maintaining a constant signal to noise plus ambient ratio for the pixels that view that section.
Control of the plurality of sections with a minimum number of control lines is achieved in one of several ways.
In a first implementation of a two section backlight the two groups of diodes 44a, 44b can be wired antiphase and driven with bridge drive as shown in FIG. 9a. 
In a second implementation with more than two sections, diagonal bridge drive is used. In FIG. 9b, 4 wires are able to select 1 of 12 sections, 5 wires can drive 20 sections, and 6 wires drive 30 sections.
In a third implementation shown in FIG. 9c, for a large number of sections, a shift register 60 is physically distributed around the backlight, and only two control lines are required.
X-Y multiplexing arrangements are well known in the art. For example an 8+4 wires are used to control a 4 digit display with 32 LED's. FIG. 9b shows a 4 wire diagonal multiplexing arrangement with 12 LEDs. The control lines A, B, C, D are driven by tristate outputs such as are commonly found at the pins of microprocessors such as the Microchip PIC family. Each tristate output has two electronic switches which are commonly mosfets. Either or neither of the switches can be turned on. To operate led L1a, switches A1 and B0 only are enabled. To operate L1B, A0 and B1 are operated. To operate L2a, A1 and D0 are enabled, and so on. This arrangement can be used with any number of control lines, but is particularly advantageous for the cases of 4, 5, 6 control lines, where 12, 20, 30 LEDs can be controlled whilst the printed circuit board tracking remains simple. Where higher control numbers are used it may be advantageous to use degenerate forms where some of the possible LEDs are omitted to ease the practical interconnection difficulties.
The diagonal multiplexing system has the following features it is advantageous where there are 4 or more control lines; it requires tri-state push-pull drivers on each control line; rather than using an x-y arrangement of control lines with led's at the crossings, the arrangement is represented by a ring of control lines with a pair of antiphase LED's arranged on each of the diagonals between the control lines. Each LED can be uniquely selected, and certain combinations can also be selected; and it uses the minimum possible number of wires where emc filtering is needed on the wires there is a significant saving in components.
The above examples referred to various illumination sources and it should be understood that any suitable radiation source can be used. For instance, light emitting diodes (LEDs) may be used to generate infrared (IR) radiation that is directed over one or more optical paths in the detection plane. However, other portions of the EM spectrum or even other types of energy may be used as applicable with appropriate sources and detection systems.
Several of the above examples were presented in the context of a touch-enabled display. However, it will be understood that the principles disclosed herein could be applied even in the absence of a display screen when the position of an object relative to an area is to be tracked. For example, the touch area may feature a static image or no image at all. Accordingly, the display may be viewed as one of a plurality of potential “touch surfaces.” Other examples of touch surfaces include bodies separate from a display which are used for input purposes (e.g., a body positioned in view of one or more cameras for touch detection purposes).
Additionally, in some embodiments a “touch detection” system may be more broadly considered a “coordinate detection” system since, in addition to or instead of detecting touch of the touch surface, the system may detect a position/coordinate above the surface, such as when an object hovers but does not touch the surface. Thus, the use of the terms “touch detection,” “touch enabled,” and/or “touch surface” is not meant to exclude the possibility of detecting hover-based or other non-touch input.
Additional Illustrative Embodiments and Embodiments of Single-Point Calibration
FIGS. 10A-10B show an embodiment of a position detection system 1000 featuring a single camera remote from a body featuring the touch surface. Although a single camera is shown in this example, other embodiments, such as system 1001 of FIGS. 10C-10D, may use multiple cameras. In both examples, the coordinate detection system comprises a processing unit 1002 that comprises one or more processors and a computer-readable medium. For example, the processing unit may comprise a microprocessor, a digital signal processor, or microcontroller configured to drive components of the coordinate detection system and detect input based on one or more program components in RAM, ROM, or other memory comprising a computer-readable medium and/or by accessing stored code (e.g., from a disk).
Processing unit 1002 forms a part of a laptop computer and features a keyboard, trackpad, and power button. A display unit 1004 carries a touch surface 1006, which in these examples comprises a display interfaced to the processor and other components of processing unit 1002. Two hinges 1012 connect processing unit 1002 and display unit 1004, allowing display unit 1004 to serve as a lid for processing unit 1002. Other hinge arrangements could be used, of course. Systems 1000 and/or 1001 may each, for example, comprise a laptop, tablet, or “netbook” computer. However, system 1000/1001 may comprise a mobile device (e.g., a media player, personal digital assistant, flip-phone or other telephone form, etc.), or another computing system that includes one or more processors configured to function by program components.
Coordinate detection system 1000/1001 includes at least one imaging device. In the example of FIGS. 10A-10B, a single camera 1008 is positioned on top surface T of processing unit 1002 in order to image some or all of the area of touch surface 1006. In the example of FIGS. 10C-10D, two cameras 1009 and 1011 are positioned on display unit 1004 at the corners thereof. It will be understood that other camera arrangements could be used, including, but not limited to, a single camera clipped or attached to display unit 1004 or multiple cameras 1008 on top surface T. Other embodiments can use a combination of cameras mounted to top surface T and display unit 1004.
Touch surface 1006 may correspond to the top surface of the screen or a material or element positioned above the screen to protect the screen from damage and/or to serve other purposes. In this example, the touch surface corresponds to a display, but the same principles could apply to detecting position of an object relative to a surface that is not a display. Touch surface 1006 can comprise any suitable material, preferably a material with reflective properties at least in the range of light used by the camera(s) of the position detection system.
Processing unit 1002 can be configured to utilize one or more cameras to image one or more objects and determine the position of the object(s) relative to touch surface 1006. For example, triangulation techniques can be used with multiple cameras or other suitable position detection algorithms can be utilized. In some embodiments, a mirror image of the object can be used in such determinations. Regardless of how the position of the object is determined, a frame of reference will be needed in order to use data from the camera(s) in position detection.
As an illustration, FIG. 10A shows display unit 1004 of system 1000 in a first orientation relative to processing unit 1002, while in FIG. 10B the display unit is in a second orientation. Similarly, display unit 1004 of system 1001 is in a first orientation in FIG. 10C and in a second orientation in FIG. 10D. A plane corresponding to touch surface 1006 meets the x-z plane at angle Θ1 in FIGS. 10A/10C, while in FIGS. 10B/D the plane of touch surface 1006 meets the x-z plane at an angle Θ2.
In FIGS. 10A-10B, assuming top surface T of processing unit 1002 is in the x-z plane, coordinates detected by camera 1008 may be found in terms of distance, bearing, and inclination from the x-z plane. However, depending upon the orientation of display 1004, the coordinates could have different meanings. For instance, a hover gesture may be triggered based on determining a user's finger or another object is within a given distance from the screen. Thus, the orientation of the screen would need to be known to make use of the distance/bearing/inclination to determine a position relative to the surface.
In FIGS. 10C-10D, the relative position of touch surface 1006 to processing unit 1002 may not be needed for coordinate detection, but an initial calibration may be needed in order to determine where the surface lies in order to interpret input. Additionally, if touch surface 1006 were elsewhere from the display, the plane of the touch surface would be needed.
As noted above with regard to FIG. 5, a three-touch calibration can be performed in order to ascertain the plane of touch surface 1006, since a plane can be defined by three points. However, the multiple-touch routine may become tiresome for a user. For example, in an embodiment such as FIGS. 10A-10B, each time the position of a notebook computer's display is adjusted, the calibration routine would need repeating.
Some presently-disclosed embodiments can utilize a simpler calibration routine. Rather than relying on three touch points, a single-touch calibration sequence can be supported, such as by integrating the single-touch calibration sequence into a background process. This can allow for real-time updates to calibration, which may be especially advantageous when a relative position of a touch surface and imaging camera(s) is likely to change, such as in the examples of FIGS. 10A-10B. However, the same routine can allow for simpler calibration of systems in which one or more cameras move with the touch surface, such as in FIGS. 10C-10D.
In accordance with the present subject matter, in some embodiments the position detection system is configured to access data regarding one or more physical or other features at known locations relative to the touch surface. This data can be used along with sensor information to reduce the number of touches required to obtain the three points used to define a plane corresponding to touch surface 1016.
FIG. 11 provides an example of a method 1100 of single-touch calibration. The method may be carried out by one or more software routines, such as a system driver in a computing device featuring one or more cameras. As another example, the method may be carried out by dedicated image processing hardware (e.g., a digital signal processor or microcontroller associated with the position detection system).
Block 1102 represents using sensor data to determine a location of a touch. In FIGS. 10A-10D, a point P1 is illustrated to represent a point at which an object touches the screen. For example, a user of the device may be prompted to touch the screen at a particular location, or at any location. As another example, if the calibration is carried out on an ongoing basis, various interactions with the device can be tracked and used as a basis for updating a coordinate system. In some embodiments, occurrence of the touch can be identified by tracking motion of an interruption in light (and/or motion of light reflected from an object into the camera) until the tracked motion coincides with another tracked motion. For instance, as noted above, the touch point may correspond to a point at which an image and its mirror image coincide.
Block 1104 represents accessing data identifying one or more touch surface “landmarks,” which can include any feature that can be imaged by the camera(s) and is at a known position relative to the touch surface. The feature(s) may be features of a body comprising the touch surface or another feature visible to the camera(s).
For instance, in FIGS. 10A-10B, modifications have been made to the bezel of display unit 1004 as shown at 1014 and 1016. The modifications may include bumps, tabs, or other protrusions or changes in the bezel shape, and are shown in a somewhat exaggerated view in FIGS. 10A-10B. The modifications may touch surface 1016 or may be positioned near touch surface 1016 but may not actually touch the surface. As can be seen at 1014′ and 1016′, however, the modifications do create mirror images in touch surface 1016.
FIGS. 10C-10D do not feature modifications, but illustrate an embodiment in which other physical features of the position detection system are used in the calibration sequence. Particularly, hinges 1012 are at a known location relative to display unit 1004 and create mirror images 1012′. As noted below, however, some embodiments can utilize the landmarks themselves and may not need to image both landmarks and mirror images thereof.
Information about the relative position of the physical features can be used to infer one or more calibration touch points in order to establish a plane corresponding to touch surface 1016. Returning to FIG. 11, block 1104 can represent accessing data indicating an expected location of a physical feature. For example, data accessed by the calibration routine may indicate an expected range of pixel addresses for registering an image of modification 1014 and its mirror image 1014′, and/or data identifying a known position of modification 1014 relative to surface 1016. Similarly, expected coordinates for hinges 1012 may be provided.
In some embodiments, no specific data regarding expected locations is needed. For example, the knowledge of the expected features can simply be a part of the algorithm carrying out the routine to detect the position of the plane.
Block 1106 represents using sensor data to locate landmarks and/or mirror images thereof. For example, camera 1008 of FIGS. 10A-10B or cameras 1109/1111 of FIGS. 10C-10D can be used to sample light reflected from surface 1006 and other light traveling in a space above surface 1006 (assuming no touches occurring during the sample). In FIGS. 10A-10B, for example, the image will include four items: direct images of two hinges 1012 and their mirror images 1012′. In FIGS. 10C-10D, the image will include direct images of modifications 1014 and 1016 along with mirror images 1014′ and 1016′.
At this stage, the plane of touch surface 1006 is not known, so the landmarks and their respective mirror images may not be discernable from one another—in the image, they simply appear as four objects. However, the calibration routine can work based on the fact that the landmarks and mirror images thereof about a reflection plane are known to have been detected. The plane of touch surface 1006 will be the plane that includes touch point P1 and also corresponds to a plane of reflection that would produce the pairs of landmarks and mirror images as detected. The calibration routine may, for example, determine a plurality of coordinate sets for the objects and identify one or more potential planes that would result in two of the objects being “real” and two objects being “virtual.” The true plane can be found amongst the potential planes by determining which potential plane also would include the detected touch point.
As another example, the landmarks may be formed to intersect with the reflection plane. The plane of touch surface in that case would be a plane that includes the landmarks and the single touch point. Accordingly, embodiments include calibration using features that are reflected in, but do not touch, the touch surface or can be used with landmarks shaped to contact and/or be coplanar with the touch surface.
As one example of the latter, the plane of touch surface could be figured out by determining 3 non collinear points 31a, 31b, 31c, as shown in FIG. 5 or FIG. 12. FIG. 12 depicts the touch screen panel 3 of FIG. 5 and three non collinear points, but in this example two of the non collinear points are features of the display (hinges, in this example). The known non collinear points can be identified in the image and, along with the single touch, can be used to define the touch plane of the touch panel 3.
The single touch may not even need to contact the display in order to determine the “touch point.” For example, in the case of a notebook or netbook shown in FIGS. 10A-10D, two of the three non collinear points can be determined from the fixed hinge positions or other landmarks and the other point (i.e. the “touch point”) determined as being the point laying on the line halfway between the object and its mirror image on the touch surface.
As another example, the touch plane can be determined solely from the object moving toward the single “touch point” and the object's mirror image, as the line connecting the two is normal to the touch plane and the mid point along this line lies on the plane as shown in FIG. 12. The plane normal and this point on the touch plane fully define the touch plane.
Regardless of how the three points are determined, any suitable technique can be used to actually determine the plane. For example, let p1=(x1, y1, z1), p2=(x2, y2, z2), and p3=(x3, y3, z3) be non-collinear points.
In one method, the plane passing through p1, p2, and p3 can be defined as the set of all points (x,y,z) that satisfy the following determinant equations:




  
    
    
      
        
          
            x
            -
            
              x
              1
            
          
        
        
          
            y
            -
            
              y
              1
            
          
        
        
          
            z
            -
            
              z
              1
            
          
        
      
      
        
          
            
              x
              2
            
            -
            
              x
              1
            
          
        
        
          
            
              y
              2
            
            -
            
              y
              1
            
          
        
        
          
            
              z
              2
            
            -
            
              z
              1
            
          
        
      
      
        
          
            
              x
              3
            
            -
            
              x
              1
            
          
        
        
          
            
              y
              3
            
            -
            
              y
              1
            
          
        
        
          
            
              z
              3
            
            -
            
              z
              1
            
          
        
      
    
    
  
  =
  
    
      
      
        
          
            
              x
              -
              
                x
                1
              
            
          
          
            
              y
              -
              
                y
                1
              
            
          
          
            
              z
              -
              
                z
                1
              
            
          
        
        
          
            
              x
              -
              
                x
                2
              
            
          
          
            
              y
              -
              
                y
                2
              
            
          
          
            
              z
              -
              
                z
                2
              
            
          
        
        
          
            
              x
              -
              
                x
                3
              
            
          
          
            
              y
              -
              
                y
                3
              
            
          
          
            
              z
              -
              
                z
                3
              
            
          
        
      
      
    
    =
    0.
  




As another example, to describe the plane as an equation in the form ax+by+cz+d=0, solve the following system of equations:

ax1+by1+cz1+d=0

ax2+by2+cz2+d=0

ax3by3+cz3+d=0

This system can be solved using Cramer's Rule and basic matrix manipulations.
Let




  D
  =
  
    
      
      
        
          
            
              x
              1
            
          
          
            
              y
              1
            
          
          
            
              z
              1
            
          
        
        
          
            
              x
              2
            
          
          
            
              y
              2
            
          
          
            
              z
              2
            
          
        
        
          
            
              x
              3
            
          
          
            
              y
              3
            
          
          
            
              z
              3
            
          
        
      
      
    
    .
  




Then,




  
    
      
        a
        =
        
          
            
              -
              d
            
            D
          
          ⁢
          
            
            
              
                
                  1
                
                
                  
                    y
                    1
                  
                
                
                  
                    z
                    1
                  
                
              
              
                
                  1
                
                
                  
                    y
                    2
                  
                
                
                  
                    z
                    2
                  
                
              
              
                
                  1
                
                
                  
                    y
                    3
                  
                
                
                  
                    z
                    3
                  
                
              
            
            
          
        
      
    
  
  
    
      
        b
        =
        
          
            
              -
              d
            
            D
          
          ⁢
          
            
            
              
                
                  
                    x
                    1
                  
                
                
                  1
                
                
                  
                    z
                    1
                  
                
              
              
                
                  
                    x
                    2
                  
                
                
                  1
                
                
                  
                    z
                    2
                  
                
              
              
                
                  
                    x
                    3
                  
                
                
                  1
                
                
                  
                    z
                    3
                  
                
              
            
            
          
        
      
    
  
  
    
      
        c
        =
        
          
            
              -
              d
            
            D
          
          ⁢
          
            
              
              
                
                  
                    
                      x
                      1
                    
                  
                  
                    
                      y
                      1
                    
                  
                  
                    1
                  
                
                
                  
                    
                      x
                      2
                    
                  
                  
                    
                      y
                      2
                    
                  
                  
                    1
                  
                
                
                  
                    
                      x
                      3
                    
                  
                  
                    
                      y
                      3
                    
                  
                  
                    1
                  
                
              
              
            
            .
          
        
      
    
  




These equations are parametric in d. Setting d equal to any non-zero number and substituting it into these equations will yield one solution set.
Accordingly, block 1108 represents defining the touch plane as the plane that intersects the location of the touch point and also generates proper coordinates for the known location of the landmarks. In practice, the calibration routine can allow for some variance from the ideal mathematical solution, such as providing for a margin of error in the plane definition.
Although the examples above referred to single-touch calibration, the same principles could be used in a calibration sequence based on two touches, such as by using two touches and one landmark or by using multiple touches and landmarks to ensure greater precision. Additionally, inferring a plane based on the landmarks may be used in other contexts—for example, a triangulation-based position detection algorithm may rely on a four-point calibration sequence to determine bearings relative to two cameras (e.g., cameras arranged as in FIGS. 10C-D). Two of the four points may be inferred based on the landmarks in some embodiments.
FIG. 13 illustrates yet another embodiment of single-point calibration. In this example, rather than relying upon landmarks, the plane is determined solely from the object moving toward the single “touch point” and the object's mirror image. Particularly, this method utilizes the line connecting the object's image and its mirror image, which is normal to the touch plane, and the mid point along this line (which corresponds to the touch point and thus lies on the plane). As can be seen in FIG. 13, the plane'normal (line from a point 31a of the object and a corresponding point 31b on its mirror image) and this mid point 31c on the touch plane fully define the touch plane.
A corresponding method can comprise imaging the object and its mirror image using one or more imaging sensors. Based on the motion of the object and its mirror image, the line (31a-31b) can be determined, with the midpoint found to define the plane. As is known, in a three-dimensional space, one way of defining a plane is by specifying a point and a normal vector to the plane.
Let r0 be the position vector of some known point P0 in the plane, and let n be a nonzero vector normal to the plane. The idea is that a point P with position vector r is in the plane if and only if the vector drawn from P0 to P is perpendicular to n. Recalling that two vectors are perpendicular if and only if their dot product is zero, it follows that the desired plane can be expressed as the set of all points r such that

N(dot)(r−r0)=0

which expands to

nx(x−x0)+ny(y−y0)+nz(z−z0)=0

The various systems discussed herein are not limited to any particular hardware architecture or configuration. As was noted above, a computing device can include any suitable arrangement of components that provide a result conditioned on one or more inputs. Suitable computing devices include multipurpose microprocessor-based computer systems accessing stored software, but also application-specific integrated circuits and other programmable logic, and combinations thereof. Any suitable programming, scripting, or other type of language or combinations of languages may be used to implement the teachings contained herein in software.
Embodiments of the methods disclosed herein may be executed by one or more suitable computing devices. Such system(s) may comprise one or more computing devices adapted to perform one or more embodiments of the methods disclosed herein. As noted above, such devices may access one or more computer-readable media that embody computer-readable instructions which, when executed by at least one computer, cause the at least one computer to implement one or more embodiments of the methods of the present subject matter.
As an example programming can configure a processing unit of digital signal processor (DSP) or a CPU of a computing system to carry out an embodiment of a method to determine the location of a plane and to otherwise function as noted herein.
When software is utilized, the software may comprise one or more components, processes, and/or applications. Additionally or alternatively to software, the computing device(s) may comprise circuitry that renders the device(s) operative to implement one or more of the methods of the present subject matter.
Any suitable computer-readable medium or media may be used to implement or practice the presently-disclosed subject matter, including, but not limited to, diskettes, drives, magnetic-based storage media, optical storage media, including disks (including CD-ROMS, DVD-ROMS, and variants thereof), flash, RAM, ROM, and other memory devices, and the like.
While the present subject matter has been described in detail with respect to specific embodiments thereof, it will be appreciated that those skilled in the art, upon attaining an understanding of the foregoing may readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, it should be understood that the present disclosure has been presented for purposes of example rather than limitation, and does not preclude inclusion of such modifications, variations and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art

## Claims

1. A method for calibrating a coordinate detection system, the method comprising:
capturing an image above a touch surface positioned on a body, the image captured by at least one camera positioned outside an area defined by the touch surface; and
identifying, by a processor, a plane corresponding to the touch surface based on at least three points defining the plane, wherein identifying the plane comprises identifying at least one point of the plane by determining a touch point based on tracking an image of an object and a mirror image of the object as reflected by the touch surface.

2. The method set forth in claim 1, wherein the plane is identified using the identified touch point and data in the image corresponding to a point of the object and a mirror image of the point of the object, the point of the object and mirror image of the point of the object defining the plane normal.

3. The method set forth in claim 1, wherein at least one of the at least three points is the midpoint of a line between a point of the object and a mirror image of the point of the object, wherein the line is normal to the plane.

4. The method set forth in claim 1, wherein the plane is identified using the identified touch point and data in the image corresponding to at least two features of the body.

5. The method set forth in claim 4, wherein the at least two features each comprise a tab or protrusion in a bezel surrounding the touch surface.

6. The method set forth in claim 4, wherein the plane is identified using the identified touch point and data in the image corresponding to mirror images of each of the at least two features of the body.

7. The method set forth in claim 1, wherein the at least one camera is positioned on the body.

8. The method set forth in claim 4, wherein the at least one camera is positioned on a second body connected to the body by a plurality of hinges, the plurality of hinges corresponding to the at least two features.

9. The method set forth in claim 1, wherein the processor is configured to identify the plane periodically during operation of a position detection algorithm or during a calibration sequence prior to carrying out a position detection algorithm.

10. A coordinate detection system, comprising:
a touch surface mounted to or corresponding to a body;
at least one camera outside an area defined by the touch surface and configured to capture an image above the touch surface;
an illumination system comprising a light source, the illumination system configured to project light from the light source through the touch surface; and
a processor configured to execute program code and further configured to identify a plane corresponding to the touch surface based on at least three points defining the plane, wherein identifying the plane comprises identifying at least one point of the plane as a touch point by tracking an image of an object and a mirror image of the object as reflected by the touch surface.

11. The system set forth in claim 10, wherein the plane is identified using the identified touch point and data in the image corresponding to a point of the object and a mirror image of the point of the object, the point of the object and mirror image of the point of the object defining the plane normal.

12. The system set forth in claim 10, wherein at least one of the at least three points is the midpoint of a line between a point of the object and a mirror image of the point of the object, wherein the line is normal to the plane.

13. The system set forth in claim 10, wherein the plane is identified using the identified touch point and data in the image corresponding to at least two features of the body.

14. The system set forth in claim 13, wherein the at least one camera is positioned on a second body connected to the body by a plurality of hinges, the plurality of hinges corresponding to the at least two features.

15. The system set forth in claim 13, wherein the at least two features each comprise a tab or protrusion in a bezel surrounding the touch surface.

16. The system set forth in claim 10, wherein the touch surface corresponds to a display screen or a material positioned above the display screen.

17. The system set forth in claim 10, wherein the at least one camera is positioned on the body.

18. A computer program product comprising a tangible, nontransitory computer-readable medium embodying program code for calibrating a coordinate detection system, the program code comprising:
code that configures a processing device to capture an image above a touch surface positioned on a body; and
code that configures the processing device to identify a plane corresponding to the touch surface based on determining a touch point by detecting an image of an object and a mirror image of the object, the plane identified from the touch point and at least two additional points.

19. The computer program product set forth in claim 18, wherein the plane is identified using the touch point and data in the image corresponding to a point of the object and a mirror image of the point of the object, the point of the object and mirror image of the point of the object defining the plane normal.

20. The computer program product set forth in claim 18, wherein at least one of the at least three points is the midpoint of a line between a point of the object and a mirror image of the point of the object, wherein the line is normal to the plane.

21. The computer program product set forth in claim 18, wherein the plane is identified using the identified touch point, data indicating an expected location of at least two features of the body, and data in the image corresponding to images of the at least two features.

22. The computer program product set forth in claim 18, wherein the program code configures the processing device to identify the plane periodically during operation of a position detection algorithm or during a calibration sequence prior to carrying out a position detection algorithm.

23. The computer program product set forth in claim 18, wherein the program code configures the processing device to identify the plane by solving for a plane that includes the touch point and which also corresponds to a plane of reflection between the features of the body and mirror images thereof as detected.

24. The method of claim 1, wherein the plane comprises a surface including each of the three points that is parallel to the touch surface.

25. The method of claim 1, further comprising determining an orientation of the plane with respect to the at least one camera.

26. The method of claim 25, wherein the at least one camera is positioned in an additional plane different from the plane corresponding to the touch surface.