All of the above is incorporated herein by reference in its entirety.
The present invention relates to a method and apparatus for detecting a touch point in a touch-sensitive device.
Referring to
The touch sensitive surface may be an optically transparent planar waveguide through which the beams pass by total internal reflection, or a surface over which the beams pass in close proximity to the surface and substantially parallel to the surface.
In the case of a waveguide, the material used could be a transparent sheet of plastic or glass. An object such as a finger or a stylus coming into contact with the transparent waveguide will have a higher refractive index than the air normally surrounding the waveguide. Over the area of contact, the increase in refractive index will disturb the total internal reflection of the beams within the waveguide. The disruption of total internal reflection increases the light leakage from the waveguide, attenuating any beams passing through the position of the touch event. Correspondingly, the removal of the touching object will cause the attenuation of the passing beams to be reduced. Such changes in attenuation are detectable at the output of the associated detectors. When the touch sensitive surface is a surface over which the beams pass, an object which is not optically transparent at the wavelength in use will attenuate or interrupt the beams passing through the object location. In either case, a beam is deemed interrupted if its amplitude, as detected by the relevant detector, falls below a predetermined or adaptively calculated threshold value Th.
The emitters 14, 22 and detectors 18, 24 are driven by a controller 200 via drive circuits 210. The controller 200, which may, for example, comprise a suitably programmed microprocessor or a PLA, also serves to process the data output from the detectors, after analogue to digital conversion, to determine the location of a touch point. The beams are scanned in sequence and logic in the CPU can determine the intersection point of one or more interrupted beams and deduce the position of the interrupting object. The object must be large enough to detectably attenuate at least one beam in one axis and at least one beam in the orthogonal axis, so resolution is typically quite poor unless large numbers of emitters and/or detectors are used. By scanning the beams we mean sampling the detector outputs to determine the amplitude of the, or each, beam falling on each detector.
The use of an orthogonal grid of beams is effective when at most one opaque object is to be located in the touch sensitive area because the central position of that object can be completely described by a pair of orthogonal coordinates yielded by the scanning process.
U.S. Pat. No. 4,301,447 (Funk et al.) discloses a mechanism for detecting the interruption of the beams between any given emitter and some or all of the detectors along the opposing edge of the touch sensitive surface for the purposes of increasing the resolution of the touch sensing mechanism.
Patents EP 0601651A1 and U.S. Pat. No. 5,635,724 disclose methods for processing the detector outputs from such a scanning system in order to resolve the centrelines of the shadows cast when an interrupting object is placed in the path of an emitter with a diverging pattern of radiation.
In these disclosures, the resolution is improved, but there is no accommodation for multiple simultaneous touch events. As shown in
In
IBM Technical Disclosure Bulletin Vol. 28, No. 4, September 1985 pages 1760-1762 (“Enhanced Optical Touch Input Panel”), M. Johnson, discloses the use of a bitmap of the touch sensitive surface onto which is mapped the triangular shadow areas of such diverging interrupted beams from successively activated emitters around the periphery of the touch sensitive surface. The method disclosed consists of initialising all of the bitmap points to the same value at the outset and setting the bitmap points to the opposite value at all the points along beams which are not interrupted when the first emitter is activated. Subsequently, the first emitter is deactivated and the next emitter is activated and again any points along beams, which are not interrupted are set to the opposite value to that set at initialisation. Having sequentially activated all of the emitters and having processed the bitmap points in this way for each emitter activation time, the final bitmap will retain the initialised values only in those points which are traversed by beams which were interrupted for all emitter activation times and so are most likely to correspond to real touch events.
The use of a constant resolution Cartesian bitmap with the minimum spacing between intersection points throughout would be very wasteful of RAM storage and processing power. To apply the bitmapped method of IBM in a typical application (perhaps 16 emitters and 16 detectors) with a reasonable response time means either resolution must be reduced or considerable resources made available. As such, this bitmapped approach is only reasonable for low resolution applications.
It is therefore an object of the present invention to resolve the location of one or more simultaneous touch events within the touch sensitive area with high resolution and without requiring excessive processing power or storage or the use of expensive optical sensors such as integrated linear detector arrays or cameras.
Accordingly, there is provided a method for determining a touch point in a touch-sensitive optical device comprising a plurality of optical emitters and a plurality of optical detectors, the optical emitters and the optical detectors defining there between a plurality of optical beam paths forming an optical beam intersection pattern extending over an area, the method comprising the steps of:
detecting a modulation of energy transmitted along each of a pair of optical beam paths;
assigning a candidate touch point at the intersection of said pair of modulated beams;
analyzing predetermined other beams near to or coincident with said candidate touch point; and
responsive to said analysis, determining whether the candidate touch point is an actual touch point.
Preferably, said step of assigning is based on a function of the degree of modulation of the predetermined other beams.
Preferably, the contributions of the predetermined other beams are weighted in said function dependent on the degree of modulation.
Preferably, the weighting for each predetermined other beam depends upon one or more of: the proximity of the predetermined other beam to the candidate touch point; the angle of the predetermined other beam to the angle of the beams defining the candidate touch point; and the number of predetermined other beams.
Preferably, the step of analyzing is based on predetermined other beam intersection points near to or coincident with said candidate touch point.
Preferably, the method further comprises the step of retrieving stored data from a database defining the predetermined other beams or predetermined other beam intersections for each beam intersection point, said step of analyzing based at least in part on said stored data.
Preferably, the stored data includes respective weighting and/or proximity values relating to the predetermined other beams or predetermined other beam intersections.
Preferably, the beam intersection pattern is symmetrical about at least one axis of the area of optical beam paths, wherein said step of retrieving comprises retrieving stored data regarding beams on one side of said at least one axis, the method further comprising the step of extrapolating the beam data for the beams on the symmetrically opposite side of said at least one axis based on said stored data.
Preferably, the method further comprises the step of designating said modulation as an interruption of the beam if said modulation exceeds a threshold level, and wherein in said step of assigning, said candidate touch point is assigned at the intersection of a pair of interrupted beams.
Preferably, said threshold level is an adaptive threshold level.
Preferably, said step of designating comprises comparing the detected modulation with a predefined modulation level for that touch point region.
Preferably, the method comprises the step of retrieving data indicative of a typical modulation level for an actual touch point for that touch point region.
Preferably, said data comprises one or more of the following: the number of beams passing through the touch point region; the number of intersections of beams falling within the touch point region; or maximum modulation to be expected in the touch point region.
Preferably, the method further comprises the step of grouping actual touch points into clusters based on a search radius distance from a cluster member to at least one other member of the same cluster.
Preferably, said beam intersection pattern is non-uniform and said search radius distance varies according to the position of the cluster member in the beam intersection pattern.
Preferably, the method further comprises the step of estimating the centre of a cluster as the average position of all of the cluster members.
Preferably, the method further comprises the step of estimating the centre of a cluster as the centre of a bounding rectangle around the cluster.
Preferably, the method further comprises the step of estimating the centre of a cluster as the average position of outlying cluster members.
Preferably, said estimation step is based on a weighted average, the weights depending on the degree of modulation of the beams at each point contributing to the average.
Preferably, the method further comprises the step of determining the orientation of a non-circular touch contact area.
Preferably, in said determining step, the orientation is determined by mathematically rotating at least two confirmed touch points lying on or near the perimeter of the contact area around the estimated centre of the contact area and determining the minimum or maximum average absolute value of the distance between each touch point and a fixed axis.
Preferably, the method comprises the steps of:
Preferably, said point validity value is initialised to 0.
Preferably, step (iv) comprises subtracting a threshold value from said measured beam strength.
Preferably, step (viii) comprises dividing said point validity value by the number of predetermined other beams.
Preferably, the method further comprises the step of storing an indication of said actual touch point in a validated point list.
Preferably, the method further comprises the step of determining if a candidate touch point is near the boundary of a touch event, and wherein said steps of analyzing and determining whether the candidate touch point is an actual touch point are carried out only in respect of those candidate touch point near the boundary of a touch event.
There is also provided a touch-sensitive optical device comprising a plurality of optical emitters and a plurality of optical detectors, the optical emitters and the optical detectors arranged relative to a touchable surface such that energy transmitted by the emitters is received by the detectors along multiple intersecting beams which pass adjacent the surface, and wherein touching the surface at a beam causes a detectable modulation of the energy transmitted along the beam, the device further comprising a processing means operable to perform the following steps:
(i) detect a modulation of energy transmitted along an optical beam path;
(ii) assign a candidate touch point at the intersection of a pair of modulated beams;
(iii) analyze predetermined other beams near to or coincident with said candidate touch point; and
(iv) responsive to said analysis, determine whether the candidate touch point is an actual touch point.
There is further provided a touch sensitive optical control device comprises a set of light emitters and a set of light detectors arranged relative to a touchable surface such that light transmitted by the emitters is received by the detectors along multiple intersecting beams which pass transversely of the surface and touching the surface at a beam causes a detectable modulation of the light transmitted along the beam, such modulation if sufficiently large being registered as an interruption of the beam by an associated processing means, wherein the processing means defines candidate touch points at the intersections of interrupted beams and confirms or not each candidate touch point as an actual touch point by examining predetermined other beams (test beams) near to or coincident with the candidate touch point.
Since test beams are likely to intersect at a point which is close to or coincident with the candidate touch point, test beam intersection points may optionally be examined to confirm each candidate touch point as an actual touch point.
The invention is especially valuable in a multi-touch system, where the intersection of two beams alone may be inconclusive.
The invention provides a low cost optical touch overlay with high resolution and multi-touch capability.
Embodiments of the invention provide further details about the touch points, such as the centre, size and orientation of each touch point contact area as well as the efficient calculation of these values.
Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:
In the present embodiment, in order to resolve the ambiguity of multiple touches within a touch area, a plurality of beam intersections are tested for interruption, where the tested beams are coincident with, or close to, each indicated candidate touch point. The principle is shown in
In the present embodiment, emitters with wide radiant angles and detectors with wide acceptance angles are arranged around the entire periphery of a touch sensitive surface to maximise the number and angular span of beam angles available to resolve ambiguous beam intersections. This is shown in
If desired, and as shown in
In either case the array of emitters and detectors is driven by drive circuits 210 and a controller 200, generally such as shown and described with respect to
In the present embodiment, two beams which have been interrupted in a way consistent with a touch event are tested to see if they intersect and if so, the intersection of the pair is considered to be a candidate touch point. A candidate point is validated (confirmed) or eliminated by inspection of coincident or nearby beams (test beams). If an attenuating object is actually present at the candidate touch point, any test beam passing through that point should be similarly interrupted. Test beams which are near to the candidate intersection point will typically exercise a greater influence on the validation process than those which are more distant.
In the example shown in
The weighting value associated with a test beam which is coincident with the candidate touch point, but not interrupted, will normally be set high enough to outweigh the combined validating effect of any number of nearby or coincident beams which are interrupted. This is to ensure that an uninterrupted beam passing through a point prevents that point becoming validated as a touch point. However, there may be circumstances (such as a low signal-to-noise ratio in the scanning mechanism) where a smaller difference between the negating effect of an uninterrupted beam and the validating effect of an interrupted beam is appropriate.
Ideally, many or all of the beams within close range of a candidate touch point are tested to determine whether it represents a genuine touch event or not. If a limited number of beams are to be tested for each candidate point to minimise processing time, the beams selected should be chosen at least in part by their angles relative to the angles of the beams in the candidate point; testing with a wide range of beam angles increases the chance of eliminating a false touch point.
Therefore, the weighting values for a beam should include some combination of proximity to candidate touch point, difference in angle from the beams defining the candidate touch point and the number (or density) of beams near to the candidate touch point. Weighing values can be calculated as needed or can be retrieved from lookup tables or lists.
To determine the intersection point of two beams, well known geometric and algebraic methods may be used, and given the limited number of beam angles found in such a system, advantageous use may be made of trigonometric lookup tables as is well known.
Further computational advantage may be gained by using lists or lookup tables of information about the intersection point of at least two beams, such as the Cartesian coordinates of the point and the nearby beams or coincident beams or nearby points which should be tested to validate the point.
Optionally, a candidate point is validated (confirmed) or eliminated by inspection of coincident or nearby intersection points of beams. Test beam intersection points which are near to the candidate point will typically exercise a greater influence on the validation process than those which are more distant.
The criteria used will be similar to those used for nearby beams, such as the depth of modulation of the beams intersecting at the test intersection point, the angles of the beams intersecting at the test intersection point, the proximity of the test intersection point to the candidate touch point and the number (or density) of beams close to the candidate touch point.
Such a table facilitates the rapid testing of a candidate touch point against many local reference beams or points to see if it represents an actual interruption or is an artifact of other interruptions.
Starting with a candidate touch point, step 600, a parameter called the validity value of the point is set to zero at step 602. At step 604 the identity of the first of the coincident/nearby test beams to be used in validating the candidate touch point is fetched from the beam intersection list. At step 606 the strength of this test beam is obtained. This value may be a 1-bit binary value of 0 or 1 (1 corresponding to full transmission between the emitter and the detector at each end of the beam) or a higher resolution value in the same range.
At step 608 an attenuation margin is calculated by subtracting the threshold value Th from the beam strength (the beam strength is normalised in the range 0-1 and Th is a value between 0 and 1 corresponding to full transmission and complete interruption respectively). Next, step 610, the beam weight code is fetched from the beam intersection list and at step 612 the weight code is converted to a weight value using a weight table (
Step 618 tests whether there are more test beams to be evaluated in respect of the current candidate touch point, and steps 604 to 616 are repeated for each test beam.
When all test beams associated with the current candidate touch point have been evaluated, step 620 divides the cumulative point validity value by the number of test beams used to get the average. If the average is greater than zero, step 622, the data for that touch point is validated and added to a validated point list, step 624.
The result of the processing shown in
These candidate points Q and R could be validated using the processing shown in
In the modified process, the vertical beams 82 and 86 and horizontal beams 84 and 88 near to candidate touch point Q are tested to validate point Q. Since only beam 86 is not interrupted, the weighted sum of the other interrupted beams will validate the point Q. The vertical beams 78 and 94 and horizontal beams 80 and 92 are tested to validate candidate touch point R. However, since all four beams 74, 94, 80 and 92 are interrupted, the modified algorithm would eliminate candidate touch point R.
The benefit of this modification is that it has a preference for validating candidate touch points near the boundary of a touch event. This can be used to reduce the amount of data generated, particularly when the touch events have large contact areas. Also, most of the useful data about a touch event, such as the area of contact, can be determined just from the outlying points at its boundary.
The flowchart of
In the example arrangement of
This symmetry can be used to reduce the storage space required by reference data structures associated with the beam pattern. For example, the beam intersection list in
For example, the beam line segment 106 continues outside of the quadrant 112 to complete a path between emitter E15 and detector D10. Intersections with the section of beam line segment 106 which continues through the quadrant adjacent to the reference quadrant 112 can be determined by an axial symmetry about the Y axis, so that the beam endpoints E15 and D10 are translated to E6 and D11 respectively.
Beam 118 in
The beam density varies over the touch sensitive surface (as can be seen in
A lookup table can be used to store the density of beams and/or beam intersection points for each region of the touch sensitive surface. This table will facilitate the validation processing for a candidate touch point by allowing the detected amount of modulation of beams or the intersection points of beams in the vicinity of the candidate touch point to be related to the possible amount of modulation of beams or intersection points of beams for that region of the touch sensitive surface.
The table can store the values as a number of beams or beam intersection points for a given region of the touch sensitive surface. Optionally, the stored values represent the maximum or typical modulation levels expected within the given region of the touch sensitive surface when a real touch exists within that region.
Referring to
Referring still to
Since the spacing between beam intersection points varies greatly across the touch sensitive surface, the clustering algorithm may use a maximum clustering search radius determined for the particular part of the touch sensitive surface which is being searched or for the particular point around which the search is to be done. The search radius may be calculated as needed or held in a lookup table or a list such as the list shown in
In a similar way to the validation only of candidate touch points around which there is at least one uninterrupted beam, a validated touch point may be discarded from a cluster if all of the beam intersection points around it are also validated touch points. Small touch contact areas which generate a cluster with only a single validated touch point can still be valid, but the position resolution will be that of the underlying intersection pattern in the region of the touch event. Depending on the application, clusters of small area may be discarded as spurious. Excessively large clusters may also be discarded.
Further processing of clusters can be performed to determine the centre point and size (span and area) of each cluster, its rotational symmetry and, if it is significantly non-symmetrical by rotation, its orientation.
To estimate the centre position of a cluster, an average of the X ordinates and an average of the Y ordinates of the points in the cluster can be performed. The resulting average X and average Y values can be used as an estimated centre point. Since the distribution of beam intersection points over the touch sensing surface is not uniform, a more representative centre point may be estimated by averaging the X ordinates and Y ordinates of only the outlying members around the boundary of a cluster.
In some applications, an indication of the bounding area of the cluster by using the smallest and largest X ordinates of any points in the cluster and the smallest and largest Y ordinates of any points in the cluster. The depth of modulation of the beams at a cluster member point can be used as a weighting factor for improved resolution. The radial distance from the estimated centre of the cluster to the outlying points in the cluster can also be used to determine the span of the touch contact area.
Well known methods can be used to calculate the area of a cluster, such as dividing the bounding outline of the cluster into triangular polygons (the estimated centre of the cluster can be used as one apex of each triangle) and adding the areas of all of the polygons.
The validated points in the cluster are mathematically rotated by the controller around the estimated centre of the cluster by successive amounts over a 180 degree range. For each angle of rotation, the average absolute Y ordinate of the points in the rotated cluster is calculated and the minimum average value will be obtained when the orientation axis of the cluster is substantially aligned with the X axis. This process can be performed using all of the points in a cluster, or just the points on or near the perimeter of the cluster.
The variation in the average absolute Y value through all of the test angles indicates the degree of rotational uniformity of the cluster. A large variation indicates that the cluster shape is not approximately circular. Ideally, there will only be one pronounced minimum during the rotation to indicate that the cluster has a distinct main axis of orientation.
The cluster orientation can be used as an additional parameter to be passed to a processing system to which the touch overlay is connected, along with the size, centre location and other data relating to every touch event. Changes in cluster orientation can be applied as a rotary motion to controls or other graphics which may be rendered on the associated display panel. For example, a rotary audio level control drawn graphically on a display under the touch overlay could be turned up by placing a finger over the displayed control substantially parallel to the touch overlay and, while remaining in contact with the touch overlay, turning the finger clockwise and causing the associated graphical control to point to a higher level value. Placing two fingers which are tightly together on the control and turning the whole hand will give a similar result.
The angle between the centres of two separated clusters can be used in a similar way.
In
In general, candidate touch points can be generated from intersecting beams passing between a linear array of emitters along one side of the touch sensitive surface and a parallel array of detectors along the opposing side. Beams used for validating a candidate touch point can pass from the same array emitters to the same array of detectors, so a second axis of emitters and detectors is not necessarily required to implement the present invention. This facilitates robust detection of a touch with an absolute minimum number of emitters and detectors.
A panel traversed by beams can, in addition to the detection of touch events, detect the operation of mechanical control devices arranged along the beam path. For example, a mechanical button control may be inserted along a beam path whereby the button control presents a minimal attenuation to optical energy when the button actuator is in its resting position, but introduces significant optical attenuation when the button actuator is pressed. This may be accomplished by introducing an opaque vane into the path of the beam when the button is pressed. Various mechanical designs for control devices may be used to modulate the optical energy passing along the beams such that the status of such control devices can be detected by processing the signals from the optical detectors.
Although the present invention is primarily intended for use with discrete light detectors such as phototransistors or photodiodes, it may be advantageously be applied to systems making use of light-dependent resistors, integrated linear arrays, cameras or other multi-element optical detection devices.
Although the present invention has been described using beam attenuation as the mode of modulation attributable to a touch, other modulation types, such as the increased intensity of a beam due to reflection off a touching object or due to focusing by a touching objected are also contemplated and within the scope of the invention
Using the invention, the storage and processing requirements are modest, even in a high-resolution implementation
The present invention is not limited to the embodiments described herein but can be amended or modified without departing from the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
S2008/0652 | Aug 2008 | IE | national |
S2008/0827 | Oct 2008 | IE | national |
This application is a continuation of U.S. application Ser. No. 13/689,456, filed Nov. 29, 2012, entitled “Method and Apparatus For Detecting A Multitouch Event In An Optical Touch-Sensitive Device”, which application is a continuation of U.S. application Ser. No. 13/059,817, filed Feb. 18, 2011, entitled “Method and Apparatus For Detecting A Multitouch Event In An Optical Touch-Sensitive Device”, now issued as U.S. Pat. No. 8,350,831, which application is the U.S. National Phase Application under 35 U.S.C. 371 of International Application No. PCT/EP2009/005736, “Method and Apparatus for Detecting a Multitouch Event in an Optical Touch-Sensitive Device,” filed on Aug. 7, 2009; which claims priority to IE application S2008/0652 filed Aug. 7, 2008 and to IE application S2008/0827 filed Oct. 10, 2008; This application is also a continuation of U.S. application Ser. No. 13/689,444, filed Nov. 29, 2012, entitled “Method and Apparatus For Detecting A Multitouch Event In An Optical Touch-Sensitive Device”, which application is a continuation of U.S. application Ser. No. 13/059,817, filed Feb. 18, 2011, entitled “Method and Apparatus For Detecting A Multitouch Event In An Optical Touch-Sensitive Device”, now issued as U.S. Pat. No. 8,350,831, which application is the U.S. National Phase Application under 35 U.S.C. 371 of International Application No. PCT/EP2009/005736, “Method and Apparatus for Detecting a Multitouch Event in an Optical Touch-Sensitive Device,” filed on Aug. 7, 2009; which claims priority to IE application S2008/0652 filed Aug. 7, 2008 and to IE application S2008/0827 filed Oct. 10, 2008.
Number | Name | Date | Kind |
---|---|---|---|
3673327 | Johnson et al. | Jun 1972 | A |
3867628 | Brown | Feb 1975 | A |
4067925 | Zahner | Jan 1978 | A |
4243879 | Carroll et al. | Jan 1981 | A |
4247767 | O'Brien et al. | Jan 1981 | A |
4254333 | Bergstrom | Mar 1981 | A |
4267443 | Carroll et al. | May 1981 | A |
4301447 | Funk et al. | Nov 1981 | A |
4384201 | Carroll et al. | May 1983 | A |
4459476 | Weissmueller et al. | Jul 1984 | A |
4467193 | Carroll | Aug 1984 | A |
4498001 | Smoot | Feb 1985 | A |
4591710 | Komadina et al. | May 1986 | A |
4645920 | Carroll et al. | Feb 1987 | A |
4672364 | Lucas | Jun 1987 | A |
4684801 | Carroll et al. | Aug 1987 | A |
4703316 | Sherbeck | Oct 1987 | A |
4713534 | Masters et al. | Dec 1987 | A |
4725726 | Hasegawa et al. | Feb 1988 | A |
4746770 | McAvinney | May 1988 | A |
4761637 | Lucas et al. | Aug 1988 | A |
4794248 | Gray | Dec 1988 | A |
4799044 | Masters et al. | Jan 1989 | A |
4818859 | Hough | Apr 1989 | A |
4847606 | Beiswenger | Jul 1989 | A |
4855590 | Bures et al. | Aug 1989 | A |
4893120 | Doering et al. | Jan 1990 | A |
4899138 | Araki et al. | Feb 1990 | A |
4912316 | Yamakawa | Mar 1990 | A |
4943806 | Masters et al. | Jul 1990 | A |
4963859 | Parks | Oct 1990 | A |
4988983 | Wehrer | Jan 1991 | A |
4990901 | Beiswenger | Feb 1991 | A |
5136156 | Nounen et al. | Aug 1992 | A |
5146081 | Heikkinen et al. | Sep 1992 | A |
5355149 | Casebolt | Oct 1994 | A |
5414413 | Tamaru et al. | May 1995 | A |
5635724 | Higgins | Jun 1997 | A |
5714909 | Jackson | Feb 1998 | A |
5838308 | Knapp et al. | Nov 1998 | A |
6429857 | Masters et al. | Aug 2002 | B1 |
6495832 | Kirby | Dec 2002 | B1 |
6556149 | Reimer et al. | Apr 2003 | B1 |
6597348 | Yamazaki et al. | Jul 2003 | B1 |
6690363 | Newton | Feb 2004 | B2 |
6703999 | Iwanami et al. | Mar 2004 | B1 |
6765193 | Sumriddetchkajorn | Jul 2004 | B2 |
6803825 | Chiou et al. | Oct 2004 | B2 |
6972753 | Kimura et al. | Dec 2005 | B1 |
7265748 | Ryynanen | Sep 2007 | B2 |
7295329 | Gruhlke et al. | Nov 2007 | B2 |
7310090 | Ho et al. | Dec 2007 | B2 |
7355593 | Hill et al. | Apr 2008 | B2 |
7385170 | Krumberger | Jun 2008 | B1 |
7435940 | Eliasson et al. | Oct 2008 | B2 |
7442914 | Eliasson et al. | Oct 2008 | B2 |
7465914 | Eliasson et al. | Dec 2008 | B2 |
7538759 | Newton | May 2009 | B2 |
7948479 | Liu et al. | May 2011 | B2 |
8167698 | Van De Wijdeven et al. | May 2012 | B2 |
8218154 | Ostergaard et al. | Jul 2012 | B2 |
8338723 | Kim | Dec 2012 | B2 |
8350831 | Drumm | Jan 2013 | B2 |
8531435 | Drumm | Sep 2013 | B2 |
8723839 | Drumm | May 2014 | B2 |
8723840 | Drumm | May 2014 | B2 |
20020075243 | Newton | Jun 2002 | A1 |
20040252091 | Ma et al. | Dec 2004 | A1 |
20040263482 | Goertz | Dec 2004 | A1 |
20050162398 | Eliasson et al. | Jul 2005 | A1 |
20050248540 | Newton | Nov 2005 | A1 |
20060026535 | Hotelling et al. | Feb 2006 | A1 |
20060114237 | Crockett et al. | Jun 2006 | A1 |
20060227120 | Eikman | Oct 2006 | A1 |
20060255248 | Eliasson | Nov 2006 | A1 |
20060256090 | Huppi | Nov 2006 | A1 |
20070052693 | Watari | Mar 2007 | A1 |
20070125937 | Eliasson et al. | Jun 2007 | A1 |
20070152985 | Ostergaard et al. | Jul 2007 | A1 |
20070165008 | Crockett | Jul 2007 | A1 |
20070201042 | Eliasson et al. | Aug 2007 | A1 |
20080007540 | Ostergaard | Jan 2008 | A1 |
20080007542 | Eliasson et al. | Jan 2008 | A1 |
20080088603 | Eliasson et al. | Apr 2008 | A1 |
20080150906 | Grivna | Jun 2008 | A1 |
20080165133 | Blumenberg et al. | Jul 2008 | A1 |
20080189046 | Eliasson et al. | Aug 2008 | A1 |
20080192015 | Lieberman | Aug 2008 | A1 |
20080252619 | Crockett et al. | Oct 2008 | A1 |
20090122020 | Eliasson et al. | May 2009 | A1 |
20090273794 | Ostergaard et al. | Nov 2009 | A1 |
20100039405 | Chen et al. | Feb 2010 | A1 |
20100073320 | Liao et al. | Mar 2010 | A1 |
20100182280 | Juni | Jul 2010 | A1 |
20100188364 | Lin et al. | Jul 2010 | A1 |
20100193259 | Wassvik | Aug 2010 | A1 |
20100245292 | Wu | Sep 2010 | A1 |
20110069018 | Atkins et al. | Mar 2011 | A1 |
20110074734 | Wassvik et al. | Mar 2011 | A1 |
20110074735 | Wassvik et al. | Mar 2011 | A1 |
20110090176 | Christiansson et al. | Apr 2011 | A1 |
20110102374 | Wassvik et al. | May 2011 | A1 |
20110227874 | Fahraeus et al. | Sep 2011 | A1 |
20110242056 | Lee et al. | Oct 2011 | A1 |
Number | Date | Country |
---|---|---|
1433557 | Jul 2003 | CN |
101071356 | Nov 2007 | CN |
101075168 | Nov 2007 | CN |
101110008 | Jan 2008 | CN |
101149656 | Mar 2008 | CN |
0304820 | Mar 1989 | EP |
601651 | Jun 1994 | EP |
601651 | Jun 1994 | EP |
2133537 | Jul 1984 | GB |
2171195 | Aug 1986 | GB |
7-230352 | Aug 1995 | JP |
8-147091 | Jun 1996 | JP |
2000-284899 | Oct 2000 | JP |
2003-330603 | Nov 2003 | JP |
2004-126929 | Apr 2004 | JP |
2007-207281 | Aug 2007 | JP |
2008-533581 | Aug 2008 | JP |
2011-525651 | Sep 2011 | JP |
WO 0140922 | Jun 2001 | WO |
WO 2006095320 | Sep 2006 | WO |
WO 2008004103 | Jan 2008 | WO |
WO 2008032270 | Mar 2008 | WO |
WO 2010036262 | Apr 2010 | WO |
WO 2011049513 | Apr 2011 | WO |
Entry |
---|
Chinese Office Action, Chinese Application No. 200980139612.6, Feb. 22, 2013, 22 pages. |
Japanese Office Action, Japanese Application No. 2011-521484, Feb. 26, 2013, 6 pages. |
United States Office Action, U.S. Appl. No. 13/689,456, Apr. 4, 2013, 20 pages. |
United States Office Action, U.S. Appl. No. 13/689,456, Jul. 17, 2013, 21 pages. |
Chinese Second Office Action, Chinese Application No. 200980139612.6, Oct. 23, 2013, 14 pages. |
European Examination Report, European Application No. 09777732.0, Oct. 28, 2013, 5 pages. |
PCT International Search Report and Written Opinion, PCT/EP2009/005736, Dec. 7, 2009, 10 pages. |
PCT International Preliminary Report on Patentability, PCT/EP2009/005736, Feb. 8, 2011, 11 pages. |
PCT International Search Report and Written Opinion, PCT/EP2009/005739, Feb. 5, 2010, 7 Pages. |
Johnson M.et al., “Enhanced Optical Touch Input Panel,” IP.COM PriorArt Database, Technical Disclosure, IP.COM Inc., Sep. 1, 1985, 3 Pages, West Henrietta, NY. |
“WPI Acc No. 2008-D85919/200828,” Dialog (R) File 351: Derwent WPI, Thomson Reuters, 2011, 5 pages. |
“WPI Acc No. 2008-D86320/200828,” Dialog (R) File 351: Derwent WPI, Thomson Reuters, 2011, 3 pages. |
“WPI Acc No. 2008-F41190/200836,” Dialog (R) File 351: Derwent WPI, Thomson Reuters, 2011, 3 pages. |
“WPI Acc No. 2008-F03364/200835,” Dialog (R) File 351: Derwent WPI, Thomson Reuters, 2011, 4 pages. |
Cummings, T.F., “Transparent Keyless Keyboard for Variable Terminal Applications,” IBM Technical Disclosure Bulletin, Sep. 1977, pp. 1609-1611, vol. 20, No. 4. |
Baumann, D.D., “Optical Data Input Device,” IBM Technical Disclosure Bulletin, Mar. 1969, pp. 1281-1282, vol. 11, No. 10. |
Thompson, D.R., “Finger Position Detect Method,” IBM Technical Disclosure Bulletin, Dec. 1980, p. 3289, vol. 23, No. 7B. |
Callens, P., “Optical Keyboard Device and Technique,” IBM Technical Disclosure Bulletin, Nov. 1983, pp. 2763-2764, vol. 26, No. 6. |
“Enhanced Optical Touch Input Panel,” IBM Technical Disclosure Bulletin, Sep. 1985, pp. 1760-1762, vol. 28, No. 4. |
United States Office Action, U.S. Appl. No. 13/689,444, Aug. 19, 2013, 22 pages. |
United States Office Action, U.S. Appl. No. 13/689,444, Apr. 4, 2013, 33 pages. |
United States Office Action, U.S. Appl. No. 13/689,456, Jul. 17, 2013. 21 pages. |
United States Office Action, U.S. Appl. No. 13/059,817, Jun. 1, 2012, 31 pages. |
Chinese Third Office Action, Chinese Application No. 200980139612.6, Apr. 25, 2014, 7 pages. |
PCT Invitation to Pay Additional Fees, PCT Application No. PCT/IB2013/001927, Apr. 22, 2014, 6 pages. |
Chinese Fourth Office Action, Chinese Application No. 200980139612.6, Jan. 15, 2015, 4 pages (with concise explanation of relevance). |
Korean Office Action, Korean Application No. 10-2011-7005406, Jun. 30, 2015, 5 pages. |
Number | Date | Country | |
---|---|---|---|
20140210792 A1 | Jul 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13369444 | Nov 2012 | US |
Child | 14221564 | US | |
Parent | 13059817 | US | |
Child | 13369444 | US | |
Parent | 14221564 | US | |
Child | 13369444 | US | |
Parent | 13689456 | Nov 2012 | US |
Child | 14221564 | US | |
Parent | 13059817 | US | |
Child | 13689456 | US |