Augmented reality extrapolation techniques
First Claim
1. A method implemented by a computing device, the method comprising:
- rendering a frame of an augmented-reality display based at least in part on an optical basis that describes a current orientation or position of at least a part of the computing device;
receiving, while rendering the frame, sensor data from one or more sensors;
generating, during the rendering of the frame, a sensor basis based on the sensor data obtained from an inertial measurement unit of the computing device that describes the current orientation or position of at least the part of the computing device;
extrapolating, while rendering the frame, based on a previous basis and the sensor basis to generate an updated optical basis that describes a likely orientation or position of the part of the computing device, the previous basis being a previous optical basis or a previous sensor basis prior to the optical basis that describes the current orientation or position, the sensor basis based on the sensor data received while rendering the frame, said extrapolating effective to account for a lag time duration between said rendering the frame and displaying the frame of the augmented-reality display; and
updating the rendered frame of the augmented-reality display before the rendered frame is displayed, said updating based at least in part on the updated optical basis that describes the likely orientation or position of the part of the computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Augmented reality extrapolation techniques are described. In one or more implementations, a frame of an augmented-reality display is rendered based at least in part on an optical basis that describes a current orientation or position of at least a part of a computing device. While the frame is rendered, an extrapolation based on a previous basis and a sensor basis generates an updated optical basis that describes a likely orientation or position of the part of the computing device, and the extrapolation is effective to account for a lag time duration between rendering the frame and displaying the frame of the augmented-reality display. The rendered frame of the augmented-reality display is updated before the rendered frame is displayed based at least in part on the updated optical basis that describes the likely orientation or position of the part of the computing device.
11 Citations
20 Claims
-
1. A method implemented by a computing device, the method comprising:
-
rendering a frame of an augmented-reality display based at least in part on an optical basis that describes a current orientation or position of at least a part of the computing device; receiving, while rendering the frame, sensor data from one or more sensors; generating, during the rendering of the frame, a sensor basis based on the sensor data obtained from an inertial measurement unit of the computing device that describes the current orientation or position of at least the part of the computing device; extrapolating, while rendering the frame, based on a previous basis and the sensor basis to generate an updated optical basis that describes a likely orientation or position of the part of the computing device, the previous basis being a previous optical basis or a previous sensor basis prior to the optical basis that describes the current orientation or position, the sensor basis based on the sensor data received while rendering the frame, said extrapolating effective to account for a lag time duration between said rendering the frame and displaying the frame of the augmented-reality display; and updating the rendered frame of the augmented-reality display before the rendered frame is displayed, said updating based at least in part on the updated optical basis that describes the likely orientation or position of the part of the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method implemented by a computing device, the method comprising:
-
calculating a first basis from a sensor that describes a likely position or orientation of at least a part of the computing device; generating an augmentation by the computing device for display as part of an augmented-reality display based at least in part on the first basis; calculating a second basis from another, different sensor that describes an updated orientation or position to which the part of the computing device was moved during the rendering of the augmented-reality display; determining, during the rendering of the augmented-reality display, that the first basis is not consistent with the second basis to describe the likely position or orientation of the part of the computing device; calculating, while rendering the augmented-reality display, a modification to be applied to the rendered augmented-reality display that includes the augmentation, the modification based on the second basis; and updating the rendered augmented-reality display before the rendering is displayed, said updating the rendered augmented-reality display based on the calculated modification. - View Dependent Claims (10, 11, 12, 13)
-
-
14. An apparatus comprising:
-
a frame buffer; one or more sensors that describe a likely orientation or position of at least a part of the apparatus in a physical environment; and at least one processor and a memory configured to store one or more modules executable by the at least one processor and configured to; calculate a first basis from a sensor of the one or more sensors that describes the likely orientation or position of the part of the apparatus in the physical environment; render a frame of an augmented-reality display to the frame buffer that is based at least in part on the first basis; obtain, while the frame is being rendered, sensor data from a different sensor of the one or more sensors, the different sensor describing an updated orientation or position of the part of the apparatus in the physical environment while the frame is rendered in the frame buffer; calculate, while the frame is being rendered, a second basis using the first basis and the obtained sensor data from the different sensor; extrapolate, while the frame is being rendered, an updated first basis using the second basis, the extrapolation effective to account for a lag time duration between the frame being rendered to the frame buffer and the frame being displayed; and update the frame in the frame buffer before the frame is displayed, the frame updated based on the extrapolated updated first basis. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification