State machine based tracking system for screen pointing control
First Claim
1. A system for pointing control, said system comprising:
- vector calculation circuitry to;
receive a position estimate of a first location associated with a first portion of a pointing device and a position estimate of a second location associated with a second portion of said pointing device;
calculate a vector from said estimated position of said first location to said estimated position of said second location; and
resolve said vector into a first distance component (Dx) and a second distance component (Dy), said Dy component orthogonal to said Dx component, wherein said first distance component (Dx) and said second distance component (Dy) represent a distance between the first and second locations in an x plane and a y plane, respectively, and a length of said vector in said x and y plane, wherein the pointing device is configured such that the length of said vector can change in response to movement of said pointing device;
tracking circuitry to track temporal change of said Dx and Dy components and to calculate a rate of change of said Dx and Dy components;
state machine circuitry to maintain and update an interaction state based on said rate of change of said Dx and Dy components; and
screen coordinate update circuitry to move a cursor position on a display element screen to a new screen coordinate based on said temporal change and said interaction state;
wherein;
said interaction state comprises a coarse pointing state, a fine pointing state and a freeze pointing state;
cursor position movement associated with said coarse pointing state is greater than cursor position movement associated with said fine pointing state; and
cursor position movement is disabled in association with said freeze pointing state; and
the system further comprises stabilization circuitry to perform different degrees of temporal low pass filtering of said cursor position movement based on whether said interaction state is said coarse pointing state, said fine pointing state, or said freeze pointing state.
1 Assignment
0 Petitions
Accused Products
Abstract
Generally, this disclosure provides systems, devices, methods and computer readable media for state machine based pointing control. A method may include receiving a position estimate of a first location associated with a first portion of a pointing device and a position estimate of a second location associated with a second portion of the pointing device; calculating a vector from the estimated position of the first location to the estimated position of the second location; and resolving the vector into a first distance component (Dx) and a second distance component (Dy), the Dy component orthogonal to the Dx component. The method may further include tracking temporal changes of the Dx and Dy components; updating an interaction state based on a rate of change of the Dx and Dy components; and moving a cursor position on a display element screen based on the temporal change and the interaction state.
10 Citations
19 Claims
-
1. A system for pointing control, said system comprising:
-
vector calculation circuitry to; receive a position estimate of a first location associated with a first portion of a pointing device and a position estimate of a second location associated with a second portion of said pointing device; calculate a vector from said estimated position of said first location to said estimated position of said second location; and resolve said vector into a first distance component (Dx) and a second distance component (Dy), said Dy component orthogonal to said Dx component, wherein said first distance component (Dx) and said second distance component (Dy) represent a distance between the first and second locations in an x plane and a y plane, respectively, and a length of said vector in said x and y plane, wherein the pointing device is configured such that the length of said vector can change in response to movement of said pointing device; tracking circuitry to track temporal change of said Dx and Dy components and to calculate a rate of change of said Dx and Dy components; state machine circuitry to maintain and update an interaction state based on said rate of change of said Dx and Dy components; and screen coordinate update circuitry to move a cursor position on a display element screen to a new screen coordinate based on said temporal change and said interaction state; wherein; said interaction state comprises a coarse pointing state, a fine pointing state and a freeze pointing state; cursor position movement associated with said coarse pointing state is greater than cursor position movement associated with said fine pointing state; and cursor position movement is disabled in association with said freeze pointing state; and the system further comprises stabilization circuitry to perform different degrees of temporal low pass filtering of said cursor position movement based on whether said interaction state is said coarse pointing state, said fine pointing state, or said freeze pointing state. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for pointing control, said method comprising:
-
receiving a position estimate of a first location associated with a first portion of a pointing device and a position estimate of a second location associated with a second portion of said pointing device; calculating a vector from said estimated position of said first location to said estimated position of said second location; resolving said vector into a first distance component (Dx) and a second distance component (Dy), said Dy component orthogonal to said Dx component, wherein said first distance component (Dx) and said second distance component (Dy) represent a distance between the first and second locations in an x plane and a y plane, respectively, and a length of said vector in said x and y plane, wherein the length of said vector can change in response to movement of said pointing device; tracking temporal change of said Dx and Dy components; updating an interaction state based on a rate of change of said Dx and Dy components; and moving a cursor position on a display element screen based on said temporal change and said interaction state, wherein; said interaction state comprises a coarse pointing state, a fine pointing state and a freeze pointing state; cursor position movement associated with said coarse pointing state is greater than cursor position movement associated with said fine pointing state; and cursor position movement is disabled in association with said freeze pointing state; and the method further comprises performing different degrees of temporal low pass filtering of said cursor position movement based on whether said interaction state is said coarse pointing state, said fine pointing state, or said freeze pointing state. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium having instructions stored thereon which when executed by a processor result in the following operations for pointing control, said operations comprising:
-
receiving a position estimate of a first location associated with a first portion of a pointing device and a position estimate of a second location associated with a second portion of said pointing device; calculating a vector from said estimated position of said first location to said estimated position of said second location; resolving said vector into a first distance component (Dx) and a second distance component (Dy), said Dy component orthogonal to said Dx component, wherein said first distance component (Dx) and said second distance component (Dy) represent a distance between the first and second locations in an x plane and a y plane, respectively, and a length of said vector in said x and y plane, wherein the length of said vector can change in response to movement of said pointing device; tracking temporal change of said Dx and Dy components; updating an interaction state based on a rate of change of said Dx and Dy components; and moving a cursor position on a display element screen based on said temporal change and said interaction state; wherein; said interaction state comprises a coarse pointing state, a fine pointing state and a freeze pointing state; cursor position movement associated with said coarse pointing state is greater than cursor position movement associated with said fine pointing state; and cursor position movement is disabled in association with said freeze pointing state; and said instructions when executed by said processor further result in performance of the following operations comprising;
performing different degrees of temporal low pass filtering of said cursor position movement based on whether said interaction state is said coarse pointing state, said fine pointing state, or said freeze pointing state. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification