IP Library Granted Patent US 8,339,367
Granted Patent B2
US 8,339,367 · App. 12/394,330 · Granted Dec 25, 2012

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,339,367
App. No.
12/394,330
Granted
Dec 25, 2012
Kind
B2
Abstract

The disclosure relates to a system and method for analyzing movements of a handheld electronic device. The system comprises: memory; a microprocessor; a first module to generate movement data responsive to movements of the device, such as rotational movements; a second module providing instructions to the microprocessor to map the movement data against symbols representing an input movement string and store the string representation in the memory; and a third module. The third module provides instructions to the microprocessor to analyze data relating to the string representation against data relating to a gesture string representing a gesture related to a command for the device to determine if the gesture has been imparted on the device; and if the string representation sufficiently matches the gesture string, executes a command associated with the gesture on the device.

Claims (80)

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

tracking rotational movement data for the device;

mapping the rotational movement data to a rotational string representation;

constructing a matrix of data containing the rotational string representation and a gesture string representing a gesture related to a command for the device using earlier movement data of the device;

calculating a matching score for the rotational string representation against the gesture string to determine if the gesture has been imparted on the device by recursively traversing a subset of the matrix using a Smith-Waterman algorithm to generate matching scores for values in 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 movement data mapped to the rotational string representation by:

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

mapping the magnitude value against a gesture signature.

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 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 a substitution matrix}.

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

7. 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.

8. 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

construct a matrix of data containing the rotational string representation and a gesture string representing a gesture related to a command for the handheld electronic device using earlier movement data of the handheld electronic device;

calculate a matching score for the rotational string representation against the gesture string to determine if the gesture has been imparted on the handheld electronic device by recursively traversing a subset of the matrix using a Smith-Waterman algorithm to generate matching scores for values in 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.

9. The system for analyzing movements of a handheld electronic device as claimed in claim 8 , wherein the first module comprises a gyroscope to provide the rotational movement data for the handheld electronic device.

10. The system for analyzing movements of a handheld electronic device as claimed in claim 8 , 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 a substitution matrix}.

11. The system for analyzing movements of a handheld electronic device as claimed in claim 8 , wherein the third module provides instructions to the microprocessor to utilize the string representation and the earlier movement data collectively to determine if the gesture string straddles the string representation and the earlier movement data.

12. The system for analyzing movements of a handheld electronic device as claimed in claim 8 , 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 module modules to determine whether to execute the command associated with the gesture on the handheld electronic device.

13. 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 string representation of a rotational movement detected along an axis of rotation associated with the handheld electronic device and store the string representation in the memory storage device; and

a third module providing instructions to the microprocessor to

construct a matrix of data containing the rotational string representation and a gesture string representing a gesture related to a command for the handheld electronic device using earlier movement data of the handheld electronic device;

compare the rotational string representation against the gesture string to determine if the gesture has been imparted on the handheld electronic device by recursively traversing a subset of the matrix to generate matching scores for values in the rotational string representation against the gesture string until a threshold is met; and

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

14. The system for analyzing movements of a handheld electronic device as claimed in claim 13 , wherein the subset of the matrix is traversed using an edit distance algorithm.

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

16. The system for analyzing movements of a handheld electronic device as claimed in claim 15 , 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 a substitution matrix}.

17. The system for analyzing movements of a handheld electronic device as claimed in claim 16 , wherein the first module comprises a gyroscope to provide the rotational movement data for the handheld electronic device.

18. The system for analyzing movements of a handheld electronic device as claimed in claim 16 , wherein the third module provides instructions to the microprocessor to utilize the string representation and the earlier movement data collectively to determine if the gesture string straddles the string representation and the earlier movement data.

19. The system for analyzing movements of a handheld electronic device as claimed in claim 16 , 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 Feb 27, 2009
From: DODS, JEFFREY ALTON, MR.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 022322/0559 →