# US 2010/0164891 A1 · Gesture recognition method and touch system incorporating the same

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2010/0164891 A1
- Document ID: US20100164891A1
- Status: Published application
- Kind: A1
- Application number: 12/646,081
- Filed: 2009-12-23
- Published: 2010-07-01
- Earliest claimed: 2003-09-16
- Assignees: SMART Technologies ULC
- Inventors: DOUGLAS B. HILL; Gerald D. Morrison
- Web page: https://patentgrep.com/patent/US20100164891A1

## CPC

- G06F 3/0486: Drag-and-drop
- G06F 3/0421: {by interrupting or reflecting a light beam, e.g. optical touch-screen}
- G06F 3/0485: Scrolling or panning
- G06F 3/04883: for inputting data by handwriting, e.g. gesture or text
- G06F 2203/04806: Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
- G06F 2203/04808: Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A gesture recognition method includes detecting multiple pointers in close proximity to a touch surface to determine if the multiple pointers are being used to perform a known gesture. When the multiple pointers are being used to perform a known gesture, executing a command associated with the gesture. A touch system incorporating the gesture recognition method is also provided.

## Claims

### Claim 1

An event generation method comprising the steps of:
capturing images using image devices looking generally across a pointer input region;
processing the captured images to detect relative movement of multiple pointers within said pointer input region; and
generating an event when the detected relative pointer movement represents a gesture.

### Claim 2 (depends on 1)

The method of claim 1 wherein during said processing, the images are processed to detect movement of multiple pointers towards one another.

### Claim 3 (depends on 1)

The method of claim 1 wherein during said processing, the images are processed to detect movement of multiple pointers away from one another.

### Claim 4 (depends on 1)

The method of claim 1 wherein during said processing, the images are processed to detect movement of one pointer in a generally arcuate path about another pointer.

### Claim 5 (depends on 1)

The method of claim 1 wherein said event represents a graphical object manipulation command.

### Claim 6 (depends on 5)

The method of claim 5 wherein said graphical object manipulation command is one of a graphical object resize command, a graphical object rotate and a graphical object translate command.

### Claim 7 (depends on 6)

The method of claim 6 further comprising executing said graphical object manipulation command.

### Claim 8 (depends on 7)

The method of claim 7 wherein during said processing, the images are processed to detect movement of multiple pointers towards one another.

### Claim 9 (depends on 8)

The method of claim 8 wherein during said processing, the images are processed to detect movement of multiple pointers away from one another.

### Claim 10 (depends on 8)

The method of claim 8 wherein during said processing, the images are processed to detect movement of one pointer in a generally arcuate path about another pointer.

### Claim 11

An event generation method comprising the steps of:
detecting successive pointers brought into contact with and oriented generally normal to a touch surface followed by movement of said pointers along said touch surface; and
generating an event when the detected relative pointer movement represents a gesture.

### Claim 12 (depends on 11)

The method of claim 11 wherein during said detecting, movement of said pointers towards one another is detected.

### Claim 13 (depends on 11)

The method of claim 11 wherein during said detecting, movement of said pointers towards away from one another is detected.

### Claim 14 (depends on 11)

The method of claim 11 wherein during said detecting, movement of one pointer in a generally arcuate path about another pointer is detected.

### Claim 15 (depends on 11)

The method of claim 11 wherein during said detecting, movement of said pointers in a generally similar direction is detected.

### Claim 16 (depends on 11)

The method of claim 11 wherein said event represents a graphical object manipulation command.

### Claim 17 (depends on 16)

The method of claim 16 wherein said graphical object manipulation command is one of a graphical object resize command, a graphical object rotate and a graphical object translate command.

### Claim 18 (depends on 17)

The method of claim 17 further comprising executing said graphical object manipulation command.

### Claim 19 (depends on 18)

The method of claim 18 wherein during said detecting, movement of said pointers towards one another is detected.

### Claim 20 (depends on 18)

The method of claim 18 wherein during said detecting, movement of said pointers away from one another is detected.

### Claim 21 (depends on 18)

The method of claim 18 wherein during said detecting, movement of one pointer in a generally arcuate path about another pointer is detected.

### Claim 22 (depends on 18)

The method of claim 18 wherein during said detecting, movement of said pointers in a generally similar direction is detected.

### Claim 23

An event generation method comprising the steps of:
capturing images using image devices looking generally across a pointer input region;
processing the captured images to detect successive pointers brought into said pointer input region followed by relative movement of the pointers within said pointer input region; and
generating an event when the detected relative pointer movement represents a gesture.

### Claim 24 (depends on 23)

The method of claim 23 wherein during said processing, the images are processed to detect movement of multiple pointers towards one another.

### Claim 25 (depends on 23)

The method of claim 23 wherein during said processing, the images are processed to detect movement of multiple pointers away from one another.

### Claim 26 (depends on 23)

The method of claim 23 wherein during said processing, the images are processed to detect movement of one pointer in a generally arcuate path about another pointer.

### Claim 27 (depends on 23)

The method of claim 23 wherein said event represents a graphical object manipulation command.

### Claim 28 (depends on 27)

The method of claim 27 wherein said graphical object manipulation command is one of a graphical object resize command, a graphical object rotate and a graphical object translate command.

### Claim 29 (depends on 28)

The method of claim 28 further comprising executing said graphical object manipulation command.

### Claim 30 (depends on 29)

The method of claim 29 wherein during said processing, the images are processed to detect movement of multiple pointers towards one another.

### Claim 31 (depends on 29)

The method of claim 29 wherein during said processing, the images are processed to detect movement of multiple pointers away from one another.

### Claim 32 (depends on 31)

The method of claim 31 wherein during said processing, the images are processed to detect movement of one pointer in a generally arcuate path about another pointer.

### Claim 33

An event generation method comprising the steps of:
detecting multiple pointers generally simultaneously brought into contact with and oriented substantially normal to a touch surface followed by movement of said pointers along said touch surface; and
generating an event when the detected relative pointer movement represents a gesture.

### Claim 34 (depends on 33)

The method of claim 33 wherein during said detecting, movement of said pointers towards one another is detected.

### Claim 35 (depends on 33)

The method of claim 33 wherein during said detecting, movement of said pointers towards away from one another is detected.

### Claim 36 (depends on 33)

The method of claim 33 wherein during said detecting, movement of one pointer in a generally arcuate path about another pointer is detected.

### Claim 37 (depends on 33)

The method of claim 33 wherein during said detecting, movement of said pointers in a generally similar direction is detected.

### Claim 38 (depends on 33)

The method of claim 33 wherein said event represents a graphical object manipulation command.

### Claim 39 (depends on 38)

The method of claim 38 wherein said graphical object manipulation command is one of a graphical object resize command, a graphical object rotate and a graphical object translate command.

### Claim 40 (depends on 39)

The method of claim 39 further comprising executing said graphical object manipulation command.

### Claim 41 (depends on 40)

The method of claim 40 wherein during said detecting, movement of said pointers towards one another is detected.

### Claim 42 (depends on 40)

The method of claim 40 wherein during said detecting, movement of said pointers towards away from one another is detected.

### Claim 43 (depends on 40)

The method of claim 40 wherein during said detecting, movement of one pointer in a generally arcuate path about another pointer is detected.

### Claim 44 (depends on 40)

The method of claim 40 wherein during said detecting, movement of said pointers in a generally similar direction is detected.

### Claim 45

An event generation method comprising the steps of:
capturing images using image devices looking generally across a pointer input region;
processing the captured images to detect multiple pointers brought into said pointer input region generally simultaneously followed by movement of the pointers within said pointer input region; and
generating an event when the detected relative pointer movement represents a gesture.

### Claim 46 (depends on 45)

The method of claim 45 wherein during said processing, the images are processed to detect movement of multiple pointers towards one another.

### Claim 47 (depends on 45)

The method of claim 45 wherein during said processing, the images are processed to detect movement of multiple pointers away from one another.

### Claim 48 (depends on 45)

The method of claim 45 wherein during said processing, the images are processed to detect movement of one pointer in a generally arcuate path about another pointer.

### Claim 49 (depends on 45)

The method of claim 45 wherein during said processing, the images are processed to detect movement of multiple pointers in a generally similar direction.

### Claim 50 (depends on 45)

The method of claim 45 wherein said event represents a graphical object manipulation command.

### Claim 51 (depends on 50)

The method of claim 50 wherein said graphical object manipulation command is one of a graphical object resize command, a graphical object rotate and a graphical object translate command.

### Claim 52 (depends on 51)

The method of claim 51 further comprising executing said graphical object manipulation command.

### Claim 53 (depends on 52)

The method of claim 52 wherein during said processing, the images are processed to detect movement of multiple pointers towards one another.

### Claim 54 (depends on 52)

The method of claim 52 wherein during said processing, the images are processed to detect movement of multiple pointers away from one another.

### Claim 55 (depends on 52)

The method of claim 52 wherein during said processing, the images are processed to detect movement of one pointer in a generally arcuate path about another pointer.

### Claim 56 (depends on 52)

The method of claim 52 wherein during said processing, the images are processed to detect movement of multiple pointers in a generally similar direction.
