throbber
NCU ACA AAAA
`
`US 20060026521A1
`
`as) United States
`a2) Patent Application Publication co) Pub. No.: US 2006/0026521 Al
`
` Hotelling et al. (43) Pub. Date: Feb. 2, 2006
`
`
`(54) GESTURES FOR 'TOUCH SENSITIVE INPUT
`DEVICES
`
`(73) Assignee: Apple Computer, Inc.
`
`(75)
`
`Inventors: Steve Hotelling, San Jose, CA (US);
`Joshua A. Strickon, San Jose, CA
`(US); Brian Q. Huppi, San Francisco,
`CA (US); Imran Chaudhri, San
`Francisco, CA (US); Greg Christie,
`San Jose, CA (US); Bas Ording, San
`Francisco, CA (US); Duncan Robert
`Kerr, San ['rancisco, CA (US);
`Jonathan P. Ive, San Francisco, CA
`(US)
`
`Correspondence Address:
`BEYER WEAVER & THOMAS LLP
`P.O. BOX 70250
`OAKLAND,CA 94612-0250 (US)
`
`(21) Appl. No.:
`
`10/903,964
`
`(22)
`
`Filed:
`
`Jul. 30, 2004
`
`Publication Classification
`
`G1)
`
`Int. Cl.
`(2006.01)
`GO6F 17/00
`(52) US. Che eeececeesncsstertsenseneenneenes 715/702; 715/863
`
`(57)
`
`ABSTRACT
`
`Methods and systems for processing touch inputs are dis-
`closed. The invention in one respect includes reading data
`from a multipoint sensing device such as a multipoint touch
`screen wherethe data pertains to touch input with respect to
`the multipoint sensing device, and identifying at least one
`multipoint gesture based on the data from the multipoint
`sensing device.
`
`6a
`
`GUI
`
`
`
`DISPLAY
`
`70
`
`GESTURE
`
`INPUT
`DEVICE
`
`PROCESSOR
`
`GESTURAL
`PROGRAM
`
` 68
`85
` 88
`
`
`
`80
`
`V/O DEVICE
`
`OUTPUT
`
`1
`
`APPLE 1010
`
`APPLE 1010
`
`1
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 1 of 37
`
`US 2006/0026521 Al
`
`|Old
`
`WVvY9Oud
`
`08
`
`AOIAAGOM!
`
`LAdLNO
`
`88
`
`8s
`
`9g
`
`AV1dSIG
`
`IND
`
`89
`
`OL
`
`S8
`
`LNdNI
`
`
`
`WuNLs39Ossa90¥udJ9IAad
`
`AYNLSAD
`
`2
`
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 2 of 37
`
`US 2006/0026521 Al
`
`100 ~
`
`READ IMAGE FROM TOUCHSCREEN
`
` 102
`
`CONVERT IMAGE TO COLLECTION OR
`LIST OF FEATURES
`
`104
`
`106
`
`108
`
`110
`
`114
`
`CLASSIFY AND GROUP FEATURES
`
`CALCULATE KEY PARAMETERS OF
`FEATURE GROUPS
`
`ASSOCIATE GROUP(S) TO ULI.
`ELEMENT(S)
`
`FEEDBACK
`
`112
`
`PERFORM
`ACTION
`
`PROVIDE USER
`
`FIG. 2
`
`3
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 3 of 37
`
`US 2006/0026521 Al
`
`20
`
`TOUCH1
`
`(ID,)
`
`A,
`
`TOUCH 2
`(ID,)
`
`©;
`
`Y;
`
`122A
`
`A,
`
`8;
`

`
`2
`
`x
`
`1
`
`122B
`
`FIG. 3A
`
`x
`
`Z,
`
`122A
`
`122B
`
`FIG. 3B
`
`4
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 4 of 37
`
`US 2006/0026521 Al
`
`Dave =
`
`D,+D,
`
`2
`
`130
`
`ID
`
`+
`
`uf)
`
`UD,
`
`oOo
`Dy 7 Cc
`von
`
`ID,
`
`130
`
`FIG. 4
`
`5
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 5 of 37
`
`US 2006/0026521 Al
`
`152
`
`NO
`
`158
`
`RECEIVE GROUP OF FEATURES
`
`IS THEREA
`CHANGE IN # OF
`FEATURES?
`
`PARAMETER VALUES
`
`
`
`CALCULATE INITIAL
`
`
`
`
`CALCULATE CURRENT
`PARAMETER VALUES
`
`REPORTINITIAL AND
`
`CURRENT PARAMETER VALUES
`
`160
`
`FIG. 5
`
`END
`
`6
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 6 of 37
`
`US 2006/0026521 Al
`
`yo”
`172
`
`i
`
`©™—
`
`7
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 7 of 37
`
`US 2006/0026521 Al
`
`
`
`
`FIG.6B
`
`8
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 8 of 37
`
`US 2006/0026521 Al
`
`
`FIG.6C
`
`9
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 9 of 37
`
`US 2006/0026521 Al
`
`_~
`NX
`a
`
`<x
`+toO
`2
`
`188
`
`
`FIG.6D
`
`10
`
`10
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 10 of 37
`
`US 2006/0026521 Al
`
`
`
`
`190
`
`FIG.6E
`
`11
`
`11
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 11 of 37
`
`US 2006/0026521 Al
`
`(-») Ne
`ST y
`
`190
`

`
`a“
`
`[sO
`
`Ny
`
`LU
`
`T)):
`
`‘
`
`12
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 12 of 37
`
`US 2006/0026521 Al
`
`
`DETECT USER INPUT
`
`202
`
`
`
`CLASSIFY USER INPUT AS
`TRACKING OR SELECTION
`INPUT OR GESTURE INPUT
`
`
`
`
`
`
`
`206
`
`208
`
`PERFORM TRACKING
`DURING USER INPUT
`
`PERFORM GESTURE
`CONTROL ACTIONS
`
`FIG. 7
`
`300 oN
`
`OUTPUT GUI OBJECT
`
`RECEIVE GESTURE INPUT OVER
`GUI OBJECT
`
`302
`
`304
`
`306
`
`
`
`MODIFY GUI OBJECT BASED ON
`AND IN UNISON WITH THE
`GESTURE INPUT
`
`
`
`FIG. 9
`
`13
`
`13
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 13 of 37
`
`US 2006/0026521 Al
`
`CAPTURE INITIAL IMAGE
`
`252
`
`DETERMINE TOUCH MODE
`BASED ON INITIAL IMAGE
`
`260
`
`256
`
`SET NEXT IMAGE
`AS INITIAL IMAGE
`
`CAPTURE NEXT IMAGE
`
`254
`
`
` DETERMINE IF
`
`MODE CHANGED?
`
`COMPARE INITIAL AND NEXT
`IMAGES
`
`
`
`262
`
`FIG. 8
`
`14
`
`14
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 14 of 37
`
`US 2006/0026521 Al
`
`DETECT PRESENCE OF FIRST FINGER AND SECOND FINGER ON
`A TOUCH SENSITIVE SURFACE AT THE SAME TIME
`
`352
`
` COMPARE DISTANCE BETWEEN
`
`TWO FINGERS
`
`356
`
`
`
`
`GENERATE ZOOMIN
`GENERATE ZOOM OUT
`SIGNAL IF DISTANCE
`SIGNAL IF DISTANCE
`
`
`
`BETWEEN TWO FINGERS
`BETWEEN TWO FINGERS
`
`
`
`DECREASES
`INCREASES
`
`358
`
`400
`
`FIG. 10
`
`INITIAL POSITION
`
`DETECT PRESENCE OF FIRST
`FINGER AND SECOND FINGER
`ON A TOUCH SENSITIVE
`SURFACE AT THE SAME TIME
`
`MONITOR POSITION OF TWO
`OBJECTS WHEN MOVED
`TOGETHER ACROSS TOUCH
`SENSITIVE SURFACE
`
`GENERATE PAN SIGNAL WHEN
`THE POSITION OF THE FINGERS
`CHANGES RELATIVE TO AN
`
`FIG. 12
`
`15
`
`15
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 15 of 37
`
`US 2006/0026521 Al
`
`368
`
`364
`
`364
`
`FIG. 11A
`
`368
`
`366 FIG. 11B
`
`16
`
`16
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 16 of 37
`
`FIG. 11C
`
`366
`
`372
`
`364
`
`US 2006/0026521 Al
`\ N. California
`
`366
`
`FIG. 11D
`
`366
`
`17
`
`17
`
`

`

`US 2006/0026521 Al
`
`FIG. 11F
`
`“68
`
`Patent Application Publication Feb. 2, 2006 Sheet 17 of 37
`
`N. California FIG. 11E
`San Jose
`
`364
`
`18
`
`18
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 18 of 37
`
`US 2006/0026521 Al
`
`376
`
`364
`
`San \Franci
`een
`
`378
`
`366
`
`p
`
`~ syle
`“\, San Jose
`
`
`5See
`
`FIG. 11G
`
`378
`
`366
`
`.
`
`4
`
`‘
`
`\ SM Crd
`‘
`aN. (ior)
`tenes wT NN, ie 7
`‘.
`s)
`
`364
`
`So
`
`~
`
`~‘
`D
`~N
`¢ N+
`DON.
`O*
`~~
`‘ ant
`~.,
`c
`V a ~ SS
`366
`SartCarlos MES
`™
`ye ae oF J A
`a Y
`co ‘N. /
`}
`eR
`in
`380

`/ ss
`'
`
`\
`
`oS
`
`{
`
`me
`
`‘.
`
`f
`
`FIG. 11H
`
`nee
`
`19
`
`

`

`368
`
`FIG. 13A
`
`Patent Application Publication Feb. 2, 2006 Sheet 19 of 37
`
`US 2006/0026521 Al
`
`366
`
`FIG. 13B
`
`20
`
`20
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 20 of 37
`
`US 2006/0026521 Al
`
`368
`
`366
`‘\ CS
`:
`/
`
`364
`
`Q
`
`366
`
`FIG. 13C
`
`FIG. 13D
`
`21
`
`21
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 21 of 37
`
`US 2006/0026521 Al
`
`450 _\
`
`
`
`
`
`DETECT PRESENCE OF FIRST
`FINGER AND SECOND FINGER
`ON A TOUCH SENSITIVE
`SURFACE AT THE SAME TIME
`
`452
`
`
`
`
`GENERATE INITIAL ANGLE AT
`SET DOWN
`
`454
`
`456
`
`
`GENERATE ROTATE SIGNAL
`
`
`WHEN THE ANGLE CHANGES
`
`
`FIG. 14
`
`500 ~
`
`502
`
`DETECT PRESENCE AN OBJECT
`ON TOUCH SENSITIVE SURFACE
`
`RECOGNIZE OBJECT
`
`904
`
`
`
`506
`DISPLAY IMAGEIN VICINITY OF
`
`
`
`OBJECT
`
`FIG. 16
`
`22
`
`22
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 22 of 37
`
`US 2006/0026521 Al
`
`368
`
`364
`
`UP
`
`FIG.15A
`
`366 FIG. 15B
`
`368
`
`364
`
`366
`
`FIG. 15C 38
`
`23
`
`23
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 23 of 37
`
`US 2006/0026521 Al
`
`FIG.17C
`
`520
`
` FIG.17B
`17A
`
`FIG.
`
`24
`
`24
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 24 of 37
`
`US 2006/0026521 Al
`
`516
`
`
`
`520
`
`512
`
`NY
`
`FIG.17E
`
`17D
`
`FIG.
`
`25
`
`25
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 25 of 37
`
`US 2006/0026521 Al
`
`550 ™~
`
`
`DISPLAY CONTROL BOX HAVING
`CONTROL BUTTONS
`
`552
`
`ENLARGE CONTROL BOX AND CONTROL BUTTONS WHEN
`THE PRESENCE OF AN OBJECT IS DETECTED OVER THE
`CONTROL BOX
`
`554
`
`GENERATE CONTROL SIGNAL ASSOCIATED WITH A SELECTED BUTTON
`OF THE CONTROL BOX WHEN THE PRESENCE OF THE OBJECT IS
`DETECTED OVER ONE OF THE ENLARGED CONTROL BUTTONS
`
`
`
`
`FIG. 18
`
`600 ™
`
`DISPLAY PAGE FROM A GROUP
`OF PAGES
`
`
`DETECT PRESENCE OF OBJECT
`OVER PREDETERMINED REGION
`OF DISPLAYED PAGE
`
`602
`
`604
`
`
`
`
`
`
`
`
`GENERATE PAGE TURN SIGNAL WHEN THE
`DETECTED OBJECTIS SLID HORIZONTALLY ACROSS
`
`
`THE PAGE IN THE PREDETERMINED REGION OF THE
`
`PAGE
`
`
`606
`
`FIG. 20
`
`26
`
`26
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 26 of 37
`
`US 2006/0026521 Al
`980
`
`FIG. 19A
`
`FIG. 19B
`
`27
`
`27
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 27 of 37
`
`US 2006/0026521 Al
`
`
`
`
`FIG. 19C
`
`FIG. 19D
`
`28
`
`28
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 28 of 37
`
`US 2006/0026521 Al
`
`516
`
`512
`
`FIG.21B
`
`512
`
`
`
`
`FIG.21A
`
`+—
`i)
`
`29
`
`29
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 29 of 37
`
`US 2006/0026521 Al
`
`516
`
`516
`
`
`
`FIG.21D
`
`512
`
`
`FIG.21C
`
`512
`
`30
`
`30
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 30 of 37
`
`US 2006/0026521 Al
`
`650 _
`
`652
`
`DISPLAY IMAGE
`
`DETECT SCROLLING OR PANNING STROKE
`
`654
`
`DETERMINE SPEED AND DIRECTION OF SCROLLING OR PANNING
`STROKE
`
`MOVE IMAGE IN ACCORDANCE WITH THE SPEED AND DIRECTION
`OF THE SCROLLING OR PANNING STROKE
`
`SLOWING MOTION OF IMAGE IN ACCORDANCE WITH INERTIA
`
`PRINCIPALS WHEN THE PANNING OR SCROLLING STROKE IS NO LONGER DETECTED
`
`FIG. 22
`
`656
`
`58
`
`660
`
`os
`
`702
`
`
`
` 704
`
`DISPLAY KEYBOARD
`
`DETECT PRESENCE OFA FIRST OBJECT
`OVER A FIRST KEY AND A SECOND
`OBJECT OVER A SECOND KEYAT THE
`SAME TIME
`
`GENERATE SINGLE CONTROL FUNCTION WHEN THE
`FIRST OBJECT IS DETECTED OVER THE FIRST KEY
`AND WHEN THE SECOND OBJECT IS DETECTED OVER
`THE SECOND KEY
`
`706
`
`FIG. 24
`
`31
`
`31
`
`

`

`US 2006/0026521 Al
`520 FIG. 23B
`
`679
`
`512
`
`678
`
`Patent Application Publication Feb. 2, 2006 Sheet 31 of 37
`
`681
`
`32
`
`32
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 32 of 37
`
`US 2006/0026521 Al
`
`
`
`
`
`
`
` FIG. 23C
`
`
`681
`
`681
`
`J
`
`576
`
`FIG. 23D
`
`33
`
`33
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 33 of 37
`
`US 2006/0026521 Al
`
`512
`
`520
`
`Sooorvtooy |
`
`
`
`
`
`
`
`Y oro
`
`
`
`
`
`
`
`
`
`FIG. 25A
`
`Yi
`
`000
`
`WORD PROCESSOR
`
`512
`
`CO
`
`
`
`4 fIl520
`
`576A
`
`
`CL
`Oo
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`730
`
`34
`
`34
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 34 of 37
`
`US 2006/0026521 Al
`
`fnnereneeecencesrsereesterresreterseceetseenapensecnneenenssesssnecsssocsrscescconscoesssesssessseenccensensneneencenescentneeateny
`
`512
`
`©]
`yl520
`
`}i
`
`576A
`
`
`
`
`
`
`
`
`
`
`730
`
`eR
`
`576B
`
`512
`
`an
`
`Z|)520
`
`576A
`
`A
`
`
`
`
`
`!
`
`730
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`J
`
`m—
`
`35
`
`35
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 35 of 37
`
`US 2006/0026521 Al
`
`750~
`
`752
`
`754
`
`756
`
`758
`
`PRESENT VIRTUAL SCROLL
`WHEEL
`
`
`
`DETECT PRESENCE OF
`FINGER(S) ON TOUCHSCREEN
`
`SET INITIAL POSITION OF
`FINGER(S) ON VIRTUAL SCROLL
`WHEEL
`
`
`THE VIRTUAL SCROLL WHEEL
`
`GENERATE ROTATE SIGNAL
`WHEN FINGER(S) MOVES ABOUT
`
`FIG. 26
`
`36
`
`36
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 36 of 37
`
`US 2006/0026521 Al
`
`762
`
`520
`
`512
`760a)oC)
`764 [TS
`
`U__AST
`
`FIG. 27A
`
`
`
`FIG. 27B
`
`37
`
`37
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 37 of 37
`
`US 2006/0026521 Al
`
`FIG. 27C
`
`512
`
`520
`
`
`
`
`
`
`
`(—
`
`
`
`FIG. 27D
`
`38
`
`38
`
`

`

`US 2006/0026521 Al
`
`Feb. 2, 2006
`
`GESTURES FOR TOUCH SENSITIVE INPUT
`DEVICES
`
`BACKGROUNDOF THE INVENTION
`
`[0001]
`
`1. Field of the Invention
`
`[0002] The present invention relates generally to gesturing
`associated with touch sensitive devices.
`
`[0003]
`
`2. Description of the Related Art
`
`[0004] There exist today manystyles of input devices for
`performing operations in a computer system. The operations
`generally correspond to moving a cursor and makingselec-
`tions on a display screen. The operations may also include
`paging,
`scrolling, panning, zooming, etc. By way of
`example, the input devices may include buttons, switches,
`keyboards, mice, trackballs, touch pads, joy sticks, touch
`screens and the like. Each of these devices has advantages
`and disadvantages that are taken into account when design-
`ing the computer system.
`
`[0005] Buttons and switches are generally mechanical in
`nature and provide limited control with regards to the
`movement of
`the cursor and making selections. For
`example, they are generally dedicated to moving the cursor
`in a specific direction (e.g., arrow keys) or to making
`specific selections (e.g., enter, delete, number, etc.).
`
`In mice, the movement of the input pointer corre-
`[0006]
`sponds to the relative movements of the mouse as the user
`moves the mouse along a surface. In trackballs, the move-
`ment of the input pointer correspondsto the relative move-
`ments of a ball as the user movesthe ball within a housing.
`Mice and trackballs also include one or more buttons for
`making selections. Mice mayalso include scroll wheels that
`allow a user to move through the GUI by simply rolling the
`wheel forward or backward.
`
`[0007] With touch pads, the movementof the input pointer
`corresponds to the relative movements of the user’s finger
`(or stylus) as the finger is moved along a surface of the touch
`pad. Touch screens, on the other hand,are a type of display
`screen that has a touch-sensitive transparent panel covering
`the screen. When using a touch screen, a user makes a
`selection on the display screen by pointing directly to GUI
`objects on the screen (usually with a stylus or finger).
`
`In order to provide additionally functionality, ges-
`[0008]
`tures have been implemented with some of these input
`devices. By way of example, in touch pads, selections may
`be made whenone or more taps are detected on the surface
`of the touch pad. In somecases, any portion of the touch pad
`may be tapped, and in other cases a dedicated portion of the
`touch pad maybe tapped. In additionto selections, scrolling
`may be initiated by using finger motion at the edge of the
`touch pad.
`
`[0009] U.S. Pat. Nos. 5,612,719 and 5,590,219, assigned
`to Apple Computer, Inc. describe some other uses of ges-
`turing. U.S. Pat. No. 5,612,719 discloses an onscreen button
`that is responsive to at least two different button gestures
`made on the screen on or near the button. U.S. Pat. No.
`5,590,219 discloses a method for recognizing an ellipse-type
`gesture input on a display screen of a computer system.
`
`placing four fingers on the touch pad so that the scrolling
`gesture is recognized and thereafter moving these fingers on
`the touch pad to perform scrolling events. The methods for
`implementing these advanced gestures, however, has several
`drawbacks. By way of example, once the gesture isset, it
`cannot be changed until the user resets the gesture state. In
`touch pads, for example,if four fingers equals scrolling, and
`the user puts a thumb down after the four fingers are
`recognized, any action associated with the new gesture
`including four fingers and the thumb will not be performed
`until the entire hand is lifted off the touch pad and put back
`downagain (e.g., reset). Simply put, the user cannot change
`gesture states midstream. Along a similar vein, only one
`gesture may be performed at any given time. That 1s,
`multiple gestures cannot be performed simultaneously.
`
`[0011] Based on the above, there is a need for improve-
`ments in the way gestures are performed on touchsensitive
`devices.
`
`SUMMARY OF THE INVENTION
`
`to a
`in one embodiment,
`[0012] The invention relates,
`computer implemented method for processing touch inputs.
`The method includes reading data from a multipoint touch
`screen. The data pertains to touch input with respect to the
`touch screen. The method also includesidentifying at least
`one multipoint gesture based on the data from the multipoint
`touch screen.
`
`[0013] The invention relates, in another embodimentto a
`gestural method. The method includes detecting multiple
`touchesat different points on a touch sensitive surface at the
`same time. The method also includes segregating the mul-
`tiple touches into at
`least
`two separate gestural
`inputs
`occurring simultaneously. Each gestural input has a different
`function such as zooming, panning, rotating and the like.
`
`[0014] The invention relates, in another embodimentto a
`gestural method. The method includes concurrently detect-
`ing a plurality of gestures that are concurrently performed
`with reference to a touch sensing device. The method also
`includes producing different commands for each of the
`gestures that have been detected.
`
`[0015] The invention relates, in another embodimentto a
`gestural method. The method includes displaying a graphi-
`cal image on a display screen. The method also includes
`detecting a plurality of touches at the same time on a touch
`sensitive device. The method further includes linking the
`detected multiple touches to the graphical image presented
`on the display screen.
`
`(0016] The inventionrelates, in another embodiment to a
`method of invoking a user interface element on a display via
`a multipoint
`touch screen of a computing system. The
`method includes detecting and analyzing the simultaneous
`presence of two or more objects in contact with the multi-
`point touch screen. The method also includes selecting a
`user interface tool, from a plurality of available tools, to
`display on a display for interaction by a user of the com-
`puting system based at least in part
`the analyzing. The
`method further includes controlling the interface tool based
`at least in part on the further movement of the objects in
`relation to the multipoint touch screen.
`
`In recent times, more advanced gestures have been
`[0010]
`implemented. For example, scrolling may be initiated by
`
`{0017] The inventionrelates, in another embodiment, to a
`touch-based method. The method includes detecting a user
`
`39
`
`39
`
`

`

`US 2006/0026521 Al
`
`Feb. 2, 2006
`
`input that occurs over a multipoint sensing device. The user
`input includes one or more inputs. Each input has a unique
`identifier. The method also includes, during the user input,
`classifying the user input as a tracking or selecting input
`when the user input includes one unique identifier or a
`gesture input when the user input includes at
`least two
`unique identifiers. The method further includes performing
`tracking or selecting during the user input when the user
`input
`is classified as a tracking or selecting input. The
`method additionally includes performing one or more con-
`trol actions during the user input when the user input is
`classified as a gesturing input. The control actions being
`based at least in part on changes that occur between the at
`least two unique identifiers.
`
`[0018] The invention relates, in another embodiment, to a
`touch-based method. The method includes outputting a GUI
`on a display. The method also includes detecting a user input
`on a touch sensitive device. The method further includes
`
`analyzing the user input for characteristics indicative of
`tracking, selecting or a gesturing. The method additionally
`includes categorizing the user input as a tracking, selecting
`or gesturing input. The method further includes performing
`tracking or selecting in the GUI when the user input is
`categorized as a tracking or selecting input. Moreover, the
`method includes performing contro] actions in the GUI
`when the user input is categorized as a gesturing inpul, the
`actions being based on the particular gesturing input.
`
`[0019] The invention relates, in another embodiment, to a
`touch-based method. The method includes capturing an
`initial touch image. The method also includes determining
`the touch mode based on the touch image. The method
`further includes capturing the next touch image. The method
`further includes determining if the touch mode changed
`between the initial and next touch images. The method
`additionally includes, if the touch mode changed,setting the
`next touch imageas the initial touch image and determining
`the touch mode based on the new initial
`touch image.
`Moreover, the method includes, if the touch mode stayed the
`same, comparing the touch images and performing a control
`function based on the comparison.
`
`[0020] The invention relates, in another embodiment, to a
`computer implemented method for processing touch inputs.
`The method includes reading data from a touch screen. The
`data pertaining to touch input with respect to the touch
`screen, and the touch screen having a multipoint capability.
`The method also includes converting the data to a collection
`of features. The method further includes classifying the
`features and grouping the features into one or more feature
`groups. The method additionally includes calculating key
`parameters of the feature groups and associating the feature
`groups to user interface elements on a display.
`
`[0021] The invention relates, in another embodiment, to a
`computer implemented method. The method includes out-
`putting a graphical image. The methodalso includesreceiv-
`ing a multitouch gesture input over the graphical image. The
`method further includes changing the graphical image based
`on and in unison with multitouch gesture input.
`
`[0022] The invention relates, in another embodiment, to a
`touch based method. The method includes receiving a ges-
`tural input over a first region. The method also includes
`generating a first command when the gestural
`input
`is
`received over the first region. The method further includes
`
`receiving the same gestural input over a second region. The
`method additionally includes generating a second command
`when the same gestural input is received over the second
`region. The second command being different than the first
`command.
`
`[0023] The invention relates, in another embodiment,to a
`method for recognizing multiple gesture inputs. The method
`includes receiving a multitouch gestural stroke on a touch
`sensitive surface. The multitouch gestural stroke maintain-
`ing continuous contact on the touch sensitive surface. The
`method also includes recognizinga first gesture input during
`the multitouch gestural stroke. The method further includes
`recognizing a second gesture input during the multitouch
`gestural stroke.
`
`[0024] The invention relates, in another embodiment,to a
`computer
`implemented method. The method includes
`detecting a plurality of touches on a touch sensing device.
`The method also includes forming one or more touch groups
`with the plurality of touches. The method further includes
`monitoring the movement of and within each of the touch
`groups. The method additionally includes generating control
`signals when the touches within the touch groups are moved
`or when the touch groups are movedin their entirety.
`
`It should be noted that in each of the embodiments
`[0025]
`described above, the methods may be implemented using a
`touch based input device such as a touch screen or touch pad,
`moreparticularly a multipoint touch based input device, and
`even more particularly a multipoint touch screen. It should
`also be noted that
`the gestures, gesture modes, gestural
`inputs, etc. may correspondto any of those described below
`in the detailed description. For example, the gestures may be
`associated with zooming, panning,
`scrolling,
`rotating,
`enlarging,floating controls, zoomingtargets, paging, inertia,
`keyboarding, wheeling, and/or the like.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0026] The invention will be readily understood by the
`following detailed description in conjunction with the
`accompanying drawings, wherein like reference numerals
`designate like structural elements, and in which:
`
`{0027] FIG.1 isa block diagram of a computer system,in
`accordance with one embodiment of the present invention.
`
`[0028] FIG.2 is a multipoint processing method,in accor-
`dance with one embodiment of the present invention.
`
`[0029] FIGS. 3A and B illustrate an image, in accordance
`with one embodimentof the present invention.
`
`[0030] FIG.4 illustrates a group offeatures, in accordance
`with one embodimentof the present invention.
`
`[0031] FIG.5 is a parameter calculation method, in accor-
`dance with one embodiment of the present invention.
`
`[0032] FIGS. 6A-6Hillustrate a rotate gesture, in accor-
`dance with one embodimentof the present invention.
`
`[0033] FIG. 7 is a diagram of a touch-based method, in
`accordance with one embodiment of the present invention.
`
`[0034] FIG. 8 is a diagram of a touch-based method, in
`accordance with one embodiment of the present invention.
`
`[0035] FIG. 9 is a diagram of a touch-based method, in
`accordance with one embodiment of the present invention.
`
`40
`
`40
`
`

`

`US 2006/0026521 Al
`
`Feb. 2, 2006
`
`[0036] FIG. 10 is a diagram of a zoom gesture method, in
`accordance with one embodiment of the present invention.
`
`[0037] FIGS. 11A-11J illustrates a zooming sequence, in
`accordance with one embodimentof the present invention.
`
`[0038] FIG. 12 is a diagram of a pan method, in accor-
`dance with one embodiment of the present invention.
`
`[0039] FIGS. 13A-13D illustrate a panning sequence, in
`accordance with one embodimentof the present invention.
`
`in
`[0040] FIG. 14 is a diagram of a rotate method,
`accordance with one embodimentof the present invention.
`
`[0041] FIGS. 15A-15C illustrate a rotating sequence, in
`accordance with one embodimentof the present invention.
`
`FIG.16 is a diagram of a GUI operational method,
`[0042]
`in accordance with one embodimentof the present inven-
`tion.
`
`floating control
`a
`[0043] FIGS. 17A-17E illustrate
`sequence, in accordance with one embodimentofthe present
`invention.
`
`FIG.18 is a diagram of a GUI operational method,
`[0044]
`in accordance with one embodimentof the present inven-
`tion.
`
`zooming target
`a
`[0045] FIGS. 19A-19D illustrate
`sequence, in accordance with one embodimentofthe present
`invention.
`
`FIG.20 is a diagram of a GUI operational method,
`[0046]
`in accordance with one embodimentof the present inven-
`tion.
`
`[0047] FIGS. 21A-21E illustrate a page turning sequence,
`in accordance with one embodimentof the present inven-
`tion.
`
`FIG.22 is a diagram of a GUI operational method,
`[0048]
`in accordance with one embodimentof the present inven-
`tion.
`
`[0049] FIGS. 23A-23Dillustrate an inertia sequence, in
`accordance with one embodimentof the present invention.
`
`FIG.24 is a diagram of a GUI operational method,
`[0050]
`in accordance with one embodimentof the present inven-
`tion.
`
`[0051] FIGS. 25A-25D illustrates a keyboard sequence,in
`accordance with one embodimentof the present invention.
`
`FIG.26 is a diagram of a GUI operational method,
`[0052]
`in accordance with one embodimentof the present inven-
`tion.
`
`scroll wheel
`a
`27A-27D illustrates
`[0053] FIGS.
`sequence, in accordance with one embodimentofthe present
`invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`[0054] The invention generally pertains to gestures and
`methods of implementing gestures with touch sensitive
`devices. Examples of touch sensitive devices include touch
`screens and touch pads. One aspect of the invention relates
`to recognizing at least two simultaneously occurring ges-
`tures. Another aspect of the inventionrelates to displaying a
`
`graphical image and linking different touches that occur to
`the graphical image. Another aspect of the invention relates
`to immediately recognizing gestures so that actions associ-
`ated with the gestures can be implemented at the same time.
`Another aspect of the invention relates to changing a dis-
`played image based on and in unison with a gestural input,
`1.¢., the displayed image continuously changes with changes
`in the gestural input such that the displayed image continu-
`ously follows the gestural
`input. Another aspect of the
`invention relates to implementing an input mode based on
`the numberof fingers (or other object) in contact with the
`input device. Another aspect of the invention relates to
`providing region sensitivity where gestures mean different
`things when implemented over different areas of the input
`device. Another aspect of the invention relates to changing
`an input while making continuous contact with the touch
`sensitive surface of the touch sensitive device.
`
`[0055] These and other aspects of the invention are dis-
`cussed below with reference to FIGS. 1-27. However, those
`skilled in the art will readily appreciate that the detailed
`description given herein with respect to these figures is for
`explanatory purposes as the invention extends beyond these
`limited embodiments.
`
`[0056] FIG. 1 is a block diagram of an exemplary com-
`puter system 50, in accordance with one embodimentof the
`present invention. The computer system 50 may correspond
`to a personal computer system, such as a desktops, laptops,
`tablets or handheld computer. The computer system may
`also correspond to a computing device, such as a cell phone,
`PDA,dedicated media player, consumer electronic device,
`and the like.
`
`[0057] The exemplary computer system 50 shown in FIG.
`1 includes a processor 56 configured to execute instructions
`and to carry out operations associated with the computer
`system 50. For example, using instructions retrieved for
`example from memory, the processor 56 may control the
`reception and manipulation of input and output data between
`components of the computing system 50. The processor 56
`can be implemented on a single-chip, multiple chips or
`multiple electrical components. For example, various archi-
`tectures can be used for the processor 56, including dedi-
`cated or embedded processor, single purpose processor,
`controller, ASIC, and so forth.
`
`In most cases, the processor 56 together with an
`[0058]
`operating system operates to execute computer code and
`produce and use data. Operating systemsare generally well
`knownand will not be described in greater detail. By way of
`example,
`the operating system may correspond to OS/2,
`DOS, Unix, Linux, Palm OS, and the like. The operating
`system can also be a special purpose operating system, such
`as maybe used for limited purpose appliance-type comput-
`ing devices. The operating system, other computer code and
`data may reside within a memoryblock 58that is operatively
`coupled to the processor 56. Memory block 58 generally
`provides a place to store computer code and data that are
`used by the computer system 50. By way of example, the
`memory block 58 may include Read-Only Memory (ROM),
`Random-Access Memory (RAM), hard disk drive and/orthe
`like. The information could also reside on a removable
`
`storage medium and loadedor installed onto the computer
`system 50 when needed. Removable storage mediums
`include, for example, CD-ROM, PC-CARD, memorycard,
`floppy disk, magnetic tape, and a network component.
`
`41
`
`41
`
`

`

`US 2006/0026521 Al
`
`Feb. 2, 2006
`
`[0059] The computer system 50 also includes a display
`the touch screen 70 is
`touchpads, mice, etc. For one,
`device 68 that is operatively coupled to the processor 56.
`positioned in front of the display 68 and therefore the user
`The display device 68 may bealiquid crystal display (LCD)
`can manipulate the GUI 69 directly. For example, the user
`(e.g., active matrix, passive matrix and the like). Alterna-
`can simply place their finger over an object to be controlled.
`tively, the display device 68 may be a monitor such as a
`In touch pads, there is no one-to-one relationship such as
`monochromedisplay, color graphics adapter (CGA)display,
`this. With touchpads, the touchpad is placed away from the
`enhanced graphics adapter (EGA) display, variable-graph-
`display typically in a different plane. For example,
`the
`ics-array (VGA)display, super VGA display, cathode ray
`display is typically located in a vertical plane and the
`tube (CRT), and the like. The display device may also
`touchpad is typically located in a horizontal plane. This
`makes its use less intuitive, and therefore more difficult
`correspond to a plasma display or a display implemented
`with electronic inks.
`when compared to touch screens. In addition to being a
`touch screen, the input device 70 can be a multipoint input
`device. Multipoint input devices have advantages over con-
`ventional singlepoint devices in that they can distinguish
`more than one object (finger). Singlepoint devices are sim-
`ply incapable of distinguishing multiple objects. By way of
`example, a multipoint touch screen, which can be used
`herein, is shown and described in greater detail in copending
`and commonly assigned U.S. patent application Ser. No.
`10/840,862, which is hereby incorporated herein by refer-
`ence.
`
`[0060] The display device 68 is generally configured to
`display a graphical user interface (GUI) 69 that provides an
`easy to use interface between a user of the computer system
`and the operating system or application running thereon.
`Generally speaking, the GUI 69 represents, programs,files
`and operational options with graphical images. The graphi-
`cal
`images may include windows, fields, dialog boxes,
`menus, icons, buttons, cursors, scroll bars, etc. Such images
`may be arranged in predefined layouts, or may be created
`dynamically to serve the specific actions being taken by a
`user. During operation,
`the user can select and activate
`various graphical images in order to initiate functions and
`tasks associated therewith. By way of example, a user may
`select a button that opens, closes, minimizes, or maximizes
`a window,or an icon that launches a particular program. The
`GUI 69 can additionally or alternatively display informa-
`tion, such as non interactive text and graphics, for the user
`on the display device 68.
`
`[0061] The computer system 50 also includes an input
`device 70 that is operatively coupled to the processor 56.
`The input device 70 is configured to transfer data from the
`outside world into the computer system 50. The input device
`70 may for example be used to perform tracking and to make
`selections with respect to the GUI 69 on the display 68. The
`input device 70 mayalso be used to issue commandsin the
`computer system 50. The input d

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket