IP Library Granted Patent US 10,321,251
Granted Patent B1
US 10,321,251 · App. 16/010,639 · Granted Jun 11, 2019

Techniques of performing microphone switching for a multi-microphone equipped device

Inventor: Dean Thorson (Grayslake, IL)
Assignee: Republic Wireless, Inc.
H04R29/005G06F5/10G06F12/1081H03G1/0088H04M3/56H04R1/406H04R3/00
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 10,321,251
App. No.
16/010,639
Granted
Jun 11, 2019
Kind
B1
Abstract

Various embodiments describe techniques for switching microphones in a multiple microphone system. The techniques incorporate sampling audio signals from multiple microphones, determining a microphone that has the greatest incoming amplitude during the analysis window, and switching the microphone to that greatest amplitude microphone. The transition point for switching microphones may be determined when either the amplitude of the incoming signal is within an error bound of zero or at a “zero-crossing” in the input amplitude stream.

Claims (45)

1. A computer implemented method of switching an active microphone to another microphone on an electronic device comprising multiple microphones, the method comprising:

receiving audio input into a set of microphones, only one microphone of the set of microphones being currently active;

storing amplitude data corresponding to the audio input for each microphone in circular data buffers, wherein each microphone is associated with its own circular buffer;

introducing a predetermined time delay into each circular buffer resulting in a real-time buffer pointer and a delayed buffer pointer;

calculating an average amplitude for each microphone over a predetermined period using the amplitude data in each microphone's respective circular buffer;

when the microphone with the greatest average amplitude is the not active microphone, determining whether the greatest average amplitude is significantly greater than the average amplitude for the active microphone;

when the greatest average amplitude is significantly greater than the average amplitude for the active microphone, initiating a microphone switching algorithm comprising:

sequentially examining the amplitude of each audio data sample in the circular buffer of the active microphone between the real-time buffer pointer and the delayed buffer pointer;

when the amplitude of an audio data sample is sufficiently close to zero, marking the buffer location as a buffer transition point; and

when the delayed buffer pointer reaches the marked buffer location transition point, causing a microphone switch in which the active microphone switches to the microphone with the greatest average amplitude.

2. The method of claim 1 , wherein the predetermined time delay is less than or equal to 100 ms.

3. The method of claim 1 , wherein the predetermined period is less than or equal to 10 seconds.

4. The method of claim 1 , wherein the significantly greater than the average amplitude is three (3) or more decibels.

5. The method of claim 1 , wherein sufficiently close to zero is within plus or minus 0.1% of a maximum or minimum amplitude.

6. An apparatus, comprising:

a memory;

a set of microphones; and

logic, at least a portion of which is implemented in circuitry coupled to the memory, the logic to:

receive audio input into the set of microphones, only one microphone of the set of microphones being currently active;

store amplitude data corresponding to the audio input for each microphone in circular data buffers, wherein each microphone is associated with its own circular buffer;

introduce a predetermined time delay into each circular buffer resulting in a real-time buffer pointer and a delayed buffer pointer;

calculate an average amplitude for each microphone over a predetermined period using the amplitude data in each microphone's respective circular buffer;

when the microphone with the greatest average amplitude is the not active microphone, determine whether the greatest average amplitude is significantly greater than the average amplitude for the active microphone;

when the greatest average amplitude is significantly greater than the average amplitude for the active microphone, initiate a microphone switching algorithm that:

sequentially examines the amplitude of each audio data sample in the circular buffer of the active microphone between the real-time buffer pointer and the delayed buffer pointer;

when the amplitude of an audio data sample is sufficiently close to zero, marks the buffer location as a buffer transition point; and

when the delayed buffer pointer reaches the marked buffer location transition point, causes a microphone switch in which the active microphone switches to the microphone with the greatest average amplitude.

7. The apparatus of claim 6 , wherein the predetermined time delay is less than or equal to 100 ms.

8. The apparatus of claim 6 , wherein the predetermined period is less than or equal to 10 seconds.

9. The apparatus of claim 6 , wherein the significantly greater than the average amplitude is three (3) or more decibels.

10. The apparatus of claim 6 , wherein sufficiently close to zero is within plus or minus 0.1% of a maximum or minimum amplitude.

11. At least one non-transitory computer-readable medium comprising a set of instructions that, in response to being executed by a processor circuit, cause the processor circuit to:

receive audio input into a set of microphones, only one microphone of the set of microphones being currently active;

store amplitude data corresponding to the audio input for each microphone in circular data buffers, wherein each microphone is associated with its own circular buffer;

introduce a predetermined time delay into each circular buffer resulting in a real-time buffer pointer and a delayed buffer pointer;

calculate an average amplitude for each microphone over a predetermined period using the amplitude data in each microphone's respective circular buffer;

when the microphone with the greatest average amplitude is the not active microphone, determine whether the greatest average amplitude is significantly greater than the average amplitude for the active microphone;

when the greatest average amplitude is significantly greater than the average amplitude for the active microphone, initiate a microphone switching algorithm that:

sequentially examines the amplitude of each audio data sample in the circular buffer of the active microphone between the real-time buffer pointer and the delayed buffer pointer;

when the amplitude of an audio data sample is sufficiently close to zero, marks the buffer location as a buffer transition point; and

when the delayed buffer pointer reaches the marked buffer location transition point, causes a microphone switch in which the active microphone switches to the microphone with the greatest average amplitude.

12. The at least one non-transitory computer-readable medium of claim 11 , wherein the predetermined time delay is less than or equal to 100 ms.

13. The at least one non-transitory computer-readable medium of claim 11 , wherein the predetermined period is less than or equal to 10 seconds.

14. The at least one non-transitory computer-readable medium of claim 11 , wherein the significantly greater than the average amplitude is three (3) or more decibels.

15. The at least one non-transitory computer-readable medium of claim 11 , wherein sufficiently close to zero is within plus or minus 0.1% of a maximum or minimum amplitude.

Assignments (2)
CHANGE OF NAME Recorded May 27, 2021
From: REPUBLIC WIRELESS, INC.
To: RELAY, INC.
Reel/Frame 056753/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2018
From: THORSON, DEAN
To: REPUBLIC WIRELESS, INC
Reel/Frame 046116/0398 →
Cited By (1)
US 12,395,791