Augmented reality extrapolation techniques
First Claim
Patent Images
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 based on optical data obtained from an optical sensor that describes a current orientation or position of at least a part of the computing device;
generating, during the rendering of the frame, a sensor basis based on 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;
determining, during the rendering of the frame, that the optical basis is not consistent with the sensor basis to describe a likely orientation or position of the part of the computing device;
extrapolating, during the rendering of the frame and responsive to said determining that the optical basis is not consistent with the sensor basis, based on a previous basis and the sensor basis to generate an updated optical basis that describes the likely orientation or position of the part of the computing device, said extrapolating effective to account for a lag time duration between said rendering the frame to displaying the frame of the augmented-reality display; and
updating the rendered frame of the augmented-reality display during the lag time duration and 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, an augmented-reality display is rendered based at least in part on a first basis that describes a likely orientation or position of at least a part of the computing device. The rendered augmented-reality display is updated based at least in part on data that describes a likely orientation or position of the part of the computing device that was assumed during the rendering of the augmented-reality display.
9 Citations
19 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 based on optical data obtained from an optical sensor that describes a current orientation or position of at least a part of the computing device; generating, during the rendering of the frame, a sensor basis based on 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; determining, during the rendering of the frame, that the optical basis is not consistent with the sensor basis to describe a likely orientation or position of the part of the computing device; extrapolating, during the rendering of the frame and responsive to said determining that the optical basis is not consistent with the sensor basis, based on a previous basis and the sensor basis to generate an updated optical basis that describes the likely orientation or position of the part of the computing device, said extrapolating effective to account for a lag time duration between said rendering the frame to displaying the frame of the augmented-reality display; and updating the rendered frame of the augmented-reality display during the lag time duration and 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 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, during the rendering of the augmented-reality display, a modification to be applied to a rendering of the augmented-reality display that includes the augmentation, the modification based on the second basis; and updating the rendered augmented-reality display during a lag time duration between the augmented-reality display being rendered and 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:
-
at least one processor and a memory configured to store one or more modules that are executable by the at least one processor; a frame buffer; one or more sensors; and the 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 a likely orientation or position of at least a part of the apparatus in a 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 another, different sensor of the one or more sensors that describes 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 one or more sensors; determine, while the frame is being rendered, that the first basis does not correspond with the second basis; 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)
-
Specification