IP Library Granted Patent US 8,471,821
Granted Patent B2
US 8,471,821 · App. 13/672,096 · Granted Jun 25, 2013

System and method for analyzing movements of an electronic device using rotational movement data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,471,821
App. No.
13/672,096
Granted
Jun 25, 2013
Kind
B2
Abstract

The disclosure relates to a system and method for analyzing movements of a handheld electronic device. The method comprises: calculating a matching score for a rotational string representation of rotational movement data for the device to a gesture string representing a gesture related to a command for the device by recursively traversing a matrix containing the rotational string representation, the gesture string representation and earlier movement data of the device using a distance edit algorithm to generate matching scores for values of the rotational string representation against the gesture string; and if a threshold for the matching score is met, executing a command associated with the gesture on the device.

Claims (254)

1. A method for analyzing movements of a handheld electronic device, comprising:

calculating a matching score for a rotational string representation of rotational movement data for the device to a gesture string representing a gesture related to a command for the device by recursively traversing a matrix containing the rotational string representation, the gesture string representation and earlier movement data of the device using a distance edit algorithm to generate matching scores for values of the rotational string representation against the gesture string; and

if a threshold for the matching score is met, executing a command associated with the gesture on the device.

2. The method for analyzing movements of a handheld electronic device as claimed in claim 1 , wherein the rotational string representation is generated by:

converting the rotational movement data to a magnitude value representing at least one axis of rotation for a rotational movement.

3. The method for analyzing movements of a handheld electronic device as claimed in claim 1 , wherein a gyroscope provides the rotational movement data for the device.

4. The method for analyzing movements of a handheld electronic device as claimed in claim 1 , wherein the threshold discards contiguously repeated enumeration symbols in the rotational string representation.

5. The method for analyzing movements of a handheld electronic device as claimed in claim 1 , wherein the distance edit algorithm is a Smith-Waterman algorithm.

6. The method for analyzing movements of a handheld electronic device as claimed in claim 5 , wherein:

the matrix is a programming matrix D(i, j), comprising:

dimensions m×n, where m is the length of the rotational string representation and n is the length of the gesture string, with components of the rotational string representation being identified with the m dimension and components of the gesture string being identified with the n dimension,

a leftmost column D ( i, 0)=0 i= 0 . . . m ; and

a top row D (0, j )=0, j= 0 . . . n;

and

remaining elements in the matrix are set to be the minimum value of 0 or one of:

D

(

i

,

j

)

=

max

{

0

[

or

]

D

(

i

-

1

,

j

)

+

a

gap

penalty

[

or

]

D

(

i

,

j

-

1

)

+

the

gap

penalty

[

or

]

D

(

i

-

1

,

j

-

1

)

+

the

i

,

j

th

entry

of

the

substitution

matrix

}

.

7. The method for analyzing movements of a handheld electronic device as claimed in claim 1 , wherein the rotational string representation and the earlier movement data are used in calculating the matching score to determine if the gesture string straddles the rotational string representation and the earlier movement data.

8. The method for analyzing movements of a handheld electronic device as claimed in claim 1 , further comprising:

tracking linear movement data for the device;

mapping the linear movement data to a text string representation;

comparing the text string representation against a second string representing the gesture as a linear movement and a second threshold; and

executing the command associated with the gesture on the device if the second threshold is met.

9. A system for analyzing movements of a handheld electronic device, comprising:

a memory storage device;

a microprocessor;

a first module to generate rotational movement data for the handheld electronic device responsive to movements of the handheld electronic device;

a second module providing instructions to the microprocessor to map the rotational movement data to a rotational string representation relating to at least one of a magnitude, speed and acceleration of a rotational movement detected along an axis of rotation for the handheld electronic device and store the string representation in the memory storage device; and

a third module providing instructions to the microprocessor to

calculate a matching score for the rotational string representation to a gesture string representing a gesture related to a command for the handheld electronic device by recursively traversing a matrix containing the rotational string representation, the gesture string representation and earlier movement data of the handheld electronic device using a distance edit algorithm to generate matching scores for values of the rotational string representation against the gesture string; and

execute a command associated with the gesture on the handheld electronic device when a threshold for the matching score is met.

10. The system for analyzing movements of a handheld electronic device as claimed in claim 9 , wherein the first module comprises a gyroscope.

11. The system for analyzing movements of a handheld electronic device as claimed in claim 9 , wherein the third module provides instructions to the microprocessor to

implement a Smith-Waterman algorithm for the distance edit algorithm to generate the matching scores.

12. The system for analyzing movements of a handheld electronic device as claimed in claim 11 , wherein the matrix is a programming matrix D(i, j), comprising:

dimensions m×n, where m is the length of the string representation and n is the length of the gesture string, with components of the string representation being identified with the m dimension and components of the gesture string being identified with the n dimension,

a leftmost column D ( i, 0)=0, i= 0 . . . m ; and

a top row D (0, j )=0, j= 0 . . . n;

and

remaining elements in the matrix are set to be the minimum value of 0 or one of:

D

(

i

,

j

)

=

max

{

0

[

or

]

D

(

i

-

1

,

j

)

+

a

gap

penalty

[

or

]

D

(

i

,

j

-

1

)

+

the

gap

penalty

[

or

]

D

(

i

-

1

,

j

-

1

)

+

the

i

,

j

th

entry

of

the

substitution

matrix

}

.

13. The system for analyzing movements of a handheld electronic device as claimed in claim 9 , wherein the third module provides instructions to the microprocessor to

utilize the string representation and the earlier movement data to determine if the gesture string straddles the string representation and the earlier movement data.

14. The system for analyzing movements of a handheld electronic device as claimed in claim 9 , further comprising:

a fourth module to generate linear movement data for the handheld electronic device responsive to linear movements of the handheld electronic device;

a fifth module providing instructions to the microprocessor to map the linear movement data to a text string representation and store the text string representation in the memory storage device;

a sixth module providing instructions to the microprocessor to

analyze data relating to the text string representation and earlier movement data, if available, for the handheld electronic device against data relating to a linear gesture string representing the gesture; and

compare the text string representation against the threshold to determine if the string representation matches the linear gesture string;

and

a seventh module providing instructions to the microprocessor to

process results of the third and sixth modules to determine whether to execute the command associated with the gesture on the handheld electronic device.

15. The system for analyzing movements of a handheld electronic device as claimed in claim 9 , wherein the third module provides instructions to the microprocessor to discard contiguously repeated enumeration symbols in the rotational string representation.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Oct 10, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 033958/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2012
From: DODS, JEFFREY ALTON
To: RESEARCH IN MOTION LIMITED
Reel/Frame 029265/0660 →