IP Library Granted Patent US 11,659,324
Granted Patent B1
US 11,659,324 · App. 17/503,565 · Granted May 23, 2023

Memory recall of historical data samples bucketed in discrete poses for audio beamforming

Inventors: Jacob Ryan Donley (Kirkland, WA); Nava K. Balsam (Woodinville, WA); Vladimir Tourbabin (Sammamish, WA)
Assignee: META PLATFORMS TECHNOLOGIES, LLC
H04R1/406
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 11,659,324
App. No.
17/503,565
Granted
May 23, 2023
Kind
B1
Abstract

A system and method for storing data samples in discrete poses and recalling the stored data samples for updating a sound filter. The system determines that a microphone array at a first time period is in a first discrete pose of a plurality of discrete poses, wherein the plurality of discrete poses discretizes a pose space. The pose space includes at least an orientation component and may further include a translation component. The system retrieves one or more historical data samples associated with the first discrete pose, generated from sound captured by the microphone array before the first time period, and stored in a memory cache (e.g., for memorization). The system updates a sound filter for the first discrete pose using the retrieved one or more historical data samples. The system generates and presents audio content using the updated sound filter.

Claims (62)

1. A method comprising:

determining that a microphone array at a first time period is in a first discrete pose of a plurality of discrete poses, wherein the plurality of discrete poses discretizes a pose space;

retrieving one or more historical data samples associated with the first discrete pose, generated from sound captured by the microphone array before the first time period, and stored in a memory cache;

updating a sound filter for the first discrete pose using the retrieved one or more historical data samples;

generating audio content using the updated sound filter; and

presenting, via a transducer array, the audio content.

2. The method of claim 1 , further comprising:

discretizing the pose space into the plurality of discrete poses by segmenting a coordinate system of the pose space.

3. The method of claim 2 , wherein each discrete pose of the plurality of discrete poses has a unique range of coordinates in the coordinate system from other discrete poses of the plurality of discrete poses.

4. The method of claim 2 , wherein a first region of the pose space is discretized at a first resolution and a second region of the pose space is discretized at a second resolution that is different from the first resolution.

5. The method of claim 1 , further comprising:

detecting, via the microphone array, sound from a local area at the first time period; and

generating a first data sample associated with the first discrete pose from the sound detected in the first time period,

wherein updating the sound filter for the first discrete pose further uses the first data sample.

6. The method of claim 1 , further comprising:

detecting, via the microphone array, sound from a local area at a second time period that is before the first time period;

segmenting the detected sound into one or more data samples using a time window, wherein each data sample comprises an audio signal measured by each microphone of the microphone array during a given time window;

associating a discrete pose of the plurality of discrete poses to each data sample; and

storing the one or more data samples as historical data samples in the memory cache.

7. The method of claim 6 , further comprising:

removing from the memory cache one or more historical data samples generated from sound captured in a time period that is greater than a threshold time before the first time period.

8. The method of claim 6 , further comprising:

determining that the microphone array at the first time period is no longer in the local area of the second time period; and

removing from the memory cache one or more historical data samples generated from sound captured in the second time period.

9. The method of claim 1 , wherein the memory cache is located on an external server.

10. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

determining that a microphone array at a first time period is in a first discrete pose of a plurality of discrete poses, wherein the plurality of discrete poses discretize a pose space;

retrieving one or more historical data samples associated with the first discrete pose, generated from sound captured by the microphone array before the first time period, and stored in a memory cache;

updating a sound filter for the first discrete pose using the retrieved one or more historical data samples; and

generating audio content for presentation by a transducer array using the updated sound filter.

11. The storage medium of claim 10 , the operations further comprising:

discretizing the pose space into the plurality of discrete poses by segmenting a coordinate system of the pose space.

12. The storage medium of claim 11 , wherein each discrete pose of the plurality of discrete poses has a unique range of coordinates in the coordinate system from other discrete poses of the plurality of discrete poses.

13. The storage medium of claim 11 , wherein a first region of the pose space is discretized at a first resolution and a second region of the pose space is discretized at a second resolution that is different from the first resolution.

14. The storage medium of claim 10 , the operations further comprising:

receiving sound from a local area at the first time period detected by the microphone array; and

generating a first data sample associated with the first discrete pose from the sound detected in the first time period,

wherein updating the sound filter for the first discrete pose further uses the first data sample.

15. The storage medium of claim 10 , the operations further comprising:

receiving sound from a local area at a second time period, that is before the first time period, detected by the microphone array;

segmenting the detected sound into one or more data samples using a time window, wherein each data sample comprises an audio signal measured by each microphone of the microphone array during a given time window;

associating a discrete pose of the plurality of discrete poses to each data sample; and

storing the one or more data samples as historical data samples in the memory cache.

16. The storage medium of claim 15 , the operations further comprising:

removing from the memory cache one or more historical data samples generated from sound captured in a time period that is greater than a threshold time before the first time period.

17. The storage medium of claim 15 , the operations further comprising:

determining that the microphone array at the first time period is no longer in the local area of the second time period; and

removing, from the memory cache, one or more historical data samples generated from sound captured in the second time period.

18. The storage medium of claim 10 , wherein the memory cache is located on an external server.

19. An audio system comprising:

a position sensor configured to measure an orientation of the audio system,

a microphone array configured to detect sound from a local area of the audio system, the microphone array comprising a plurality of microphones, wherein each microphone is configured to measure an audio signal as the detected sound;

a transducer array configured to present audio content,

a memory cache configured to store one or more data samples; and

an audio controller configured to:

segment sound detected by the microphone array into one or more data samples,

associate a discrete pose of a plurality of discrete poses to each data sample based on the orientation of the audio device as measured by the position sensor during each data sample,

store the data samples in the memory cache,

update a sound filter associated with a first discrete pose of the plurality of discrete poses using one or more data samples associated with the first discrete pose and stored in the memory cache, and

generate audio content for the transducer array using the updated sound filter.

20. The audio system of claim 19 , the audio controller further configured to:

discretize a pose space into the plurality of discrete poses by segmenting a coordinate system of the pose space.

Assignments (2)
CHANGE OF NAME Recorded Jun 8, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060314/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2021
From: DONLEY, JACOB RYAN; BALSAM, NAVA K.; TOURBABIN, VLADIMIR
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 057955/0070 →
Continuity (1)
Provisional Application 63183276 · May 3, 2021
Cited By (4)
US 12,445,769 US 12,495,248 US 12,530,172 US 12,547,378