DE102009019910B4 - Gesture recognition - Google Patents

Gesture recognition Download PDF

Info

Publication number
DE102009019910B4
DE102009019910B4 DE102009019910.1A DE102009019910A DE102009019910B4 DE 102009019910 B4 DE102009019910 B4 DE 102009019910B4 DE 102009019910 A DE102009019910 A DE 102009019910A DE 102009019910 B4 DE102009019910 B4 DE 102009019910B4
Authority
DE
Germany
Prior art keywords
touch
state
gesture
module
state machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102009019910.1A
Other languages
German (de)
Other versions
DE102009019910A1 (en
Inventor
Alan Bowens
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Solas Oled Ltd Ie
Original Assignee
Solas Oled Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41254167&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE102009019910(B4) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US12/254,043 external-priority patent/US8526767B2/en
Application filed by Solas Oled Ltd filed Critical Solas Oled Ltd
Publication of DE102009019910A1 publication Critical patent/DE102009019910A1/en
Application granted granted Critical
Publication of DE102009019910B4 publication Critical patent/DE102009019910B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04164Connections between sensors and controllers, e.g. routing lines between electrodes and connection pads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0443Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a single layer of sensing electrodes

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

Berührungssensorvorrichtung, die umfasst:einen Sensor der einen empfindlichen Bereich aufweist, der sich in wenigstens einer Dimension erstreckt, und angeordnet ist, um Erfassungssignale in Reaktion auf die Nähe eines Objekts zu dem empfindlichen Bereich auszugeben,eine Positionsverarbeitungseinheit, die betrieben werden kann, um Positionen von Interaktionen mit dem empfindlichen Bereich aus einer Analyse der Erfassungssignale zu berechnen und eine zeitliche Abfolge von Daten auszugeben, die die Interaktionspositionen auf dem Sensor angeben, die jeweiligen Berührungen entsprechen, undeine Gestenverarbeitungseinheit, die betrieben werden kann, um die zeitliche Abfolge von Daten zu analysieren und eine oder mehrere Gesten aus der Abfolge von Daten zu unterscheiden, wobei die Gestenverarbeitungseinheit mit einem Gestenerkennungscode codiert ist, der eine Vielzahl von Zustandsmodulen einer Zustandsmaschine umfasst, wobei die Vielzahl von Zustandsmodulen umfasst:ein erstes Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine erste Einfachberührungsgeste zu erkennen und eine erste Ausgabe zu generieren, die auf der ersten Einfachberührungsgeste basiert,ein zweites Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine zweite Einfachberührungsgeste zu erkennen undeine zweite Ausgabe zu generieren, die auf der zweiten Einfachberührungsgeste basiert, undein Mehrfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann,um die erste Ausgabe direkt von dem ersten Einfachberührungs-Zustandsmodul zu empfangen,um die zweite Ausgabe direkt von dem zweiten Einfachberührungs-Zustandsmodul zu empfangen, undum wenigstens eine Mehrfachberührungsgeste zu erkennen, die wenigstens auf der ersten und der zweiten Ausgabe basiert, wobei das erste Einfachberührungs-Zustandsmodul, das zweite Einfachberührungs-Zustandsmodul und das Mehrfachberührungs-Zustandsmodul unterscheidbar sind, undum die erkannte Mehrfachberührungsgeste auszugeben.A touch sensor device comprising: a sensor having a sensitive area extending in at least one dimension and arranged to output detection signals in response to the proximity of an object to the sensitive area, a position processing unit operable to determine positions of interactions with the sensitive area from an analysis of the detection signals and to output a time sequence of data indicating the interaction positions on the sensor corresponding to the respective touches, and a gesture processing unit which can be operated to analyze the time sequence of data and distinguish one or more gestures from the sequence of data, wherein the gesture processing unit is encoded with a gesture recognition code comprising a plurality of state modules of a state machine, the plurality of state modules comprising: a first single touch State module of the state machine operable to recognize at least one first single touch gesture and generate a first output based on the first single touch gesture, a second single touch state module of the state machine operable to perform at least one second single touch gesture recognize and generate a second output based on the second single-touch gesture, and a multi-touch state module of the state machine operable to receive the first output directly from the first single-touch state module to output the second output directly from the second single-touch To receive the state module, and to recognize at least one multi-touch gesture based at least on the first and second outputs, the first single-touch status module, the second single-touch status module and the multi-touch status module being distinguishable, u nd to output the recognized multiple touch gesture.

Description

Die vorliegende Erfindung betrifft die Gestenerkennung und insbesondere die Gestenerkennung durch die Verarbeitung einer zeitlichen Abfolge von Positionseingaben, die über einen zweidimensionalen (2D) Berührungssensor wie etwa einen kapazitiven oder resistiven Berührungssensor empfangen werden. Die Erfindung kann auch auf eindimensionale (1D) Berührungssensoren angewendet werden, wobei die Prinzipien auch auf dreidimensionale Sensoren angewendet werden können. Außerdem kann die Erfindung auf Näherungssensoren angewendet werden, bei denen kein physikalischer Kontakt, d. h. keine Berührung mit einer Sensorfläche erfolgt. Die Erfindung kann weiterhin auf Sensorflächen angewendet werden, die durch den Finger eines Bedieners oder durch einen Stift bedient werden können.The present invention relates to gesture recognition and, more particularly, to gesture recognition by processing a time sequence of position inputs received via a two-dimensional (2D) touch sensor such as a capacitive or resistive touch sensor. The invention can also be applied to one-dimensional (1D) touch sensors, and the principles can also be applied to three-dimensional sensors. In addition, the invention can be applied to proximity sensors in which no physical contact, i.e. H. there is no contact with a sensor surface. The invention can also be applied to sensor surfaces that can be operated by the finger of an operator or by a pen.

Kapazitive und resistive 1D- und 2D-Berührungssensoren sind seit vielen Jahren in weiter Verbreitung. Dazu gehören zum Beispiel die Berührungsbildschirme von PDAs, MP3-Playern, Mobiltelefonen oder anderen Multimedia-Geräten. Das anstelle einer Maus vorgesehene Touchpad in Notebook-Computern ist ein weiteres Beispiel für einen kapazitiven 2D-Berührungssensor. 2D-Sensoren sind auch in vielen Haushaltsgeräten wie etwa Öfen und Mixern vorgesehen.Capacitive and resistive 1D and 2D touch sensors have been in widespread use for many years. These include, for example, the touch screens of PDAs, MP3 players, cell phones or other multimedia devices. The touchpad, which is used in place of a mouse in notebook computers, is another example of a 2D capacitive touch sensor. 2D sensors are also found in many household appliances such as ovens and mixers.

Kapazitive 2D-Sensoren wurden häufig ausführlich beschrieben, wie zum Beispiel in den Patenten und Patentanmeldungen US 2005/0041018 A1 , US 2007/0247443 A1 , US 2007/0257894 A1 und US 2007/0279395 A1 des Erfinders Harald Philipp, deren Inhalt hier vollständig unter Bezugnahme eingeschlossen ist.2D capacitive sensors have often been described in detail, for example in patents and patent applications US 2005/0041018 A1 , US 2007/0247443 A1 , US 2007/0257894 A1 and US 2007/0279395 A1 by the inventor Harald Philipp, the entire content of which is hereby incorporated by reference.

Andere Beispiele für Berührungsbildschirme aus dem Stand der Technik werden im Folgenden aufgeführt:

  • US 3,593,115 gibt ein Berührungselement mit einer dreieckigen Form zur Bestimmung einer Objektposition an. Für dieses Element sind jedoch zahlreiche sekundäre Elektrodenverbindungen sowie zwei oder mehr Schichten erforderlich, wodurch die Kosten erhöht werden und die Transparenz reduziert wird.
Other examples of prior art touch screens are listed below:
  • U.S. 3,593,115 indicates a touch element having a triangular shape for determining an object position. However, this element requires numerous secondary electrode connections and two or more layers, thereby increasing the cost and reducing the transparency.

US 5,650,597 gibt ein 2D-Sensorverfahren an, das in seinem aktiven Bereich nur eine Schicht benötigt, aber eine große Anzahl von Elektrodenverbindungen benötigt. Resistive Streifen lösen eine Positionsachse auf, wobei die Genauigkeit von der Toleranz einer großen Anzahl von resistiven Streifen abhängt. Dieses Verfahren unterdrückt jedoch Handschatteneffekte. U.S. 5,650,597 specifies a 2D sensor method that only requires one layer in its active area, but requires a large number of electrode connections. Resistive strips resolve a position axis, the accuracy depending on the tolerance of a large number of resistive strips. However, this method suppresses hand shadow effects.

US 6,297,811 beschreibt einen Berührungsbildschirm, der dreieckige Drahtumrisselektrodenformen verwendet, um Feldgradienten zu erzeugen. Dieses Patent leidet jedoch unter dem Problem, dass es schwierig ist, die Bildschirmgröße zu vergrößern, weil jeweils eine Elektrodenverbindung mit einer Sensorschaltung pro Dreieck erforderlich ist. Es wäre wünschenswert, die Anzahl der Verbindungen zu reduzieren, um die Kosten zu reduzieren und den Aufbau zu vereinfachen. Weiterhin wäre es wünschenswert, solide Formen anstelle der Drahtumrisse zu verwenden, deren Herstellung teurer ist. Dieses Verfahren unterdrückt jedoch keine Handschatteneffekte. U.S. 6,297,811 describes a touch screen that uses triangular wire outline electrode shapes to create field gradients. However, this patent suffers from the problem that it is difficult to enlarge the screen size because it requires one electrode connection with one sensor circuit per triangle. It would be desirable to reduce the number of connections to reduce cost and simplify construction. It would also be desirable to use solid shapes in place of the wire outlines, which are more expensive to manufacture. However, this method does not suppress hand shadow effects.

Eine Gestenerkennung wird seit vielen Jahren in derartigen Einrichtungen verwendet. Ein frühes Beispiel hierfür ist die Zeichenerkennung in PDAs wie etwa in den Originalgeräten von Palm Inc. Eine ziehende Fingerbewegung und das einfache und doppelte Tippen auf dem Touchpad eines Notebooks sind andere seit langem genutzte Beispiele. In letzter Zeit wurde die Gestenerkennung in Handheld-Geräte wie etwa das Apple iPhone (eingetragene Marke) integriert. Außerdem gibt es viele Patentveröffentlichungen aus dem Stand der Technik zu Berührungsbildschirmen, die eine Gestenerkennung verwenden, wobei insbesondere Synaptics, Inc. und in letzter Zeit Apple Computer, Inc. viele derartige Veröffentlichungen getätigt haben.Gesture recognition has been used in such devices for many years. An early example of this is character recognition in PDAs such as the original Palm Inc. devices. Dragging your finger and tapping once and twice on a notebook's touchpad are other long-standing examples. Recently, gesture recognition has been incorporated into handheld devices such as the Apple iPhone (registered trademark). In addition, there are many prior art patent publications on touch screens that use gesture recognition, with Synaptics, Inc. in particular and, more recently, Apple Computer, Inc. having many such publications.

US 2007/152984 A1 von Apple Computer, Inc. gibt ein tragbares Kommunikationsgerät mit einer mehrfach berührbaren Eingabeeinrichtung an, die eine oder mehrere Berührungskontakte und Bewegungen erfasst und eine oder mehrere Operationen auf einem Objekt auf der Basis der einen oder mehreren mehrfachen Kontakte und/der Bewegungen ausführt. US 2007/152984 A1 by Apple Computer, Inc. discloses a portable communication device having a multiple-touch input device that detects one or more touch contacts and movements and performs one or more operations on an object based on the one or more multiple contacts and / or movements.

US 2002/015024 A1 der University of Delaware gibt das gleichzeitige Verfolgen mehrerer Finger- und Handflächenkontakte wie etwa einer Annäherung, einer Berührung und eines Gleitens einer Hand über einen Näherungssensor an. Eine Segmentierungsverarbeitung extrahiert Form-, Positions- und Oberflächennähe-Merkmale für jeden Kontakt, wobei ein Pfadverfolger verwendet wird, um einzelne Aufsetzungen und Abhebungen zu erfassen. Kombinatorische Optimierungsmodule assoziieren den Pfad jedes Kontakts mit einer bestimmten Fingerspitze, dem Daumen oder der Handfläche einer Hand auf der Basis von biomechanischen Beschränkungen und Kontaktmerkmalen. Eine Klassifikation von intuitiven Handkonfigurationen und Bewegungen ermöglicht eine bisher nicht möglich gewesene Integration von Tippen, Ruhen, Zeigen, Scrollen, 3D-Manipulation und Handschrift zu einer vielseitigen und ergonomischen Computereingabeeinrichtung. US 2002/015024 A1 from the University of Delaware discloses tracking multiple finger and palm contacts simultaneously, such as approach, touch, and slide of a hand over a proximity sensor. Segmentation processing extracts shape, position, and surface proximity features for each contact, using a path tracker to detect individual touchdowns and elevations. Combinatorial optimization modules associate the path of each contact with a particular fingertip, thumb, or palm of a hand based on biomechanical constraints and contact features. A classification of intuitive hand configurations and movements enables a previously impossible integration of typing, resting, pointing, scrolling, 3D manipulation and handwriting into a versatile and ergonomic computer input device.

US 5,852,352 gibt ein Berührungspaneel an, das mehrere Berührungen gleichzeitig erfassen kann. In einem xy-Elektrodenarray sind Maxima und Minima in jedem der x- und y-Signale definiert, wobei die Maxima als Fingerberührungen bezeichnet werden. Die Spitzen- und Taldaten in den x- und y-Richtungen werden dann interpoliert, um die Position von einem oder mehreren Fingern auf dem Sensorarray zu identifizieren. U.S. 5,852,352 indicates a touch panel that can detect multiple touches at the same time. In an xy electrode array maxima and minima are defined in each of the x and y signals, where the maxima are referred to as finger touches. The peak and valley data in the x and y directions are then interpolated to identify the position of one or more fingers on the sensor array.

US 6028271 , US 6414671 und US 6750852 sind verwandte Patente von Synaptics, Inc., die eine Gestenerkennung eines Objekts auf einem Berührungssensorfeld und für die Cursorbewegung angeben. Tippende, ziehende, drückende, länger ziehende und variabel ziehende Gesten werden erkannt, indem die Position, der Druck und die Bewegung des leitenden Objekts auf dem Sensorfeld während einer erwarteten Geste analysiert werden, wobei die Signale zu einem Host gesendet werden, der das Auftreten dieser Gesten angibt. US 6028271 , US 6414671 and US 6750852 are related patents owned by Synaptics, Inc. that disclose gesture recognition of an object on a touch sensor panel and for cursor movement. Typing, pulling, pushing, longer pulling and variable pulling gestures are recognized by analyzing the position, pressure and movement of the conductive object on the sensor panel during an expected gesture, with the signals being sent to a host, who is aware of the occurrence of this Indicating gestures.

US2007/176906 A1 von Synaptics, Inc. gibt einen Berührungssensor an, der einen Signalprozessor aufweist, der ausgebildet ist, um zwischen drei Gesten auf der Basis von verschiedenen Fingerbewegungen auf der Sensoreinrichtung zu unterscheiden, und wie in 5 von US2007/17906 A1 gezeigt einen Arbeitsablauf mit einem Ruhezustand und drei gestenspezifischen Zuständen umfasst, die jeweils als erster, zweiter und dritter Ergebniszustand bezeichnet werden. US2007 / 176906 A1 by Synaptics, Inc. discloses a touch sensor that includes a signal processor configured to distinguish between three gestures based on different finger movements on the sensor device, and as in FIG 5 from US2007 / 17906 A1 comprises a workflow with an idle state and three gesture-specific states, each of which is referred to as the first, second and third result state.

Allgemein ist die Rohausgabe aus dem 2D-Berührungssensor eine zeitliche Abfolge von x,y-Koordinaten, die dann durch eine Software oder durch eine mittels einer Software einer höheren Ebene erzeugte Firmware verarbeitet werden, um die Beschaffenheit der eingegebenen Geste zu unterscheiden. Allgemein werden die Rohdaten in benachbarte Berührungssegmente aufgeteilt und dann verarbeitet, um zu bestimmen, welche Gesten deduziert werden können. Die Verarbeitung der Rohdaten zur Identifizierung der Gesten kann in demselben Chip erfolgen, der die Rohdaten erzeugt: Die Rohdaten können aber auch zu einem externen Chip exportiert werden, zum Beispiel mittels einer Übertragung über einen Kommunikationsbus zu der CPU der Einrichtung. Der erste Ansatz wird bevorzugt durch Synaptics verwendet, während der zweite Ansatz zum Beispiel durch in US 2006/0066582 A1 von Apple verwendet wird.
US 2007/046643 A1 offenbart ein Verfahren und eine Vorrichtung zum Identifizieren einer Benutzergeste mit einem Berührungssensor zum Bestimmen von Kontaktinformationen, die Stellen beschreiben, an denen ein Benutzer eine berührungsempfindliche Oberfläche berührt, die einem Bildschirm entspricht. Der Berührungssensor bereitstellt die Kontaktinformationen an ein Gestenidentifikationsmodul, das Statusinformationen verwendet, um eine Benutzergeste zu identifizieren, und als Reaktion darauf einen zugeordneten Bildschirmbefehl an ein Bildschirmsteuerungsmodul ausgibt. Das Bildschirmsteuerungsmodul aktualisiert den Bildschirm basierend auf Bildschirmbefehlen, die vom Gestenidentifikationsmodul empfangen werden.
US 2008/0165141 A1 offenbart ein System, ein Verfahren und eine Software zum Implementieren von Gesten mit berührungsempfindlichen Geräten (wie einem berührungsempfindlichen Display) zum Verwalten und Editieren von Mediendateien auf einem Computergerät oder -system. Insbesondere können gestische Eingaben einer menschlichen Hand über ein berührungs- / näherungsempfindliches Gerät verwendet werden, um Dateien zu steuern, zu bearbeiten und zu manipulieren, beispielsweise Mediendateien, einschließlich Grafikdateien, Fotodateien und Videodateien.
US 2007/0291009 A1 offenbart eine Vorrichtung und ein Verfahren zum Unterscheiden einer bestimmten Geste von mehreren Gesten, die von einem leitenden Objekt auf der Erfassungsvorrichtung unter Verwendung von weniger als drei Zeitintervallen ausgeführt werden. Die Vorrichtung kann eine Erfassungsvorrichtung zum Erfassen eines Vorhandenseins eines leitenden Objekts und eine Verarbeitungsvorrichtung, die mit der Erfassungsvorrichtung gekoppelt ist, zum Unterscheiden der mehreren Gesten umfassen. Das Verfahren kann zwischen einer Tippgeste, einer Doppeltippgeste, einer Ziehgeste und einer Bewegungsgeste unterscheiden.
In general, the raw output from the 2D touch sensor is a time sequence of x, y coordinates which are then processed by software or by firmware generated by means of higher-level software in order to distinguish the nature of the entered gesture. In general, the raw data is divided into adjacent touch segments and then processed to determine which gestures can be deduced. The processing of the raw data to identify the gestures can take place in the same chip that generates the raw data: The raw data can, however, also be exported to an external chip, for example by means of a transmission via a communication bus to the CPU of the device. The first approach is preferred by Synaptics, while the second approach is used, for example, by in US 2006/0066582 A1 used by Apple.
US 2007/046643 A1 discloses a method and apparatus for identifying a user gesture with a touch sensor to determine contact information describing locations where a user touches a touch-sensitive surface corresponding to a screen. The touch sensor provides the contact information to a gesture identification module that uses status information to identify a user gesture and, in response, issues an associated screen command to a screen control module. The screen control module updates the screen based on screen commands received from the gesture identification module.
US 2008/0165141 A1 discloses a system, method, and software for implementing gestures with touch-sensitive devices (such as a touch-sensitive display) for managing and editing media files on a computing device or system. In particular, gestural input from a human hand via a touch / proximity sensitive device can be used to control, edit and manipulate files, for example media files including graphics files, photo files and video files.
US 2007/0291009 A1 discloses an apparatus and method for distinguishing a particular gesture from multiple gestures performed by a conductive object on the sensing device using less than three time intervals. The device may include a detection device for detecting a presence of a conductive object and a processing device coupled to the detection device for distinguishing the plurality of gestures. The method can distinguish between a tap gesture, a double tap gesture, a drag gesture and a movement gesture.

Die Patentliteratur ist zumeist unspezifisch in Bezug darauf, wie die zeitliche Abfolge der Rohdaten zu Gesten gewandelt wird. Der direkte Ansatz sieht vor, dass ein entsprechender Code der höheren Ebene zum Beispiel in C oder in einer anderen geeigneten Programmiersprache geschrieben wird, wobei die Interpretation der zeitlichen Abfolge der Daten unter Verwendung von bedingten Anweisungen wie etwa „if‟, „then“ und „else“ analysiert wird.The patent literature is mostly unspecific with regard to how the temporal sequence of the raw data is converted into gestures. The direct approach provides that a corresponding higher-level code is written, for example, in C or in another suitable programming language, whereby the interpretation of the temporal sequence of the data is carried out using conditional statements such as "if", "then" and " else "is analyzed.

Es ist jedoch schwierig, einen Code zuverlässig und effizient hinzuzufügen, um eine neue Geste in einem vorhandenen Codeblock zu identifizieren und zwischen einer größeren Anzahl von Gesten wie etwa 3 bis 4 oder etwa 10 bis 20 zu unterscheiden. Das Testen des Codes bereitet besondere Schwierigkeiten. Der Grund hierfür liegt allgemein darin, dass sich die Eingabe an einem beliebigen mittleren Punkt in einer zeitlichen Abfolge von x,y,t-Daten auf eine Vielzahl von möglichen Gesten beziehen kann, sodass die Codierung zum Erkennen einer Geste allgemein abhängig von der Codierung zum Erkennen einer anderen Geste ist oder mit dieser verknüpft ist.However, it is difficult to reliably and efficiently add code to identify a new gesture in an existing block of code and to distinguish between a larger number of gestures such as 3-4 or 10-20. Testing the code presents particular difficulties. The reason for this is generally that the input at any intermediate point in a time sequence of x, y, t data can relate to a large number of possible gestures, so that the coding for recognizing a gesture generally depends on the coding for Recognition of another gesture or is linked to it.

Der vorliegenden Erfindung liegt das Problem zugrunde, eine Berührungssensorvorrichtung zum Erkennen der Gesten und zum Berechnen der Positionen eines Objektes von Interaktionen mit dem empfindlichen Bereich bereitzustellen.The problem underlying the present invention is to provide a touch sensor device for recognizing the gestures and for calculating the positions of an object from interactions with the sensitive area.

Das der Erfindung zugrunde liegende Problem wird durch die Gegenstände der unabhängigen Ansprüche gelöst.The problem on which the invention is based is solved by the subject matter of the independent claims.

Die vorliegende Erfindung löst dieses Problem, indem sie den Ansatz einer Zustandsmaschine für den Entwurf und das Schreiben des Gestenerkennungsalgorithmus verwendet. Insbesondere betrifft die Erfindung eine Berührungssensoreinrichtung, die umfasst: wenigstens einen eindimensionalen Sensor, der angeordnet ist, um ein Erfassungssignal in Reaktion auf die Nähe eines Objekts auszugeben; eine Positionsverarbeitungseinheit zum Berechnen der Position einer Interaktion mit dem empfindlichen Bereich aus einer Analyse der Erfassungssignale und zum Ausgeben einer zeitlichen Abfolge von Daten zu den Interaktionspositionen auf dem Sensor; und eine Gestenverarbeitungseinheit, die betreiben werden kann, um die zeitliche Abfolge der Daten zu analysieren und eine oder mehrere Gesteneingaben zu unterscheiden, wobei die Gestenerverarbeitungseinheit mit einem Gestenerkennungscode codiert ist, der eine Vielzahl von miteinander verknüpften Zustandsmodulen umfasst. Die Erfindung betrifft weiterhin ein entsprechendes Signalverarbeitungsverfahren.The present invention solves this problem by using a state machine approach to design and write the gesture recognition algorithm. More particularly, the invention relates to a touch sensor device comprising: at least one one-dimensional sensor arranged to output a detection signal in response to the proximity of an object; a position processing unit for calculating the position of an interaction with the sensitive area from an analysis of the detection signals and for outputting a time sequence of data on the interaction positions on the sensor; and a gesture processing unit operable to analyze the temporal sequence of the data and to distinguish one or more gesture inputs, the gesture processing unit being encoded with a gesture recognition code comprising a plurality of linked state modules. The invention also relates to a corresponding signal processing method.

Der Gestenerkennungscode kann in einer höheren Programmiersprache wie etwa C geschrieben und dann kompiliert und in einem Mikrocontroller-Chip oder einem CPU-Chip eingebettet werden. Vorzugsweise wird der Gestenerkennungscode in denselben Chip geladen, der auch die Berührungssignale von dem Bildschirm interpretiert und die zeitliche Abfolge von Daten erzeugt, wie etwa in einen Mikrocontroller oder in eine andere programmierbare Logikeinrichtung wie etwa ein FPGA (Field Programmable Gate Array). Dieser Ansatz wurde verwendet, um einen zuverlässigen und testbaren Code für Einfachberührungs-Dateneingabebildschirme und auch für Mehrfachberührungs-Dateneingabebildschirme zu erzeugen. Bei einem Einfachberührungs-Bildschirm wird nur eine gleichzeitige Berührung auf dem Bildschirm unterstützt, wobei zu einem bestimmten Zeitpunkt jeweils nur eine x,y-Koordinate ausgegeben wird. Ein Mehrfachberührungs-Dateneingabebildschirm kann mehrere gleichzeitige Berührungen erfassen, wie etwa zwei oder drei gleichzeitige Berührungen.The gesture recognition code can be written in a high level programming language such as C and then compiled and embedded in a microcontroller chip or a CPU chip. The gesture recognition code is preferably loaded into the same chip that also interprets the touch signals from the screen and generates the time sequence of data, such as in a microcontroller or in another programmable logic device such as an FPGA (Field Programmable Gate Array). This approach has been used to generate reliable and testable code for single-touch data entry screens as well as multi-touch data entry screens. In the case of a single-touch screen, only simultaneous touching on the screen is supported, with only one x, y coordinate being output at a time. A multi-touch data entry screen can capture multiple simultaneous touches, such as two or three simultaneous touches.

Die Zustandsmaschine umfasst ein Ruhezustandsmodul, das dem Startzustand entspricht und auch der Zustand ist, zu dem zurückgekehrt wird, nachdem ein Gesteninterpretations-Zustandsmodul verlassen wurde.The state machine comprises an idle state module, which corresponds to the start state and is also the state to be returned to after a gesture interpretation state module has been exited.

In Reaktion auf eine Berührung gibt der Ruhezustand die Steuerung an einen B erührungszu stand.In response to a touch, the idle state gives control to a touch state.

In einer Mehrfachberührungsumgebung wird die Zustandsmaschine in der weiter unten beschriebenen zweiten Ausführungsform derart implementiert, dass mehrere Berührungszustände vorliegen, nämlich einer für eine einfache Berührung, einer für eine zweifache Berührung, einer für eine dreifache Berührung usw., wobei die Steuerung auf der Basis der Anzahl von gleichzeitigen Berührungen, die durch die zeitliche Abfolge von Daten zu diesem Zeitpunkt definiert werden, an den entsprechenden Berührungszustand gegeben wird.In a multi-touch environment, the state machine in the second embodiment described below is implemented such that there are multiple touch states, namely one for a single touch, one for a double touch, one for a triple touch, etc., with control based on the number of simultaneous touches, which are defined by the time sequence of data at this point in time, is given to the corresponding touch state.

Der oben beschriebene Ansatz für die Handhabung von Mehrfachberührungsgesten durch Zweifachberührungs- und Dreifachberührungszustände, die mit Einfachberührungszuständen verknüpft sind, funktioniert gut, wobei jedoch die Umkonfiguration der Zustandsmaschine für das Hinzufügen einer neuen Mehrfachberührungsgeste angesichts des zunehmend komplexen Netzes von Zuständen und Übergängen schwierig ist. Dieses Problem wird durch eine weiter unten beschriebene vierte Ausführungsform der Erfindung gelöst, in der eine Vielzahl von Zustandsmaschinen vorgesehen sind, die jeweils auf eine Einfachberührungs-Gestenerkennung beschränkt sind. Wenn der Gestenerkennungscode konfiguriert ist, um Gesten mit bis zu drei gleichzeitigen Berührungen zu erkennen, dann werden drei derartige Einfachberührungs-Zustandsmaschinen vorgesehen. Weitere Zustandsmaschinen werden für eine Mehrfachberührungs-Gestenerkennung vorgesehen, die jeweils für eine bestimmte Anzahl von gleichzeitigen Berührungen zuständig sind, sodass eine Zweifachberührungs-Zustandsmaschine und optional eine Dreifachberührungs-Zustandsmaschine und weiterhin optionale zusätzliche Zustandsmaschinen für noch größere Anzahlen von gleichzeitigen Berührungen vorgesehen werden. Ein Hauptvorteil dieses Ansatzes besteht darin, dass dieselbe Codebasis für die Handhabung von Einfachberührungen verwendet wird, wobei Zweifachberührungen, Dreifachberührungen oder größere Anzahlen von gleichzeitigen Berührungen unter Verwendung eines separaten, zusätzlich vorgesehenen Codes verarbeitet werden, der in separaten Zustandsmaschinen eingebettet ist.The approach described above for handling multiple-touch gestures through double-touch and triple-touch states associated with single-touch states works well, but reconfiguring the state machine to add a new multiple-touch gesture is difficult given the increasingly complex web of states and transitions. This problem is solved by a fourth embodiment of the invention, described further below, in which a plurality of state machines are provided, each of which is limited to single-touch gesture recognition. If the gesture recognition code is configured to recognize gestures with up to three simultaneous touches, then three such single touch state machines are provided. Further state machines are provided for multi-touch gesture recognition, each of which is responsible for a certain number of simultaneous touches, so that a double-touch state machine and optionally a triple-touch state machine and further optional additional state machines are provided for even larger numbers of simultaneous touches. A major advantage of this approach is that it uses the same code base for handling single touches, processing double touches, triple touches, or larger numbers of simultaneous touches using separate, dedicated code embedded in separate state machines.

Eine Berührung wird gewöhnlich als eine gültige Berührung ausgegeben, wenn bestimmte Kriterien erfüllt werden, wobei ein gewöhnliches Kriterium darin besteht, dass eine Abfolge von Berührungen an einer stabilen x,y-Position oder in einem x,y-Bereich über mehrere Zeitabtastungsinkremente vorhanden sind. Wenn eine Berührung mit einer Dauer von mehr als einer Schwelldauer in dem Berührungszustand erfasst wird, dann geht der Steuerfluss zu einem Drückzustandsmodul über, wobei der Drückzustand zur Handhabung von längeren Berührungen dient. Der Drückzustand ist vorzugsweise ein Superzustand, der mehrere Subzustände umfasst, um zwischen verschiedenen Dauern des Drückens zu unterscheiden und/oder zu gestatten, dass ein sehr langes Drücken als ein wiederholtes Drücken interpretiert wird, was zum Beispiel nützlich für Anwendungen mit einer Eingabe über alphanumerische Tasten sein kann.A touch is usually output as a valid touch when certain criteria are met, with a common criterion being that there is a sequence of touches at a stable x, y position or in an x, y range over multiple time sample increments. If a touch with a duration of more than a threshold duration is detected in the touch state, then the control flow goes to a push state module, the push state being used to handle longer touches. The push state is preferably a superstate that includes multiple substates to distinguish between different durations of presses and / or allow a very long press to be interpreted as a repeated press, which can be useful, for example, for applications with input via alphanumeric keys.

Die Zustandsmaschine weist vorzugsweise auch eine Vielzahl von Zustandsmodulen für das Interpretieren von Gesten einer höheren Ebene auf, wie etwa einen oder mehrere Zustände für das Interpretieren von doppelt tippenden, kurz ziehenden, ziehenden und anderen Gesten. Die Gesten umfassen gewöhnlich diejenigen, die speziell in diesem Dokument beschrieben werden, sowie andere aus dem Stand der Technik bekannte Gesten wie insbesondere diejenigen, die in den oben zitierten Dokumenten aus dem Stand der Technik angegeben werden.The state machine preferably also has a plurality of state modules for interpreting high-level gestures, such as one or more states for interpreting double-tapping, short-dragging, dragging, and other gestures. The gestures usually include those specifically described in this document as well as other gestures known from the prior art, such as in particular those indicated in the prior art documents cited above.

Die Erfindung gibt in einem Aspekt eine Berührungssensoreinrichtung an, die umfasst: einen Sensor mit einem empfindlichen Bereich, der sich in wenigstens einer Dimension erstreckt und angeordnet ist, um Erfassungssignale in Reaktion auf die Nähe eines Objekts zu einem empfindlichen Bereich auszugeben; eine Positionsverarbeitungseinheit, die betrieben werden kann, um Positionen von Interaktionen mit dem empfindlichen Bereich aus einer Analyse der Erfassungssignale zu berechnen und um eine zeitliche Abfolge von Daten auszugeben, die die Interaktionspositionen des Sensors und damit Berührungen angeben; und eine Gestenverarbeitungseinheit, die betrieben werden kann, um die zeitliche Abfolge von Daten zu analysieren, um eine oder mehrere Gesteneingaben aus denselben zu unterscheiden, wobei die Gestenverarbeitungseinheit mit einem Gestenerkennungscode codiert wird, der eine Vielzahl von verknüpften Zustandsmodulen umfasst.The invention provides, in one aspect, a touch sensor device comprising: a sensor having a sensitive area extending in at least one dimension and arranged to output detection signals in response to the proximity of an object to a sensitive area; a position processing unit which can be operated to calculate positions of interactions with the sensitive area from an analysis of the detection signals and to output a time sequence of data indicating the interaction positions of the sensor and contacts therewith; and a gesture processing unit operable to analyze the temporal sequence of data to distinguish one or more gesture inputs therefrom, the gesture processing unit being encoded with a gesture recognition code comprising a plurality of linked state modules.

Weitere Aspekte der Erfindung betreffen die Gestenverarbeitungseinheit alleine und die Gestenverarbeitungseinheit in Kombination mit der Positionsverarbeitungseinheit, aber ohne den Sensor.Further aspects of the invention relate to the gesture processing unit alone and the gesture processing unit in combination with the position processing unit, but without the sensor.

Die Vielzahl von Zustandsmodulen umfasst vorzugsweise ein Ruhezustandsmodul und eine Vielzahl von Gesteninterpretations-Zustandsmodulen, wobei in das Ruhezustandsmodul zu Beginn des Betriebs eingetreten wird und von wenigstens einigen der Gesteninterpretations-Zustandsmodule zu demselben zurückgekehrt werden kann. Die Vielzahl von Gesteninterpretations-Zustandsmodulen kann ein Berührungs-Zustandsmodul für einfache Berührungen umfassen, wobei der Ruhezustand nach einer Berührung die Steuerung an den Berührungszustand gibt.The plurality of state modules preferably comprises an idle state module and a plurality of gesture interpretation state modules, the idle state module being entered at the start of operation and being able to be returned to by at least some of the gesture interpretation state modules. The plurality of gesture interpretation state modules may include a touch state module for simple touches, wherein the post-touch idle state gives control to the touch state.

In einigen Ausführungsformen umfasst die Vielzahl von Gesteninterpretations-Statusmodulen wenigstens ein Mehrfachberührungs-Zustandsmodul, das betrieben werden kann, um mehrere gleichzeitige Berührungen zu verarbeiten, wobei die Gestenverarbeitungseinheit betrieben werden kann, um die Steuerung auf der Basis der Anzahl von gleichzeitigen Berührungen, die durch die zeitliche Abfolge von Daten zu diesem Zeitpunkt definiert wird, an das entsprechende Berührungs-Zustandsmodul abzugeben. Es kann ein Mehrfachberührungs-Zustandsmodul für jeweils zwei gleichzeitige Berührungen und drei gleichzeitige Berührungen vorgesehen sein, wobei optional auch größere Anzahlen von Berührungen berücksichtigt werden können.In some embodiments, the plurality of gesture interpretation status modules includes at least one multi-touch status module operable to process multiple simultaneous touches, the gesture processing unit operable to provide control based on the number of simultaneous touches made by the temporal sequence of data is defined at this point in time to be delivered to the corresponding touch status module. A multi-touch status module can be provided for two simultaneous touches and three simultaneous touches, with larger numbers of touches optionally also being able to be taken into account.

Die Vielzahl von Gesteninterpretations-Zustandsmodulen kann vorzugsweise ein Drück-Zustandsmodul umfassen, an das die Steuerung von einem Berührungs-Zustandsmodul gegeben werden kann, wenn eine Berührung mit einer Dauer, die länger als eine Schwelldauer ist, in dem Berührungszustandsmodul erfasst wird. Der Drückzustand ist vorzugsweise ein Superzustand, der mehrere Unterzustände umfasst, um zwischen verschiedenen Drückdauern zu unterscheiden.The plurality of gesture interpretation state modules may preferably include a push state module to which control can be given by a touch state module when a touch with a duration longer than a threshold duration is detected in the touch state module. The pressing state is preferably a superstate which comprises several sub-states in order to distinguish between different pressing durations.

In einigen Ausführungsformen umfasst die Vielzahl von Gesteninterpretations-Zustandsmodulen eine Vielzahl von Zustandsmodulen, die betrieben werden können, um auf Bewegungen bezogene Gesten zu erkennen die aus einer oder mehreren bewegten Berührungen abgeleitet werden. In anderen Ausführungsformen werden nur statische Gesten wie etwa ein Drücken, Tippen oder doppeltes Tippen berücksichtigt.In some embodiments, the plurality of gesture interpretation state modules includes a plurality of state modules operable to recognize movement-related gestures derived from one or more moving touches. In other embodiments, only static gestures such as a press, tap or double tap are taken into account.

Eine bevorzugte Implementierung für das Interpretieren von Mehrfachberührungsgesten gemäß der Erfindung sieht einen Gestenerkennungscode vor, der konfiguriert ist, um Gesten mit bis zu N gleichzeitigen Berührungen zu erkennen, wobei N wenigstens gleich 2 ist, und umfasst N Einfachberührungs-Zustandsmaschinen, die betrieben werden können, um nur Einfachberührungsgesten zu erkennen, und N-1 Mehrfachberührungs-Zustandsmaschinen, die jeweils betrieben werden können, um nur n-fache Berührungsgesten zu erkennen, wobei n gleich 2 bis N ist.A preferred implementation for interpreting multiple touch gestures according to the invention provides a gesture recognition code configured to recognize gestures with up to N simultaneous touches, where N is at least equal to 2, and comprises N single-touch state machines that can be operated, to recognize only single touch gestures, and N-1 multi-touch state machines, each of which can be operated to recognize only n-fold touch gestures, where n equals 2 to N.

Die Positionsverarbeitungseinheit und die Gestenverarbeitungseinheit können in einer einzelnen integrierten Schaltung wie zum Beispiel einem Mikrocontroller untergebracht und in derselben ausgeführt werden. Alternativ hierzu kann die Positionsverarbeitungseinheit in einer ersten integrierten Schaltung wie etwa einem Mikrocontroller untergebracht und ausgeführt werden, während die Gestenverarbeitungseinheit in einer oder mehreren separaten integrierten Schaltungen wie etwa einem PC oder einem anderen komplexen System mit einer eigenen Verarbeitungseinheit, einer Grafikverarbeitungseinheit und/oder einem digitalen Signalprozessor mit assoziiertem Speicher und Busverbindungen untergebracht und ausgeführt werden kann.The position processing unit and the gesture processing unit can be accommodated and implemented in a single integrated circuit such as a microcontroller. Alternatively, the position processing unit can be accommodated and executed in a first integrated circuit such as a microcontroller, while the gesture processing unit can be implemented in one or more separate integrated circuits such as a PC or another complex system with its own processing unit, a graphics processing unit and / or a digital one Signal processor with associated memory and bus connections can be accommodated and executed.

Die Erfindung gibt in einem anderen Aspekt ein Verfahren zum Erkennen von Gesten aus einer zeitlichen Abfolge von Berührungsdaten mit Koordinaten von Interaktionspositionen auf einem Berührungssensor an, wobei das Verfahren umfasst: Empfangen von Berührungskoordinaten, die zeitlich etikettiert oder geordnet sind; Analysieren der Berührungskoordinaten in einer Zustandsmaschine, die eine Vielzahl von verknüpften Zustandsmodulen umfasst, um eine aus einer Vielzahl von definierten Gesten aus derselben zu erkennen; und Ausgeben der erkannten Gesten.In another aspect, the invention provides a method for recognizing gestures from a temporal sequence of touch data with coordinates of interaction positions on a touch sensor, the method comprising: receiving touch coordinates that are temporally labeled or ordered; Analyzing the touch coordinates in a state machine comprising a plurality of associated state modules to recognize one of a plurality of defined gestures therefrom; and outputting the recognized gestures.

Die Erfindung gibt in einem weiteren Aspekt eine einzelne integrierte Schaltung an, die einen Speicher aufweist, auf den die oben genannte Gesten-Zustandsmaschine geladen ist, und die betrieben werden kann, um das oben definierte Verfahren für die Gestenerkennung auszuführen.In a further aspect, the invention provides a single integrated circuit which has a memory onto which the above-mentioned gesture state machine is loaded and which can be operated to carry out the above-defined method for gesture recognition.

Die Erfindung gibt in einem weiteren Aspekt einen Computer an, der einen Speicher aufweist, auf den die oben genannte Gesten-Zustandsmaschine geladen ist, und der betrieben werden kann, um das oben definierte Verfahren für die Gestenerkennung auszuführen.In a further aspect, the invention provides a computer which has a memory onto which the above-mentioned gesture state machine is loaded and which can be operated in order to carry out the above-defined method for gesture recognition.

Es ist zu beachten, dass der Ansatz der Gesten-Zustandsmaschine für die Gestenerkennung auf eine beliebige Hardwareplattform angewendet werden kann. Kapazitive Berührungssensoren und insbesondere eindimensionale und zweidimensionale kapazitive Berührungssensoren sind ein wichtiger Sensortyp, der eine Hardware-Plattform für eine Gestenerkennungs-Zustandsmaschine gemäß der Erfindung vorsehen kann. Insbesondere kann die Erfindung auch auf so genannte passive oder aktive kapazitive Erfassungstechniken angewendet werden.It should be noted that the gesture state machine approach to gesture recognition can be applied to any hardware platform. Capacitive touch sensors, and particularly one-dimensional and two-dimensional capacitive touch sensors, are an important type of sensor that can provide a hardware platform for a gesture recognition state machine in accordance with the invention. In particular, the invention can also be applied to what are known as passive or active capacitive detection techniques.

Passive kapazitive Erfassungseinrichtungen messen die Kapazität einer Erfassungselektrode zu einem Systembezugspotential (Erde). Die Prinzipien dieser Technik werden zum Beispiel in US 5,730,165 und US 6,466,036 beschrieben. Ganz allgemein verwenden passive kapazitive Sensoren Erfassungselektroden, die mit kapazitiven Messschaltungen verbunden sind. Jede kapazitive Messschaltung misst die Kapazität (kapazitive Kopplung) ihrer assoziierten Erfassungselektrode zu einer Systemerde. Wenn kein Zeigeobjekt in der Nähe der Erfassungselektrode vorhanden ist, weist die gemessene Kapazität einen Hintergrund- oder Ruhewert auf. Dieser Wert hängt von der Geometrie und dem Layout der Erfassungselektrode und den Verbindungsleitungen zu derselben usw. sowie von der Beschaffenheit und der Position von benachbarten Objekten wie etwa der Nähe der Erfassungselektroden zu benachbarten Erdungsebenen ab. Wenn ein zeigendes Objekt wie etwa der Finger eines Bedieners in die Nähe der Erfassungselektrode gebracht wird, erscheint das zeigende Objekt als eine virtuelle Erde. Dadurch wird die gemessene Kapazität der Erfassungselektrode zu der Erde erhöht. Eine derartige Erhöhung in der gemessenen Kapazität gibt das Vorhandensein eines zeigenden Objekts an. US 5,730,165 und US 5,466,036 sind primär auf diskrete Messungen (mit einer einzelnen Taste) und nicht auf zweidimensionale Anwendungen von Positionssensoren ausgerichtet. Die in US 5,730,165 und US 5,466,036 beschriebenen Prinzipien können aber einfach auf kapazitive 2D-Berührungssensoren (2DCTs) angewendet werden, indem zum Beispiel Elektroden vorgesehen werden, um ein 2D-Array von diskreten Erfassungsbereichen oder aber Reihen und Spalten von Elektroden in einer Matrixkonfiguration zu definieren.Passive capacitive sensing devices measure the capacitance of a sensing electrode to a system reference potential (earth). The principles of this technique are for example in U.S. 5,730,165 and U.S. 6,466,036 described. In general, passive capacitive sensors use sensing electrodes connected to capacitive measurement circuits. Each capacitive measurement circuit measures the capacitance (capacitive coupling) of its associated sensing electrode to a system ground. When there is no pointing object in the vicinity of the sensing electrode, the measured capacitance has a background or quiescent value. This value depends on the geometry and layout of the sensing electrode and the connection lines to the same, etc., as well as the nature and position of neighboring objects such as the proximity of the sensing electrodes to neighboring ground planes. When a pointing object such as an operator's finger is brought near the sensing electrode, the pointing object appears as a virtual earth. This increases the measured capacitance of the sense electrode to earth. Such an increase in the measured capacitance indicates the presence of a pointing object. U.S. 5,730,165 and U.S. 5,466,036 are primarily designed for discrete measurements (with a single button) and not for two-dimensional applications of position sensors. In the U.S. 5,730,165 and U.S. 5,466,036 However, the principles described can easily be applied to 2D capacitive touch sensors (2DCTs), for example by providing electrodes to define a 2D array of discrete sensing areas or rows and columns of electrodes in a matrix configuration.

Aktive 2DCT-Sensoren messen die kapazitive Kopplung zwischen zwei Elektroden (und nicht zwischen einer einzelnen Erfassungselektrode und einer Systemerde). Die den aktiven kapazitiven Erfassungstechniken zugrunde liegenden Prinzipien werden in US 6,452,514 beschrieben. In einem aktiven Sensor wird eine Elektrode, die so genannte Ansteuerungselektrode, mit einem oszillierenden Ansteuerungssignal versorgt. Der Grad der kapazitiven Kopplung des Ansteuerungssignals zu der Erfassungselektrode wird bestimmt, indem die durch das oszillierende Ansteuerungssignal zu der Erfassungselektrode übertragene Ladungsmenge gemessen wird. Die übertragene Ladungsmenge, d. h. die Stärke des an der Erfassungselektrode erfassten Signals, ist ein Maß für die kapazitive Kopplung zwischen den Elektroden. Wenn kein zeigendes Objekt in der Nähe der Elektroden ist, weist das gemessene Signal an der Erfassungselektrode einen Hintergrund- oder Ruhewert auf. Wenn jedoch ein zeigendes Objekt wie etwa der Finger eines Benutzers in die Nähe der Elektroden gebracht wird (und insbesondere in die Nähe des Bereichs zwischen den Elektroden gebracht wird), wirkt das zeigende Objekt als virtuelle Erde und zieht einen Teil des Ansteuerungssignals (der Ladung) von der Ansteuerungselektrode. Dadurch wird die Stärke der Komponente des mit der Erfassungselektrode gekoppelten Ansteuerungssignals reduziert. Eine derartige Verminderung des gemessenen Signals an der Erfassungselektrode gibt das Vorhandensein eines zeigenden Objekts an.Active 2DCT sensors measure the capacitive coupling between two electrodes (rather than between a single sensing electrode and a system ground). The principles underlying the active capacitive detection techniques are discussed in U.S. 6,452,514 described. In an active sensor, an electrode, the so-called control electrode, is supplied with an oscillating control signal. The degree of capacitive coupling of the drive signal to the sense electrode is determined by measuring the amount of charge transferred to the sense electrode by the oscillating drive signal. The amount of charge transferred, ie the strength of the signal detected at the detection electrode, is a measure of the capacitive coupling between the electrodes. If there is no pointing object in the vicinity of the electrodes, the measured signal at the detection electrode has a background or resting value. However, when a pointing object, such as a user's finger, is brought near the electrodes (and specifically brought into the vicinity of the area between the electrodes), the pointing object acts as a virtual earth and draws part of the drive signal (the charge). from the drive electrode. This reduces the strength of the component of the drive signal coupled to the sense electrode. Such a reduction in the measured signal at the sensing electrode indicates the presence of a pointing object.

Es ist zu beachten, dass es auch verschiedene andere Erfassungstechnologien gibt. Dazu gehören Techniken, die auf resistiven Bildschirmen basieren und gewöhnlich mit einem Stift bedient werden, oder für große Bereiche entwickelte Technologien wie etwa solche, die auf Ultraschall oder anderen akustischen Techniken beruhen, oder Techniken, die auf einer totalen internen Reflexion oder auf anderen optischen Wirkungen beruhen. Alle diese Techniken können von der vorliegenden Erfindung profitieren.It should be noted that there are various other acquisition technologies as well. These include techniques based on resistive screens, usually operated with a pen, or technologies developed for large areas such as those based on ultrasound or other acoustic techniques, or techniques based on total internal reflection or others optical effects are based. All of these techniques can benefit from the present invention.

Es ist zu beachten, dass in der vorliegenden Patentanmeldung der Begriff „Zustandsmaschine“ verwendet wird. Eine Zustandsmaschine kann auch durch das Akronym FSM (Finite State Machine) angegeben werden.It should be noted that the term “state machine” is used in the present patent application. A state machine can also be indicated by the acronym FSM (Finite State Machine).

Die Erfindung wird im Folgenden anhand einiger Ausführungsformen mit Bezug auf die beigefügten Zeichnungen verdeutlicht.

  • 1 zeigt eine Gestenerkennungs-Zustandsmaschine gemäß einer ersten Ausführungsform.
  • 2 zeigt eine Gestenerkennungs-Zustandsmaschine gemäß einer zweiten Ausführungsform.
  • 3 zeigt eine Gestenerkennungs-Zustandsmaschine gemäß einer dritten Ausführungsform.
  • 4 zeigt eine Gestenerkennungs-Zustandsmaschine gemäß einer vierten Ausführungsform zur Handhabung von N Berührungen.
  • 5 zeigt die internen Zustände einer Zustandsmaschine für N Berührungen gemäß der vierten Ausführungsform.
  • 6 ist ein Beispiel für die vierte Ausführungsform und zeigt die Erzeugung von Zweifachberührungs-Ereignissen unter Verwendung von Einfachberührungs-Zustandsmaschinen.
  • 7 ist ein Beispiel für eine Dreifachberührungs-Gestenhandhabung gemäß der vierten Ausführungsform.
  • 8 ist eine schematische Draufsicht, die Teile eines Elektrodenmusters für einen zweidimensionalen kapazitiven Berührungsbildschirm (2DCT) zeigt.
  • 9 ist eine Draufsicht auf einen 2DCT von 8 und zeigt das Elektrodenmuster und eine erste Schicht von Verbindungen am Rand des Elektrodenmusterbereichs für die Verbindung mit den y-Elektroden.
  • 10 ist eine Draufsicht auf die 2DCT von 9 und zeigt das Elektrodenmuster und eine zweite Schicht von Verbindungen am Rand des Elektrodenmusterbereichs für die Verbindung mit den x-Elektroden und auch für die Verbindung der externen Zuführleitungen mit den y-Elektrodenverbindungen von 9.
  • 11 ist eine schematische Ansicht auf der Systemebene, die eine Ansteuerungs- und Datenerfassungsschaltung für den 2DCT von 8-10 zeigt.
  • 12 zeigt schematisch einen Anzeigemonitor und eine Eingabeeinrichtung gemäß der vorliegenden Erfindung.
  • 13 zeigt schematisch ein Mobiltelefon gemäß der vorliegenden Erfindung.
The invention is illustrated in the following on the basis of some embodiments with reference to the accompanying drawings.
  • 1 Figure 3 shows a gesture recognition state machine according to a first embodiment.
  • 2 Figure 3 shows a gesture recognition state machine according to a second embodiment.
  • 3 Figure 3 shows a gesture recognition state machine according to a third embodiment.
  • 4th shows a gesture recognition state machine according to a fourth embodiment for handling N touches.
  • 5 Fig. 13 shows the internal states of an N touch state machine according to the fourth embodiment.
  • 6th Figure 13 is an example of the fourth embodiment and shows the generation of double-touch events using single-touch state machines.
  • 7th Fig. 13 is an example of triple-touch gesture handling according to the fourth embodiment.
  • 8th Fig. 13 is a schematic plan view showing parts of an electrode pattern for a two-dimensional capacitive touch screen (2DCT).
  • 9 FIG. 13 is a top plan view of a 2DCT of FIG 8th and shows the electrode pattern and a first layer of connections at the edge of the electrode pattern area for connection to the y-electrodes.
  • 10 FIG. 3 is a top plan view of the 2DCT of FIG 9 and shows the electrode pattern and a second layer of connections at the edge of the electrode pattern area for connection to the x-electrodes and also for connection of the external feed lines to the y-electrode connections of FIG 9 .
  • 11 FIG. 13 is a system level schematic view illustrating drive and data acquisition circuitry for the 2DCT of FIG 8th - 10 shows.
  • 12th Fig. 3 schematically shows a display monitor and an input device according to the present invention.
  • 13th Figure 3 shows schematically a mobile phone according to the present invention.

Bevor im Folgenden verschiedene Ausführungsformen der Erfindung beschrieben werden, sollen hier zuerst die in der ausführlichen Beschreibung der Ausführungsformen genannten Gesten erläutert werden.Before various embodiments of the invention are described below, the gestures mentioned in the detailed description of the embodiments should first be explained here.

Tippen: Bei einem Tippen berührt und verlässt ein Benutzer die Berührungsfläche schnell wieder. Es tritt keine wesentliche Bewegung auf, während sich der Finger des Benutzers auf der Berührungsfläche befindet. Das Tippen ist durch eine kurze Berührungsdauer gekennzeichnet. Ein Tippen kann zum Beispiel verwendet werden, um einen Hyperlink auf einer angezeigten Internetseite zu aktivieren.Tap: When tapping, a user quickly touches and leaves the touch area. No substantial movement occurs while the user's finger is on the touch surface. Typing is characterized by a short touch time. A tap can be used, for example, to activate a hyperlink on a displayed web page.

Doppeltes Tippen: Bei einem doppelten Tippen berührt und verlässt der Benutzer die Berührungsfläche zweimal schnell hintereinander. Es tritt keine wesentliche Bewegung auf, während sich der Finger des Benutzers auf der Berührungsfläche befindet. Das doppelte Tippen ist durch kurze Berührungsdauern und eine kurze Pause zwischen der ersten und der zweiten Berührung gekennzeichnet. Ein doppeltes Tippen kann zum Beispiel verwendet werden, um ein Wort in einem angezeigten Dokument zu markieren.Double tap: With a double tap, the user touches and leaves the touch area twice in quick succession. No substantial movement occurs while the user's finger is on the touch surface. Double tapping is characterized by short touch times and a short pause between the first and second touch. For example, double-tapping can be used to highlight a word in a displayed document.

Drücken: Bei einem Drücken berührt und hält der Benutzer die Berührungsfläche. Es tritt keine wesentliche Bewegung auf, während sich der Finger des Benutzers auf der Berührungsfläche befindet. Das Drücken kann zum Beispiel verwendet werden, um eine Zahl aus einem angezeigten Tastenfeld zu wählen. Derselbe Mechanismus kann auch verwendet werden, um die gewählte Nummer automatisch zu wiederholen, wenn der Benutzer die angezeigte Nummer gedrückt hält.Press: When pressed, the user touches and holds the touch surface. No substantial movement occurs while the user's finger is on the touch surface. For example, the press can be used to select a number from a displayed keypad. The same mechanism can also be used to automatically repeat the dialed number if the user presses and holds the displayed number.

Kurzes Ziehen (Flick): Bei einem kurzen Ziehen berührt der Benutzer die Berührungsfläche schnell, führt eine kurze Bewegung durch und lässt die Berührung wieder los. Das kurze Ziehen ist durch eine kurze Berührungsdauer gekennzeichnet. Ein kurzes Ziehen kann zum Beispiel verwendet werden, um das nächste in einer Folge von Bildern anzuzeigen.Short pull (flick): With a short pull, the user touches the touch surface quickly, makes a short movement and then lets go of the touch. The short pull is characterized by a short duration of contact. For example, a quick drag can be used to view the next in a sequence of images.

Ziehen: Bei einem Ziehen berührt der Benutzer die Berührungsfläche, bewegt seinen Finger über die Fläche und beendet die Berührung. Das Ziehen ist durch eine große Bewegung über die Berührungsfläche gekennzeichnet. In Abhängigkeit von der Anwendung können mehrere Ziehereignisse erzeugt werden, während der Benutzer seinen Finger bewegt. Dies kann zum Beispiel verwendet werden, um einen Satz in einem angezeigten Dokument zu markieren.Drag: When dragging, the user touches the touch area, moves his finger over the area and ends the touch. Dragging is characterized by a large movement across the touch area. Depending on the application, multiple drag events can be generated while the user is holding his finger emotional. This can be used, for example, to mark a sentence in a displayed document.

Stauchen: Bei einem Stauchen platziert der Benutzer zwei Finger auf der Berührungsfläche und bewegt die Finger dann aufeinander zu. Dies kann zum Beispiel verwendet werden, um ein angezeigtes Bild zu verkleinern.Compression: In the case of compression, the user places two fingers on the touch surface and then moves the fingers towards each other. This can be used, for example, to reduce the size of a displayed image.

Strecken: Bei einem Strecken platziert der Benutzer zwei Finger auf der Berührungsfläche und bewegt die Finger dann auseinander. Dies kann zum Beispiel verwendet werden, um ein angezeigtes Bild zu vergrößern.Stretch: In stretching, the user places two fingers on the touch surface and then moves the fingers apart. This can be used, for example, to enlarge a displayed image.

Drehen: Bei einem Drehen platziert der Benutzer zwei Finger auf der Berührungsfläche und dreht die Finger dann relativ zueinander. Dies kann zum Beispiel verwendet werden, um ein angezeigtes Bild zu drehen.Rotate: When rotating, the user places two fingers on the touch surface and then rotates the fingers relative to each other. This can be used, for example, to rotate a displayed image.

Bevor im Folgenden verschiedene Ausführungsformen der Erfindung beschrieben werden, sollen hier zuerst die in der ausführlichen Beschreibung der Ausführungsformen genannten Ereignisse definiert werden. Diese Ereignisse werden durch die weiter unten beschriebenen Zustandsmaschinen der Erfindung ausgeführt. Es ist zu beachten, dass die Zustandsmaschine in einigen Ausführungsformen gleichzeitig mehrere Ereignisse in Reaktion auf bestimmte Benutzeraktionen erzeugen kann.Before various embodiments of the invention are described below, the events mentioned in the detailed description of the embodiments should first be defined here. These events are carried out by the state machines of the invention described below. It should be noted that, in some embodiments, the state machine can simultaneously generate multiple events in response to certain user actions.

Tippen: Ein Tippereignis wird erzeugt, wenn der Benutzer eine Tippgeste ausführt.Tap: A tap event is generated when the user makes a tap gesture.

Doppeltes Tippen: Ein doppeltes Tippereignis wird erzeugt, wenn der Benutzer eine doppelte Tippgeste ausführt.Double tap: A double tap event is generated when the user makes a double tap gesture.

Drücken: Ein Drückereignis wird erzeugt, wenn der Benutzer die Berührungsfläche berührt und seinen Finger dann stationär hält.Press: A press event is generated when the user touches the touch area and then holds their finger stationary.

Kurzes Drücken: Ein kurzes Drückereignis wird nach einem Drückereignis erzeugt, wenn der Benutzer seinen Finger weiterhin für eine bestimmte Zeitdauer stationär hält.Short press: A short press event is generated after a press event if the user continues to hold their finger stationary for a certain period of time.

Langes Drücken: Ein langes Drückereignis wird nach einem kurzen Drückereignis erzeugt, wenn der Benutzer seinen Finger weiterhin für eine bestimmte Zeitdauer stationär hält.Long press: A long press event is generated after a short press event if the user continues to hold their finger stationary for a certain period of time.

Wiederholtes Drücken: Ein wiederholtes Drückereignis wird nach einem langen Drückereignis erzeugt, wenn der Benutzer seinen Finger für eine bestimmte Zeitdauer stationär gehalten hat. Wenn der Benutzer seinen Finger weiterhin stationär hält, werden wiederholte Drückereignisse mit regelmäßigen Intervallen erzeugt.Repeated Press: A repeated press event is generated after a long press event when the user has held their finger stationary for a certain period of time. If the user continues to hold his finger stationary, repeated press events will be generated at regular intervals.

Lösen: Ein Lösungsereignis wird erzeugt, wenn der Benutzer seine Finger von der Berührungsfläche entfernt.Release: A release event is generated when the user removes their fingers from the touch area.

Kurzes Ziehen (Flick): Ein kurzes Ziehereignis wird erzeugt, wenn der Benutzer eine kurze Ziehgeste ausführt.Short Drag (Flick): A short drag event is generated when the user makes a short drag gesture.

Ziehen: Ein Ziehereignis wird erzeugt, wenn der Benutzer eine Ziehgeste ausführt.Drag: A drag event is generated when the user makes a drag gesture.

Mehrfachberührung (oder Zweifachberührung): Ein Mehrfachberührungsereignis (oder Zweifachberührungsereignis) wird erzeugt, wenn der Benutzer die Berührungsfläche mit zwei Fingern berührt.Multi-touch (or double-touch): A multi-touch (or double-touch) event is generated when the user touches the touch area with two fingers.

Stauchen: Ein Stauchereignis wird erzeugt, wenn der Benutzer eine Stauchgeste ausführt.Compress: A compress event is generated when the user performs a compress gesture.

Strecken: Ein Streckereignis wird erzeugt, wenn der Benutzer eine Streckgeste ausführt.Stretch: A stretch event is generated when the user makes a stretch gesture.

Drehen: Ein Drehereignis wird erzeugt, wenn der Benutzer eine Drehgeste ausführt.Rotate: A rotation event is generated when the user performs a rotation gesture.

1 zeigt eine Zustandsmaschine für die Gestenerkennung gemäß einer ersten Ausführungsform, die auf die Verarbeitung von Gesten beschränkt ist, die aus einfachen Berührungen bestehen. Mit anderen Worten werden in dieser Ausführungsform keine Mehrfachberührungsgesten berücksichtigt. Die unterstützten Gesten sind: Tippen; Drücken; doppeltes Tippen; kurzes Ziehen (Flick); und Ziehen. Diese fünf Gesten werden in der Zustandsmaschine erkannt, indem sieben Zustände durchlaufen werden, die wie in der Figur gezeigt durch ungefähr 17 Übergänge miteinander verbunden sind. Die Zustände können weiter in solche für statische Berührungen wie in diesem Beispiel Drücken, Tippen und doppeltes Tippen und in solche für bewegte Berührungen wie in diesem Beispiel kurzes Ziehen und Ziehen unterteilt werden. 1 Figure 12 shows a state machine for gesture recognition according to a first embodiment that is limited to processing gestures consisting of simple touches. In other words, multi-touch gestures are not taken into account in this embodiment. The supported gestures are: tapping; To press; double tap; short pull (flick); and pulling. These five gestures are recognized in the state machine by going through seven states which, as shown in the figure, are connected to one another by approximately 17 transitions. The states can be further divided into those for static touches such as pressing, tapping and double tapping in this example, and those for moving touches such as brief dragging and dragging in this example.

Im Folgenden wird der Ruhezustand beschrieben. Der Ruhezustand tritt immer dann auf, wenn die Berührungsfläche nicht von einem Benutzer berührt wird. In diesem Zustand werden keine Aktionen ausgelöst und keine Aktionen ausgeführt. Der Ruhezustand geht in einen Berührungszustand über, wenn der Benutzer die Berührungsfläche mit einem Finger berührt. Der Ruhezustand weist keine Parameter auf, und es sind keine Zeitberechnungen mit dem Ruhezustand assoziiert.The following describes the idle state. The idle state always occurs when the touch surface is not touched by a user. In this state, no actions are triggered and no actions are carried out. The idle state changes to a touch state when the user touches the touch surface with a finger. The idle state has no parameters and no timing calculations are associated with the idle state.

Im Folgenden wird der Berührungszustand beschrieben. Der berührte Zustand tritt auf, wenn ein Benutzer die Berührungsfläche berührt. Wenn in den Berührungszustand eingetreten wird, wird eine Zeitbeschränkung gestartet, d. h. es wird ein Timer gesetzt, der nach einer vorbestimmten Zeitdauer abläuft. Dadurch wird zwischen Gesten kurzer Dauer wie etwa einem kurzen Ziehen (Flick) und einem Tippen und Gesten langer Dauer wie etwa einem Drücken unterschieden. Die Ausgangsposition der Berührung wird gespeichert. Dies dient zur Bestimmung, ob der Benutzer seine Finger bewegt hat. In dem Berührungszustand wird auf einen Ablauf der Zeitbeschränkung geprüft und wird die von der Ausgangsposition der Berührung zurückgelegte Distanz berechnet. Wenn die Zeitbeschränkung abläuft, durchläuft die Zustandsmaschine einen Übergang, indem sie ein Drückereignis erzeugt und dann in den Drückzustand übergeht. Wenn der Benutzer den Finger über eine spezifizierte Distanz hinaus von der Ausgangsposition der Berührung bewegt, tritt die Zustandsmaschine in einen Wartezustand für ein kurzes Ziehen ein. Wenn der Benutzer die Berührung beendet, tritt die Zustandsmaschine in den Wartezustand für das zweite Tippen ein. Folgende Aktionen bestimmen, ob ein Tippen, ein doppeltes Tippen oder eine andere Geste erzeugt wird. Der Zeitbeschränkungsparameter in dem Berührungszustand bestimmt, wie lange der Benutzer seinen Finger entfernen muss, um ein Tippereignis zu erzeugen. Der Bewegungsparameter in diesem Zustand bestimmt, über welche Distanz der Benutzer seinen Finger bewegen muss, um in den Wartezustand für ein kurzes Ziehen einzutreten. Die maximal zulässige Zeitdauer ab der ersten Berührung für die Erzeugung eines Ereignisses in diesem Zustand ist die Zeitbeschränkungsperiode.The state of contact is described below. The touched state occurs when a User touches the touch surface. When the touch state is entered, a time restriction is started, ie a timer is set which expires after a predetermined period of time. This distinguishes between short-duration gestures such as a short flick and tapping, and long-duration gestures such as pressing. The starting position of the touch is saved. This is used to determine whether the user has moved their fingers. In the touch state, it is checked whether the time limit has expired and the distance traveled from the initial position of the touch is calculated. When the time limit expires, the state machine transitions by generating a push event and then going into the push state. When the user moves the finger a specified distance from the home position of the touch, the state machine enters a wait state for a short drag. When the user finishes touching, the state machine enters the wait state for the second tap. The following actions determine whether a tap, a double tap or another gesture is generated. The time constraint parameter in the touch state determines how long the user must remove their finger in order to generate a tap event. The movement parameter in this state determines the distance over which the user must move his finger in order to enter the wait state for a short drag. The maximum allowable amount of time from the first touch for an event to be generated in this state is the time limit period.

Im Folgenden wird der Wartezustand für das zweite Tippen beschrieben. Der Wartezustand für das zweite tippen tritt ein, nachdem ein Benutzer auf die Berührungsfläche getippt hat. Beim Eintreten in den Wartezustand wird eine Zeitbeschränkung gestartet. Dies dient zur Bestimmung, ob der Benutzer eine Tippgeste ausgeführt hat. Die Ausgangsposition der Berührung wird gespeichert. Dies dient zur Bestimmung, ob der Benutzer eine doppelte Tippgeste ausführt. Der Ablauf der Zeitbeschränkung wird geprüft. Wenn die Zeitbeschränkung abläuft, wird ein Tippereignis erzeugt und tritt die Zustandsmaschine in den Ruhezustand ein. Dies bedeutet, dass der Benutzer ein Mal, aber nicht zwei Mal während des zulässigen Zeitintervalls auf die Oberfläche getippt hat. Wenn der Benutzer die Berührungsfläche mit einem Finger drückt, wird die Distanz der zweiten Berührung von der ersten Berührung berechnet. Wenn die Distanz unter dem spezifizierten Wert liegt, tritt die Zustandsmaschine in den Wartezustand für ein doppeltes Tippen ein, weil der Benutzer unter Umständen ein doppeltes Tippen ausführt. Wenn die Distanz zwischen der ersten Berührung und der zweiten Berührung größer als der spezifizierte Wert ist, erzeugt die Zustandsmaschine ein Tippereignis (für die vorhergehende Tippgeste) und tritt wie gezeigt erneut in den Berührungszustand ein. Der Zeitbeschränkungsparameter in dem Wartezustand für das zweite Tippen bestimmt, wie lange nach der Beendigung einer Berührung durch den Benutzer ein Tippereignis erzeugt wird. Wenn der Benutzer die Oberfläche erneut berührt, bevor die Zeitbeschränkung abläuft, kann ein doppeltes Tippereignis erzeugt werden. Die maximal zulässige Zeit ab der ersten Berührung bis zum Erzeugen eines Ereignisses in diesem Zustand entspricht der Summe aus den Zeitbeschränkungsperioden des Berührungszustands und des Wartezustands für ein zweites Tippen.The waiting state for the second tap is described below. The waiting state for the second tap occurs after a user taps the touch area. A time limit is started when the wait state is entered. This is used to determine whether the user has made a tap gesture. The starting position of the touch is saved. This is to determine whether the user is making a double tap gesture. The expiry of the time limit is checked. When the time limit expires, a tap event is generated and the state machine enters the idle state. This means that the user tapped the surface once, but not twice, during the allowed time interval. When the user presses the touch area with a finger, the distance of the second touch from the first touch is calculated. If the distance is less than the specified value, the state machine enters the double tap wait state because the user may be double tapping. If the distance between the first touch and the second touch is greater than the specified value, the state machine generates a tap event (for the previous tap gesture) and re-enters the touch state as shown. The time constraint parameter in the wait state for the second tap determines how long after a touch by the user is finished, a tap event is generated. If the user touches the surface again before the time limit expires, a double tap event can be generated. The maximum allowable time from the first touch to the generation of an event in this state corresponds to the sum of the time restriction periods of the touch state and the waiting state for a second tap.

Im Folgenden wird der Wartezustand für ein doppeltes Tippen beschrieben. Der Wartezustand für ein doppeltes Tippen tritt ein, wenn der Benutzer auf die Berührungsfläche getippt hat und diese dann erneut drückt. Beim Eintreten in diesen Zustand wird eine Zeitbeschränkung gestartet. Dies dient zur Bestimmung, ob der Benutzer eine doppelte Tippgeste ausgeführt hat. Die Ausgangsposition der Berührung wird gespeichert. Dies dient zur Bestimmung, ob der Benutzer seinen Finger bewegt hat. In diesem Zustand wird auf ein Ablaufen der Zeitbeschränkung geprüft und wird die von der Ausgangsposition der Berührung zurückgelegte Distanz berechnet. Wenn die Zeitbeschränkung abläuft, werden Tipp- und Drückereignisse erzeugt und tritt die Zustandsmaschine in den Drückzustand ein. Wenn sich der Benutzer über mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt, erzeugt die Zustandsmaschine ein Tippereignis und tritt in den Wartezustand für ein kurzes Ziehen (Flick) ein. Der Grund hierfür ist, dass der Benutzer einmal getippt hat und ein mögliches zweites Tippen jetzt ein mögliches kurzes Ziehen (Flick) ist. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein doppeltes Tippereignis und tritt in den Ruhezustand ein. Der Grund hierfür ist, dass der Benutzer beide Tippbetätigungen innerhalb der spezifizierten Zeit und den Distanzlimits ausgeführt hat. Der Zeitbeschränkungsparameter in diesem Zustand bestimmt, wie lange der Benutzer seinen Finger entfernen muss, um ein doppeltes Tippereignis zu erzeugen. Wenn die Zeitbeschränkung abläuft, wird angenommen, dass der Benutzer getippt und die Oberfläche anschließend gedrückt gehalten hat. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um in den Wartezustand für ein kurzes Ziehen einzutreten. Die maximal zulässige Zeit ab der ersten Berührung für die Erzeugung eines Ereignisses in diesem Zustand entspricht der Summe der Zeitbeschränkungen des Berührungszustands, des Wartezustands für ein zweites Tippen und des Wartezustands für ein doppeltes Tippen.The waiting state for a double tap is described below. The double tap wait state occurs when the user has tapped the touch area and then presses it again. When entering this state, a time limit is started. This is to determine if the user made a double tap gesture. The starting position of the touch is saved. This is used to determine whether the user has moved their finger. In this state, it is checked whether the time limit has expired and the distance covered from the starting position of the touch is calculated. When the time limit expires, tap and push events are generated and the state machine enters the push state. If the user moves more than a specified distance from the initial position of the touch, the state machine generates a tap event and enters the wait state for a short flick. The reason for this is that the user has typed once and a possible second tap is now a possible short flick. When the user ends the touch, the state machine generates a double tap event and enters the idle state. This is because the user performed both taps within the specified time and distance limits. The timeout parameter in this state determines how long the user must remove their finger in order to generate a double tap event. When the time limit expires, it is assumed that the user typed and then pressed and held the surface. The movement parameter in this state determines how far the user has to move his finger in order to enter the wait state for a short drag. The maximum allowable time from the first touch for the generation of an event in this state corresponds to the sum of the time restrictions of the touch state, the wait state for a second tap and the wait state for a double tap.

Im Folgenden wird der Wartezustand für ein schnelles Ziehen (Flick) beschrieben. Der Wartezustand für ein schnelles Ziehen (Flick) tritt auf, wenn der Benutzer die Berührungsfläche gedrückt hat und seinen Finger über die Oberfläche bewegt hat. Mit dem Eintritt in diesen Zustand wird eine Zeitbeschränkung gestartet. Dies dient zur Bestimmung, ob der Benutzer ein schnelles Ziehgeste (Flick) oder eine Ziehgeste ausführt. Beim Eintritt wird auch die Ausgangsposition der Berührung gespeichert. Diese wird bei Bedarf zu der Verarbeitung des Wartens für ein Ziehen weitergeleitet. In diesem Zustand wird auf ein Ablaufen der Zeitbeschränkung geprüft. Wenn die Zeitbeschränkung abläuft, wird ein Drückereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für ein Ziehen ein. Der Grund hierfür ist, dass der Benutzer die Berührung nicht innerhalb der zum Unterscheiden zwischen einer schnellen Ziehbetätigung (Flick) und einer Ziehbetätigung verwendeten Zeitdauer beendet hat. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein schnelles Ziehereignis (Flick) und tritt in den Ruhezustand ein. Der Grund hierfür ist, dass der Benutzer die Bewegung innerhalb des spezifizierten Zeitlimits abgeschlossen hat. Der Zeitbeschränkungsparameter in diesem Zustand bestimmt, wie lange der Benutzer seinen Finger entfernen muss, um ein schnelles Ziehereignis (Flick) zu erzeugen. Wenn die Zeitbeschränkung abläuft, wird angenommen, dass der Benutzer eine Ziehoperation durchführt. Die maximale Zeitdauer von der ersten Berührung zum Erzeugen eines Ereignisses in diesem Zustand entspricht der Summe der Zeitbeschränkungsperioden des Berührungszustands und der Wartezustände für ein schnelles Ziehen (Flick).In the following the Waiting state for a quick pull (flick) described. The quick flick wait state occurs when the user has pressed the touch pad and moved their finger across the surface. When this state is entered, a time limit is started. This is used to determine whether the user is making a quick drag gesture (flick) or a drag gesture. When entering, the starting position of the touch is also saved. This is forwarded to the processing of waiting for a pull, if necessary. In this state, a check is made to see if the time limit has expired. When the time limit expires, a push event is generated and the state machine enters the wait state for a pull. This is because the user did not finish touching within the time used to distinguish between a quick flick and a drag. When the user ends the touch, the state machine generates a quick flick event and enters the idle state. This is because the user completed the move within the specified time limit. The time constraint parameter in this state determines how long the user must remove their finger in order to generate a quick flick event. When the time limit expires, it is assumed that the user is performing a drag operation. The maximum length of time from the first touch to generating an event in this state is the sum of the time limit periods of the touch state and the wait states for a quick flick.

Im Folgenden wird der Wartezustand für ein Ziehen beschrieben. Der Wartezustand für ein Ziehen tritt auf, wenn der Benutzer die Berührungsfläche gedrückt und seinen Finger über die Oberfläche bewegt hat, wobei die Bewegung länger als die Dauer für ein schnelles Ziehen (Flick) gedauert hat. Mit dem Eintritt in diesen Zustand wird eine Zeitbeschränkung gestartet. Dies dient zur Bestimmung, ob der Benutzer seinen Finger stationär gehalten hat. Auch die Ausgangsposition der Berührung wird beim Eintritt gespeichert. Dies dient zur Bestimmung, ob der Benutzer seinen Finger bewegt hat. In diesem Zustand wird auf ein Ablaufen der Zeitbeschränkung geprüft und wird die Distanz von der Ausgangsposition der Berührung berechnet. Wenn die Zeitbeschränkung abläuft, tritt die Zustandsmaschine in den Drückzustand ein. Der Grund hierfür ist, dass der Benutzer seinen Finger zu lange stationär gehalten hat. Wenn der Benutzer seinen Finger um mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt, erzeugt die Zustandsmaschine ein Ziehereignis. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein Beendigungsereignis und tritt in den Ruhezustand ein. Der Zeitbeschränkungsparameter in diesem Zustand bestimmt, wie lange der Finger des Benutzers stationär bleiben muss, bevor zu dem Drückzustand übergegangen wird. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um ein Ziehereignis zu erzeugen. Die maximal zulässige Zeit ab der ersten Berührung für die Erzeugung eines Ereignisses in diesem Zustand entspricht der Summe der Zeitbeschränkungen des Berührungszustands, des Wartezustands für ein schnelles Ziehen (Flick) und des Wartezustands für ein Ziehen.The following describes the waiting state for dragging. The drag wait state occurs when the user has pressed the touch pad and moved their finger across the surface, the motion taking longer than the time for a quick flick. When this state is entered, a time limit is started. This is used to determine whether the user has held their finger stationary. The starting position of the touch is also saved upon entry. This is used to determine whether the user has moved their finger. In this state, it is checked whether the time limit has expired and the distance from the starting position of the contact is calculated. When the time limit expires, the state machine enters the push state. This is because the user kept his finger stationary for too long. If the user moves their finger more than a specified distance from the home position of the touch, the state machine generates a drag event. When the user ends the touch, the state machine generates a termination event and enters the idle state. The time constraint parameter in this state determines how long the user's finger must remain stationary before entering the push state. The movement parameter in this state determines how far the user has to move his finger in order to generate a drag event. The maximum allowable time from the first touch for the generation of an event in this state corresponds to the sum of the time restrictions of the touch state, the wait state for a quick flick and the wait state for a drag.

Im Folgenden wird der Drückzustand beschrieben. Der Drückzustand tritt auf, wenn ein Benutzer die Berührungsfläche gedrückt hat und seinen Finger für eine bestimmte Zeit stationär gehalten hat. Mit dem Eintritt in diesen Zustand wird die Ausgangsposition der Berührung gespeichert. Dies dient zur Bestimmung, ob der Benutzer seinen Finger bewegt hat. In diesem Zustand wird die Distanz ab der Ausgangsposition der Berührung berechnet. Wenn der Benutzer sich über mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt hat, wird ein Ziehereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für ein Ziehen ein. Wenn der Benutzer die Berührung löst, erzeugt die Zustandsmaschine ein Lösungsereignis und tritt in den Ruhezustand ein. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um ein Ziehereignis zu erzeugen und in den Wartezustand für ein Ziehen einzutreten. Es ist kein Limit dafür vorgegeben, wie lange es dauern kann, bevor in diesem Zustand ein Ereignis erzeugt wird.The push status is described below. The press condition occurs when a user has pressed the touch pad and held their finger stationary for a certain amount of time. When entering this state, the initial position of the contact is saved. This is used to determine whether the user has moved their finger. In this state, the distance from the starting position of the contact is calculated. If the user has moved more than a specified distance from the home position of the touch, a drag event is generated and the state machine enters the wait state for a drag. When the user releases the touch, the state machine generates a release event and enters the idle state. The movement parameter in this state determines how far the user must move his finger in order to generate a drag event and enter the wait state for a drag. There is no limit to how long it can take before an event is generated in this state.

Es ist zu beachten, dass eine vereinfachte Version der ersten Ausführungsform vorgesehen werden kann, in der bewegte Gesten wie das schnelle Ziehen (Flick) und das Ziehen nicht unterstützt werden.It should be noted that a simplified version of the first embodiment can be provided in which moving gestures such as flick and drag are not supported.

2 zeigt eine Zustandsmaschine für eine Gestenerkennung gemäß einer zweiten Ausführungsform, die als eine Entwicklung der ersten Ausführungsform mit einer Erweiterung für Mehrfachberührungsgesten betrachtet werden kann. Es werden dieselben fünf Einfachberührungsgesten wie in der ersten Ausführungsform und zusätzlich drei Mehrfachberührungsgesten unterstützt, nämlich ein Stauchen, ein Drehen und ein Strecken. Die Mehrfachberührungsfähigkeit wird durch einen zusätzlichen Zustand, den Mehrfachberührungszustand, und ungefähr elf zusätzliche Übergänge wie in der Figur gezeigt vorgesehen. Diese Ausführungsform wird im Folgenden mit besonderem Augenmerk auf die Modifikationen in Bezug auf die erste Ausführungsform beschrieben. 2 13 shows a state machine for gesture recognition according to a second embodiment, which can be viewed as a development of the first embodiment with an extension for multi-touch gestures. The same five single-touch gestures are supported as in the first embodiment, plus three multiple-touch gestures, namely compressing, rotating and stretching. The multi-touch capability is provided by an additional state, the multi-touch state, and approximately eleven additional transitions as shown in the figure. This embodiment will be described below with particular attention to the modifications related to the first embodiment.

Zuerst wird der zusätzliche Zustand der Mehrfachberührung (Zweifachberührung) beschrieben. Der Mehrfachberührungszustand tritt auf, wenn der Benutzer zwei Finger auf der Berührungsfläche platziert hat. Mit dem Eintritt werden die Ausgangspositionen der Berührungen und der Winkel zwischen den Ausgangspositionen der Berührungen gespeichert. In diesem Zustand werden der Abstand zwischen den zwei gleichzeitigen Berührungen und der Winkel zwischen den Berührungspositionen berechnet. Wenn der Benutzer beide Finger löst, durchläuft die Zustandsmaschine einen Übergang, indem sie ein Lösungsereignis erzeugt und in den Ruhezustand eintritt. Wenn der Benutzer einen oder allgemein alle bis auf einen Finger löst, tritt die Zustandsmaschine in den Drückzustand ein. Wenn der Berührungsabstand um mehr als eine spezifizierte Distanz von dem ersten Berührungsabstand zunimmt, wird ein Streckereignis erzeugt. Wenn der Berührungsabstand um mehr als eine spezifizierte Distanz von dem ersten Berührungszustand vermindert wird, wird ein Stauchereignis erzeugt. Wenn sich der Winkel zwischen den Berührungspositionen um mehr als eine spezifizierte Größe gegenüber dem ursprünglichen Winkel ändert, wird ein Drehereignis erzeugt. Es ist zu beachten, dass die Zustandsmaschine in diesem Zustand auch mehrere Ereignisse erzeugen kann, zum Beispiel ein Strecken und ein Drehen oder ein Stauchen und ein Drehen. Der Winkelparameter in diesem Zustand bestimmt, wie stark sich der Winkel zwischen den Berührungspositionen ändern muss, um ein Drehereignis zu erzeugen. Der Streckschwellenparameter in diesem Zustand bestimmt, wie stark der Abstand zwischen den zwei Berührungspositionen zunehmen muss, um ein Streckereignis zu erzeugen. Der Stauchschwellenparameter in diesem Zustand bestimmt, wie stark sich der Abstand zwischen den zwei Berührungspositionen vermindern muss, um ein Stauchereignis zu erzeugen. Es ist kein Limit dafür vorgegeben, wie lange es dauern kann, bevor in diesem Zustand ein Ereignis erzeugt wird.First, the additional state of multiple touch (double touch) will be described. The multi-touch condition occurs when the user has placed two fingers on the touch surface. Upon entry, the initial positions of the touches and the angle between the initial positions of the touches are saved. In this state, the distance between the two simultaneous touches and the angle between the touch positions are calculated. When the user releases both fingers, the state machine transitions by generating a resolution event and entering the idle state. When the user releases one or generally all but one finger, the state machine enters the press state. If the touch distance increases by more than a specified distance from the first touch distance, a stretch event is generated. If the contact distance is decreased by more than a specified distance from the first contact state, a forge event is generated. If the angle between the touch positions changes by more than a specified amount from the original angle, a rotation event is generated. It should be noted that in this state the state machine can also generate several events, for example stretching and rotating or compressing and rotating. The angle parameter in this state determines how much the angle must change between the touch positions in order to create a rotation event. The stretching threshold parameter in this state determines how much the distance between the two touch positions must increase in order to generate a stretching event. The compression threshold parameter in this state determines how much the distance between the two contact positions must decrease in order to generate a compression event. There is no limit to how long it can take before an event is generated in this state.

Aus dem Ruhezustand ist ein zusätzlicher Übergang zu dem Mehrfachberührungszustand vorgesehen. Dieser tritt auf, wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, wobei in diesem Fall die Zustandsmaschine ein Mehrfachberührungsereignis erzeugt und in den Mehrfachberührungszustand eintritt.An additional transition to the multiple touch state is provided from the idle state. This occurs when the user presses the touch surface with two fingers, in which case the state machine generates a multi-touch event and enters the multi-touch state.

Aus dem Berührungszustand ist ein zusätzlicher Übergang zu dem Mehrfachberührungszustand vorgesehen. Dieser tritt auf, wenn der Benutzer einen zweiten Finger auf der Berührungsfläche platziert, wobei in diesem Fall die Zustandsmaschine ein Drückereignis und ein Mehrfachberührungsereignis erzeugt und in den Mehrfachberührungszustand eintritt.An additional transition from the touch state to the multiple touch state is provided. This occurs when the user places a second finger on the touch area, in which case the state machine generates a press event and a multiple touch event and enters the multiple touch state.

Aus dem Wartezustand für ein zweites Tippen ist ein zusätzlicher Übergang zu dem Mehrfachberührungszustand vorgesehen. Dieser tritt auf, wenn der Benutzer die Berührungsfläche mit zwei Fingern berührt, wobei in diesem Fall die Zustandsmaschine ein Tippereignis und ein Mehrfachberührungsereignis erzeugt und in den Mehrfachberührungszustand eintritt. Dies gibt an, dass auf ein einfaches Tippen eine Mehrfachberührung folgte.An additional transition to the multiple touch state is provided from the waiting state for a second tap. This occurs when the user touches the touch surface with two fingers, in which case the state machine generates a tap event and a multiple touch event and enters the multiple touch state. This indicates that a single tap was followed by a multiple touch.

Aus dem Wartezustand für ein doppeltes Tippen ist ein zusätzlicher Übergang zu dem Mehrfachberührungszustand vorgesehen. Dieser tritt auf, wenn der Benutzer die Berührungsfläche mit zwei Fingern berührt, wobei in diesem Fall die Zustandsmaschine ein Tippereignis, ein Drückereignis und ein Mehrfachberührungsereignis erzeugt und in den Mehrfachberührungszustand eintritt. Dies gibt an, dass ein einfaches Tippen, ein Drücken und dann eine Mehrfachberührung aufeinander folgten.An additional transition to the multiple touch state is provided from the waiting state for a double tap. This occurs when the user touches the touch surface with two fingers, in which case the state machine generates a tap event, a press event and a multiple touch event and enters the multiple touch state. This indicates that a single tap, a press, and then a multiple touch followed each other.

Aus dem Wartezustand für ein schnelles Ziehen (Flick) ist ein zusätzlicher Übergang zu dem Mehrfachberührungszustand vorgesehen. Dieser tritt auf, wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, wobei in diesem Fall die Zustandsmaschine ein schnelles Ziehereignis und ein Mehrfachberührungsereignis erzeugt und in den Mehrfachberührungszustand eintritt. Es wird davon ausgegangen, dass die Mehrfachberührung die schnelle Ziehgeste beendet hat.From the waiting state for a quick flick, an additional transition to the multiple touch state is provided. This occurs when the user presses the touchpad with two fingers, in which case the state machine generates a quick drag event and a multi-touch event and enters the multi-touch state. It is assumed that the multiple touch has ended the quick drag gesture.

Aus dem Wartezustand für ein Ziehen ist ein zusätzlicher Übergang zu dem Mehrfachberührungszustand vorgesehen. Dieser tritt auf, wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, wobei die Zustandsmaschine ein Mehrfachberührungsereignis erzeugt und in den Mehrfachberührungszustand eintritt.An additional transition to the multiple touch state is provided from the waiting state for a pull. This occurs when the user presses the touch surface with two fingers, with the state machine generating a multi-touch event and entering the multi-touch state.

Aus dem Drückzustand ist ein zusätzlicher Übergang vorgesehen. Dieser tritt auf, wenn der Benutzer die Berührungsfläche mit zwei oder mehr Fingern drückt, wobei die Zustandsmaschine ein Mehrfachberührungsereignis erzeugt und in den Mehrfachberührungszustand eintritt. Wenn der Benutzer weiterhin in dem Mehrfachberührungszustand wie weiter oben genannt alles bis auf einen Finger löst, tritt die Zustandsmaschine in den Drückzustand ein.An additional transition is provided from the pressed state. This occurs when the user presses the touch surface with two or more fingers, with the state machine generating a multi-touch event and entering the multi-touch state. If the user continues to release everything but one finger in the multi-touch state as mentioned above, the state machine enters the press state.

3 zeigt Merkmale einer Zustandsmaschine für eine Gestenerkennung gemäß einer dritten Ausführungsform, die als eine Entwicklung der zweiten Ausführungsform betrachtet werden kann, in welcher der Drückzustand weiter entwickelt wurde. In dieser Ausführungsform wird der Drückzustand zu einem Superzustand modifiziert, der fünf Zustände umfasst. Die zusätzlichen Zustände sind ein kurzes Warten, ein langes Warten, ein Warten auf eine Wiederholung, ein Weiderholen und ein abgeschlossenes Drücken. Diese zusätzlichen Zustände gestatten mehrere Interpretationen einer Berührung je nach deren Dauer. 3 FIG. 13 shows features of a state machine for gesture recognition according to a third embodiment, which can be regarded as a development of the second embodiment in which the pressing state has been further developed. In this embodiment, the push state is modified to a super state that includes five states. The additional states are a short wait, a long wait, a wait for a retry, a retry, and a completed press. These additional states allow multiple interpretations of a touch depending on its duration.

Der kurze Wartezustand ist ein Ausgangszustand des Superzustands, in den von den anderen Zuständen der Zustandsmaschine eingetreten wird, wenn ein Benutzer die Berührungsfläche gedrückt hat und seinen Finger für eine bestimmte Zeitdauer stationär gehalten hat. Mit dem Eintritt in den kurzen Wartezustand wird eine Zeitbeschränkung gestartet, die verwendet wird, um zu bestimmen, wann ein kurzes Drückereignis erzeugt werden soll. Die Ausgangsposition der Berührung wird gespeichert und verwendet, um zu bestimmen, ob der Benutzer seinen Finger bewegt hat. In dem kurzen Wartezustand wird auf einen Ablauf der Zeitbeschränkung geprüft und wird die Bewegungsdistanz von der Ausgangsposition der Berührung berechnet. Wenn die Zeitbeschränkung abläuft, wird ein kurzes Drückereignis erzeugt und tritt die Zustandsmaschine in den langen Wartezustand, in den Wartezustand für eine Wiederholung, in den Wiederholungszustand oder in den abgeschlossenen Drückzustand ein. Wenn der Benutzer den Finger über mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt, wird ein Ziehereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für ein Ziehen ein. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein Beendigungsereignis und tritt in den Ruhezustand ein. Wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, erzeugt die Zustandsmaschine ein Mehrfachberührungsereignis und tritt in den Mehrfachberührungszustand ein. Der Zeitbeschränkungsparameter in diesem Zustand bestimmt, wie lange der Finger des Benutzers stationär bleiben muss, bevor zu dem langen Wartezustand, dem Wartezustand für eine Wiederholung oder dem abgeschlossenen Drückzustand übergegangen wird. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um ein Ziehereignis zu erzeugen und in den Wartezustand für ein Ziehen einzutreten. Die maximal zulässige Zeit ab der ersten Berührung für die Erzeugung eines Ereignisses in diesem Zustand entspricht der Summe aus den Zeitbeschränkungen des Berührungszustands, des Wartezustands für ein schnelles Ziehen (Flick), des Wartezustands für ein Ziehen und des kurzen Wartezustands.The short wait state is an initial state of the super state which is entered by the other states of the state machine when a user has pressed the touch area and held his finger stationary for a certain period of time. Upon entering the short wait state, a time limit is started that is used to determine when a short press event should be generated. The initial position of the touch is saved and used to determine if the user moved their finger. In the short wait state, it is checked whether the time limit has expired and the moving distance from the starting position of the touch is calculated. When the time limit expires, a short press event is generated and the state machine enters the long wait, wait for a retry, retry, or complete press. If the user moves the finger more than a specified distance from the initial position of the touch, a drag event is generated and the state machine enters the wait state for a drag. When the user ends the touch, the state machine generates a termination event and enters the idle state. When the user presses the touchpad with two fingers, the state machine generates a multi-touch event and enters the multi-touch state. The time constraint parameter in this state determines how long the user's finger must remain stationary before moving to the long wait state, the wait for a retry state, or the completed press state. The movement parameter in this state determines how far the user must move his finger in order to generate a drag event and enter the wait state for a drag. The maximum allowable time from the first touch for the generation of an event in this state corresponds to the sum of the time restrictions of the touch state, the wait state for a quick pull (flick), the wait state for a pull and the short wait state.

Der lange Wartezustand ist dafür vorgesehen, dass ein Benutzer die Berührungsfläche gedrückt hat und seinen Finger für eine bestimmte Zeit stationär gehalten hat. Mit dem Eintritt wird eine Zeitbeschränkung gestartet. Diese dient zur Bestimmung, wann ein langes Drückereignis erzeugt werden soll. Mit dem Eintritt wird auch die Ausgangsposition der Berührung gespeichert. Dies dient zur Bestimmung, ob der Benutzer seinen Finger bewegt hat. In diesem Zustand wird auf ein Ablaufen der Zeitbeschränkung geprüft, wobei die Distanz von der Ausgangsposition der Berührung berechnet wird. Wenn die Zeitbeschränkung abläuft, wird ein langes Drückereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für eine Wiederholung oder in den abgeschlossenen Drückzustand ein. Wenn der Benutzer seinen Finger über mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt, wird ein Ziehereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für ein Ziehen ein. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein Beendigungsereignis und tritt in den Ruhezustand ein. Wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, erzeugt die Zustandsmaschine ein Mehrfachberührungsereignis und tritt in den Mehrfachberührungszustand ein. Der Zeitbeschränkungsparameter in diesem Zustand bestimmt, wie lange der Finger des Benutzers stationär bleiben muss, bevor zu dem Wartezustand für eine Wiederholung oder zu dem abgeschlossenen Wartezustand übergegangen wird. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um ein Ziehereignis zu erzeugen und in den Wartezustand für ein Ziehen einzutreten. Die maximale Zeitdauer ab der ersten Berührung für die Erzeugung eines Ereignisses in diesem Zustand entspricht der Summe der Zeitbeschränkungen des Berührungszustands, des Wartezustands für ein schnelles Ziehen (Flick), des Wartezustands für ein Ziehen, des kurzen Wartezustands und des langen Wartezustands.The long wait state is provided for when a user has pressed the touch surface and kept his finger stationary for a certain time. A time limit is started upon entry. This is used to determine when a long press event should be generated. With the entry, the starting position of the contact is also saved. This is used to determine whether the user has moved their finger. In this state, it is checked whether the time limit has expired, the distance from the starting position of the contact being calculated. When the time limit expires, a long press event is generated and the state machine enters the wait state for a retry or the complete press state. If the user moves their finger more than a specified distance from the initial position of the touch, a drag event is generated and the state machine enters the wait state for a drag. When the user ends the touch, the state machine generates a termination event and enters the idle state. When the user presses the touchpad with two fingers, the state machine generates a multi-touch event and enters the multi-touch state. The time constraint parameter in this state determines how long the user's finger must remain stationary before entering the wait state for a retry or the complete wait state. The movement parameter in this state determines how far the User must move his finger to generate a drag event and enter the wait state for drag. The maximum time from the first touch for the generation of an event in this state corresponds to the sum of the time restrictions of the touch state, the wait state for a quick flick, the wait state for a drag, the short wait state and the long wait state.

Der Wartezustand für eine Wiederholung ist dafür vorgesehen, dass ein Benutzer die Berührungsfläche gedrückt hat und seinen Finger für eine bestimmte Zeitdauer stationär gehalten hat. Mit dem Eintritt in den Zustand wird eine Zeitbeschränkung gestartet. Dies dient zur Bestimmung, wann ein wiederholtes Drückereignis erzeugt werden soll. Mit dem Eintritt wird auch die Ausgangsposition der Berührung gespeichert. Dies dient zur Bestimmung, ob der Benutzer seinen Finger bewegt hat. In diesem Zustand wird auf ein Ablaufen der Zeitbeschränkung geprüft und wird die Distanz von der Ausgangsposition der Berührung berechnet. Wenn die Zeitbeschränkung abläuft, wird ein wiederholtes Drückereignis erzeugt und tritt die Zustandsmaschine in den Wiederholungszustand ein. Wenn der Benutzer seinen Finger über mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt, wird ein Ziehereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für ein Ziehen ein. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein Beendigungsereignis und tritt in den Ruhezustand ein. Wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, erzeugt die Zustandsmaschine ein Mehrfachberührungsereignis und tritt in den Mehrfachberührungszustand ein. Der Zeitbeschränkungsparameter in diesem Zustand bestimmt, wie lange der Finger des Benutzers stationär bleiben muss, bevor zu dem Wiederholungszustand übergegangen wird. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um ein Ziehereignis zu erzeugen und in den Wartezustand für ein Ziehen einzutreten. Die maximale Zeitdauer ab der ersten Berührung für die Erzeugung eines Ereignisses in diesem Zustand entspricht der Summe der Zeitbeschränkungen des Berührungszustands, des Wartezustands für ein kurzes Ziehen (Flick), des Wartezustands für ein Ziehen, des kurzen Wartezustands, des langen Wartezustands und des Wartezustands für eine Wiederholung.The waiting state for a repetition is provided that a user has pressed the touch surface and kept his finger stationary for a certain period of time. A time limit is started when the state is entered. This is used to determine when to generate a repeated push event. With the entry, the starting position of the contact is also saved. This is used to determine whether the user has moved their finger. In this state, it is checked whether the time limit has expired and the distance from the starting position of the contact is calculated. When the time limit expires, a repeat press event is generated and the state machine enters the repeat state. If the user moves their finger more than a specified distance from the initial position of the touch, a drag event is generated and the state machine enters the wait state for a drag. When the user ends the touch, the state machine generates a termination event and enters the idle state. When the user presses the touchpad with two fingers, the state machine generates a multi-touch event and enters the multi-touch state. The time constraint parameter in this state determines how long the user's finger must remain stationary before entering the repeat state. The movement parameter in this state determines how far the user must move his finger in order to generate a drag event and enter the wait state for a drag. The maximum time from the first touch for the generation of an event in this state corresponds to the sum of the time restrictions of the touch state, the wait state for a short pull (flick), the wait state for a pull, the short wait state, the long wait state and the wait state for a repetition.

Der Wiederholungszustand ist dafür vorgesehen, dass der Benutzer die Berührungsfläche gedrückt hat und seinen Finger für eine bestimmte Zeitdauer stationär gehalten hat. Mit dem Eintritt wird eine Zeitbeschränkung gestartet. Dies dient zur Bestimmung, wann ein wiederholtes Drückereignis erzeugt werden soll. Mit dem Eintritt wird auch die Ausgangsposition der Berührung gespeichert. Dies dient zur Bestimmung, ob der Benutzer seinen Finger bewegt hat. In diesem Zustand wird der Ablauf der Zeitbeschränkung geprüft und wird die Bewegungsdistanz von der Ausgangsposition der Berührung berechnet. Wenn die Zeitbeschränkung abläuft, wird ein wiederholtes Drückereignis erzeugt. Wenn der Benutzer seinen Finger über mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt, wird ein Ziehereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für ein Ziehen ein. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein Lösungsereignis und tritt in den Ruhezustand ein. Wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, erzeugt die Zustandsmaschine ein Mehrfachberührungsereignis und tritt in den Mehrfachberührungszustand ein. Der Zeitbeschränkungsparameter in diesem Zustand bestimmt, wie lange der Finger des Benutzers stationär bleiben muss, bevor ein wiederholtes Drückereignis erzeugt wird. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um ein Ziehereignis zu erzeugen und in den Wartezustand für ein Ziehen einzutreten. Die maximale Zeitdauer ab der ersten Berührung für die Erzeugung eines Ereignisses in diesem Zustand entspricht der Summe der Zeitbeschränkungen des Berührungszustands, des Wartezustands für ein schnelles Ziehen (Flick), des Wartezustands für ein Ziehen, des kurzen Wartezustands, des langen Wartezustands und des Wi ederholungszustands.The repetition state is provided that the user has pressed the touch surface and kept his finger stationary for a certain period of time. A time limit is started upon entry. This is used to determine when to generate a repeated push event. With the entry, the starting position of the contact is also saved. This is used to determine whether the user has moved their finger. In this state, the expiration of the time limit is checked and the moving distance from the starting position of the touch is calculated. When the time limit expires, a repeated push event is generated. If the user moves their finger more than a specified distance from the initial position of the touch, a drag event is generated and the state machine enters the wait state for a drag. When the user ends the touch, the state machine generates a resolution event and enters the idle state. When the user presses the touchpad with two fingers, the state machine generates a multi-touch event and enters the multi-touch state. The time constraint parameter in this state determines how long the user's finger must remain stationary before a repeated press event is generated. The movement parameter in this state determines how far the user must move his finger in order to generate a drag event and enter the wait state for a drag. The maximum time from the first touch for the generation of an event in this state corresponds to the sum of the time restrictions of the touch state, the wait state for a quick pull (flick), the wait state for a pull, the short wait state, the long wait state and the recovery state .

Der abgeschlossene Drückzustand ist dem Drückzustand der ersten und der zweiten Ausführungsform ähnlich. Mit dem Eintritt wird die Ausgangsposition der Berührung gespeichert. Dies dient zur Bestimmung, ob der Benutzer seinen Finger bewegt hat. In diesem Zustand wird die Bewegungsdistanz von der Ausgangsposition der Berührung berechnet. Wenn der Benutzer seinen Finger über mehr als eine spezifizierte Distanz von der Ausgangsposition der Berührung bewegt hat, wird ein Ziehereignis erzeugt und tritt die Zustandsmaschine in den Wartezustand für ein Ziehen ein. Wenn der Benutzer die Berührung beendet, erzeugt die Zustandsmaschine ein Lösungsereignis und tritt in den Ruhezustand ein. Wenn der Benutzer die Berührungsfläche mit zwei Fingern drückt, erzeugt die Zustandsmaschine ein Mehrfachberührungsereignis und tritt in den Mehrfachberührungszustand ein. Der Bewegungsparameter in diesem Zustand bestimmt, wie weit der Benutzer seinen Finger bewegen muss, um ein Ziehereignis zu erzeugen und in den Wartezustand für ein Ziehen einzutreten. Es ist kein Limit dafür vorgegeben, wie lange es dauern kann, bevor in diesem Zustand ein Ereignis erzeugt wird.The completed pressing state is similar to the pressing state of the first and second embodiments. With the entry, the starting position of the contact is saved. This is used to determine whether the user has moved their finger. In this state, the moving distance from the initial position of touch is calculated. If the user has moved their finger more than a specified distance from the initial position of the touch, a drag event is generated and the state machine enters the wait state for a drag. When the user ends the touch, the state machine generates a resolution event and enters the idle state. When the user presses the touchpad with two fingers, the state machine generates a multi-touch event and enters the multi-touch state. The movement parameter in this state determines how far the user must move his finger in order to generate a drag event and enter the wait state for a drag. There is no limit to how long it can take before an event is generated in this state.

Es ist zu beachten, dass nicht alle in 3 gezeigten Übergänge in Bezug auf den Drücksuperzustand gleichzeitig aktiv sind. Jeder der Drücksubzustände kann bei Bedarf deaktiviert werden. Dann werden die internen Pfade bestimmt, über die die Subzustände aktiviert werden. Wenn zum Beispiel ein kurzes Drücken und ein wiederholtes Drücken aktiviert sind, aber ein langes Drücken deaktiviert ist, dann verläuft ein Pfad in den Superzustand zu dem kurzen Wartezustand. Der lange Wartezustand wird in diesem Fall übersprungen, und die Maschine geht zu dem Wartezustand für eine Wiederholung über.It should be noted that not all in 3 The transitions shown in relation to the superpressure state are active at the same time. Each of the push sub-states can be deactivated if necessary. Then the internal paths through which the substates are activated are determined. For example, if a short press and a repeat press are enabled but a long press is disabled, then a path in the superstate is to the brief wait state. The long wait state is skipped in this case, and the machine goes to the wait state for one retry.

Es ist zu beachten, dass die erste Ausführungsform auch derart modifiziert werden kann, dass ein Drücksuperzustand wie oben mit Bezug auf 3 beschrieben vorgesehen wird, wobei aber die Merkmale für eine Mehrfachberührung weggelassen werden.It should be noted that the first embodiment can also be modified to have a super-press state as above with reference to FIG 3 is provided, but the features for a multiple touch are omitted.

Die Zustandsmaschinen der ersten, zweiten und dritten Ausführungsform sind einfach und effektiv, lassen sich aber nicht gut für komplexere Gestenkombinationen skalieren, insbesondere wenn es sich um Mehrfachberührungen handelt. Es soll hier zum Beispiel eine Geste betrachtet werden, in der ein Benutzer einen Finger auf die Berührungsfläche hält und mit einem zweiten Finger auf die Fläche tippt (eine „Drück-‟ und Tippgeste). Dazu benötigt der Mehrfachberührungszustand in der Zustandsmaschine der zweiten Ausführungsform mehrere Subzustände, um die Position, die Dauer und die Bewegung der zwei Berührungen zu verfolgen.The state machines of the first, second and third embodiments are simple and effective, but do not scale well for more complex combinations of gestures, especially when it comes to multiple touches. For example, consider a gesture in which a user holds one finger on the touch surface and taps the surface with a second finger (a “press” and “tap” gesture). For this purpose, the multiple touch state in the state machine of the second embodiment requires multiple sub-states in order to track the position, the duration and the movement of the two touches.

Es wäre deshalb auch schwierig, die Zustandsmaschine der zweiten Ausführungsform für die Handhabung von Gesten mit mehr als zwei Berührungen zu erweitern. Die Komplexität der Zustandsmaschine würde mit jeder zusätzlichen Berührung stark zunehmen.It would therefore also be difficult to extend the state machine of the second embodiment for the handling of gestures with more than two touches. The complexity of the state machine would greatly increase with each additional touch.

Diese Beschränkungen werden durch eine vierte Ausführungsform der Erfindung beseitigt, in welcher der Mehrfachberührungszustand aus der Zustandsmaschine der zweiten Ausführungsform entfernt ist, um eine einfache Einfachberührungs-Zustandsmaschine gemäß der ersten Ausführungsform wie in Fia.1gezeigt vorzusehen. Eine Einfachberührungs-Zustandsmaschine dieser Art kann alle erforderlichen Informationen aus einer einfachen Berührung verfolgen. Mehrere Einfachberührungs-Zustandsmaschinen werden dann miteinander kombiniert, um Mehrfachberührungsgesten zu handhaben, sodass also keine komplexeren Mehrfachberührungs-Zustandsmaschinen erzeugt werden müssen, die dem Ansatz der zweiten Ausführungsform folgen.These limitations are eliminated by a fourth embodiment of the invention, in which the multi-touch state from the State machine of the second embodiment is removed to provide a simple single touch state machine according to the first embodiment as shown in FIG. A single touch state machine of this type can keep track of all required information from a single touch. A plurality of single-touch state machines are then combined with one another in order to handle multiple-touch gestures, so that there is no need to generate more complex, multiple-touch state machines that follow the approach of the second embodiment.

4 zeigt eine Zustandsmaschine gemäß der vierten Ausführungsform auf der höchsten konzeptuellen Ebene. In diesem Diagramm geben die x Berührungsblöcke jeweils die Einfachberührungs-Zustandsmaschine von 3 wieder. N derartige Zustandsmaschinen werden durch eine Nfachberührungs-Zustandsmaschine verarbeitet, um Nfachberührungsgesten zu erzeugen. 4th Fig. 13 shows a state machine according to the fourth embodiment at the highest conceptual level. In this diagram, the x touch blocks each give the single-touch state machine of 3 again. N such state machines are processed by an N multiple touch state machine to generate N multiple touch gestures.

5 zeigt den internen Aufbau der Nfachberührungs-Zustandsmaschine der zweiten Ausführungsform, die einen Ruhezustand und einen Berührungszustand umfasst. Wenn alle Berührungen getätigt werden, befindet sich die Zustandsmaschine in dem Nfachberührungs-Berührungszustand, während sie sich ansonsten in dem Nfachberührungs-Ruhezustand befindet. Die Zustandsmaschine kann Ereignisse in jedem Zustand erzeugen. Wenn sich zum Beispiel in dem Nfachberührungs-Berührungszustand alle Einfachberührung-Zustandsmaschinen in dem Wartezustand für ein Ziehen befinden, kann ein Nfachberührungs-Ziehereignis erzeugt werden, wenn eine der Zustandsmaschinen ein Ziehereignis erzeugt. 5 Fig. 13 shows the internal structure of the multiple-touch state machine of the second embodiment, which includes an idle state and a touch state. If all the touches are made, the state machine is in the multiple-touch idle state, otherwise it is in the multiple-touch idle state. The state machine can generate events in any state. For example, in the multiple touch touch state, if all of the single touch state machines are in the wait state for a drag, a multiple touch drag event may be generated when one of the state machines generates a drag event.

6 zeigt, wie dieser Ansatz verwendet werden kann, um eine äquivalente Funktion für die Zustandsmaschine der zweiten Ausführungsform von 2, aber mit einer einfacheren und skalierbaren Architektur vorzusehen. 6th shows how this approach can be used to provide an equivalent function for the state machine of the second embodiment of FIG 2 but to be provided with a simpler and scalable architecture.

In diesem Beispiel werden die Berührung 1 und die Berührung 2 durch die Zweifachberührungs-Zustandsmaschine verarbeitet, die den Abstand und den Winkel zwischen den Berührungen verfolgt und Streck-, Stauch- und Drehereignisse erzeugt, wenn sich der Abstand und/oder der Winkel zwischen den Berührungen ändert.In this example, touch 1 and touch 2 are processed by the two touch state machine, which tracks the distance and angle between touches and creates stretch, compress, and twist events as the distance and / or angle between touches changes changes.

Diese Zustandsmaschine kann auch komplexere Gesten wie etwa die zuvor beschrieenen Drück- und Tippgesten erzeugen. Dies kann unter Verwendung einer Kombination aus den Zuständen und erzeugten Ereignissen der zwei Eingangszustandsmaschinen bewerkstelligt werden. Wenn eine Zustandsmaschine den Zustand „Drücken“ aufweist, und die andere das Ereignis „Tippen“ erzeugt hat, dann kann die Zweifachberührungs-Zustandsmaschine ein „Drück- und Tippereignis“ erzeugen.This state machine can also generate more complex gestures such as the previously described press and tap gestures. This can be done using a combination of the states and generated events of the two input state machines. If one state machine is in the "press" state and the other has generated the event "tap", then the two-touch state machine can generate a "press and tap event".

Ähnliche Kombinationen können verwendet werden, um Ereignisse wie etwa die folgenden zu erzeugen:

  • •Drücken und doppeltes Tippen
  • •Ziehen und Tippen
  • •Drücken und schnelles Ziehen (Flick)
  • •Ziehen mit zwei Fingern
  • • andere Kombinationen von Zuständen und Ereignissen.
Similar combinations can be used to generate events such as the following:
  • • Press and double tap
  • • Drag and tap
  • • Push and pull quickly (flick)
  • • Dragging with two fingers
  • • other combinations of states and events.

7 zeigt, wie derselbe Ansatz verwendet werden kann, um Gesten mit drei Berührungen zu handhaben. Die Figur zeigt drei mögliche Dreifachberührungsgesten. Wenn sich in dem Dreifachberührungs-Berührungszustand alle Einfachberührungs-Zustandsmaschinen in dem Wartezustand für ein Ziehen befinden, dann kann die Dreifachberührungs-Zustandsmaschine ein Dreifachberührungs-Ziehereignis erzeugen, wenn eine beliebige Einfachberührungs-Zustandsmaschine ein Ziehereignis erzeugt. 7th shows how the same approach can be used to handle three-touch gestures. The figure shows three possible triple touch gestures. In the triple-touch state, if all of the single-touch state machines are waiting for a drag, then the triple-touch state machine may generate a triple-touch drag event when any single-touch state machine generates a drag event.

Die Figur zeigt auch, wie die Zustandsmaschine eine Situation erfassen kann, in welcher der Benutzer zwei Berührungen auf der Berührungsfläche aufweist, wobei er dann mit einem dritten Finger tippt. Dies kann zum Beispiel in einer Anwendung verwendet werden, in der zwei Finger zum Drehen eines angezeigten Bildes verwendet werden und das angezeigte Bild durch ein Tippen mit einem dritten Finger vergrößert wird. Dieselbe Zustandsmaschine kann auch verwendet werden, um einfach ein doppeltes Tippen für ein Verkleinern des angezeigten Bildes zu erfassen.The figure also shows how the state machine can detect a situation in which the user has two touches on the touch surface, in which case he then taps with a third finger. This can be used, for example, in an application where two fingers are used to rotate a displayed image and the displayed image is enlarged by tapping a third finger. The same state machine can also be used to simply capture a double tap to zoom out on the displayed image.

Ein Hauptvorteil des Ansatzes der vierten Ausführungsform besteht darin, dass dieselbe Codebasis für die Handhabung von Einfachberührungen verwendet wird, wobei Zweifachberührungen, Dreifachberührungen oder auch noch größere Mehrfachberührungen unter Verwendung eines separaten und zusätzlichen Codes verarbeitet werden. Der Ansatz ist also skalierbar und modular und bringt damit die üblichen Vorteile hinsichtlich eines reduzierten Programmieraufwands und einer höheren Zuverlässigkeit mit sich.A main advantage of the approach of the fourth embodiment is that the same code base is used for the handling of single touches, with double touches, triple touches or even larger multiple touches being processed using a separate and additional code. The approach is therefore scalable and modular and thus brings the usual advantages in terms of reduced programming effort and greater reliability.

Im Folgenden wird eine geeignete Hardware-Plattform für die Einbindung der Gestenerkennungs-Zustandsmaschine gemäß der Erfindung beschrieben. Die Hardware-Plattform ist aus der weiter obengenannten US 2007/0279395 A1 übernommen.A suitable hardware platform for integrating the gesture recognition state machine according to the invention is described below. The hardware platform is from the one mentioned above US 2007/0279395 A1 accepted.

8 ist eine schematische Draufsicht auf wichtige Teile eines Elektrodenmusters für einen 2DCT, wobei das Elektrodenmuster einen empfindlichen Bereich für die Einrichtung definiert. Die Elektroden sind auf einem nicht eigens gezeigten Substrat angeordnet, das eine Oberfläche aufweist, die in der Zeichnungsebene liegt. Das Substrat kann etwa aus einem flexiblen und transparenten Kunststoffmaterial wie etwa PET (Polyethylenterephthalat) ausgebildet sein. Das Substrat ist allgemein isolierend. Das Elektrodenmuster ist aus Indiumzinnoxid ausgebildet und weist einen Widerstand von einigen wenig hundert Ohm/Quadrat auf. Dabei handelt es sich um ein transparentes Material, das also für Anzeigeanwendungen oder andere Anwendungen geeignet ist, in denen eine darunter liegende Taste oder andere Schablone sichtbar sein soll. 8th Fig. 13 is a schematic plan view of important parts of an electrode pattern for a 2DCT, the electrode pattern being a sensitive area defined for the facility. The electrodes are arranged on a substrate, not specifically shown, which has a surface which lies in the plane of the drawing. The substrate can be made from a flexible and transparent plastic material such as PET (polyethylene terephthalate). The substrate is generally insulating. The electrode pattern is made of indium tin oxide and has a resistance of a few hundred ohms / square. This is a transparent material, so it is suitable for display applications or other applications in which an underlying button or other template should be visible.

Allgemein kann das Elektrodenmuster her gestellt werden, indem ein geeignetes leitendes Material aufgetragen oder entfernt wird. Das Aufträgen kann zum Beispiel durch eine Gasphasenabscheidung oder ein Siebdrucken erfolgen. Die Entfernung kann zum Beispiel durch einen Laser oder durch ein chemisches Ätzen erfolgen.In general, the electrode pattern can be made by applying or removing a suitable conductive material. The application can take place, for example, by means of gas phase deposition or screen printing. The removal can be carried out, for example, by a laser or by chemical etching.

Das Elektrodenmuster definiert y-Elektroden 10, 12 zum Bestimmen der y-Position und der x-Elektroden 14, 16, 18, 20, 22, 24 zum Bestimmen der x-Position. Wie gezeigt, erstrecken sich die x-Elektroden und die y-Elektroden allgemein in der x-Richtung und sind in der y-Richtung miteinander verschränkt. Die y-Elektroden 10, 12 sind als einfache Balken, d. h. als längliche Rechtecke, geformt, während die x-Elektroden 14-24 jeweils sich verjüngende Dreiecksformen aufweisen.The electrode pattern defines y-electrodes 10, 12 for determining the y-position and the x-electrodes 14, 16, 18, 20, 22, 24 for determining the x-position. As shown, the x-electrodes and the y-electrodes extend generally in the x-direction and are interlaced with one another in the y-direction. The y-electrodes 10, 12 are designed as simple bars, i.e. H. as elongated rectangles, while the x electrodes 14-24 each have tapered triangular shapes.

Im Folgenden werden zuerst die x-Elektroden ausführlich beschrieben. Darauf folgt eine Beschreibung der y-Elektroden.In the following, the x-electrodes are first described in detail. This is followed by a description of the y-electrodes.

Die x-Elektroden lassen sich in drei Gruppen klassifizieren. Eine erste Gruppe von dreieckigen, sich verjüngenden Elektroden 14, 24 ist auf der linken und der rechten Seite des empfindlichen Bereichs angeordnet. Eine zweite Gruppe von dreieckigen Elektroden 16, 22 mit einer sich doppelt verjüngenden Form ist derart angeordnet, dass sich die Elektroden jeweils von der linken und der rechten Seite des empfindlichen Bereichs nach innen zu der Mitte hin erstrecken.The x-electrodes can be classified into three groups. A first group of triangular, tapered electrodes 14th , 24 is located on the left and right of the sensitive area. A second group of triangular electrodes 16 , 22nd having a double-tapered shape is arranged such that the electrodes extend inwardly toward the center from each of the left and right sides of the sensitive area.

Eine dritte Gruppe von x-Elektroden 18, 20 erstreckt sich jeweils von einer Mittellinie 26 links und nach rechts nach außen und sind einstückig ausgebildet. Benachbarte Elemente der ersten und der zweiten Gruppe 14, 16 und 24, 22 erstrecken sich gemeinsam in der x-Richtung über die äußeren Teile I und IV des empfindlichen Bereichs zur linken und rechten Seite des empfindlichen Bereichs. Und benachbarte Elemente der zweiten und dritten Gruppen 16, 18 und 22, 20 erstrecken sich in der x-Richtung über innere Teile II und III des empfindlichen Bereichs auf beiden Seiten der Mittellinie.A third group of x-electrodes 18, 20 each extend from a center line 26th left and right to the outside and are integrally formed. Adjacent elements of the first and second group 14th , 16 and 24 , 22nd extend together in the x-direction over the outer parts I and IV of the sensitive area to the left and right side of the sensitive area. And neighboring elements of the second and third groups 16 , 18th and 22nd , 20th extend in the x-direction over inner parts II and III of the sensitive area on either side of the center line.

Auf diese Weise bildet jedes benachbarte Paar von sich gemeinsam erstreckenden x-Elektroden der ersten und der zweiten Gruppe oder der zweiten und der dritten Gruppe einen so genannten Schieber. Es ist zu beachten, dass die Elektrodenelemente in geeigneter Weise in Entsprechung zu der Betätigungseinrichtung wie etwa einen Finger geformt und dimensioniert sind, um ein ratiometrisches, kapazitives Signal über die Länge der wechselseitigen Erstreckung in der x-Richtung vorzusehen, sodass sie also einander in der x-Richtung überlappen.In this way, each adjacent pair of mutually extending x-electrodes of the first and the second group or the second and the third group forms a so-called slide. It should be noted that the electrode elements are appropriately shaped and dimensioned to correspond to the actuating device such as a finger in order to provide a ratiometric, capacitive signal over the length of the mutual extension in the x-direction so that they are mutually in the Overlap x-direction.

Die linken sich doppelt verjüngenden x-Elektroden 16 sind alle über eine elektrische Leitung 30, die sich in der y-Richtung am linken Rand des empfindlichen Bereichs nahe der linken Kante der x-Elektroden 16 erstreckt, mit einer externen Leitung X1 verbunden. Es ist zu beachten, dass die sich doppelt verjüngenden Elektroden an ihren linken Enden Anschlussbereiche 33 aufweisen, um diese externe Verbindung zu unterstützen.The left, double-tapered x-electrodes 16 are all over an electrical line 30th extending in the y-direction on the left edge of the sensitive area near the left edge of the x electrodes 16, with an external lead X1 tied together. It should be noted that the double-tapered electrodes have connection areas at their left-hand ends 33 to support this external connection.

Die linken sich verjüngenden x-Elektroden 14 sind alle über eine elektrische Leitung 32, die in der y-Richtung an dem linken Rand des empfindlichen Bereichs in der Nähe der linken Kante der x-Elektroden 14 verläuft, mit einer externen Leitung X2 verbunden.The left tapered x-electrodes 14 are all over an electrical line 32 running in the y-direction on the left edge of the sensitive area near the left edge of the x electrodes 14, with an external lead X2 tied together.

Die sich verjüngenden x-Elektroden 18 und 20, die von der Mittellinie 26 erstrecken, sind natürlich alle mit der Mittellinie verbunden und sind über die Mittellinie 26 in einem elektrischen Kontakt mit dem Rand des empfindlichen Bereichs. Eine externe Leitung X3 ist über eine elektrische Leitung 34, die mit der Basis der Mittellinie 26 in Kontakt ist, mit der Mittellinie verbunden.The tapered x electrodes 18 and 20 extending from the center line 26th extend, of course, are all connected to the center line and are across the center line 26th in electrical contact with the edge of the sensitive area. An external line X3 is via an electrical line 34 that is with the base of the center line 26th is in contact, connected to the center line.

Die rechten sich verjüngenden x-Elektroden 24 sind alle über eine elektrische Leitung 36, die in der y-Richtung an dem rechten Rand des empfindlichen Bereichs nahe der rechten Kante der x-Elektroden 24 verläuft, mit einer externen Leitung X4 verbunden, ähnlich wie die entsprechenden linken x-Elektroden 14.The right tapered x electrodes 24 are all via an electrical lead 36 running in the y-direction on the right edge of the sensitive area near the right edge of the x electrodes 24, with an external lead X4 connected, similar to the corresponding left x electrodes 14.

Die rechten sich doppelt verjüngenden x-Elektroden 22 sind alle über eine elektrische Leitung 38, die in der y-Richtung an dem rechten Rand des empfindlichen Bereichs nahe der rechten Kante der x-Elektroden 22 verläuft, mit einer externen Leitung X5 verbunden, ähnlich wie die entsprechenden linken x-Elektroden 16, wobei vergrößerte Kontaktflächen 39 verwendet werden.The right double-tapered x-electrodes 22 are all over an electrical line 38 running in the y-direction on the right edge of the sensitive area near the right edge of the x electrodes 22, with an external lead X5 connected, similar to the corresponding left x-electrodes 16, with enlarged contact areas 39 be used.

Auf diese Weise sind die x-Elektroden 14-24 nach außen hin mit fünf externen Leitungen X1-X5 für ein Auslesen verbunden.In this way, the x electrodes 14-24 are externally connected to five external leads X1-X5 connected for readout.

Die y-Elektroden sind in zwei Sätze 10 und 12 links und rechts von der Mittellinie 26 aufgeteilt. Wie weiter oben genannt, weisen sie eine einfache Balkenform auf und sind zwischen benachbarten Sätzen von x-Elektroden 14, 16, 18 auf der linken Seite und 20, 22, 24 auf der rechten Seite angeordnet. Die y-Elektroden 10 und 12 sind in vertikal benachbarten Sätzen durch elektrische Leitungen miteinander verbunden, sodass die y-Auflösung des empfindlichen Bereichs auf eine vertikale Distanz beschränkt ist, die der vertikalen Erstreckung der verbundenen y-Elektroden entspricht. Die Verkettung der y-Elektroden reduziert die y-Auflösung, wobei jedoch die Anzahl der externen Leitungen für die y-Elektroden klein gehalten wird. In dem gezeigten Beispiel ist der unterste Satz von y-Elektroden, der aus vier Paaren von y-Elektroden besteht, mit einer elektrisch leitenden Schiene 50 verbunden, die Teil einer externen Leitung Y1 ist. Obwohl in der Figur nicht zu erkennen, ist jedes Paar von y-Elektroden auf derselben Höhe gemeinsam mit einer externen Umflaufschiene verbunden. Der nächste Satz besteht aus drei Paaren von y-Elektroden, wobei jedoch nur das erste Paar gezeigt ist, und ist mit einer Schiene 52 für eine weitere externe Leitung Y2 verbunden. Insgesamt sind sieben Sätze von y-Elektroden mit den entsprechenden externen Leitungen Y1-Y7 über assoziierte leitende Schienen verbunden. Der y-Wert ist aus diesen sieben externen Leitungen genommen, die nur sieben Einheiten von y-Auflösung für einen einfachen Steueralgorithmus vorsehen, wobei jedoch eine größere y-Auflösung mit einer Interpolation zwischen benachbarten y-Leitungen erzielt werden kann.The y electrodes are in two sets 10 and 12th left and right of the center line 26th divided up. As mentioned above, they have a simple bar shape and are arranged between adjacent sets of x-electrodes 14, 16, 18 on the left and 20, 22, 24 on the right. The y-electrodes 10 and 12 are connected to one another in vertically adjacent sets by electrical lines, so that the y-resolution of the sensitive area is limited to a vertical distance that corresponds to the vertical extension of the connected y-electrodes. Chaining the y-electrodes reduces the y-resolution, but the number of external lines for the y-electrodes is kept small. In the example shown, the bottom set of y-electrodes, which consists of four pairs of y-electrodes, is with an electrically conductive rail 50 connected that is part of an external line Y1 is. Although it cannot be seen in the figure, each pair of y-electrodes is jointly connected to an external circumferential rail at the same level. The next set consists of three pairs of y-electrodes, but only the first pair is shown, and is with a rail 52 for another external line Y2 tied together. There are a total of seven sets of y-electrodes with their corresponding external leads Y1-Y7 connected by associated conductive rails. The y-value is taken from these seven external lines, which only provide seven units of y-resolution for a simple control algorithm, but greater y-resolution can be achieved with interpolation between adjacent y-lines.

Zusammenfassend lässt sich also sagen, dass der 2DCT eine quasi kontinuierliche x-Auflösung über Schieber in vier überlappenden Bereichen I-IV in der x-Richtung über die Breite des empfindlichen Bereichs in Kombination mit einer schrittweisen y-Auflösung über sich horizontal erstreckende Elektrodenstangen vorsieht, die in vertikal benachbarten Sätzen von 3 und 4 gemeinsam verbunden sind. Insgesamt werden zwölf externe Leitungen verwendet, fünf für X und sieben für Y.In summary, it can be said that the 2DCT provides a quasi-continuous x-resolution via sliders in four overlapping areas I-IV in the x-direction over the width of the sensitive area in combination with a stepwise y-resolution via horizontally extending electrode rods, which are connected together in vertically adjacent sets of 3 and 4. A total of twelve external lines are used, five for X and seven for Y.

Die Kombination aus der Mittellinie und den sich doppelt verjüngenden Elektroden gestattet, dass eine große Fläche des empfindlichen Bereichs in der x-Richtung eine große empfindliche Fläche vorsieht, die transparent und ohne externe Verbindungen außer am Rand vorgesehen werden kann. Weiterhin sind bei diesem Elektrodenaufbau die Handschatteneffekte nicht auffällig, weil eine Verschiebung des Zentrums des kapazitiven Signals von der physikalischen Position des Fingers durch die laterale Erstreckung der Elektroden begrenzt ist. Zum Beispiel kann eine Einrichtung mit einem empfindlichen Bereich mit einer Diagonalen von 6 Zoll (150 mm) auf der Grundlage dieses Aufbaus hergestellt werden.The combination of the center line and the double-tapered electrodes allows a large area of the sensitive area in the x-direction to provide a large sensitive area that can be provided transparently and without external connections other than the edge. Furthermore, with this electrode structure, the hand shadow effects are not noticeable because a shift of the center of the capacitive signal from the physical position of the finger is limited by the lateral extension of the electrodes. For example, a 6 inch (150 mm) diagonal sensitive area device can be made based on this structure.

9 ist eine Draufsicht mit einem Maßstab von ungefähr 1:1 (d. h. in Echtgröße) auf einen 2DCT mit dem Elektrodenmuster und einer ersten Schicht von Verbindungen am Rand des Elektrodenmusterbereichs für eine Verbindung mit den y-Elektroden. Der Einfachheit halber ist der durch die vorausgehende schematische Ansicht gezeigte Bereich durch das mit einer doppelt gepunkteten Strichlinie umgebene Rechteck unten in der Figur gezeigt. Außerdem ist ein ungefähr maßstabsgetreuer Fingerumriss gezeigt. 9 Figure 12 is a plan view at approximately 1: 1 scale (ie, full size) of a 2DCT with the electrode pattern and a first layer of connections at the edge of the electrode pattern area for connection to the y-electrodes. For the sake of simplicity, the area shown by the preceding schematic view is shown at the bottom of the figure by the rectangle surrounded by a double-dotted dashed line. A finger outline, roughly to scale, is also shown.

Das allgemeine ITO-Elektrodenmuster bedeckt den Hauptteil des Substrats 40. Das Muster in diesem Beispiel bedeckt einen rechteckigen Bereich, der dem Bereich des Berührungsbildschirms oder einer anderen Einrichtung entspricht, für die ein Erfassungsteil vorgesehen werden soll. Die oben beschriebenen vier einander überlappenden Bereiche I— IV der x-Elektroden sind ebenfalls markiert. Das Substrat 40, das allgemein rechteckig ist, weist weiterhin eine vorstehende Lasche 42 in der Mitte der linken Seite des Substrats auf. Die vorstehende Lasche 42 wird für eine externe Kontaktierung wie mit Bezug auf die folgende Figur beschrieben verwendet. Auf der linken Seite des Substrats 40, d. h. auf der Seite neben der vorstehenden Lasche 42, sind sieben Gruppen von leitenden Schienen 50-62 vorgesehen, die externe Leitungen Y1-Y7 für die y-Leitungen bilden, wobei die Leitungen Y2-Y7 jeweils über die Schienen 52-62 mit drei y-Elektroden verbunden sind und die Leitung Y1 vier y-Elektroden über die Schiene 50 verbindet, sodass insgesamt 22 y-Elektroden auf der linken Hälfte der Einrichtung, d. h. in der Hälfte links von der Mittellinie 26, vorgesehen sind. Auf der rechten Seite ist eine genau entsprechende Anordnung mit 22 y-Elektroden jeweils in Dreiergruppen und einer untersten Vierergruppe vorgesehen. Die Schienen 50-62 der externen Leitungen Y1-Y7 auf der rechten Seite des Substrats erstrecken sich um das obere Ende des Substrats zu der linken Seite des Substrats, sodass die einander entsprechenden Paare auf der linken und der rechten Seite und die gemeinsam verbundenen Gruppen von Paaren von y-Elektroden über eine einzige leitende Schiene miteinander verbunden sind.The general ITO electrode pattern covers most of the substrate 40 . The pattern in this example covers a rectangular area corresponding to the area of the touch screen or other device for which a sensing part is to be provided. The four overlapping areas I-IV of the x electrodes described above are also marked. The substrate 40 , which is generally rectangular, also has a protruding tab 42 in the middle of the left side of the substrate. The protruding tab 42 is used for external contacting as described with reference to the following figure. On the left side of the substrate 40 , ie on the side next to the protruding flap 42 , are seven groups of senior rails 50-62 provided the external lines Y1-Y7 for the y-lines, with the lines Y2-Y7 each over the rails 52-62 connected to three y-electrodes and the lead Y1 four y-electrodes over the rail 50 connects so that a total of 22 y-electrodes are on the left half of the device, ie in the half to the left of the center line 26th , are provided. On the right-hand side there is an exactly corresponding arrangement with 22 y-electrodes, each in groups of three and a bottom group of four. The rails 50-62 of the external lines Y1-Y7 on the right side of the substrate extend around the top of the substrate to the left side of the substrate so that the corresponding pairs on the left and right sides and the commonly connected groups of pairs of y-electrodes are interconnected via a single conductive bar are connected.

10 ist eine Draufsicht auf den 2DCT-Prototypen von 9 und zeigt das Elektrodenmuster und eine zweite Schicht von Verbindungen am Rand des Elektrodenmusterbereichs für die Verbindung der x-Elektroden und auch für die Verbindung der externen Leitungen der y-Elektroden mit dem y-Elektrodenverbindungen von 9. Zwischen der ersten und der zweiten Schicht von 9 und 10 ist eine Isolationsschicht angeordnet, die isolierende Bereiche vorsieht, um einen elektrischen Kontakt zwischen bestimmten Paaren von ersten und zweiten Verbindungsschichten zu verhindern, und weiterhin offene Bereiche vorsieht, um einen elektrischen Kontakt zwischen bestimmten anderen Paaren von ersten und zweiten Verbindungsschichten sicherzustellen. 10 FIG. 6 is a top plan view of the 2DCT prototype of FIG 9 and shows the electrode pattern and a second layer of connections at the edge of the electrode pattern area for connecting the x-electrodes and also for connecting the external leads of the y-electrodes to the y-electrode connections of FIG 9 . Between the first and second layers of 9 and 10 an insulation layer is disposed which provides insulating areas to prevent electrical contact between certain pairs of first and second interconnect layers and further provides open areas to allow electrical contact between certain other pairs of ensure first and second tie layers.

Im Folgenden werden zuerst die y-Elektroden beschrieben. Sieben leitende Schienen 44 erstrecken sich parallel in der x-Richtung entlang des oberen Teils der vorstehenden Lasche 42 zu der linken Seite des Hauptbereichs des Substrats 40. Diese fächern sich dann auf und enden in einer vergrößerten Kontaktfläche 46 direkt über einen Teil der Schienen 50-62 in der ersten Verbindungsschicht von 9 für jede der y-Elektrodenverbindungen Y1-Y7, sodass Signale zu und von jeder der y-Elektrodengruppen über die externen Kontaktschienen 44 ein- und ausgegeben werden können. Es sind offene Bereiche in der Isolationsschicht an jedem Kontaktfeld 46 vorgesehen, um einen elektrischen Kontakt zwischen jeder der Y1-Y7-Schienen 44 auf der zweiten Verbindungsschicht und den Y1-Y7 Schienen 50-62 in der ersten Verbindungsschicht vorzusehen. Außerdem sind isolierende Bereiche in der Isolationsschicht vorgesehen, die die Y1-Y7-Schienen dort bedecken, wo diese über dem ITO-Muster liegen, um die y-Elektroden auf der linken und auf der rechten Seite des Substrats zu kontaktieren.In the following, the y-electrodes are described first. Seven conductive rails 44 extend parallel in the x-direction along the upper part of the protruding tab 42 to the left of the main area of the substrate 40 . These then fan out and end in an enlarged contact area 46 directly over part of the rails 50-62 in the first link layer of 9 for each of the y-electrode connections Y1-Y7, allowing signals to and from each of the y-electrode groups via the external contact rails 44 can be input and output. There are open areas in the insulation layer at each contact field 46 provided to make electrical contact between each of the Y1-Y7 rails 44 on the second interconnect layer and the Y1-Y7 rails 50-62 to be provided in the first connection layer. In addition, insulating areas are provided in the insulating layer, which cover the Y1-Y7 rails where they lie over the ITO pattern, in order to contact the y-electrodes on the left and on the right side of the substrate.

Im Folgenden werden die x-Elektrodenverbindungen beschrieben. Die fünf elektrischen Leitungen 30-38 für die externen Verbindungen X1-X5 wurden bereits mit Bezug auf 8 beschrieben und sind in der zweiten Verbindungsschicht des Prototypen von 11 gezeigt. Wie gezeigt, sind die x-Elektrodenverbindungen vollständig auf der zweiten Verbindungsschicht vorgesehen, während die y-Elektrodenverbindungen zwischen der ersten und der zweiten Verbindungsschicht verteilt sind. Die Schienen 30-38 laufen um die untere Seite des Substrats 40 und laufen dann in fünf parallelen Schienen zusammen, die sich zu der vorstehenden Lasche 42 erstrecken, wo sie mit den sieben parallelen y-Elektrodenverbindungen verbunden werden. Es ist zu beachten, dass die x-Elektrodenverbindungsschienen und -felder, die vertikal auf jeder Seite des ITO-Bereichs nach oben verlaufen, um die x-Elektroden zu kontaktieren, durch die Isolationsschicht elektrisch von den y-Elektrodenverbindungsschienen isoliert sind.The following describes the x-electrode connections. The five electrical lines 30-38 for the external connections X1-X5 have already been referring to 8th and are in the second connection layer of the prototype of 11 shown. As shown, the x-electrode connections are entirely provided on the second interconnection layer, while the y-electrode connections are distributed between the first and second interconnection layers. The rails 30-38 run around the bottom of the substrate 40 and then converge in five parallel rails that lead to the protruding tab 42 where they connect to the seven parallel y-electrode connections. It should be noted that the x-electrode connection bars and pads that run vertically up each side of the ITO area to contact the x-electrodes are electrically isolated from the y-electrode connection bars by the insulating layer.

11 ist eine schematische Ansicht auf Systemebene einer Mehrkanal-Sensorschaltung 140 für die Verwendung mit dem Berührungsbildschirm. In dieser Figur ist die Sensorschaltung 140 mit fünf kapazitiven Elektrodeneingängen X1, X2, X3, X4 und X5 von den x-Elektroden und einem einzigen kapazitiven Elektrodeneingang Yn repräsentativ für die sieben y-Elektrodeneingänge gezeigt. In Wirklichkeit sind sieben derartige Leitungen vorgesehen, nämlich eine für jeden y-Elektrodeneingang, um die insgesamt zwölf Leitungen vorzusehen. Eine Ladungssteuerleitung 157 wird verwendet, um gleichzeitig alle kapazitiven Eingänge X1-X5 und Y1-Y7 über die mit einer Bezugsspannungsschiene 158 verbundenen Ladeschalter 156 aufzuladen. 11 Figure 13 is a system level schematic view of a multi-channel sensor circuit 140 for use with the touch screen. In this figure is the sensor circuit 140 with five capacitive electrode inputs X1 , X2 , X3 , X4 and X5 of the x-electrodes and a single capacitive electrode input Y n representative of the seven y-electrode inputs. In reality, seven such leads are provided, one for each y-electrode input, to provide the total of twelve leads. A charge control line 157 is used to simultaneously all capacitive inputs X1-X5 and Y1-Y7 over with a reference voltage rail 158 connected charging switch 156 to charge.

Die Kanäle X1-X5 und Y1-Y7 wirken zusammen, um Ladung wie in der Figur gezeigt zu den Ladungsdetektoren zu übertragen, indem eine einzelne Ladungssteuerleitung 163 verwendet wird, um die Entladungsschalter 162 für eine Entladung allergeladenen Elektroden zu betätigen. Nach einer Übertragung oder einer Folge von Übertragungen wählt eine analoger Multiplexer 182, welche der Ladungsdetektor-Kondensatorausgaben zu dem Verstärker 184 und dem Analog/Digital-Wandler 186 zu geben ist.The channels X1-X5 and Y1-Y7 work together to transfer charge to the charge detectors as shown in the figure by a single charge control line 163 used to switch the discharge 162 to operate to discharge all charged electrodes. After a transmission or a series of transmissions, an analog multiplexer selects 182 which of the charge detector capacitor outputs to the amplifier 184 and the analog / digital converter 186 is to be given.

Außerdem wird ein Array von Rücksetzschaltern 188, die durch eine Rücksetzsteuerleitung 190 gesteuert werden, nach jeweils einem Impuls oder einer Folge von Impulsen aktiviert, um die kapazitiven Eingaben auf einen bekannten Bezug (z. B. auf die Erde) zu setzen. Die x-Kanäle X1-X5 müssen betrieben werden und die Signale müssen verarbeitet werden, um die von diesen Signalen zu erhaltenden ratiometrischen Informationen zu berücksichtigen.It also uses an array of reset switches 188 through a reset control line 190 are activated after a pulse or a sequence of pulses in order to set the capacitive inputs to a known reference (e.g. to earth). The x channels X1-X5 must be operated and the signals must be processed in order to take into account the ratiometric information to be obtained from these signals.

Eine Datenverarbeitung findet dann auf den digitalisierten Ladungsdetektor-Kondensatorausgaben statt. Diese Ausgaben werden in eine Verarbeitungseinheit 188 eingegeben, die einen Mikroprozessor und optional einen Mikrocontroller für die Verarbeitung auf einer unteren Ebene enthält.Data processing then takes place on the digitized charge detector capacitor outputs. These outputs are stored in a processing unit 188 which includes a microprocessor and optionally a microcontroller for lower level processing.

In einer ersten Verarbeitungsstufe/-einheit 190, die als Berührungskoordinaten-Bestimmungsstufe-/einheit bezeichnet wird, werden die digitalisierte Ladungsdetektor-Kondensatorausgaben gesammelt und als keine, eine oder mehrere gleichzeitige Berührungen an definierten x,y-Positionen auf dem 2DCT für jede wiederholte Erfassung, jeden Rahmen oder jedes Abtastungsintervall interpretiert. Die Berührungskoordinaten-Bestimmungsstufe/- einheit 190 weist einen Ausgang auf, der betrieben werden kann, um den analogen Multiplexer 182 zu steuern und um die Ladungsdetektor-Kondensatorausgaben zu durchlaufen, wodurch die Rohdaten aus jeder der x,y-Sensorknotenkombinationen erhalten werden. Diese Daten, d. h. die Berührungskoordinaten jeder Probe, werden als Berührungsdatensätze bezeichnet.In a first processing stage / unit 190, referred to as the touch coordinate determination stage / unit, the digitized charge detector capacitor outputs are collected and recorded as none, one or more simultaneous touches at defined x, y positions on the 2DCT for each repeated acquisition , interpreted each frame or each sampling interval. The touch coordinate determination stage / unit 190 has an output which can be operated to the analog multiplexer 182 and to cycle through the charge detector capacitor outputs, thereby obtaining the raw data from each of the x, y sensor node combinations. These data, ie the contact coordinates of each sample, are referred to as contact data sets.

In einer zweiten Verarbeitungsstufe/-einheit 192, die als Berührungsverfolgungsstufe/- einheit bezeichnet wird, werden die Berührungsdatensätze für aufeinanderfolgende Proben analysiert, sodass Eingaben, die aus einer einzelnen sich von Probe zu Probe bewegenden Berührung resultieren, als solche identifiziert und von neuen Berührungen und vergangenen Berührungen unterschieden werden. Die aus der Berührungsverfolgungsstufe/-einheit ausgegebenen Daten sind in der Zeit gesammelte Ströme von x,y-Koordinaten und bestimmte über die Zeit verfolgte Berührungen. Diese können in einer Tabellenform gespeichert und/oder wiedergegeben werden.In a second processing stage / unit 192, referred to as the touch tracking stage / unit, the touch records for successive samples are analyzed so that inputs resulting from a single touch moving from sample to sample are identified as such and new touches and past contacts can be distinguished. The data output from the touch tracking stage / unit are streams of x, y coordinates accumulated over time and determined over time tracked touches. These can be saved and / or reproduced in a tabular form.

Wenn diese Daten in eine dritte Verarbeitungsstufe/-einheit 194, die als Gestenerkennungsstufe/-einheit bezeichnet wird, eingegeben werden, wird eine Gestenerkennungsverarbeitung unter Verwendung des Zustandsmaschinencodes der Erfindung ausgeführt. Die aus der Gestenerkennungsstufe/-einheit ausgegebenen Daten sind erkannte Gesten (einschließlich von einfachen Berührungen) und die Zeiten ihres Auftritts.When this data is input to a third processing stage / unit 194, referred to as a gesture recognition stage / unit, gesture recognition processing is carried out using the state machine code of the invention. The data output from the gesture recognition stage / unit are recognized gestures (including simple touches) and the times of their appearance.

In einer vierten Verarbeitungsstufe/-einheit 196 werden die Daten zu den erkannten Gesten aus der dritten Stufe in einem Code einer höheren Ebene, gewöhnlich auf der Anwendungsebene, unter Umständen aber auch auf unteren Ebenen der Codierungshierarchie verwendet. Diese Gesten werden verwendet, um eine Funktion einer höheren Ebene auszulösen, wie etwa für die grafische Benutzerschnittstelle der Einrichtung und für das Springen zwischen Codeblöcken einer Anwendung.In a fourth processing stage / unit 196, the data on the recognized gestures from the third stage are used in a code of a higher level, usually on the application level, but possibly also on lower levels of the coding hierarchy. These gestures are used to trigger a higher level function, such as the facility's graphical user interface and jumping between blocks of code in an application.

Weitere geeignete kapazitive Hardware-Plattformen für die Erfassung von Berührungen werden zum Beispiel in US 2005/0041018 A1 , US 2007/0247443 A1 und US 2007/0257894 A1 beschrieben, die Beispiele für passive kapazitive Sensoren angeben. In dem vorliegenden Dokument wird der Kürze halber nur ein Beispiel wiedergegeben.Further suitable capacitive hardware platforms for the detection of touch are for example in US 2005/0041018 A1 , US 2007/0247443 A1 and US 2007/0257894 A1 which give examples of passive capacitive sensors. For the sake of brevity, only one example is given in this document.

12 zeigt schematisch einen Anzeigemonitor 901 und eine Eingabeeinrichtung 902 eines PC. In diesem Beispiel umfasst die Eingabeeinrichtung 902 eine alphanumerische Tastatur 903, über die der Benutzer Zeichen in den PC eingibt, und ein Touchpad 904. Es ist zu beachten, dass das Touchpad 904 eine separat zu der Tastatur 903 vorgesehene Einrichtung sein kann. Ein herkömmliches Computer-Touchpad kann auch eine Anzahl von „Maustasten“ aufweisen, damit der Benutzer einen Cursor bedienen und Elemente auswählen kann, indem er auf eine der Maustasten klickt. Obwohl man mit einem herkömmlichen Touchpad einen Cursor auf dem Display bewegen kann, indem man einen Finger über die Oberfläche des Touchpads bewegt, und auch eine Maustastenbetätigung vornehmen kann, indem man mit dem Finger auf die Oberfläche des Touchpads tippt, kann das herkömmliche Touchpad diese beiden Funktionen nicht gleichzeitig ausführen. Es ist zu beachten, dass der PC auch in dem Anzeigemonitor 901 enthalten sein kann und dass das Touchpad 904 auch eine der Eingabeeinrichtungen eines Laptop-Computers sein kann. 12th shows schematically a display monitor 901 and an input device 902 of a PC. In this example the input device comprises 902 an alphanumeric keyboard 903 through which the user enters characters into the PC, and a touchpad 904 . It should be noted that the touchpad 904 one separate from the keyboard 903 intended device can be. A conventional computer touchpad can also have a number of "mouse buttons" to enable the user to manipulate a cursor and select items by clicking one of the mouse buttons. Although you can move a cursor on the display with a conventional touchpad by moving a finger over the surface of the touchpad, and you can also operate a mouse button by tapping the surface of the touchpad with your finger, the conventional touchpad can do both of these Do not perform functions at the same time. It should be noted that the PC is also in the display monitor 901 can be included and that the touchpad 904 can also be one of the input devices of a laptop computer.

Das Touchpad 904 gestattet, dass der Benutzer zwei separate Finger verwendet, um zwei verschiedene Funktionen des PC auszuführen. Zum Beispiel kann der Benutzer einen auf dem Anzeigemonitor 901 angezeigten Cursor unter Verwendung eines Fingers auf der Oberfläche des Touchpads bewegen, während er einen anderen Finger verwenden kann, um auf die Oberfläche des Touchpads 901 ähnlich wie auf eine Maustaste zu tippen, um Elemente zu markieren. Dies kann zum Beispiel verwendet werden, um Dateien zu organisieren, wobei zuerst der auf dem Anzeigemonitor 901 angezeigte Cursor mit einem ersten Finger auf der Oberfläche des Touchpads bewegt wird, bis er über der gewünschten Datei positioniert ist. Die Datei wird dann markiert, indem ein zweiter Finger auf der Oberfläche des Touchpads platziert wird. Die Datei wird dann zu einer anderen Position bewegt, indem der erste Finger über die Oberfläche des Touchpads bewegt wird, während der zweite Finger in Kontakt mit der Oberfläche des Touchpads gehalten wird. Wenn die Datei an der gewünschten neuen Position angelangt ist, wird der zweite Finger von der Oberfläche des Touchpads gelöst, wodurch die Markierung der Datei aufgehoben wird. Es ist zu beachten, dass der zweite Finger in der vorstehenden Beschreibung auch gleichzeitig zu dem ersten Finger bewegt werden kann, sodass der Benutzer diese Funktion mit einer Hand ausführen kann.The touchpad 904 allows the user to use two separate fingers to perform two different functions on the PC. For example, the user can put one on the display monitor 901 Move the displayed cursor using one finger on the surface of the touchpad, while he can use another finger to move on the surface of the touchpad 901 similar to tapping a mouse button to highlight items. This can be used, for example, to organize files, starting with the one on the display monitor 901 The cursor displayed is moved with a first finger on the surface of the touchpad until it is positioned over the desired file. The file is then marked by placing a second finger on the surface of the touchpad. The file is then moved to a different location by moving the first finger across the surface of the touchpad while keeping the second finger in contact with the surface of the touchpad. When the file has reached the desired new position, the second finger is released from the surface of the touchpad, which removes the marking of the file. It should be noted that in the description above, the second finger can also be moved to the first finger at the same time, so that the user can perform this function with one hand.

Eine weitere Funktion, die mit der vorliegenden Erfindung implementiert werden kann, ist die Fähigkeit, auf einem PC zu malen, wobei ein erster Finger als Pinsel verwendet wird und ein zweiter Finger verwendet wird, um die gewünschte Farbe aus einer auf dem Bildschirm angezeigten Farbpalette zu wählen. Der erste Finger wird auf der Oberfläche des Touchpads 904 verwendet, um einen herkömmlichen primären Cursor zum Malen eines Bildes auf dem Computer zu steuern, das dann auf dem Anzeigemonitor 901 angezeigt wird. Dabei wird eine Farbpalette in Software implementiert und auf dem Anzeigemonitor 901 angezeigt, damit die Farben einfach ausgewählt werden können. Der Benutzer bewegt dazu einen sekundären Cursor über die gewünschte Farbe in der Palette, die dann durch ein Tippen auf das Touchpad 904 mit dem zweiten Finger ausgewählt werden kann. Der Benutzer kann den sekundären Cursor auch verwenden, um neben der Farbe auch den Typ oder die Größe des Pinsels unter Verwendung der vorstehend beschriebenen Methode zu ändern. Dadurch kann der Benutzer ein Bild freier malen, weil der Benutzer den primären Cursor (den Pinsel) immer über dem Bild halten kann.Another function that can be implemented with the present invention is the ability to paint on a personal computer using a first finger as a brush and a second finger to paint the desired color from a color palette displayed on the screen Select. The first finger is on the surface of the touchpad 904 used to control a conventional primary cursor for painting an image on the computer, which is then on the display monitor 901 is shown. A color palette is implemented in software and on the display monitor 901 is displayed so that the colors can be easily selected. To do this, the user moves a secondary cursor over the desired color in the palette, which is then activated by tapping the touchpad 904 can be selected with the second finger. The user can also use the secondary cursor to change the type or size of the brush in addition to the color using the method described above. This allows the user to paint an image more freely because the user can always hold the primary cursor (brush) over the image.

13 zeigt schematisch ein Mobiltelefon 905 mit einem Touchpadsensor 907 gemäß der vorliegenden Erfindung. Der Touchpadsensor ist vor dem Display 906 vorgesehen, wobei das Display weiterhin durch den Benutzer betrachtet werden kann, während eine kapazitive Kopplung zwischen dem Finger des Benutzers oder einem Stift und dem Touchpadsensor 907 ermöglicht wird. In diesem Beispiel kann der Benutzer die auf dem Display angezeigten Elemente unter Verwendung eines Fingers oder Stifts auf dem Touchpad auswählen und bewegen. Das Touchpad ist mit dem Display zu einer Einheit integriert, sodass der „Cursor“ der Bewegung des Fingers oder Stifts folgt. Es können also dieselben Funktionen wie oben mit Bezug auf 12 beschrieben für das Beispiel von 13 angewendet werden. 13th shows schematically a mobile phone 905 with a touchpad sensor 907 according to the present invention. The touchpad sensor is in front of the display 906 provided, wherein the display can still be viewed by the user, while a capacitive coupling between the user's finger or a stylus and the touchpad sensor 907 is made possible. In this example, the user can select and move the items shown on the display using a finger or stylus on the touchpad. The touchpad is integrated with the display so that the "cursor" follows the movement of the finger or pen. So it can have the same functions as above with reference to 12th described for the example of 13th be applied.

Alternativ hierzu kann die Fläche des Touchpads 907 auch derart unterteilt sein, dass ein Bereich des Sensors nur für die Anzeige des Displays 906 verwendet wird, während ein anderer Bereich des Sensors nur als herkömmlicher Touchpadsensor verwendet wird, sodass der Benutzer in der oben beschriebenen Weise einen Cursor bewegen und Elemente wählen kann.Alternatively, the area of the touchpad 907 also be subdivided in such a way that an area of the sensor is only used for the display of the display 906 is used, while another area of the sensor is used only as a conventional touchpad sensor, so that the user can move a cursor and select items in the manner described above.

Eine weitere Funktion, die mit der vorliegenden Erfindung implementiert werden kann, ist die Steuerung eines Spiels auf dem Mobiltelefon 905. Obwohl das Touchpad 907 dieselbe Fläche bedeckt wie das Display 906, kann es derart unterteilt sein, dass Steuerelemente links und rechts von einem mittigen Anzeigebereich vorgesehen sind. Der Benutzer kann zwei Finger oder Daumen jeweils auf der linken und rechten Seite des Touchpads 907 verwenden, um zwei verschiedene Funktionen eines Spiels zu steuern. Zum Beispiel kann der linke Teil des Touchpads 907 eine Bewegungssteuerung für eine Bewegung nach oben, unten, links und rechts vorsehen, während der rechte Teil des Touchpads 907 eine Reihe von Schaltflächen enthält. Diese können zum Beispiel verwendet werden, um ein Spiel zu steuern, wobei die Bewegungssteuerung auf der linken Seite des Touchpads 907 für das Lenken eines Fahrzeugs in einem Spiel verwendet wird, während die Schaltflächen auf der rechten Seite des Touchpads 907 verwendet werden, um das Fahrzeug zu beschleunigen oder zu verlangsamen.Another function that can be implemented with the present invention is the control of a game on the mobile phone 905 . Although the touchpad 907 covers the same area as the display 906 , it can be subdivided in such a way that controls are provided to the left and right of a central display area. The user can place two fingers or thumbs on the left and right sides of the touchpad 907 to control two different functions of a game. For example, the left part of the touchpad 907 provide a motion control for moving up, down, left and right while using the right part of the touchpad 907 contains a number of buttons. These can be used, for example, to control a game, with the motion controls on the left side of the touchpad 907 is used for driving a vehicle in a game while using the buttons on the right side of the touchpad 907 used to accelerate or decelerate the vehicle.

Es ist zu beachten, dass der beschriebene PC und das beschriebene Mobiltelefon lediglich beispielhafte Anwendungen sind, wobei die Erfindung auf viele verschiedene Geräte wie etwa Unterhaltungsgeräte, Telekommunikationsgeräte, Haushaltsgeräte und Kfz-Zubehörgeräte angewendet werden kann.It should be noted that the PC and mobile phone described are merely exemplary applications and the invention can be applied to a wide variety of devices such as entertainment devices, telecommunications devices, household devices and car accessories.

Aus den vorstehenden Erläuterungen sollte deutlich geworden sein, dass ein kapazitives Berührungspaneel angegeben wird, das mehrere gleichzeitige Berührungen erfassen kann, die in eine Gesten-Zustandsmaschine gemäß der vorliegenden Erfindung eingegeben werden können.From the foregoing, it should be clear that a capacitive touch panel is provided that can detect multiple simultaneous touches that can be input into a gesture state machine in accordance with the present invention.

Claims (14)

Berührungssensorvorrichtung, die umfasst: einen Sensor der einen empfindlichen Bereich aufweist, der sich in wenigstens einer Dimension erstreckt, und angeordnet ist, um Erfassungssignale in Reaktion auf die Nähe eines Objekts zu dem empfindlichen Bereich auszugeben, eine Positionsverarbeitungseinheit, die betrieben werden kann, um Positionen von Interaktionen mit dem empfindlichen Bereich aus einer Analyse der Erfassungssignale zu berechnen und eine zeitliche Abfolge von Daten auszugeben, die die Interaktionspositionen auf dem Sensor angeben, die jeweiligen Berührungen entsprechen, und eine Gestenverarbeitungseinheit, die betrieben werden kann, um die zeitliche Abfolge von Daten zu analysieren und eine oder mehrere Gesten aus der Abfolge von Daten zu unterscheiden, wobei die Gestenverarbeitungseinheit mit einem Gestenerkennungscode codiert ist, der eine Vielzahl von Zustandsmodulen einer Zustandsmaschine umfasst, wobei die Vielzahl von Zustandsmodulen umfasst: ein erstes Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine erste Einfachberührungsgeste zu erkennen und eine erste Ausgabe zu generieren, die auf der ersten Einfachberührungsgeste basiert, ein zweites Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine zweite Einfachberührungsgeste zu erkennen und eine zweite Ausgabe zu generieren, die auf der zweiten Einfachberührungsgeste basiert, und ein Mehrfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um die erste Ausgabe direkt von dem ersten Einfachberührungs-Zustandsmodul zu empfangen, um die zweite Ausgabe direkt von dem zweiten Einfachberührungs-Zustandsmodul zu empfangen, und um wenigstens eine Mehrfachberührungsgeste zu erkennen, die wenigstens auf der ersten und der zweiten Ausgabe basiert, wobei das erste Einfachberührungs-Zustandsmodul, das zweite Einfachberührungs-Zustandsmodul und das Mehrfachberührungs-Zustandsmodul unterscheidbar sind, und um die erkannte Mehrfachberührungsgeste auszugeben.A touch sensing device comprising: a sensor having a sensitive area extending in at least one dimension and arranged to output detection signals in response to the proximity of an object to the sensitive area, a position processing unit operable to calculate positions of interactions with the sensitive area from an analysis of the detection signals and to output a time sequence of data indicating the interaction positions on the sensor corresponding to respective touches, and a gesture processing unit which can be operated to analyze the temporal sequence of data and to distinguish one or more gestures from the sequence of data, the gesture processing unit being encoded with a gesture recognition code comprising a plurality of state modules of a state machine, the plurality of state modules includes: a first single-touch state module of the state machine operable to recognize at least one first single-touch gesture and to generate a first output based on the first single-touch gesture, a second single touch state module of the state machine operable to recognize at least one second single touch gesture and generate a second output based on the second single-touch gesture, and a multi-touch state module of the state machine that can be operated, to receive the first output directly from the first single touch state module, to receive the second output directly from the second single-touch state module, and to recognize at least one multi-touch gesture based at least on the first and second outputs, the first single-touch status module, the second single-touch status module and the multi-touch status module being distinguishable, and to output the recognized multiple touch gesture. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass jede der Vielzahl von Zustandsmodulen der Zustandsmaschine einschließlich eines Ruhezustandsmoduls und eine Vielzahl von Gesteninterpretations-Zustandsmodulen umfasst, wobei zu Beginn einer Operation das Ruhezustandsmodul gestartet wird und von wenigstens einigen der Gesteninterpretations-Zustandsmodule zu demselben zurückgekehrt werden kann.Device according to Claim 1 , characterized in that each of the plurality of state modules of the state machine including an idle state module and a plurality of gesture interpretation state modules, wherein at the beginning of an operation the idle state module is started and can be returned to by at least some of the gesture interpretation state modules. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass jede der Vielzahl von Gesteninterpretations-Zustandsmodulen der Zustandsmaschine einschließlich eines Berührungszustandsmoduls für einfache Berührungen umfasst, wobei der Ruhezustand die Steuerung in Reaktion auf eine Berührung zu dem Berührungszustandsmodul gibt.Device according to Claim 2 , characterized in that each of the plurality of gesture interpretation state modules comprises the state machine including a touch state module for simple touches, the Idle state gives control to the touch state module in response to a touch. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass die Vielzahl von Gesteninterpretations-Zustandsmodulen für das Mehrfachberührungs-Zustandsmodul der Zustandsmaschine einschließlich wenigstens eins Mehrfachberührungs-Zustandsmoduls umfasst, das betrieben werden kann, um mehrere gleichzeitige Berührungen zu verarbeiten, die auf der ersten und der zweiten Ausgabe von dem ersten Einfachberührungs-Zustandsmodul der Zustandsmaschine und dem zweiten Einfachberührungs-Zustandsmodul der Zustandsmaschine basieren, wobei die Gestenverarbeitungseinheit betrieben werden kann, um auf der Basis der Anzahl von gleichzeitigen Berührungen, die durch die zeitliche Abfolge von Daten zu diesem Zeitpunkt definiert werden, die Steuerung zu dem Mehrfachberührungs-Zustandsmodul der Zustandsmaschine zu geben.Device according to Claim 2 , characterized in that the plurality of gesture interpretation state modules for the multiple touch state module of the state machine including at least one multiple touch state module that is operable to process multiple simultaneous touches based on the first and second outputs from the first single touch -State module of the state machine and the second single-touch state module of the state machine, wherein the gesture processing unit can be operated to control the multi-touch based on the number of simultaneous touches that are defined by the temporal sequence of data at this point in time. To give the state module of the state machine. Vorrichtung nach Anspruch 4, die umfasst: ein Mehrfachberührungs-Zustandsmodul zur Verarbeitung der zwei gleichzeitigen Berührungen und ein anderes Mehrfachberührungs-Zustandsmodul zur Verarbeitung der drei gleichzeitigen Berührungen.Device according to Claim 4 comprising: one multi-touch status module for processing the two simultaneous touches and another multi-touch status module for processing the three simultaneous touches. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die Vielzahl von Gesteninterpretations-Zustandsmodulen für jedes von dem ersten Einfachberührungs-Zustandsmodul der Zustandsmaschine und dem zweiten Einfachberührungs-Zustandsmodul der Zustandsmaschine einschließlich eines Drückzustandsmoduls umfasst, zu dem die Steuerung von einem Berührungszustandsmodul gegeben werden kann, wenn eine Berührung mit einer Dauer von mehr als einer Schwelldauer in dem Berührungszustandsmodul erfasst wird.Device according to Claim 3 , characterized in that the plurality of gesture interpretation state modules for each of the first single touch state module of the state machine and the second single touch state module of the state machine including a push state module to which control can be given from a touch state module when a touch with a Duration of more than a threshold duration is detected in the touch state module. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass der Drückzustand ein Superzustand ist, der mehrere Subzustände umfasst, um zwischen verschiedenen Drückdauern zu unterscheiden.Device according to Claim 6 , characterized in that the pressing state is a superstate which comprises several sub-states in order to distinguish between different pressing times. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass die Vielzahl von Gesteninterpretations-Zustandsmodulen eine Vielzahl von Zustandsmodulen umfasst, die betrieben werden können, um bewegungsbezogene Gesten zu erkennen, die aus einer oder mehreren bewegten Berührungen abgeleitet werden.Device according to Claim 2 characterized in that the plurality of gesture interpretation state modules comprises a plurality of state modules operable to recognize movement-related gestures derived from one or more moving touches. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Gestenerkennungscode konfiguriert ist, um Gesten mit bis zu N gleichzeitigen Berührungen zu erkennen, wobei N wenigstens gleich 2 ist, und N Einfachberührungs-Zustandsmodulen der Zustandsmaschine , die betrieben werden können, um nur Einfachberührungsgesten zu erkennen, und N-1 Mehrfachberührungs-Zustandsmodulen der Zustandsmaschine, die betrieben werden können, um nur n-fache Berührungsgesten zu erkennen, wobei n = 2 bis N, umfasst.Device according to Claim 1 , characterized in that the gesture recognition code is configured to recognize gestures with up to N simultaneous touches, where N is at least 2, and N single-touch state modules of the state machine that can be operated to recognize only single-touch gestures, and N- 1 multi-touch state modules of the state machine that can be operated to recognize only n-way touch gestures, where n = 2 to N. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Positionsverarbeitungseinheit und die Gestenverarbeitungseinheit in einer einzelnen integrierten Schaltung untergebracht sind und ausgeführt werden.Device according to Claim 1 , characterized in that the position processing unit and the gesture processing unit are accommodated and executed in a single integrated circuit. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Positionsverarbeitungseinheit in einer ersten integrierten Schaltung untergebracht ist und ausgeführt wird, während die Gestenverarbeitungseinheit in einer oder mehreren separaten integrierten Schaltungen untergebracht ist und ausgeführt wird.Device according to Claim 1 , characterized in that the position processing unit is accommodated and executed in a first integrated circuit, while the gesture processing unit is accommodated and executed in one or more separate integrated circuits. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vielzahl von Zustandsmodulen ein drittes Einfachberührungs-Zustandsmodul umfasst, das betrieben werden kann, um eine dritte Ausgabe zu generieren und dass die Zustandsmaschine ausgelegt ist, um direkt von den ersten, zweiten und dritten Einfachberührungs-Zustandsmodulen die ersten, zweiten bzw. dritten Ausgaben empfangen und mindestens eine zweite Mehrfachberührungsgeste zu erkennen, die wenigstens auf der ersten, der zweiten und der dritten Ausgabe basiert und die erkannte zweite Mehrfachberührungsgeste auszugeben.Device according to Claim 1 , characterized in that the plurality of state modules comprises a third single-touch state module operable to generate a third output, and in that the state machine is configured to directly display the first, second, and second, from the first, second and third single-touch state modules and receive and third outputs, respectively, and to recognize at least one second multi-touch gesture based at least on the first, second and third outputs and to output the recognized second multi-touch gesture. Verfahren, das umfasst: Empfangen einer zeitlichen Abfolge von Daten, die die Interaktionspositionen auf dem Sensor angeben, die jeweiligen Berührungen entsprechen, Analysieren der zeitlichen Abfolge von Daten, um eine oder mehrere Gesten aus der Abfolge von Daten unter Verwendung von einem Gestenerkennungscode zu unterscheiden, der eine Vielzahl von Zustandsmodulen einer Zustandsmaschine umfasst, wobei die Vielzahl von Zustandsmodulen umfasst: ein erstes Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine erste Einfachberührungsgeste zu erkennen und eine erste Ausgabe zu generieren, die auf der ersten Einfachberührungsgeste basiert, ein zweites Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine zweite Einfachberührungsgeste zu erkennen und eine zweite Ausgabe zu generieren, die auf der zweiten Einfachberührungsgeste basiert, und ein Mehrfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um die erste Ausgabe direkt von dem ersten Einfachberührungs-Zustandsmodul zu empfangen, um die zweite Ausgabe direkt von dem zweiten Einfachberührungs-Zustandsmodul zu empfangen, und um wenigstens eine Mehrfachberührungsgeste zu erkennen, die wenigstens auf der ersten und der zweiten Ausgabe basiert, wobei das erste Einfachberührungs-Zustandsmodul, das zweite Einfachberührungs-Zustandsmodul und das Mehrfachberührungs-Zustandsmodul unterscheidbar sind, und um die erkannte Mehrfachberührungsgeste auszugeben.A method comprising: receiving a time series of data indicating the interaction positions on the sensor corresponding to respective touches, analyzing the time series of data to distinguish one or more gestures from the series of data using a gesture recognition code, comprising a plurality of state modules of a state machine, the plurality of state modules comprising: a first single-touch state module of the state machine operable to recognize at least one first single-touch gesture and to generate a first output based on the first single-touch gesture, a second single-touch state machine of the state machine operable to recognize at least one second single-touch gesture and generate a second output based on the second single-touch gesture, and a multi-touch state machine of the state machine, there s operable to receive the first output directly from the first single-touch state module to receive the second output directly from the second single-touch state module, and to recognize at least one multi-touch gesture based at least on the first and second outputs, wherein the first single-touch status module, the second single-touch status module and the multi-touch status module are distinguishable, and to output the recognized multi-touch gesture. Computer, der umfasst: einen Speicher; eine Einheit, die betrieben werden kann, um eine zeitliche Abfolge von Daten auszugeben, die die Interaktionspositionen auf dem Sensor angeben, die jeweiligen Berührungen entsprechen; die zeitliche Abfolge von Daten zu analysieren, um eine oder mehrere Gesten aus der Abfolge von Daten unter Verwendung von einem Gestenerkennungscode zu unterscheiden, der eine Vielzahl von Zustandsmodulen einer Zustandsmaschine umfasst, wobei die Vielzahl von Zustandsmodulen umfasst: ein erstes Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine erste Einfachberührungsgeste zu erkennen und eine erste Ausgabe zu generieren, die auf der ersten Einfachberührungsgeste basiert, ein zweites Einfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um wenigstens eine zweite Einfachberührungsgeste zu erkennen und eine zweite Ausgabe zu generieren, die auf der zweiten Einfachberührungsgeste basiert, und ein Mehrfachberührungs-Zustandsmodul der Zustandsmaschine, das betrieben werden kann, um die erste Ausgabe direkt von dem ersten Einfachberührungs-Zustandsmodul zu empfangen, um die zweite Ausgabe direkt von dem zweiten Einfachberührungs-Zustandsmodul zu empfangen, und um wenigstens eine Mehrfachberührungsgeste zu erkennen, die wenigstens auf der ersten und der zweiten Ausgabe basiert, wobei das erste Einfachberührungs-Zustandsmodul, das zweite Einfachberührungs-Zustandsmodul und das Mehrfachberührungs-Zustandsmodul unterscheidbar sind, und um die erkannte Mehrfachberührungsgeste auszugeben.Computer that includes: a memory; a unit operable to output a time series of data indicating the interaction positions on the sensor corresponding to respective touches; analyze the temporal sequence of data to distinguish one or more gestures from the sequence of data using a gesture recognition code comprising a plurality of state modules of a state machine, the plurality of state modules comprising: a first single-touch state module of the state machine operable to recognize at least one first single-touch gesture and to generate a first output based on the first single-touch gesture, a second single touch state module of the state machine operable to recognize at least one second single touch gesture and generate a second output based on the second single-touch gesture, and a multi-touch state module of the state machine that can be operated, to receive the first output directly from the first single touch state module, to receive the second output directly from the second single-touch state module, and to recognize at least one multi-touch gesture based at least on the first and second outputs, the first single-touch status module, the second single-touch status module and the multi-touch status module being distinguishable, and to output the recognized multiple touch gesture.
DE102009019910.1A 2008-05-01 2009-05-04 Gesture recognition Active DE102009019910B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US4945308P 2008-05-01 2008-05-01
US61/049,453 2008-05-01
US12/254,043 US8526767B2 (en) 2008-05-01 2008-10-20 Gesture recognition
US12/254,043 2008-10-20

Publications (2)

Publication Number Publication Date
DE102009019910A1 DE102009019910A1 (en) 2009-12-03
DE102009019910B4 true DE102009019910B4 (en) 2021-09-16

Family

ID=41254167

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009019910.1A Active DE102009019910B4 (en) 2008-05-01 2009-05-04 Gesture recognition

Country Status (1)

Country Link
DE (1) DE102009019910B4 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013012394A1 (en) 2013-07-26 2015-01-29 Daimler Ag Method and device for remote control of a function of a vehicle
DE202014010352U1 (en) 2013-09-12 2015-06-17 Mechaless Systems Gmbh Gesture recognition device
DE102016212723A1 (en) 2016-07-13 2018-01-18 Volkswagen Aktiengesellschaft A method of providing a deadman button function by means of a touch screen of an operating device, operating device and system

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593115A (en) 1969-06-30 1971-07-13 Ibm Capacitive voltage divider
US5466036A (en) 1994-05-09 1995-11-14 Chrylser Corporation Vehicle wire routing apparatus
US5650597A (en) 1995-01-20 1997-07-22 Dynapro Systems, Inc. Capacitive touch sensor
US5730165A (en) 1995-12-26 1998-03-24 Philipp; Harald Time domain capacitive field detector
US5852352A (en) 1995-06-07 1998-12-22 Itt Automotive Electrical Systems, Inc. Reduced speed growth in windshield wiper motor
US6028271A (en) 1992-06-08 2000-02-22 Synaptics, Inc. Object position detector with edge motion feature and gesture recognition
US6297811B1 (en) 1999-06-02 2001-10-02 Elo Touchsystems, Inc. Projective capacitive touchscreen
US20020015024A1 (en) 1998-01-26 2002-02-07 University Of Delaware Method and apparatus for integrating manual input
US6414671B1 (en) 1992-06-08 2002-07-02 Synaptics Incorporated Object position detector with edge motion feature and gesture recognition
US6452514B1 (en) 1999-01-26 2002-09-17 Harald Philipp Capacitive sensor and array
US6466036B1 (en) 1998-11-25 2002-10-15 Harald Philipp Charge transfer capacitance measurement circuit
US20050041018A1 (en) 2003-08-21 2005-02-24 Harald Philipp Anisotropic touch screen element
US20060066582A1 (en) 2004-09-24 2006-03-30 Apple Computer, Inc. Raw data track pad device and system
US20070017906A1 (en) 2005-06-30 2007-01-25 General Electric Company Shimmed laser beam welding process for joining superalloys for gas turbine applications
US20070046643A1 (en) 2004-08-06 2007-03-01 Hillis W Daniel State-Based Approach to Gesture Identification
US20070152984A1 (en) 2005-12-30 2007-07-05 Bas Ording Portable electronic device with multi-touch input
US20070176906A1 (en) 2006-02-01 2007-08-02 Synaptics Incorporated Proximity sensor and method for indicating extended interface results
US20070247443A1 (en) 2006-04-25 2007-10-25 Harald Philipp Hybrid Capacitive Touch Screen Element
US20070257894A1 (en) 2006-05-05 2007-11-08 Harald Philipp Touch Screen Element
US20070279395A1 (en) 2006-05-31 2007-12-06 Harald Philipp Two Dimensional Position Sensor
US20070291009A1 (en) 2006-06-19 2007-12-20 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
US20080165141A1 (en) 2007-01-05 2008-07-10 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593115A (en) 1969-06-30 1971-07-13 Ibm Capacitive voltage divider
US6028271A (en) 1992-06-08 2000-02-22 Synaptics, Inc. Object position detector with edge motion feature and gesture recognition
US6750852B2 (en) 1992-06-08 2004-06-15 Synaptics, Inc. Object position detector with edge motion feature and gesture recognition
US6414671B1 (en) 1992-06-08 2002-07-02 Synaptics Incorporated Object position detector with edge motion feature and gesture recognition
US5466036A (en) 1994-05-09 1995-11-14 Chrylser Corporation Vehicle wire routing apparatus
US5650597A (en) 1995-01-20 1997-07-22 Dynapro Systems, Inc. Capacitive touch sensor
US5852352A (en) 1995-06-07 1998-12-22 Itt Automotive Electrical Systems, Inc. Reduced speed growth in windshield wiper motor
US5730165A (en) 1995-12-26 1998-03-24 Philipp; Harald Time domain capacitive field detector
US20020015024A1 (en) 1998-01-26 2002-02-07 University Of Delaware Method and apparatus for integrating manual input
US6466036B1 (en) 1998-11-25 2002-10-15 Harald Philipp Charge transfer capacitance measurement circuit
US6452514B1 (en) 1999-01-26 2002-09-17 Harald Philipp Capacitive sensor and array
US6297811B1 (en) 1999-06-02 2001-10-02 Elo Touchsystems, Inc. Projective capacitive touchscreen
US20050041018A1 (en) 2003-08-21 2005-02-24 Harald Philipp Anisotropic touch screen element
US20070046643A1 (en) 2004-08-06 2007-03-01 Hillis W Daniel State-Based Approach to Gesture Identification
US20060066582A1 (en) 2004-09-24 2006-03-30 Apple Computer, Inc. Raw data track pad device and system
US20070017906A1 (en) 2005-06-30 2007-01-25 General Electric Company Shimmed laser beam welding process for joining superalloys for gas turbine applications
US20070152984A1 (en) 2005-12-30 2007-07-05 Bas Ording Portable electronic device with multi-touch input
US20070176906A1 (en) 2006-02-01 2007-08-02 Synaptics Incorporated Proximity sensor and method for indicating extended interface results
US20070247443A1 (en) 2006-04-25 2007-10-25 Harald Philipp Hybrid Capacitive Touch Screen Element
US20070257894A1 (en) 2006-05-05 2007-11-08 Harald Philipp Touch Screen Element
US20070279395A1 (en) 2006-05-31 2007-12-06 Harald Philipp Two Dimensional Position Sensor
US20070291009A1 (en) 2006-06-19 2007-12-20 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
US20080165141A1 (en) 2007-01-05 2008-07-10 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices

Also Published As

Publication number Publication date
DE102009019910A1 (en) 2009-12-03

Similar Documents

Publication Publication Date Title
DE112019000251B4 (en) TWO-ELECTRODE TOUCH BUTTON WITH A MULTI-PHASE CAPACITY MEASUREMENT PROCESS
US9122947B2 (en) Gesture recognition
DE202005021427U1 (en) Electronic device with touch-sensitive input device
DE112010002760B4 (en) User interface
DE69521617T2 (en) POSITION DETECTOR OF AN OBJECT WITH EDGE MOVEMENT FEATURE
DE69534404T2 (en) Method for compensating for unintentional movements in a touchpad on a touch sensor surface
DE112014004615T5 (en) Detecting and differentiating touches of conductive objects of different sizes on a capacitive button
DE102010027732A1 (en) Two-dimensional position sensor
DE112007000278T5 (en) Gesturing with a multipoint scanning device
DE112008001800T5 (en) Two-dimensional touchpanel
DE102011117012A1 (en) DETECTING SLIDING MOVEMENTS OF SEVERAL FINGERS USING FINGERPRINTS FOR GENERATING VARIOUS EVENTS
DE102011078985A1 (en) Touch detection on three-dimensional objects
DE202012101741U1 (en) Multi-surface touch sensor device and detection of user activity
DE202007014957U1 (en) Multimedia touch screen communication device responsive to gestures for controlling, manipulating and editing media files
DE112005001422T5 (en) Bar-based data entry device, system and method
DE202008001338U1 (en) Gesturing with a multipoint scanning device
DE202012102976U1 (en) Touch sensor with active stylus
DE202007018368U1 (en) Multimedia touch screen communication device that responds to gestures to control, manipulate and edit media files
DE102011103228A1 (en) Capacitive touchscreen system with multiplexers
DE102010003575A1 (en) Capacitive touch screen or touchpad for fingers and movable stylus
DE102012223250A1 (en) Touch sensor with multiple surfaces and mode selection
DE202007018940U1 (en) Motion detection for a digitizer
DE202007013923U1 (en) Multiple event input system
DE102014210267A1 (en) Capacitive multi-state button
EP2795451B1 (en) Method for operating a multi-touch-capable display and device having a multi-touch-capable display

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: SOLAS OLED LTD., IE

Free format text: FORMER OWNER: ATMEL CORPORATION, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: PETERREINS SCHLEY PATENT- UND RECHTSANWAELTE, DE

Representative=s name: PETERREINS SCHLEY PATENT- UND RECHTSANWAELTE P, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0003041000

Ipc: G06F0003048800

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102009061865

Country of ref document: DE

R026 Opposition filed against patent