IP Library › Granted Patent US 11,776,562
Granted Patent B2
US 11,776,562 · App. 16/888,522 · Granted Oct 3, 2023

Context-aware hardware-based voice activity detection

Inventors: Ren Li (San Diego, CA); Xiaofei Chen (San Diego, CA); Murray Jarvis (Cambridge, GB)
Assignee: QUALCOMM Incorporated
G10L25/78G06F17/142G06N20/10G10L2025/783
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,776,562
App. No.
16/888,522
Granted
Oct 3, 2023
Kind
B2
Abstract

Certain aspects of the present disclosure provide a method for performing voice activity detection, including: receiving audio data from an audio source of an electronic device; generating a plurality of model input features using a hardware-based feature generator based on the received audio data; providing the plurality of model input features to a hardware-based voice activity detection model; receiving an output value from the hardware-based voice activity detection model; and determining a presence of voice activity in the audio data based on the output value.

Claims (102)

1. A processing system configured for performing voice activity detection, comprising:

a memory comprising computer-executable instructions; and

one or more processors configured to execute the computer-executable instructions and cause the processing system to:

receive audio data from an audio source;

generate a plurality of model input features using a hardware-based feature generator based on the received audio data, wherein in order to generate the plurality of model input features using the hardware-based feature generator, the one or more processors are configured to cause the processing system to:

preprocess the received audio data to generate domain transformation input data;

generate a plurality of band outputs with a domain transformation circuit based on the domain transformation input data,

determine a current context associated with the audio data based on spectral coefficients associated with the received audio data and spectral coefficients associated with a prior context associated with an audio environment in which previous audio data was captured, wherein in order to determine the current context, the one or more processors are configured to cause the processing system to:

determine that the current context is unchanged relative to the prior context when the spectral coefficients associated with the received audio data are within a threshold distance from the spectral coefficients associated with the prior context, or

determine that the current context is different from the prior context when the spectral coefficients associated with the received audio data are outside the threshold distance from the spectral coefficients associated with the prior context;

select a subset of band outputs from the plurality of band outputs from the domain transformation circuit by filtering symmetric band outputs from the plurality of band outputs, wherein the subset of band outputs comprises fewer band outputs than the plurality of band outputs; and

determine a signal-to-noise ratio for each band output of the subset of band outputs, wherein each signal-to-noise ratio for each band output of the subset of band outputs is a model input feature of the plurality of model input features; and

determine a presence of voice activity in the audio data based on an output value generated by a hardware-based voice activity detection model based on the model input features, wherein the hardware-based voice activity detection model comprises a model including context-specific model parameters associated with the determined current context associated with the audio data.

2. The processing system of claim 1 , wherein the hardware-based feature generator comprises a hardware-implemented fast Fourier transformation circuit.

3. The processing system of claim 1 , wherein in order to determine the signal-to-noise ratio for each band output of the subset of band outputs, the one or more processors are further configured to cause the processing system to:

determine a noise floor for each band output of the subset of band outputs;

apply a log function to the noise floor for each band output of the subset of band outputs;

determine a signal power level for each band output of the subset of band outputs; and

apply the log function to the signal power level for each band output of the subset of band outputs, wherein the signal-to-noise ratio for each band output of the subset of band outputs comprises a log signal-to-noise ratio.

4. The processing system of claim 1 , wherein in order to preprocess the received audio data, the one or more processors are further configured to cause the processing system to:

split the received audio data into a first audio data stream and a second audio data stream;

apply a delay function to the second audio data stream to generate a delayed second audio data stream;

apply a window function to the first audio data stream and the delayed second audio data stream; and

apply a serial-to-parallel conversion to the first audio data stream and the delayed second audio data stream.

5. The processing system of claim 1 , wherein the hardware-based voice activity detection model comprises a hardware-implemented support vector machine (SVM) model.

6. The processing system of claim 5 , wherein the hardware-implemented SVM model comprises:

a first, multi-column SVM circuit; and

a second, single-column SVM circuit configured to generate the output value.

7. The processing system of claim 5 , wherein the one or more processors are further configured to cause the processing system to: load a plurality of model parameters for the hardware-implemented SVM model into the memory.

8. The processing system of claim 1 , wherein the subset of band outputs comprises eight band outputs.

9. The processing system of claim 1 , wherein the audio source comprises one or more microphones of the processing system.

10. A method for performing voice activity detection, comprising:

receiving audio data from an audio source of an electronic device;

generating a plurality of model input features using a hardware-based feature generator based on the received audio data, wherein generating the plurality of model input features comprises:

preprocessing the received audio data to generate domain transformation input data;

generating a plurality of band outputs with a domain transformation circuit based on the domain transformation input data;

determining a current context associated with the audio data based on spectral coefficients associated with the received audio data and spectral coefficients associated with a prior context associated with an audio environment in which previous audio data was captured, wherein determining the current context comprises:

determining that the current context is unchanged relative to the prior context when the spectral coefficients associated with the received audio data are within a threshold distance from the spectral coefficients associated with the prior context, or

determining that the current context is different from the prior context when the spectral coefficients associated with the received audio data are outside the threshold distance from the spectral coefficients associated with the prior context;

selecting a subset of band outputs from the plurality of band outputs from the domain transformation circuit by filtering symmetric band outputs from the plurality of band outputs, wherein the subset of band outputs comprises fewer band outputs than the plurality of band outputs; and

determining a signal-to-noise ratio for each band output of the subset of band outputs, wherein each signal-to-noise ratio for each band output of the subset of band outputs is a model input feature of the plurality of model input features; and

determining a presence of voice activity in the audio data based on an output value generated by a hardware-based voice activity detection model based on the model input features, wherein the hardware-based voice activity detection model comprises a model including context-specific model parameters associated with the determined current context associated with the audio data.

11. The method of claim 10 , wherein the plurality of model input features comprises a smoothed energy measurement and a set of smoothed spectral coefficients.

12. The method of claim 10 , wherein the hardware-based feature generator comprises a hardware-implemented fast Fourier transformation circuit.

13. The method of claim 10 , wherein determining the signal-to-noise ratio for each band output of the subset of band outputs comprises:

determining a noise floor for each band output of the subset of band outputs;

applying a log function to the noise floor for each band output of the subset of band outputs;

determining a signal power level for each band output of the subset of band outputs; and

applying the log function to the signal power level for each band output of the subset of band outputs, wherein the signal-to-noise ratio for each band output of the subset of band outputs comprises a log signal-to-noise ratio.

14. The method of claim 10 , wherein preprocessing the received audio data comprises:

splitting the received audio data into a first audio data stream and a second audio data stream;

applying a delay function to the second audio data stream to generate a delayed second audio data stream;

applying a window function to the first audio data stream and the delayed second audio data stream; and

applying a serial-to-parallel conversion to the first audio data stream and the delayed second audio data stream.

15. The method of claim 10 , wherein the hardware-based voice activity detection model comprises a hardware-implemented support vector machine (SVM) model.

16. The method of claim 15 , wherein the hardware-implemented SVM model comprises:

a first, multi-column SVM circuit; and

a second, single-column SVM circuit configured to generate the output value.

17. The method of claim 15 , further comprising: loading a plurality of model parameters for the hardware-implemented SVM model into a memory of the electronic device.

18. The method of claim 10 , wherein the subset of band outputs comprises eight band outputs.

19. The method of claim 10 , wherein the audio source comprises one or more microphones of the electronic device.

20. A non-transitory computer-readable medium comprising computer-executable instructions that, when executed by one or more processors of a processing system, cause the processing system to perform a method for performing voice activity detection, the method comprising:

receiving audio data from an audio source of an electronic device;

generating a plurality of model input features using a hardware-based feature generator based on the received audio data, wherein generating the plurality of model input features comprises:

preprocessing the received audio data to generate domain transformation input data;

generating a plurality of band outputs with a domain transformation circuit based on the domain transformation input data;

determining a current context associated with the audio data based on spectral coefficients associated with the received audio data and spectral coefficients associated with a prior context associated with an audio environment in which previous audio data was captured, wherein determining the current context comprises:

determining that the current context is unchanged relative to the prior context when the spectral coefficients associated with the received audio data are within a threshold distance from the spectral coefficients associated with the prior context, or

determining that the current context is different from the prior context when the spectral coefficients associated with the received audio data are outside the threshold distance from the spectral coefficients associated with the prior context;

selecting a subset of band outputs from the plurality of band outputs from the domain transformation circuit by filtering symmetric band outputs from the plurality of band outputs, wherein the subset of band outputs comprises fewer band outputs than the plurality of band outputs; and

determining a signal-to-noise ratio for each band output of the subset of band outputs, wherein each signal-to-noise ratio for each band output of the subset of band outputs is a model input feature of the plurality of model input features; and

determining a presence of voice activity in the audio data based on an output value generated by a hardware-based voice activity detection model based on the model input features, wherein the hardware-based voice activity detection model comprises a model including context-specific model parameters associated with the determined current context associated with the audio data.

21. The non-transitory computer-readable medium of claim 20 , wherein the hardware-based feature generator comprises a hardware-implemented fast Fourier transformation circuit.

22. The non-transitory computer-readable medium of claim 20 , wherein determining the signal-to-noise ratio for each band output of the subset of band outputs comprises:

determining a noise floor for each band output of the subset of band outputs;

applying a log function to the noise floor for each band output of the subset of band outputs;

determining a signal power level for each band output of the subset of band outputs; and

applying the log function to the signal power level for each band output of the subset of band outputs, wherein the signal-to-noise ratio for each band output of the subset of band outputs comprises a log signal-to-noise ratio.

23. The non-transitory computer-readable medium of claim 20 , wherein preprocessing the received audio data comprises:

splitting the received audio data into a first audio data stream and a second audio data stream;

applying a delay function to the second audio data stream to generate a delayed second audio data stream;

applying a window function to the first audio data stream and the delayed second audio data stream; and

applying a serial-to-parallel conversion to the first audio data stream and the delayed second audio data stream.

24. The non-transitory computer-readable medium of claim 20 , wherein the hardware-based voice activity detection model comprises a hardware-implemented support vector machine (SVM) model.

25. The non-transitory computer-readable medium of claim 24 , wherein the hardware-implemented SVM model comprises:

a first, multi-column SVM circuit; and

a second, single-column SVM circuit configured to generate the output value.

26. The non-transitory computer-readable medium of claim 24 , wherein the method further comprises: loading a plurality of model parameters for the hardware-implemented SVM model into a memory of the electronic device.

27. The non-transitory computer-readable medium of claim 20 , wherein the subset of band outputs comprises eight band outputs.

28. A processing device, comprising:

means for receiving audio data from an audio source of an electronic device;

means for generating a plurality of model input features using a hardware-based feature generator based on the received audio data, wherein the means for generating the plurality of model input features comprises:

means for preprocessing the received audio data to generate domain transformation input data;

means for generating a plurality of band outputs with a domain transformation circuit based on the domain transformation input data,

means for determining a current context associated with the audio data based on spectral coefficients associated with the received audio data and spectral coefficients associated with a prior context associated with an audio environment in which previous audio data was captured, wherein the means for determining the current context is configured to:

determine that the current context is unchanged relative to the prior context when the spectral coefficients associated with the received audio data are within a threshold distance from the spectral coefficients associated with the prior context, or

determine that the current context is different from the prior context when the spectral coefficients associated with the received audio data are outside the threshold distance from the spectral coefficients associated with the prior context;

means for selecting a subset of band outputs from the plurality of band outputs from the domain transformation circuit by filtering symmetric band outputs from the plurality of band outputs, wherein the subset of band outputs comprises fewer band outputs than the plurality of band outputs; and

means for determining a signal-to-noise ratio for each band output of the subset of band outputs, wherein each signal-to-noise ratio for each band output of the subset of band outputs is a model input feature of the plurality of model input features;

means for providing the plurality of model input features to a hardware-based voice activity detection model, wherein the hardware-based voice activity detection model comprises a model including context-specific model parameters associated with the determined current context associated with the audio data;

means for receiving an output value from the hardware-based voice activity detection model; and

means for determining a presence of voice activity in the audio data based on the output value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2021
From: LI, REN; CHEN, XIAOFEI; JARVIS, MURRAY
To: QUALCOMM INCORPORATED
Reel/Frame 055630/0001 →
Continuity (1)
Related Publication 20210375306A1 · Dec 2, 2021
Cited By (1)
US 12,586,601