CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to and the benefit of Chinese Patent Application No. CN 201811552320.2 filed on Dec. 19, 2018, the entire content of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to the field of voice activity detection technologies, and more particularly, to a voice activity detection method.

2. Description of the Related Art

Voice activity detection (VAD) is used to detect the presence of a voice signal in the current sound signal, that is, to judge an input signal, differentiating the voice signal from a background noise signal, using two different respective processing methods to the two signals. VAD is a basic step in the digital voice signal processing. In practice, voice signal detection is and must be the first step in most application systems, whereby data to be processed later is valid voice signal data, so that data amount and calculation amount is reduced, and processing time of the system is reduced.

As shown inFIG. 1, conventional voice activity detection may detect whether all the sound is voice. Typically, the existing voice activity detection is carried out in two ways, one is a traditional signal processing method based on power, time domain and frequency domain; the other is the popular detection method based on the neural network. For the popular one, neural network algorithm has good performance, but has a large amount of calculation, that is, it usually takes several million of calculation to complete the processing of a signal of each frame. Also, due to the fact that the storage of the neural network weight requires several M bytes, a lot of resources are involved in the implementation of hardware, which results in a high implementation cost. Therefore, such a method is not applicable to a scenario where low power consumption and low cost are expected. In addition, power consumption is large when the neural network VAD algorithm is implemented on CPU (Central Processing Unit) or DSP (Digital Signal Processor).

With the development of voice recognition technology, it is therefore in urgent need of proper voice activity detection. Only when voice is detected can the voice recognition processing be started, such that the requirement of the system being kept in a low-power consumption state while in standby can be met.

SUMMARY OF THE INVENTION

Given that the foregoing problems exist in the prior art, the present invention provides a voice activity detection method.

The technical solutions are as follows:

A voice activity detection method, comprising:

providing an acquisition unit for acquiring an external sound signal;

providing a judgment unit for judging whether the sound signal is a voice signal;

if the sound signal is a voice signal, starting a voice processing unit for processing the sound signal;

if the sound signal is not a voice signal, the voice processing unit is kept in a sleep state.

Preferably, providing judgment unit for judging whether the sound signal is a voice signal comprises the steps of:

Step S1, reducing a sampling frequency of the sound signal to obtain a first processing signal;

Step S2, performing a high-pass filtering on the first processing signal, to obtain a second processing signal;

Step S3, framing the second processing signal at a preset time interval;

Step S4, detecting the framed second processing signal for obtaining a detection result that whether the sound signal is the voice signal;

processing the detection result into an activation signal and outputting the activation signal to the voice processing unit.

Preferably, detecting the framed second processing signal comprises performing a power detection on the framed second processing signal, to output a power detection result with a Boolean sequence as the detection result.

Preferably, detecting the framed second processing signal comprises performing entropy detection on the framed second processing signal, to output an entropy detection result with a Boolean sequence as the detection result.

Preferably, detecting the framed second processing signal comprises, performing a cepstrum detection on the framed second processing signal, to output a cepstrum detection result with a Boolean sequence as the detection result.

Preferably, detecting the framed second processing signal comprises:

performing a power detection on the framed second processing signal to output a power detection result with a Boolean sequence, using the power detection result as an enable signal performing an entropy detection on the framed second processing signal, outputting an entropy detection result with a Boolean sequence after the entropy detection as the detection result; or

synchronously performing the power detection and the entropy detection on the framed second processing signal, and synchronously obtaining the power detection result with a Boolean sequence and the entropy detection result with a Boolean sequence; making a decision on the power detection result and the entropy detection result by using a preset strategy to obtain a decision result; and outputting the decision result as the detection result.

Preferably, detecting the framed second processing signal comprises:

performing a power detection on the framed second processing signal to output a power detection result with a Boolean sequence, using the power detection result as an enable signal performing a cepstrum detection on the framed second processing signal, output a cepstrum detection result with a Boolean sequence after the cepstrum detection as the detection result; or

synchronously performing the power detection and the cepstrum detection on the framed second processing signal, and synchronously obtaining the power detection result with a Boolean sequence and the cepstrum detection result with a Boolean sequence; making a decision on the power detection result and the cepstrum detection result by using a preset strategy to obtain a decision result; and outputting the decision result as the detection result.

Preferably, detecting the framed second processing signal comprises:

performing an entropy detection on the framed second processing signal to output an entropy detection result with a Boolean sequence, using the entropy detection result as an enable signal performing a cepstrum detection on the framed second processing signal, outputting a cepstrum detection result with a Boolean sequence after the cepstrum detection as the detection result; or

synchronously performing the entropy detection and the cepstrum detection on the framed second processing signal, and synchronously obtaining the entropy detection result with a Boolean sequence and the cepstrum detection result with a Boolean sequence; making a decision on the entropy detection result and the cepstrum detection result by using a preset strategy to obtain a decision result; and outputting the decision result as the detection result.

Preferably, detecting the framed second processing signal comprises:

performing a power detection on the framed second processing signal to output a power detection result with a Boolean sequence, using the power detection result as an enable signal performing entropy detection on the framed second processing signal; using the entropy detection result as an enable signal performing cepstrum detection on the framed second processing signal, outputting a cepstrum detection result with a Boolean sequence after the cepstrum detection as the detection result; or

synchronously performing the power detection, the entropy detection and the cepstrum detection on the framed second processing signal, and synchronously obtaining the power detection result with a Boolean sequence, the entropy detection result with a Boolean sequence and the cepstrum detection result with a Boolean sequence; making a decision on the power detection result, the entropy detection result and the cepstrum detection result by using a preset strategy to obtain a decision result; and outputting the decision result as the detection result.

Preferably, in Step S4, processing the detection result into the activation signal comprises smoothing each of frames of the detection result.

Preferably, in Step S3, the second processing signal is framed by the following formula:
frame(n,m)=y_emp(fs*t*n+m);
wherein

frame(n,m) represents each of frames of the second processing signal after the framing operation;

y_emp represents the second processing signal;

fsrepresents the sampling frequency of the voice signal;

t represents the preset time interval;

n represents the nthframe; and

m represents the mthpoint in the nthframe.

Preferably, the power detection result is performed by the following formula:

flag_pow⁢(n)={1avgPow⁡(n)>avgPowold⁢⁢(n)*thresh⁢10others}

wherein

flag_pow(n) represents the power detection result;

avgPow(n) represents an average power of a current frame;

avgPowOld(n) represents an average power of a previous frame; and

thresh1 represents an adjusting parameter.

Preferably, a value of thresh1 is in a range from 3 to 100.

Preferably, the average power of the current frame is obtained by the following formula:

avgPow⁡(n)=∑m=0framelen-1⁢abs⁡(frame⁡(n,m))2;and⁢/⁢oravgPowOld⁢⁢(n)=1avglen⁢∑i=1avglen⁢avgPow⁡(n-i);

Wherein

frame(n,m) represents each of the frames of the second processing signal after the framing operation;

avgPow(n) represents an average power of a current frame;

framelen represents a length of each of the frames;

avgPowOld(n) represents an average power of a previous frame; and

avglen represents the number of frames currently sampled.

Preferably, the entropy detection result is performed by the following formula:

flag_sen⁢(n)={1H⁡(n)>thresh⁢⁢20others};

wherein flag_sen(n) represents the entropy detection result;

H(n) represents an entropy function of the framed second processing signal; and

thresh2 represents a threshold value of entropy judgment.

Preferably, a value of thresh2 is in a range from −7 to 0.

Preferably, the entropy function of the framed second processing signal is obtained by the following formula:

H⁡(n)=∑m=0framelen-1⁢prob⁡(n,m)*log2⁡(prob⁡(n,m));and⁢/⁢orprob⁡(n,m)=Ypow⁡(n,m)∑m=0framelen-1⁢Ypow⁡(n,m);Ypow⁡(n,m)=abs⁡(Y⁡(n,m))2;Y⁡(n,m)=FFT⁡(xw⁡(n,m));xw⁡(n,m)=frame⁡(n,m)*win⁡(m);

wherein

H(n) represents the entropy function of the framed second processing signal;

win(m) represents a window function;

xw(n,m) represents a signal obtained by windowing the framed second processing signal;

Y(n,m) represents a signal obtained by performing a fast Fourier transform on xw(n,m);

Ypow(n,m) represents a power spectrum of xw(n,m); and

prob(n,m) represents the probability of Ypow(n,m).

Preferably, the cepstrum detection result is performed by the following formula:

flag_ceps⁢(n)={1t⁢⁢max⁡(n)-t⁢⁢min⁢⁢(n)>thresh⁢⁢30others};t⁢⁢max⁡(n)-max⁡(ceps⁡(n,speech_range));t⁢⁢min⁡(n)-min⁡(ceps⁡(n,speech_range));ceps⁡(n,m)=IFFT⁡(Ypow_log⁢(n,m));Ypow_log⁢(n,m)=log2⁡(Ypow⁡(n,m));

wherein

flag_ceps(n) represents the cepstrum detection result;

Ypow(n,m) represents a power spectrum of xw(n,m);

xw(n,m) represents a signal obtained by windowing the framed second processing signal;

Ypow_log(n,m) represents the cepstrum of xw(n,m);

ceps(n,m) represents a signal obtained by performing an inverse fast Fourier transform on Ypow_log(n,m);

t max(n) represents a maximum value of the current value of ceps(n,m) in a human speech output segment;

t min(n) represents a minimum value of the current value of ceps(n,m) in the human speech output segment;

speech_range represents a range of human speech output segment; and

thresh3 represents a threshold value of the cepstrum judgment.

Preferably, a value of thresh3 is in a range from 0.5 to 1.5.

By adopting the above-mentioned technical solutions, the present invention has the following beneficial effects: a voice activity detection method is disclosed. First of all, a sound signal is acquired, and it is determined whether the sound signal is a voice signal; if the sound signal is a voice signal, a voice processing unit is started to process the sound signal; if the sound signal is not a voice signal, the voice processing unit is kept in a sleep state. With the voice activity detection method provided by the technical solutions of the present invention adopted, the voice processing unit with large power consumption is made to be in a sleep state for a long time, and therefore, the entire system can be kept in a low-power consumption state; the voice activity detection method is low in implementation cost and can obtain better performance with a small amount of calculation and less resource consumption.

