Dynamic object tracking for user interfaces
First Claim
1. A computing device, comprising:
- one or more processors;
a display screen;
one or more cameras;
one or more inertial sensors; and
memory including instructions that, when executed by the one or more processors, cause the computing device to;
estimate a first position of a head with respect to the computing device based at least in part upon one or more first images captured by the one or more cameras;
display a first view of content on the display screen based at least in part upon the first position of the head with respect to the computing device;
obtain motion data, captured by the one or more inertial sensors, corresponding to motion of the computing device;
determine, using the motion data, that the computing device is in motion;
determine, using the motion data, one or more performance parameters for tracking the head in image data, the one or more performance parameters controlling an amount of latency with respect to display of the content, the one or more performance parameters including at least an image sampling rate;
estimate a second position of the head with respect to the computing device based at least in part upon the one or more performance parameters, the first position of the head with respect to the computing device, and one or more second images captured by the one or more cameras; and
display a second view of the content on the display screen based at least in part upon the second position of the head with respect to the computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and approaches provide for user interfaces that are based on object tracking. For example, the object may be a user'"'"'s head or face. As the user moves his head or face and/or tilts a computing device, the content displayed on the computing device will adapt to the user'"'"'s perspective. The content may include three-dimensional (3D) graphical elements projected onto a two-dimensional (2D) plane and/or the graphical elements can be associated with textural shading, shadowing or reflections that change according to user or device motion to give the user the impression that the user is interacting with the graphical elements in 3D environment. A state of motion of the device can be determined and jitter and/or latency corresponding to the rendering of content can be altered so as to minimize or decrease jitter when the device is stationary and/or to decrease or minimize latency when the device is in motion.
90 Citations
21 Claims
-
1. A computing device, comprising:
-
one or more processors; a display screen; one or more cameras; one or more inertial sensors; and memory including instructions that, when executed by the one or more processors, cause the computing device to; estimate a first position of a head with respect to the computing device based at least in part upon one or more first images captured by the one or more cameras; display a first view of content on the display screen based at least in part upon the first position of the head with respect to the computing device; obtain motion data, captured by the one or more inertial sensors, corresponding to motion of the computing device; determine, using the motion data, that the computing device is in motion; determine, using the motion data, one or more performance parameters for tracking the head in image data, the one or more performance parameters controlling an amount of latency with respect to display of the content, the one or more performance parameters including at least an image sampling rate; estimate a second position of the head with respect to the computing device based at least in part upon the one or more performance parameters, the first position of the head with respect to the computing device, and one or more second images captured by the one or more cameras; and display a second view of the content on the display screen based at least in part upon the second position of the head with respect to the computing device. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for tracking an object, comprising:
-
estimating a first position of an object relative to a computing device based at least in part upon one or more images; obtaining motion data corresponding to motion of the computing device; determining, based at least in part upon the motion data, that the computing device is in motion; determining at least one tracking algorithm for tracking the object in image data, the at least one tracking algorithm controlling an amount of latency with respect to a display of content, wherein the at least one tracking algorithm is selected from among a plurality of tracking algorithms, the plurality of tracking algorithms including at least two of feature point tracking, template matching, optical flow analysis, mean-shift tracking, Jepson tracking, principal component analysis (PCA), or support vector machines (SVM); and estimating a second position of the object relative to the computing device using the at least one tracking algorithm. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 19)
-
-
14. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors of a computing device, cause the computing device to:
-
estimate a first position of an object relative to a computing device based at least in part upon one or more images; obtain motion data corresponding to motion of the computing device; determine, based at least in part upon the motion data, that the computing device is in motion; determining at least one tracking algorithm for tracking the object in image data, the at least one tracking algorithm controlling an amount of latency with respect to a display of content, wherein the determining further comprises determining one or more performance parameters for tracking the object based at least in part upon the motion data, the one or more performance parameters including at least an image sampling rate; and estimate a second position of the object relative to the computing device using the at least one tracking algorithm. - View Dependent Claims (15, 16, 17, 18, 20)
-
-
21. A computer-implemented method for tracking an object, comprising:
-
estimating a first position of an object relative to a computing device based at least in part upon one or more images; obtaining motion data corresponding to motion of the computing device; determining, based at least in part upon the motion data, that the computing device is in motion; dynamically adjusting, based on the motion data, one or more performance parameters of at least one tracking algorithm for tracking the object in image data, the one or more parameters controlling an amount of latency with respect to a display of content; and estimating a second position of the object relative to the computing device using the at least one tracking algorithm.
-
Specification