Bounding box gesture recognition on a touch detecting interactive display
The invention provides a method and apparatus for identifying gestures performed by a user to control an interactive display. The gestures are identified based on a bounding box enclosing the points at which a user contacts a touch sensor corresponding with the display surface. The invention thus permits the use of inexpensive and highly reliable grid-based touch sensors that provide a bounding box to describe contact information. In identifying the gestures, the position, motion, shape, and deformation of the bounding box may all be considered. In particular, the center, width, height, aspect ratio, length of the diagonal, and orientation of the diagonal of the bounding box may be determined. A stretch factor, defined as the maximum of the ratio of the height of the bounding box to the width of the bounding box and the ratio of the width of the bounding box to the height of the bounding box, may also be computed. Finally, gestures may be identified based on the changes in time of these characteristics and quantities.
Latest Touchtable, Inc. Patents:
- VISUALIZATION OF COMPLEX DATA SETS AND SIMULTANEOUS SYNCHRONIZATION OF SUCH DATA SETS
- METHOD AND APPARATUS CONTINUING ACTION OF USER GESTURES PERFORMED UPON A TOUCH SENSITIVE INTERACTIVE DISPLAY IN SIMULATION OF INERTIA
- Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
- Method and apparatus continuing action of user gestures performed upon a touch sensitive interactive display in simulation of inertia
- Bounding box gesture recognition on a touch detecting interactive display
This application claims priority to U.S. patent application Ser. No. 10/913,105 entitled Touch-Detecting Interactive Display filed Aug. 6, 2004, and to U.S. provisional patent application No. 60/647,343 entitled Touch Table Detection and Gesture Recognition Technologies filed Jan. 25, 2005; all of which are incorporated herein in their entirety by this reference thereto.
BACKGROUND1. Technical Field
The invention relates to interactive displays. More particularly, the invention relates to a method and apparatus for determining user gestures to control a touch detecting, interactive display.
2. Description of the Prior Art
There are many situations in which one or more individuals interactively explore image-based data. For example, a team of paleontologists may wish to discuss an excavation plan for a remote dig site. To do so, they wish to explore in detail the geographic characteristics of the site as represented on digitized maps. In most laboratories, this requires the team either to huddle around a single workstation and view maps and images on a small display, or sit at separate workstations and converse by phone. The activity of exploring imagery is much more easily and effectively accomplished with the users surrounding a single large display. A particularly effective approach is a touch detecting, interactive display such as that disclosed in the related patent application entitled Touch Detecting Interactive Display, filed Aug. 6, 2004, Ser. No. 10/913,105. In such a system, an image is produced on a touch detecting display surface. A touch sensor determines the locations at which a user contacts the display surface, and based on the position and motions of these locations, user gestures are determined. The display is then updated based on the determined user gestures.
A wide variety of mechanisms are available for determining the locations at which a user contacts the touch sensor. Often, a grid-based approach is used in which measurements acquired on the perimeter of the touch sensor indicate a horizontal coordinate x1 and a vertical coordinate y1 for each contact location.
This method of determining and reporting the locations of contacts differentiates grid-based sensors from many other touch sensor technologies such as the Synaptics TouchPad™ found on many laptop computers. By measuring changes in capacitance near a wire mesh, the TouchPad™ determines contact positions directly and reports an absolute position to the host device. Clearly, an ability to directly ascertain and report the position of a contact is in many situations advantageous. However, capacitive sensors do not scale well, and are therefore impractical or prohibitively expensive for incorporation into large interactive displays.
A number of methods have been proposed for recognizing user gestures through tracking the position and motion of one or more contact locations determined by a touch sensor. Clearly, these methods encounter difficulty when used in conjunction with a grid-based sensor that cannot disambiguate the location of multiple simultaneous contact points. It would thus be advantageous to define a set of user gestures in terms of the bounding box surrounding the detected contact locations. Such a set of user gestures would permit the use of inexpensive, highly reliable, and highly scalable grid-based touch sensors yet still allow users to interact with the display in an intuitive manner.
SUMMARYThe invention provides a method and apparatus for identifying gestures performed by a user to control an interactive display. The gestures are identified based on a bounding box enclosing the points at which a user contacts a touch sensor corresponding with the display surface. The invention thus permits the use of inexpensive and highly reliable grid-based touch sensors that provide a bounding box to describe contact information. In identifying the gestures, the position, motion, shape, and deformation of the bounding box may all be considered. In particular, the center, width, height, aspect ratio, length of the diagonal, and orientation of the diagonal of the bounding box may be determined. A stretch factor, defined as the maximum of the ratio of the height of the bounding box to the width of the bounding box and the ratio of the width of the bounding box to the height of the bounding box, may also be computed. Finally, gestures may be identified based on the changes in time of these characteristics and quantities.
Gestures that may be identified include pan, zoom, and rotate gestures. Display commands that may be associated with the identified gestures include, panning, zooming, and rotation commands that, when executed, provide a translation, a change in the magnification, or a change in the orientation of the displayed imagery. In a preferred embodiment of the invention, a pan gesture is identified only if the motion of the bounding box is greater than a predetermined motion threshold and the deformation of the bounding box is less than a predetermined deformation threshold. A zoom gesture is identified only if the stretch factor is greater than a predetermined stretch threshold and is increasing. A rotate gesture is identified only if the deformation of the bounding box is greater than a predetermined deformation threshold. Ambiguity in the direction of rotation implied by a rotate gesture is resolved by a convention in which the bounding box is specified with a particular pair of opposing corners, e.g. lower left and upper right, determining the relative intensity of contact locations, or measuring the torque applied by the user to the display surface.
The invention provides a method and apparatus for identifying gestures performed by a user to control an interactive display. The gestures are identified based on a bounding box enclosing the points at which a user contacts a touch sensor corresponding with the display surface. The invention thus permits the use of inexpensive and highly reliable grid-based touch sensors that provide a bounding box to describe contact information.
Corresponding with the display surface is a touch sensor 155 that is capable of detecting when and where a user touches the display surface. Based upon the contact information provided by the touch sensor, user gestures are identified, and a command associated with the user gesture is determined. The command is executed, altering the displayed imagery in the manner requested by the user via the gesture. For example, in
In the preferred embodiment of the invention the touch sensor and the display are physically coincident as shown In
As noted above, cost and reliability often motivate the use of a grid-based sensor in touch detecting displays that, as shown in
In the preferred embodiment of the invention, gestures are identified using the procedure detailed below and illustrated in
-
- 1. The bounding box width w, height h, center {right arrow over (C)}, and diagonal {right arrow over (d)}, are determined based on the corners of the bounding box.
- 2. The aspect ratio of the bounding box
-
- and the stretch factor of the bounding box
-
- are determined.
- 3. The rate of change of each of these parameters is determined based on a history of each parameter. More specifically, {dot over (w)}, {dot over (h)}, {right arrow over (Ċ)}, and {right arrow over ({dot over (d)} are determined, where {dot over (Q)} denotes the first derivative with respect to time of the quantity Q. The time derivatives may be computed using one or more of the previous parameter values, that is, using first or higher order derivative approximations.
- 4. The rate of change of the minimum and maximum of the length and width
-
- and
-
- are determined. The time derivatives may be computed using one or more of the previous parameter values, that is, using first or higher order derivative approximations.
- 5. Then,
- If {dot over (w)}<ε1, {dot over (h)}<ε1, and |{right arrow over (Ċ)}|≧εc, that is, if the bounding box is moved significantly but not deformed significantly, a pan gesture is identified.
- If
-
-
- that is, if a stretch factor of an already stretched bounding box is increased or decreased significantly, a zoom gesture is identified.
- If |{dot over (w)}|≧ε1, |{dot over (h)}|≧ε1, and |{right arrow over (Ċ)}|<εc, that is, if the bounding box is deformed significantly but not moved significantly, a rotate gesture is identified.
- Else, no gesture is identified.
ε1 and εc are predetermined thresholds corresponding to the ability of a typical user to hold the corresponding bounding box parameter constant while executing a gesture. εS is a minimum stretch factor above which gestures may be considered an inward or outward zoom. The values of the thresholds may be adjusted to yield a desired gesture classification behavior.
-
After a gestures is identified, a display command consistent with the identified gesture is determined, and the display is updated appropriately. In the preferred embodiment of the invention:
-
- If a pan gesture is identified, the display is translated at constant magnification and orientation in the direction of. {right arrow over (Ċ)} at a rate proportional to |{right arrow over (Ċ)}|.
- If a zoom gesture is identified, the magnification of the display is increased or decreased about the center of the display at a rate proportional to |d/dt (max[w,h])|. Alternatively, the display the magnification of the display may be changed about the current bounding box center {right arrow over (Ċ)}.
- If a rotate gestures is identified, the display is rotated about the center of the display at a rate proportional to
-
- Preferably, the display is rotated about its center.
- Alternatively, the display may be rotated about the current bounding box center {right arrow over (Ċ)}.
In the preferred embodiment of the invention, the identification procedure is performed upon or shortly after initiation of contact by the user. Once the gesture has been identified, the identification is maintained until the contact is terminated. Throughout the duration of the contact, the display is continually updated, preferably each time updated bounding box information is received from the touch sensor. Initiation and termination of the single gesture are therefore determined based upon the appearance and disappearance of the bounding box, which is typically an event explicitly declared by the touch sensor.
Experimentation has indicated that such a rigid gesture classification is preferred by users, because it is difficult in practice to execute gestures that are purely of one type. Classifying the bounding box motion and deformation as a gesture of one type averts the frustration experienced by a user when, for example, an attempt to zoom results in both a zooming and a rotating motion of the display.
Nonetheless, in an alternative embodiment of the invention, the identification procedure is performed more frequently. For example, the identification procedure may be performed each time updated bounding box information is received from the touch sensor. In this approach, a single user motion, as delineated by the appearance and disappearance of a bounding box, potentially contains pan, zoom, and rotate gestures. Over the duration of the gesture, the display is updated with a combination of panning, zooming, and rotational motions that, to the user, appear smooth and continuous. Successful implementation of this embodiment requires especially careful selection of the thresholds ε1, εc, and εS.
In the above gesture identification procedure, the gesture for rotation remains partly ambiguous. Specifically, the direction of rotation cannot be determined from the bounding box alone. The pairs of points [C1,C2] and [C1,C2′] of
It should be noted that although the invention is described above with reference to a bounding box defined by two contact locations, the bounding box may also be defined for the case of three or more contact points. For a set of contact points C, defined by contact locations (xi,yi), the bounding box is defined by the corners (min[xi],min[yi]) and (max[xi],max[yi]).
While the description herein references a grid-based sensor incorporating a series of infrared emitters and receivers, the invention is equally applicable to other grid-based sensors. For example, the invention may be used with laser break-beam grids, resistive grids, capacitive grids, and arrays of acoustic, e.g. ultrasonic, emitters and microphones. The invention may also be used with non-grid-based sensors that return contact information in the form of a bounding box.
Finally, while the invention is described with reference to a rectangular bounding box, alternative embodiments of the invention may used non-rectangular bounding boxes. For example, a touch sensor incorporating corner based sensors that determine an angular bearing to each point of contact may return contact information in the form of a quadrilateral bounding box. The techniques described herein can be applied to a generalized quadrilateral bounding box with appropriate definition of a bounding box center, width, height, aspect ratio, and diagonal. The invention may thus be used in conjunction with sensors that are not strictly grid-based.
Although the invention is described herein with reference to several embodiments, including the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the invention.
Accordingly, the invention should only be limited by the following Claims.
Claims
1. A method of operating an interactive display comprising the steps of:
- displaying imagery on an imaging surface;
- providing a touch sensor corresponding to said imaging surface;
- detecting at least two contact locations at which at least one user contacts said touch sensor to control said display;
- determining a bounding box enclosing said at least two contact locations;
- identifying a specific user gesture based on said bounding box; said identifying step including a step of determining a stretch factor comprising a maximum of a ratio of said bounding box width to said bounding box height and a ratio of said bounding box height to said bounding box width;
- associating said user gesture with a corresponding display command; and
- executing said display command to alter the display of said imagery.
2. The method of claim 1, said identifying step further comprising the step of considering any of:
- a position of said bounding box;
- a motion of said bounding box;
- a shape of said bounding box; and
- a deformation of said bounding box.
3. The method of claim 2, said identifying step further comprising the step of identifying a pan gesture by executing the steps of:
- determining if said motion is greater than a predetermined motion threshold; and
- determining if said deformation is less than a predetermined deformation threshold.
4. The method of claim 2, said identifying step further comprising the step of identifying a rotate gesture by executing the steps of:
- determining if said deformation is greater than a predetermined deformation threshold; and
- determining if said motion is less than a predetermined threshold.
5. The method of claim 1, said identifying step further comprising the step of determining any of:
- a center of said bounding box;
- a width of said bounding box;
- a height of said bounding box;
- an aspect ratio of said bounding box;
- a length of a diagonal of said bounding box; and
- an orientation of a diagonal of said bounding box.
6. The method of claim 1, said identifying step further comprising the step of determining a time rate of change of any of:
- a center of said bounding box;
- a width of said bounding box;
- a height of said bounding box;
- an aspect ratio of said bounding box;
- a length of a diagonal of said bounding box; and
- an orientation of a diagonal of said bounding box.
7. The method of claim 1, said identifying step further comprising the step of determining a time rate of change of a stretch factor comprising a maximum of a ratio of said bounding box width to said bounding box height and a ratio of said bounding box height to said bounding box width.
8. The method of claim 1, wherein said gesture comprises any of:
- a pan gesture;
- a zoom gesture; and
- a rotate gesture.
9. The method of claim 1, wherein said display command effects any of:
- a translation of said imagery;
- a change in magnification of said imagery; and
- a change in orientation of said imagery.
10. The method of claim 9, wherein a direction of said change in the orientation of said imagery is determined by any of the steps of:
- designating a particular diagonally opposed orientation of a pair of points used to specify said bounding box;
- determining a relative intensity for said at least one contact location; and
- measuring a torque applied to said touch sensor by said user.
11. The method of claim 1, said identifying step further comprising the step of identifying a zoom gesture by executing the steps of:
- determining if said stretch factor is greater than a predetermined stretch threshold; and
- determining if said stretch factor is either increasing or decreasing.
12. An interactive display comprising:
- means for displaying imagery on an imaging surface;
- a touch sensor corresponding to said imaging surface;
- means for detecting at least two contact locations at which at least one user contacts said touch sensor to control said display;
- means for determining a bounding box enclosing said at least two contact locations;
- means for identifying a specific user gesture based on said bounding box, including means for determining a stretch factor comprising a maximum of a ratio of said bounding box width to said bounding box height and a ratio of said bounding box height to said bounding box width;
- means for associating said user gesture with a corresponding display command; and
- means for executing said display command to alter the display of said imagery.
13. The display of claim 12, said means for identifying further comprising means for identifying any of:
- a position of said bounding box;
- a motion of said bounding box;
- a shape of said bounding box; and
- a deformation of said bounding box.
14. The display of claim 13, said means for identifying further comprising means for identifying a pan gesture, comprising:
- means for determining if said motion is greater than a predetermined motion threshold; and
- means for determining if said deformation is less than a predetermined deformation threshold.
15. The display of claim 13, said means for identifying further comprising means for identifying a rotate gesture, comprising:
- means for determining if said deformation is greater than a predetermined deformation threshold; and
- means for determining if said motion is less than a predetermined threshold.
16. The display of claim 12, said means for identifying further comprising means for determining any of:
- a center of said bounding box;
- a width of said bounding box;
- a height of said bounding box;
- an aspect ratio of said bounding box;
- a length of a diagonal of said bounding box; and
- an orientation of a diagonal of said bounding box.
17. The display of claim 12, said means for identifying further comprising means for determining a time rate of change of any of:
- a center of said bounding box;
- a width of said bounding box;
- a height of said bounding box;
- an aspect ratio of said bounding box;
- a length of a diagonal of said bounding box; and
- an orientation of a diagonal of said bounding box.
18. The display of claim 12, said means for identifying further comprising means for determining a time rate of change of a stretch factor comprising a maximum of a ratio of said bounding box width to said bounding box height and a ratio of said bounding box height to said bounding box width.
19. The display of claim 12, wherein said gesture comprises any of:
- a pan gesture;
- a zoom gesture;
- and a rotate gesture.
20. The display of claim 12, wherein said display command effects any of:
- a translation of said imagery;
- a change in magnification of said imagery; and
- a change in orientation of said imagery.
21. The display of claim 20, wherein a direction of said change in the orientation of said imagery is determined by any of:
- means for designating a particular diagonally opposed orientation of a pair of points used to specify said bounding box;
- means for determining a relative intensity for said at least one contact location; and
- means for measuring a torque applied to said touch sensor by said user.
22. The display of claim 12, said means for identifying further comprising means for identifying a zoom gesture, comprising:
- means for determining if said stretch factor is greater than a predetermined stretch threshold; and
- means for determining if said stretch factor is either increasing or decreasing.
3478220 | November 1969 | Milroy |
3673327 | June 1972 | Johnson |
3764813 | October 1973 | Clement |
3775560 | November 1973 | Ebeling |
3860754 | January 1975 | Johnson |
4144449 | March 13, 1979 | Funk |
4247767 | January 27, 1981 | O'Brien |
4463380 | July 31, 1984 | Hooks, Jr. |
4507557 | March 26, 1985 | Tsikos |
4517559 | May 14, 1985 | Deitch |
4722053 | January 26, 1988 | Dubno |
4742221 | May 3, 1988 | Sasaki |
4746770 | May 24, 1988 | McAvinney |
4782328 | November 1, 1988 | Denlinger |
5105186 | April 14, 1992 | May |
5239373 | August 24, 1993 | Tang et al. |
5436639 | July 25, 1995 | Arai et al. |
5448263 | September 5, 1995 | Martin |
5483261 | January 9, 1996 | Yasutake |
5512826 | April 30, 1996 | Hardy et al. |
5528263 | June 18, 1996 | Platzker |
5982352 | November 9, 1999 | Pryor |
6008798 | December 28, 1999 | Mato, Jr. |
6057845 | May 2, 2000 | Dupouy |
6141000 | October 31, 2000 | Martin |
6215477 | April 10, 2001 | Morrison |
6232957 | May 15, 2001 | Hinckley |
6333753 | December 25, 2001 | Hinckley |
6335722 | January 1, 2002 | Tani et al. |
6335724 | January 1, 2002 | Takekawa |
6337681 | January 8, 2002 | Martin |
6352351 | March 5, 2002 | Ogasahara |
6384809 | May 7, 2002 | Smith |
6414671 | July 2, 2002 | Gillespie |
6421042 | July 16, 2002 | Omura |
6429856 | August 6, 2002 | Omura |
6504532 | January 7, 2003 | Ogasahara |
6518959 | February 11, 2003 | Ito |
6531999 | March 11, 2003 | Trajkovic |
6532006 | March 11, 2003 | Takekawa |
6563491 | May 13, 2003 | Omura |
6594023 | July 15, 2003 | Omura |
6608619 | August 19, 2003 | Omura et al. |
6636635 | October 21, 2003 | Matsugu |
6654007 | November 25, 2003 | Ito |
6723929 | April 20, 2004 | Kent |
6747636 | June 8, 2004 | Martin |
6764185 | July 20, 2004 | Beardsley |
6765558 | July 20, 2004 | Dotson |
6788297 | September 7, 2004 | Itoh et al. |
6791700 | September 14, 2004 | Omura |
6803906 | October 12, 2004 | Morrison |
6810351 | October 26, 2004 | Katsurahira |
6825890 | November 30, 2004 | Matsufusa |
6828959 | December 7, 2004 | Takekawa |
6888536 | May 3, 2005 | Westerman |
6922642 | July 26, 2005 | Sullivan |
6999061 | February 14, 2006 | Hara et al. |
7339580 | March 4, 2008 | Westerman et al. |
7474296 | January 6, 2009 | Obermeyer et al. |
20010019325 | September 6, 2001 | Takekawa |
20010022579 | September 20, 2001 | Hirabayashi |
20010026268 | October 4, 2001 | Ito |
20020036617 | March 28, 2002 | Pryor |
20020185981 | December 12, 2002 | Dietz |
20030001825 | January 2, 2003 | Omura et al. |
20030063775 | April 3, 2003 | Rafii et al. |
20030137494 | July 24, 2003 | Tulbert |
20030231167 | December 18, 2003 | Leung |
20040046744 | March 11, 2004 | Rafii et al. |
20050052427 | March 10, 2005 | Wu et al. |
20060022955 | February 2, 2006 | Kennedy |
20060026521 | February 2, 2006 | Hotelling et al. |
20060026536 | February 2, 2006 | Hotelling et al. |
20070252821 | November 1, 2007 | Hollemans et al. |
20070268273 | November 22, 2007 | Westerman et al. |
20080211785 | September 4, 2008 | Hotelling et al. |
0881591 (B1) | December 1998 | EP |
0881592 (B2) | December 1998 | EP |
2001/175807 | June 2001 | JP |
- “Diamond Touch Applications” Mitsubishi Electric Research Laboratories, Aug. 2, 2004.
- M. Wu, C. Shen, K. Ryall, C. Forlines, and R. Balakrishnan. (2006); Gesture Registration, Relaxation, and Reuse for Multi-Point Direct-Touch Surfaces; in Proceedings of IEEE Tabletop 2006 Conference on Horizontal Interactive Human-Computer Systems, Adelaide, South Australia; 8 pages. M.Wu and R. Balakrishnan; (2003).
- Multi-Finger and Whole Hand Gestural Interaction Techniques for Multi-User Tabletop Displays; ACM CHI Letters, 5(2); 193-202. ACM UIST 2003 Symposium on User Interface Software & Technology, Vancouver, Canada; Nov. 2003; pp. 193-202.
- DiamondTouch Applications-Essenther, Frolines, Ryall, Shipman Diamond Touch for Multi-User Multi-Touch Applications-ACM Conference on Computer Supported Cooperative Work Nov. 2002 (CSCW 2002, TR2002-048).
- NCSA (National Center for Supercomputing Applications) GM Slab Console—Johnson and Curtis Univ. Of Illinois, 2003.
- NCSA (National Center for Supercomputing Applications) GM Slab Function—Johnson and Curtis Univ. Of Illinois, 2003.
- Smart Board™ for Flat Panel Displays (Interactive Overlay)—Smart Technologies Inc., 2003.
- SmartSkin: An Infrastructure for Freehand Manipulation on Interactive Surfaces—J. Rekimoto, Interaction Laboratory Sony Computer Science Laboratories, Inc. 2002.
- The Laser Wall—Paradiso and Strickon—Media Lab 1997.
- TechoOnLine—Touchscreens Provide a Robust and Intuitive User Interface—ELO TouchSystems by Charles H. Small, 2002.
Type: Grant
Filed: May 20, 2005
Date of Patent: May 18, 2010
Patent Publication Number: 20060288313
Assignee: Touchtable, Inc. (Pasadena, CA)
Inventor: W. Daniel Hillis (Encino, CA)
Primary Examiner: Jimmy H Nguyen
Attorney: Glenn Patent Group
Application Number: 11/134,802
International Classification: G06F 3/041 (20060101);