IP Library Granted Patent US 12707226
Granted Patent B2
US 12707226 · App. 18/690,787 · Granted Aug 11, 2026

Efficient orientation tracking with future orientation prediction

Inventors: David S. Mcgrath (Rose Bay, AU); Jeremy Grant Stoddard (Gosford, AU)
Assignee: Dolby Laboratories Licensing Corporation
H04S7/304G06F3/012
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 12707226
App. No.
18/690,787
Granted
Aug 11, 2026
Kind
B2
Abstract

The present disclosure relates to a method and system for predicting a future orientation of an orientation tracker ( 100 ). The method comprising obtaining a sequence of angular velocity samples, each angular velocity sample indicating an angular velocity at a point in time and obtaining a sequence of angular acceleration samples, each angular acceleration sample indicating an acceleration or deceleration of the angular velocity at each point in time. Wherein said method further comprises determining (S 5 a ), for each point in time where the angular velocity is accelerating, a predicted orientation of the orientation tracker ( 100 ) based on a first order prediction of an accumulated rotation of the orientation tracker ( 100 ) and determining (S 5 c ), for each point in time where the angular velocity is decelerating, a predicted orientation of the orientation tracker ( 100 ) based on a second order prediction of the accumulated rotation of the orientation tracker ( 100 ).

Claims (44)

1 . A computer-implemented method for predicting a future orientation of an orientation tracker ( 100 ) for audio processing purposes, the method being performed by one or more processors and comprising:

obtaining a sequence of angular velocity samples, each angular velocity sample indicating an angular velocity of the orientation tracker ( 100 ) at a point in time;

obtaining a sequence of angular acceleration samples, each angular acceleration sample indicating an acceleration or deceleration of the angular velocity of the orientation tracker ( 100 ) at each point in time;

determining (S 5 a ), for each point in time where the angular velocity is accelerating, a predicted orientation of the orientation tracker ( 100 ) after a predetermined prediction period of time based on a first order prediction of an accumulated rotation of the orientation tracker ( 100 ), where said first order prediction of the accumulated rotation is based on the accumulated rotation of the current angular velocity occurring during the prediction time;

determining (S 5 c ), for each point in time where the angular velocity is decelerating, a predicted orientation of the orientation tracker ( 100 ) after a predetermined prediction period of time based on a second order prediction of the accumulated rotation of the orientation tracker ( 100 ), wherein the second order prediction of the accumulated rotation is based on the accumulated rotation of the current angular velocity and the current deceleration occurring during the prediction time,

obtaining audio content;

processing the audio content based on the predicted future orientation of the orientation tracker ( 100 ) to obtain a rotated representation of the audio content; and

rendering the rotated representation of the audio content to at least one loudspeaker.

2 . The method according to claim 1 , further comprising:

determining, for each point in time where the angular velocity is below a predetermined velocity threshold, a predicted orientation of the orientation tracker ( 100 ) after a predetermined prediction period of time based on the first order prediction of an accumulated rotation of the orientation tracker ( 100 ).

3 . The method according to claim 1 , wherein

for each point in time where the angular velocity is decelerating with a deceleration above a deceleration threshold ( 305 ), the predicted orientation of the orientation tracker ( 100 ) after the predetermined prediction time is based on a shortened second order prediction of the accumulated rotation of the orientation tracker ( 100 ),

wherein the shortened second order prediction of the accumulated rotation is based on the accumulated rotation of the current angular velocity and the current deceleration occurring during a second prediction time, wherein the prediction time is longer than the second prediction time.

4 . The method according to claim 3 , wherein

the deceleration threshold ( 305 ) is based on the current angular speed and the predetermined prediction time.

5 . The method according to claim 3 , wherein

the second prediction time is based on the period of time required for the orientation tracker ( 100 ) to reach an angular velocity of zero with the angular velocity and angular deceleration of the current sample.

6 . The method according to claim 1 , further comprising:

determining, for each point time where the angular velocity is decelerating, a scale factor;

wherein the second order prediction of the accumulated rotation of orientation tracker ( 100 ) is based on the first order prediction scaled with the scale factor.

7 . The method according to claim 6 , wherein

the scale factor is assigned a first value for each point in time where the angular velocity is decelerating with a deceleration above the deceleration threshold, the first value being based on a first function of the current angular velocity sample and current angular acceleration sample, and

wherein the scale factor is assigned a second value for each point in time where the angular velocity is decelerating with a deceleration below the deceleration threshold, the second value being based on a second function of the current angular velocity sample and current angular acceleration sample.

8 . The method according to claim 6 , wherein

the scale factor is further based on a scale factor of at least one previous point in time.

9 . The method according to claim 1 , further comprising:

obtaining the sequence of angular acceleration samples by determining the sequence of angular acceleration samples based on the obtained sequence of angular velocity samples.

10 . The method according to claim 1 , further comprising

obtaining, for each point in time, an orientation sample being indicative of a current orientation of the orientation tracker ( 100 ), and

wherein the future orientation of the orientation tracker ( 100 ) is further based on the current orientation of the orientation tracker ( 100 ).

11 . The method according to claim 1 , wherein the future orientation of the orientation tracker ( 100 ) is relative to a floating frame of reference, and wherein the method further comprises:

obtaining an angular shift of the floating frame of reference relative to a global frame of reference, and

adjusting the predicted orientation of the orientation tracker ( 100 ) with the angular shift of the floating frame of reference relative to a global frame of reference to obtain a predicted orientation of the orientation tracker ( 100 ) relative to the global frame of reference.

12 . The method according to claim 1 , wherein the accumulated rotation of the orientation tracker ( 100 ) is represented with a quaternion.

13 . The method according to claim 1 , wherein the angular velocity samples and angular acceleration samples indicate the angular velocity and angular velocity around one, two or three axes of rotation.

14 . A non-transitory computer-readable storage medium comprising instructions which, when executed by one or more processors, cause the one or more processors to carry out the method of claim 1 .

15 . An orientation predictor system for predicting a future orientation of an orientation tracker ( 100 ) for audio processing purposes, the orientation predictor system comprising one or more processors being configured to:

obtain a sequence of angular velocity samples, each angular velocity sample indicating an angular velocity of the orientation tracker ( 100 ) at a point in time, and

obtain a sequence of angular acceleration samples, each angular acceleration sample indicating an acceleration or deceleration of the angular velocity of the orientation tracker ( 100 ) at each point in time,

determine, for each point in time where the angular velocity is accelerating, a predicted orientation of the orientation tracker ( 100 ) after a predetermined prediction period of time based on a first order prediction of an accumulated rotation of the orientation tracker ( 100 ), where said first order prediction of the accumulated rotation is based on the accumulated rotation of the current angular velocity occurring during the prediction time,

determine, for each point in time where the angular velocity is decelerating, a predicted orientation of the orientation tracker ( 100 ) after a predetermined prediction period of time based on a second order prediction of the accumulated rotation of the orientation tracker ( 100 ), wherein the second order prediction of the accumulated rotation is based on the accumulated rotation of the current angular velocity and the current deceleration occurring during the prediction time,

obtain audio content;

process the audio content based on the predicted future orientation of the orientation tracker ( 100 ) to obtain a rotated representation of the audio content; and

render the rotated representation of the audio content to at least one loudspeaker.