IP Library › Granted Patent US 12,543,015
Granted Patent B2
US 12,543,015 · App. 18/411,975 · Granted Feb 3, 2026

Spatial audio head tracker

Inventors: Gershon Dublon (London, GB); Daniel Jones (London, GB); Adib Mehrabi (London, GB)
Assignee: Sonos, Inc.
H04S7/306G06F3/012G06F3/013G06F3/162G06F3/165H04R5/02H04R5/027H04R5/033H04R5/04H04S3/008H04S7/30H04S7/303H04S7/304H04R2420/07H04S2400/01H04S2400/11H04S2400/15
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 12,543,015
App. No.
18/411,975
Filed
Jan 12, 2024
Granted
Feb 3, 2026
Kind
B2
Examiner
LAO, LUNSEE
Art Unit
2691
USPC
381/1
Abstract

Example technologies described herein relate to spatial audio on wearable playback devices, such as headphone and earbuds. Such technologies may include forms of binaural rendering of audio, which is played back on the wearable playback devices. These technologies may create or enhance an immersive listening experience which, to the listener, does not sound like you are listening on a wearable device, but are instead listening to a well-tuned, well-place, three-dimensional audio system of loudspeakers in a particular listening environment, such as the listener's actual living room.

Claims (84)

1 . A system comprising:

a network interface;

at least one processor; and

at least one non-transitory computer-readable medium comprising program instructions that are executable by the at least one processor such that the system is configured to:

receive a command to play back audio on a wearable playback device;

after the wearable playback device is donned by a user, determine, via a first gaze direction estimator, first preliminary estimates of user gaze direction, the first preliminary estimates based on one or more time-of-flight measurements of at least one signal propagating from a non-wearable playback device at a first location in a listening environment to the wearable playback device at a second location in the listening environment;

determine, via a second gaze direction estimator, second preliminary estimates of user gaze direction, the second preliminary estimates based on first samples from an inertial measurement unit (IMU);

estimate gaze directions based on fusion of the first gaze direction estimates and the second preliminary estimates;

determine head tracking data based on a rotation of second samples from the IMU to a reference frame centered on the estimated gaze directions;

during binaural rendering of the audio via a binaural renderer, update binaural rendering filters with the determined head tracking data; and

cause the wearable playback device to play back the binaural-rendered audio to simulate playback from at least one virtual source in the listening environment.

2 . The system of claim 1 , wherein the program instructions that are executable by the at least one processor such that the system is configured to estimate the gaze directions based on fusion of the first preliminary estimates and the second preliminary estimates comprise program instructions that are executable by the at least one processor such that the system is configured to:

based on at least one confidence metric, select the estimated gaze directions from among (a) the first preliminary gaze estimates and (b) the second preliminary gaze estimates.

3 . The system of claim 2 , wherein the at least one confidence metric comprises a length of time elapsed since a previous time of flight measurement; and wherein the program instructions that are executable by the at least one processor such that the system is configured to select the estimated gaze directions comprise program instructions that are executable by the at least one processor such that the system is configured to:

select the first preliminary gaze estimates as the estimated gaze directions when the length of time elapsed since the previous time of flight measurement is less than a threshold; and

select the second preliminary gaze estimates as the estimated gaze directions when the length of time elapsed since the previous time of flight measurement is greater than the threshold.

4 . The system of claim 2 , wherein the at least one virtual source comprises the first location when the first preliminary gaze estimates are selected, and wherein the at least one virtual source comprise a third location when the second preliminary gaze estimates are selected.

5 . The system of claim 1 , wherein the program instructions that are executable by the at least one processor such that the system is configured to estimate the gaze directions based on fusion of the first preliminary estimates and the second preliminary estimates comprise program instructions that are executable by the at least one processor such that the system is configured to:

based on at least one confidence metric, apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates; and

combine the weighted first preliminary gaze estimates and the second preliminary gaze estimates into the estimated gaze directions.

6 . The system of claim 5 , wherein the at least one confidence metric comprises a length of time elapsed since a previous time of flight measurement; and wherein the program instructions that are executable by the at least one processor such that the system is configured to apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates comprise program instructions that are executable by the at least one processor such that the system is configured to:

apply a relatively higher weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the length of time elapsed since the previous time of flight measurement is less than a threshold length of time; and

apply a relatively lower weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the length of time elapsed since the previous time of flight measurement is greater than the threshold length of time.

7 . The system of claim 5 , wherein the at least one confidence metric comprises a condition that the user has moved since a previous time of flight measurement; and wherein the program instructions that are executable by the at least one processor such that the system is configured to apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates comprise program instructions that are executable by the at least one processor such that the system is configured to:

apply a relatively lower weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the condition that the user has moved since the previous time of flight measurement is present; and

apply a relatively higher weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the condition that the user has moved since the previous time of flight measurement is not present.

8 . The system of claim 5 , wherein the at least one confidence metric comprises an IMU drift estimate; and wherein the program instructions that are executable by the at least one processor such that the system is configured to apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates comprise program instructions that are executable by the at least one processor such that the system is configured to:

apply a relatively lower weighting to the second preliminary gaze estimates than the first preliminary gaze estimates when the IMU drift estimate is greater than an IMU drift threshold; and

apply a relatively higher weighting to the second preliminary gaze estimates than the first preliminary gaze estimates when the IMU drift estimate is less than the IMU drift threshold.

9 . The system of claim 1 , wherein the program instructions that are executable by the at least one processor such that the system is configured to determine the first preliminary estimates of the user gaze direction comprise program instructions that are executable by the at least one processor such that the system is configured to:

capture, via at least one first microphone and at least one second microphone, a signal emitted by at least one audio transducer of the non-wearable playback device;

estimate respective times-of-arrival at the at least one first microphone and the at least one second microphone;

estimate pairwise angle-of-arrivals from the estimated times-of-arrival; and

calculate the first preliminary estimates from the estimated pairwise angle-of-arrivals.

10 . The system of claim 1 , wherein the program instructions that are executable by the at least one processor such that the system is configured to determine the second preliminary estimate of the user gaze direction comprise program instructions that are executable by the at least one processor such that the system is configured to:

receive quaternion samples from the IMU;

standardize the quaternion samples; and

calculate angular variation in the standardized quaternion samples;

determine that a range of head rotation over a time period is within a threshold; and

when the range of head rotation over the time period is determined to be within the threshold, average the standardized quaternion samples.

11 . The system of claim 1 , wherein the at least one non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the system is configured to:

detect that a threshold period of time has elapsed since a previous time-of-flight measurement; and

send, via a wireless network interface, instructions to trigger a new time-of-flight measurement.

12 . The system of claim 1 , wherein the at least one non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the system is configured to:

detect that the user has changed position; and

send, via a wireless network interface, instructions to trigger a new time-of-flight measurement.

13 . A non-wearable playback device comprising:

a network interface;

at least one processor; and

at least one non-transitory computer-readable medium comprising program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

receive a command to play back audio on a wearable playback device;

after the wearable playback device is donned by a user, determine, via a first gaze direction estimator, first preliminary estimates of user gaze direction, the first preliminary estimates based on one or more time-of-flight measurements of at least one signal propagating from the non-wearable playback device at a first location in a listening environment to the wearable playback device at a second location in the listening environment;

determine, via a second gaze direction estimator, second preliminary estimates of user gaze direction, the second preliminary estimates based on first samples from an inertial measurement unit (IMU);

estimate gaze directions based on fusion of the first gaze direction estimates and the second preliminary estimates;

determine head tracking data based on a rotation of second samples from the IMU to a reference frame centered on the estimated gaze directions;

during binaural rendering of the audio via a binaural renderer, update binaural rendering filters with the determined head tracking data; and

cause the wearable playback device to play back the binaural-rendered audio to simulate playback from at least one virtual source in the listening environment.

14 . The non-wearable playback device of claim 13 , wherein the program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to estimate the gaze directions based on fusion of the first preliminary estimates and the second preliminary estimates comprise program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

based on at least one confidence metric, select the estimated gaze directions from among (a) the first preliminary gaze estimates and (b) the second preliminary gaze estimates.

15 . The non-wearable playback device of claim 14 , wherein the at least one confidence metric comprises a length of time elapsed since a previous time of flight measurement; and wherein the program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to select the estimated gaze directions comprise program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

select the first preliminary gaze estimates as the estimated gaze directions when the length of time elapsed since the previous time of flight measurement is less than a threshold; and

select the second preliminary gaze estimates as the estimated gaze directions when the length of time elapsed since the previous time of flight measurement is greater than the threshold.

16 . The non-wearable playback device of claim 13 , wherein the program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to estimate the gaze directions based on fusion of the first preliminary estimates and the second preliminary estimates comprise program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

based on at least one confidence metric, apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates; and

combine the weighted first preliminary gaze estimates and the second preliminary gaze estimates into the estimated gaze directions.

17 . The non-wearable playback device of claim 16 , wherein the at least one confidence metric comprises a length of time elapsed since a previous time of flight measurement; and wherein the program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates comprise program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

apply a relatively higher weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the length of time elapsed since the previous time of flight measurement is less than a threshold length of time; and

apply a relatively lower weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the length of time elapsed since the previous time of flight measurement is greater than the threshold length of time.

18 . The non-wearable playback device of claim 16 , wherein the at least one confidence metric comprises a condition that the user has moved since a previous time of flight measurement; and wherein the program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates comprise program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

apply a relatively lower weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the condition that the user has moved since the previous time of flight measurement is present; and

apply a relatively higher weighting to the first preliminary gaze estimates than the second preliminary gaze estimates when the condition that the user has moved since the previous time of flight measurement is not present.

19 . The non-wearable playback device of claim 16 , wherein the at least one confidence metric comprises an IMU drift estimate; and wherein the program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to apply weightings to at least one of the first preliminary gaze estimates and the second preliminary gaze estimates comprise program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

apply a relatively lower weighting to the second preliminary gaze estimates than the first preliminary gaze estimates when the IMU drift estimate is greater than an IMU drift threshold; and

apply a relatively higher weighting to the second preliminary gaze estimates than the first preliminary gaze estimates when the IMU drift estimate is less than the IMU drift threshold.

20 . The non-wearable playback device of claim 13 , wherein the at least one non-transitory computer readable medium further comprises program instructions that are executable by the at least one processor such that the non-wearable playback device is configured to:

detect a trigger comprising one of (a) elapse of a threshold period of time since a previous time-of-flight measurement and (b) a user change in position; and

based on detection of the trigger, send, via a wireless network interface, instructions to trigger a new time-of-flight measurement.

21 . At least one on-transitory computer-readable medium comprising program instructions that are executable by at least one processor such that a system is configured to: receive a command to play back audio on a wearable playback device;

after the wearable playback device is donned by a user, determine, via a first gaze direction estimator, first preliminary estimates of user gaze direction, the first preliminary estimates based on one or more time-of-flight measurements of at least one signal propagating from a non-wearable playback device at a first location in a listening environment to the wearable playback device at a second location in the listening environment;

determine, via a second gaze direction estimator, second preliminary estimates of user gaze direction, the second preliminary estimates based on first samples from an inertial measurement unit (IMU);

estimate gaze directions based on fusion of the first gaze direction estimates and the second preliminary estimates;

determine head tracking data based on a rotation of second samples from the IMU to a reference frame centered on the estimated gaze directions;

during binaural rendering of the audio via a binaural renderer, update binaural rendering filters with the determined head tracking data; and

cause the wearable playback device to play back the binaural-rendered audio to simulate playback from at least one virtual source in the listening environment.

Assignments (2)
SECURITY INTEREST Recorded Jan 30, 2026
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 074533/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2024
From: DUBLON, GERSHON; JONES, DANIEL; MEHRABI, ADIB
To: SONOS, INC.
Reel/Frame 066139/0068 →
Continuity (9)
Provisional Application 63591633 · Oct 19, 2023
Provisional Application 63591650 · Oct 19, 2023
Provisional Application 63586808 · Sep 29, 2023
Provisional Application 63586785 · Sep 29, 2023
Provisional Application 63518698 · Aug 10, 2023
Provisional Application 63518702 · Aug 10, 2023
Provisional Application 63518699 · Aug 10, 2023
Provisional Application 63479910 · Jan 13, 2023
Related Publication 20240259753A1 · Aug 1, 2024
References Cited (88)
US 5440644A · Farinelli et al. · 1995 [cited by applicant]
US 5696831A · Inanaga · 1997 [cited by examiner]
US 5761320A · Farinelli et al. · 1998 [cited by applicant]
US 5796843A · Inanaga et al. · 1998 [cited by applicant]
US 5923902A · Inagaki · 1999 [cited by applicant]
US 6032202A · Lea et al. · 2000 [cited by applicant]
US 6256554B1 · DiLorenzo · 2001 [cited by applicant]
US 6404811B1 · Cvetko et al. · 2002 [cited by applicant]
US 6469633B1 · Wachter · 2002 [cited by applicant]
US 6522886B1 · Youngs et al. · 2003 [cited by applicant]
US 6611537B1 · Edens et al. · 2003 [cited by applicant]
US 6631410B1 · Kowalski et al. · 2003 [cited by applicant]
US 6757517B2 · Chang · 2004 [cited by applicant]
US 6778869B2 · Champion · 2004 [cited by applicant]
US 7130608B2 · Hollstrom et al. · 2006 [cited by applicant]
US 7130616B2 · Janik · 2006 [cited by applicant]
US 7143939B2 · Henzerling · 2006 [cited by applicant]
US 7236773B2 · Thomas · 2007 [cited by applicant]
US 7295548B2 · Blank et al. · 2007 [cited by applicant]
US 7391791B2 · Balassanian et al. · 2008 [cited by applicant]
US 7483538B2 · McCarty et al. · 2009 [cited by applicant]
US 7571014B1 · Lambourne et al. · 2009 [cited by applicant]
US 7630501B2 · Blank et al. · 2009 [cited by applicant]
US 7643894B2 · Braithwaite et al. · 2010 [cited by applicant]
US 7657910B1 · McAulay et al. · 2010 [cited by applicant]
US 7853341B2 · McCarty et al. · 2010 [cited by applicant]
US 7987294B2 · Bryce et al. · 2011 [cited by applicant]
US 8014423B2 · Thaler et al. · 2011 [cited by applicant]
US 8045952B2 · Qureshey et al. · 2011 [cited by applicant]
US 8103009B2 · McCarty et al. · 2012 [cited by applicant]
US 8234395B2 · Millington · 2012 [cited by applicant]
US 8483853B1 · Lambourne · 2013 [cited by applicant]
US 8487838B2 · Lewis · 2013 [cited by examiner]
US 8942252B2 · Balassanian et al. · 2015 [cited by applicant]
US 9237398B1 · Algazi et al. · 2016 [cited by applicant]
US 9998606B2 · Norris et al. · 2018 [cited by applicant]
US 10136214B2 · Smus · 2018 [cited by examiner]
US 12141347B1 · Souden et al. · 2024 [cited by applicant]
US 12407984B2 · Spittle · 2025 [cited by applicant]
US 20010042107A1 · Palm · 2001 [cited by applicant]
US 20020022453A1 · Balog et al. · 2002 [cited by applicant]
US 20020026442A1 · Lipscomb et al. · 2002 [cited by applicant]
US 20020124097A1 · Isely et al. · 2002 [cited by applicant]
US 20030157951A1 · Hasty, Jr. · 2003 [cited by applicant]
US 20040024478A1 · Hans et al. · 2004 [cited by applicant]
US 20060045294A1 · Smyth · 2006 [cited by examiner]
US 20070142944A1 · Goldberg et al. · 2007 [cited by applicant]
US 20080008327A1 · Ojala et al. · 2008 [cited by applicant]
US 20120093320A1 · Flaks et al. · 2012 [cited by applicant]
US 20170188172A1 · Horbach · 2017 [cited by applicant]
US 20170223478A1 · Jot · 2017 [cited by examiner]
US 20190306607A1 · Clayton et al. · 2019 [cited by applicant]
US 20200068335A1 · Eronen et al. · 2020 [cited by applicant]
US 20200097248A1 · Wood et al. · 2020 [cited by applicant]
US 20210400417A1 · Freeman · 2021 [cited by examiner]
US 20220386063A1 · Abel et al. · 2022 [cited by applicant]
US 20240205632A1 · Scheuregger · 2024 [cited by applicant]
US 20240305946A1 · Landemaine et al. · 2024 [cited by applicant]
US 20250024220A1 · Munoz et al. · 2025 [cited by applicant]
EP 1389853A1 · 2004 [cited by applicant]
WO 200153994 · 2001 [cited by applicant]
WO 2003093950A2 · 2003 [cited by applicant]
International Bureau, International Preliminary Report on Patentability and Written Opinion, mailed on Jul. 3, 2025, issued in connection with International Application No. PCT/US2024/011390, filed on Jan. 12, 2024, 12 … [cited by applicant]
Non-Final Office Action mailed on Aug. 12, 2025, issued in connection with U.S. Appl. No. 18/411,728, filed Jan. 12, 2024, 19 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 9, 2025, issued in connection with U.S. Appl. No. 18/411,964, filed Jan. 12, 2024, 10 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 16, 2025, issued in connection with U.S. Appl. No. 18/411,970, filed Jan. 12, 2024, 08 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 21, 2025, issued in connection with U.S. Appl. No. 18/411,981, filed Jan. 12, 2024, 09 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 28, 2025, issued in connection with U.S. Appl. No. 18/411,736, filed Jan. 12, 2024, 10 pages. [cited by applicant]
AudioTron Quick Start Guide, Version 1.0, Mar. 2001, 24 pages. [cited by applicant]
AudioTron Reference Manual, Version 3.0, May 2002, 70 pages. [cited by applicant]
AudioTron Setup Guide, Version 3.0, May 2002, 38 pages. [cited by applicant]
Bluetooth. “Specification of the Bluetooth System: The ad hoc SCATTERNET for affordable and highly functional wireless connectivity,” Core, Version 1.0 A, Jul. 26, 1999, 1068 pages. [cited by applicant]
Bluetooth. “Specification of the Bluetooth System: Wireless connections made easy,” Core, Version 1.0 B, Dec. 1, 1999, 1076 pages. [cited by applicant]
Dell, Inc. “Dell Digital Audio Receiver: Reference Guide,” Jun. 2000, 70 pages. [cited by applicant]
Dell, Inc. “Start Here,” Jun. 2000, 2 pages. [cited by applicant]
“Denon 2003-2004 Product Catalog,” Denon, 2003-2004, 44 pages. [cited by applicant]
Jo et al., “Synchronized One-to-many Media Streaming with Adaptive Playout Control,” Proceedings of SPIE, 2002, pp. 71-82, vol. 4861. [cited by applicant]
Jones, Stephen, “Dell Digital Audio Receiver: Digital upgrade for your analog stereo,” Analog Stereo, Jun. 24, 2000 http://www.reviewsonline.com/articles/961906864.htm retrieved Jun. 18, 2014, 2 pages. [cited by applicant]
Louderback, Jim, “Affordable Audio Receiver Furnishes Homes With MP3,” TechTV Vault. Jun. 28, 2000 retrieved Jul. 10, 2014, 2 pages. [cited by applicant]
Palm, Inc., “Handbook for the Palm VII Handheld,” May 2000, 311 pages. [cited by applicant]
Presentations at WinHEC 2000, May 2000, 138 pages. [cited by applicant]
[cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 60/490,768, filed Jul. 28, 2003, entitled “Method for synchronizing audio playback between multiple networked devices,” 13 pages. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 60/825,407, filed Sep. 12, 2006, entitled “Controlling and manipulating groupings in a multi-zone music or media system,” 82 pages. [cited by applicant]
UPnP; “Universal Plug and Play Device Architecture,” Jun. 8, 2000; version 1.0; Microsoft Corporation; pp. 1-54. [cited by applicant]
Yamaha DME 64 Owner's Manual; copyright 2004, 80 pages. [cited by applicant]
Yamaha DME Designer 3.5 setup manual guide; copyright 2004, 16 pages. [cited by applicant]
Yamaha DME Designer 3.5 User Manual; Copyright 2004, 507 pages. [cited by applicant]