IP Library › Granted Patent US 12,507,033
Granted Patent B2
US 12,507,033 · App. 18/411,981 · Granted Dec 23, 2025

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,507,033
App. No.
18/411,981
Granted
Dec 23, 2025
Kind
B2
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 (78)

1 . A system comprising:

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:

send, via a wireless network interface, instructions to play a localization signal on a non-wearable playback device at a first location in a listening environment;

while a wearable playback device is donned by a user at a second location in the listening environment, capture, via microphones of the wearable playback device; recordings of the localization signal, wherein the microphones comprise first microphones carried on a first earcup of the wearable playback device and second microphones carried on a second earcup of the wearable playback device;

determine respective times-of-arrival of the localization signal at the microphones;

determine pairwise angles-of-arrival for each pair of the microphones that are on opposite earcups such that each pair includes one of the first microphones and one of the second microphones;

determine an ensemble angle-of-arrival based on the determined pairwise angles-of-arrival;

add the determined ensemble angle-of-arrival to a buffer representing estimated user gaze directions;

determine head tracking data based on a rotation of samples from an inertial measurement unit (IMU) to a reference frame centered on the estimated gaze directions stored in the buffer;

during binaural rendering of 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, wherein the at least virtual source comprises the non-wearable playback device at the first location.

2 . 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 determine the respective times-of-arrival of the localization signal at the microphones comprise program instructions that are executable by the at least one processor such that the system is configured to:

estimate impulse responses for each recording of the localization signal; and

detect respective onsets of the localization signal in the estimated impulse responses as the respective times-of-arrival.

3 . 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 determine pairwise angles-of-arrival for each pair of the microphones comprise program instructions that are executable by the at least one processor such that the system is configured to:

determine pairwise time-differences-of-arrival between each pair of microphones; and

determine pairwise angles-of-arrival based on the respective pairwise time-differences-of-arrival.

4 . The system of claim 3 , 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 determine pairwise angles-of-arrival based on the respective pairwise time-differences-of-arrival comprise program instructions that are executable by the at least one processor such that the system is configured to:

adjust geometry of the pairwise angles-of-arrival determination from a default inter-aural distance to an estimated inter-aural distance.

5 . The system of claim 3 , 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 determine pairwise angles-of-arrival for each pair of the microphones comprise program instructions that are executable by the at least one processor such that the system is configured to:

apply one or more discriminators to reject recordings that are outside of thresholds corresponding to the respective discriminator.

6 . 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 determine an ensemble angle-of-arrival based on the determined pairwise angles-of-arrival comprise program instructions that are executable by the at least one processor such that the system is configured to:

apply per-pair weightings to the determined pairwise angles-of-arrival based on at least one confidence metric; and

determine the ensemble angle-of-arrival based on the weighted pairwise angles-of-arrival.

7 . 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 add the determined ensemble angle-of-arrival to the buffer comprise program instructions that are executable by the at least one processor such that the system is configured to:

add the determined ensemble angle-of-arrival to the buffer when the determined ensemble angle-of-arrival is not an outlier relative to additional ensemble angles-of-arrival stored in the buffer.

8 . 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 user gaze direction was last estimated, wherein the program instructions that are executable by the at least one processor such that the system is configured to send the instructions to play the localization signal on the non-wearable playback device comprise program instructions that are executable by the at least one processor such that the system is configured to:

based on the detection that the threshold period of time has elapsed since user gaze direction was last estimated, send the instructions to play the localization signal on the non-wearable playback device.

9 . 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, wherein the program instructions that are executable by the at least one processor such that the system is configured to send the instructions to play the localization signal on the non-wearable playback device comprise program instructions that are executable by the at least one processor such that the system is configured to:

based on the detection that the user has changed position, send the instructions to play the localization signal on the non-wearable playback device.

10 . The system of claim 1 , wherein a first set of estimated gaze directions comprises the estimated gaze directions stored in the buffer, wherein a second set of estimated gaze directions comprises additional estimated gaze directions based on samples from the IMU, and 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:

based on at least one confidence metric, select the first set of estimated gaze directions from among two or more sets of estimated gaze directions, wherein the two or more sets comprise the first set and the second set.

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

send, via a wireless network interface, instructions to play a localization signal on a non-wearable playback device at a first location in a listening environment;

while a wearable playback device is donned by a user at a second location in the listening environment, capture, via microphones of the wearable playback device; recordings of the localization signal, wherein the microphones comprise first microphones carried on a first earcup of the wearable playback device and second microphones carried on a second earcup of the wearable playback device;

determine respective times-of-arrival of the localization signal at the microphones;

determine pairwise angles-of-arrival for each pair of the microphones that are on opposite earcups such that each pair includes one of the first microphones and one of the second microphones;

determine an ensemble angle-of-arrival based on the determined pairwise angles-of-arrival;

add the determined ensemble angle-of-arrival to a buffer representing estimated user gaze directions;

determine head tracking data based on a rotation of samples from an inertial measurement unit (IMU) to a reference frame centered on the estimated gaze directions stored in the buffer;

during binaural rendering of 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, wherein the at least virtual source comprises the non-wearable playback device at the first location.

12 . The at least one non-transitory computer-readable medium of claim 11 , wherein the program instructions that are executable by the at least one processor such that the system is configured to determine the respective times-of-arrival of the localization signal at the microphones comprise program instructions that are executable by the at least one processor such that the system is configured to:

estimate impulse responses for each recording of the localization signal; and

detect respective onsets of the localization signal in the estimated impulse responses as the respective times-of-arrival.

13 . The at least one non-transitory computer-readable medium of claim 11 , wherein the program instructions that are executable by the at least one processor such that the system is configured to determine pairwise angles-of-arrival for each pair of the microphones comprise program instructions that are executable by the at least one processor such that the system is configured to:

determine pairwise time-differences-of-arrival between each pair of microphones; and

determine pairwise angles-of-arrival based on the respective pairwise time-differences-of-arrival.

14 . The at least one non-transitory computer-readable medium of claim 13 , wherein the program instructions that are executable by the at least one processor such that the system is configured to determine pairwise angles-of-arrival based on the respective pairwise time-differences-of-arrival comprise program instructions that are executable by the at least one processor such that the system is configured to:

adjust geometry of the pairwise angles-of-arrival determination from a default inter-aural distance to an estimated inter-aural distance.

15 . The at least one non-transitory computer-readable medium of claim 13 , wherein the program instructions that are executable by the at least one processor such that the system is configured to determine pairwise angles-of-arrival for each pair of the microphones comprise program instructions that are executable by the at least one processor such that the system is configured to:

apply one or more discriminators to reject recordings that are outside of thresholds corresponding to the respective discriminator.

16 . The at least one non-transitory computer-readable medium of claim 11 , wherein the program instructions that are executable by the at least one processor such that the system is configured to determine an ensemble angle-of-arrival based on the determined pairwise angles-of-arrival comprise program instructions that are executable by the at least one processor such that the system is configured to:

apply per-pair weightings to the determined pairwise angles-of-arrival based on at least one confidence metric; and

determine the ensemble angle-of-arrival based on the weighted pairwise angles-of-arrival.

17 . The at least one non-transitory computer-readable medium of claim 11 , wherein the program instructions that are executable by the at least one processor such that the system is configured to add the determined ensemble angle-of-arrival to the buffer comprise program instructions that are executable by the at least one processor such that the system is configured to:

add the determined ensemble angle-of-arrival to the buffer when the determined ensemble angle-of-arrival is not an outlier relative to additional ensemble angles-of-arrival stored in the buffer.

18 . The at least one non-transitory computer-readable medium of claim 11 , 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 user gaze direction was last estimated, wherein the program instructions that are executable by the at least one processor such that the system is configured to send the instructions to play the localization signal on the non-wearable playback device comprise program instructions that are executable by the at least one processor such that the system is configured to:

based on the detection that the threshold period of time has elapsed since user gaze direction was last estimated, send the instructions to play the localization signal on the non-wearable playback device.

19 . The at least one non-transitory computer-readable medium of claim 11 , 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, wherein the program instructions that are executable by the at least one processor such that the system is configured to send the instructions to play the localization signal on the non-wearable playback device comprise program instructions that are executable by the at least one processor such that the system is configured to:

based on the detection that the user has changed position, send the instructions to play the localization signal on the non-wearable playback device.

20 . The at least one non-transitory computer-readable medium of claim 11 , wherein a first set of estimated gaze directions comprises the estimated gaze directions stored in the buffer, wherein a second set of estimated gaze directions comprises additional estimated gaze directions based on samples from the IMU, and 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:

based on at least one confidence metric, select the first set of estimated gaze directions from among two or more sets of estimated gaze directions, wherein the two or more sets comprise the first set and the second set.

21 . A method comprising:

sending, via a wireless network interface, instructions to play a localization signal on a non-wearable playback device at a first location in a listening environment;

while a wearable playback device is donned by a user at a second location in the listening environment, capturing, via microphones of the wearable playback device; recordings of the localization signal, wherein the microphones comprise first microphones carried on a first earcup of the wearable playback device and second microphones carried on a second earcup of the wearable playback device;

determining respective times-of-arrival of the localization signal at the microphones;

determining pairwise angles-of-arrival for each pair of the microphones that are on opposite earcups such that each pair includes one of the first microphones and one of the second microphones;

determining an ensemble angle-of-arrival based on the determined pairwise angles-of-arrival;

adding the determined ensemble angle-of-arrival to a buffer representing estimated user gaze directions;

determining head tracking data based on a rotation of samples from an inertial measurement unit (IMU) to a reference frame centered on the estimated gaze directions stored in the buffer;

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

causing the wearable playback device to play back the binaural-rendered audio to simulate playback from at least one virtual source in the listening environment, wherein the at least virtual source comprises the non-wearable playback device at the first location.

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 63586785 · Sep 29, 2023
Provisional Application 63586808 · Sep 29, 2023
Provisional Application 63518698 · Aug 10, 2023
Provisional Application 63518699 · Aug 10, 2023
Provisional Application 63518702 · Aug 10, 2023
Provisional Application 63479910 · Jan 13, 2023
Related Publication 20240259757A1 · Aug 1, 2024
References Cited (64)
US 5440644A · Farinelli et al. · 1995 [cited by applicant]
US 5761320A · Farinelli 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 8942252B2 · Balassanian et al. · 2015 [cited by applicant]
US 9237398B1 · Algazi · 2016 [cited by examiner]
US 9998606B2 · Norris · 2018 [cited by examiner]
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 20070142944A1 · Goldberg et al. · 2007 [cited by applicant]
EP 1389853 · 2004 [cited by examiner]
EP 1389853A1 · 2004 [cited by applicant]
WO 200153994 · 2001 [cited by applicant]
WO 2003093950A2 · 2003 [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]