The present document relates to a voice encoding and decoding technology, and in particular, to a parameter estimation method for inactive voice signals and a system thereof and a comfort noise generation method and system.
In a normal voice conversation, a user does not issue a voice continuously all the way. A phase during which a voice is not issued is referred to as an inactive voice phase. In normal cases, a whole inactive voice phase of both conversation parties will exceed 50% of a total voice encoding time length of both parties. In the non-active voice phase, it is the background noise that is encoded, decoded and transmitted by both parties, and the encoding and decoding operations on the background noise waste the encoding and decoding capabilities as well as radio resources. On basis of this, in a voice communication, the Discontinuous Transmission (DTX for short) mode is generally used to save the transmission bandwidth of the channel and device consumption, and few inactive voice frame parameters are extracted at the encoding end, and the decoding end performs Comfort Noise Generation (CNG for short) according to these parameters. Many modern voice encoding and decoding standards, such as Adaptive Multi-Rate (AMR) Adaptive Multi-Rate Wideband (AMR-WB) etc., support DTX and CNG functions. When a signal of an inactive voice phase is a stable background noise, both the encoder and the decoder operate stably. However, for an unstable background noise, especially when the noise is large, the background noise generated by these encoder and decoder using the DTX and CNG methods is not very stable, which will generate some bloop.
The object of the embodiments of the present document is to provide a comfort noise generation method and system as well as a parameter estimation method for inactive voice signals and a system thereof, to reduce bloop in a comfort noise.
In order to achieve the above object, the embodiments of the present document provide a parameter estimation method for inactive voice signals, comprising:
for an inactive voice signal frame, performing time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence, calculating frequency spectrum coefficients according to the frequency spectrum sequence, performing smooth processing on the frequency spectrum coefficients, obtaining a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal, and estimating an inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter.
The above method may further have the following features:
the step of performing smooth processing on the frequency spectrum coefficients, obtaining a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients and performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal comprises:
when the frequency spectrum coefficients are frequency domain amplitude coefficients, performing smooth processing on the frequency spectrum amplitude coefficients, obtaining the smoothly processed frequency spectrum sequence according to the smoothly processed frequency domain amplitude coefficients, and performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain the reconstructed time domain signal; and
when the frequency spectrum coefficients are frequency domain energy coefficients, performing smooth processing on the frequency spectrum energy coefficients, obtaining the smoothly processed frequency spectrum sequence after extracting a square root of the smoothly processed frequency domain energy coefficients, and performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain the reconstructed time domain signal.
The above method may further have the following features:
the smooth processing refers to:
Xsmooth(k)=αX′smooth(k)+(1−α)X(k); k=0, L, N−1
wherein, Xsmooth(k) refers to a sequence obtained after performing smooth processing on a current frame, X′smooth(k) refers to a sequence obtained after performing smooth processing on a previous inactive voice signal frame, X(k) is the frequency spectrum coefficient, α is an attenuation factor of an unipolar smoother, N is a positive integer, and k is a location index of each frequency point.
The above method may further have the following features:
the sequence of time domain signals containing the inactive voice signal frame refers to a sequence obtained after performing a windowing calculation on the time domain signals containing the inactive voice signal frame, and a window function in the windowing calculation is a sine window, a Hamming window, a rectangle window, a Hanning window, a Kaiser window, a triangular window, a Bessel window or a Gaussian window.
The method further comprises:
after performing smooth processing on the frequency spectrum coefficients, performing a sign reversal operation on data of part of frequency points of the smoothly processed frequency spectrum sequence obtained after performing smooth processing on the frequency spectrum coefficients.
The above method may further have the following features:
the sign reversal operation of the data of part of the frequency points refers to performing a sign reversal operation on the data of the frequency points with odd indexes or performing a sign reversal operation on the data of the frequency points with even indexes.
The above method may further have the following features:
the step of performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal comprises:
if a time-frequency transform algorithm used is a complex transform, extending the smoothly processed frequency spectrum sequence to obtain a frequency spectrum sequence from 0 to 2π in a digital frequency domain according to a frequency spectrum from 0 to π in a digital frequency domain of the complex transform.
The above method may further have the following features:
the frequency spectrum parameter is a Linear Spectral Frequency (LSF) or an Immittance Spectral Frequency (ISF), and the energy parameter is a gain of a residual energy relative to an energy value of a reference signal or the residual energy.
In order to achieve the above object, the embodiments of the present document provide a parameter estimation apparatus for inactive voice signals, comprising: a time-frequency transform unit, an inverse time-frequency transform unit, and an inactive voice signal parameter estimation unit, wherein,
the apparatus further comprises a smooth processing unit connected between the time-frequency transform unit and the inverse time-frequency transform unit, wherein,
the time-frequency transform unit is configured to: for an inactive voice signal frame, perform time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence;
the smooth processing unit is configured to calculate frequency spectrum coefficients according to the frequency spectrum sequence, and perform smooth processing on the frequency spectrum coefficients;
the inverse time-frequency transform unit is configured to obtain a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, and perform inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal; and
the inactive voice signal parameter estimation unit is configured to estimate the inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter.
In order to achieve the above object, the embodiments of the present document further provide a comfort noise generation method, comprising:
for an inactive voice signal frame, an encoding end performing time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence, calculating frequency spectrum coefficients according to the frequency spectrum sequence, performing smooth processing on the frequency spectrum coefficients, obtaining a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal, estimating the inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter, quantizing and encoding the frequency spectrum parameter and the energy parameter and then transmitting a code stream to a decoding end; and
the decoding end obtaining the frequency spectrum parameter and the energy parameter according to the code stream received from the encoding end, and generating a comfort noise signal according to the frequency spectrum parameter and the energy parameter.
In order to achieve the above object, the embodiments of the present document limber provide a comfort noise generation system, comprising an encoding apparatus and a decoding apparatus, wherein, the encoding apparatus comprises a time-frequency transform unit, an inverse time-frequency transform unit, an inactive voice signal parameter estimation unit, and a quantization and encoding unit, and the decoding apparatus comprises a decoding and inverse quantization unit and a comfort noise generation unit, wherein,
the encoding apparatus further comprises a smooth processing unit connected between the time-frequency transform unit and the inverse time-frequency transform unit;
the time-frequency transform unit is configured to for an inactive voice signal frame, perform time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence;
the smooth processing unit is configured to calculate frequency spectrum coefficients according to the frequency spectrum sequence, and perform smooth processing on the frequency spectrum coefficients;
the inverse time-frequency transform unit is configured to obtain a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, and perform inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal;
the inactive voice signal parameter estimation unit is configured to estimate the inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter;
the quantization and encoding unit is configured to quantize and encode the frequency spectrum parameter and the energy parameter to obtain a code stream and transmit the code stream to the decoding apparatus;
the decoding and inverse quantization unit is configured to decode and inversely quantize the code stream received from the encoding apparatus to obtain a decoded and inversely quantized frequency spectrum parameter and energy parameter and transmit the decoded and inversely quantized frequency spectrum parameter and energy parameter to the comfort noise generation unit; and
the comfort noise generation unit is configured to generate a comfort noise signal according to the decoded and inversely quantized frequency spectrum parameter and energy parameter.
The present solution can provide stable background noise parameters in a condition of unstable background noise, and especially in a condition of accurate judgment of Voice Activity Detection (VAD for short), and it can better eliminate the bloop introduced by processing in a comfort noise synthesized by a decoding terminal in a comfort noise generation system.
As shown in
for an inactive voice signal frame, performing time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence, calculating frequency spectrum coefficients according to the frequency spectrum sequence, performing smooth processing on the frequency spectrum coefficients, obtaining a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal, and estimating an inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter.
Wherein, when the frequency spectrum coefficients are frequency domain amplitude coefficients, performing smooth processing on the frequency spectrum amplitude coefficients, obtaining the smoothly processed frequency spectrum sequence according to the smoothly processed frequency domain amplitude coefficients, and performing inverse time-frequency transform on the frequency spectrum sequence to obtain the reconstructed time domain signal; and when the frequency spectrum coefficients are frequency domain energy coefficients, performing smooth processing on the frequency spectrum energy coefficients, obtaining the smoothly processed frequency spectrum sequence after extracting a square root of the smoothly processed frequency domain energy coefficients, and performing inverse time-frequency transform on the frequency spectrum sequence to obtain the reconstructed time domain signal.
The smooth processing refers to:
Xsmooth(k)=αX′smooth(k)+(1−α)X(k); k=0, L, N−1
wherein, Xsmooth(k) is a sequence obtained after performing smooth processing on a current frame, X′smooth(k) refers to a sequence obtained after performing smooth processing on a previous inactive voice signal frame, X(k) is the frequency spectrum coefficients, α is an attenuation factor of an unipolar smoother, N is a positive integer, and k is a location index of each frequency point.
The sequence of time domain signals containing the inactive voice signal frame refers to a sequence obtained after performing a windowing calculation on the time domain signals containing the inactive voice signal frame, and a window function in the windowing calculation is a sine window, a Hamming window, a rectangle window, a Hanning window, a Kaiser window, a triangular window, a Bessel window or a Gaussian window.
After performing smooth processing on the frequency spectrum coefficients, a sign reversal operation is further performed on data of part of frequency points of the smoothly processed frequency spectrum sequence after performing smooth processing on the frequency spectrum coefficients. Typically, the sign reversal operation of the data of part of the frequency points refers to performing a sign reversal operation on the data of the frequency points with odd indexes or performing a sign reversal operation on the data of the frequency points with even indexes.
If a time-frequency transform algorithm used is a complex transform, the smoothly processed frequency spectrum sequence is extended to obtain a frequency spectrum sequence from 0 to 2π in a digital frequency domain according to a frequency spectrum from 0 to π in a digital frequency domain of the complex transform, and then an inverse time-frequency transform is performed thereon to obtain a time domain signal.
The frequency spectrum parameter is a Linear Spectral Frequency (LSF) or an Immittance Spectral Frequency (ISF), and the energy parameter is a gain of a residual energy relative to an energy value of a reference signal or the residual energy. Wherein, an energy value of a reference signal is an energy value of a random white noise.
A parameter estimation apparatus for inactive voice signals corresponding to the above method is provided, comprising: a time-frequency transform unit, a smooth processing unit, an inverse time-frequency transform unit, and an inactive voice signal parameter estimation unit, wherein,
the time-frequency transform unit is configured to for an inactive voice signal frame, perform time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence;
the smooth processing unit is configured to calculate frequency spectrum coefficients according to the frequency spectrum sequence, and perform smooth processing on the frequency spectrum coefficients;
the inverse time-frequency transform unit is configured to obtain a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, and perform inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal; and
the inactive voice signal parameter estimation unit is configured to estimate the inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter.
On a basis of the above method, a comfort noise generation method may further be obtained, comprising:
for an inactive voice signal frame, an encoding end performing time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence, calculating frequency spectrum coefficients according to the frequency spectrum sequence, performing smooth processing on the frequency spectrum coefficients, obtaining a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, performing inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal, estimating the inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter, quantizing and encoding the frequency spectrum parameter and the energy parameter and then transmitting a code stream to a decoding end; the decoding end obtaining the frequency spectrum parameter and the energy parameter according to the code stream received from the encoding end, and generating a comfort noise signal according to the frequency spectrum parameter and the energy parameter.
A comfort noise generation system corresponding to the above method is provided, comprising an encoding apparatus and a decoding apparatus, wherein, the encoding apparatus comprises a time-frequency transform unit, an inverse time-frequency transform unit, an inactive voice signal parameter estimation unit, and a quantization and encoding unit, and the decoding apparatus comprises a decoding and inverse quantization unit and a comfort noise generation unit, wherein,
the encoding apparatus further comprises a smooth processing unit connected between the time-frequency transform unit and the inverse time-frequency transform unit;
the time-frequency transform unit is configured to for an inactive voice signal frame, perform time-frequency transform on a sequence of time domain signals containing the inactive voice signal frame to obtain a frequency spectrum sequence;
the smooth processing unit is configured to calculate frequency spectrum coefficients according to the frequency spectrum sequence, and perform smooth processing on the frequency spectrum coefficients;
the inverse time-frequency transform unit is configured to obtain a smoothly processed frequency spectrum sequence according to the smoothly processed frequency spectrum coefficients, and perform inverse time-frequency transform on the smoothly processed frequency spectrum sequence to obtain a reconstructed time domain signal;
the inactive voice signal parameter estimation unit is configured to estimate the inactive voice signal parameter according to the reconstructed time domain signal to obtain a frequency spectrum parameter and an energy parameter;
the quantization and encoding unit is configured to quantize and encode the frequency spectrum parameter and the energy parameter to obtain a code stream and transmit the code stream to the decoding apparatus;
the decoding and inverse quantization unit is configured to decode and inversely quantize the code stream received from the encoding apparatus to obtain a decoded and inversely quantized frequency spectrum parameter and energy parameter and transmit the decoded and inversely quantized frequency spectrum parameter and the energy parameter to the comfort noise generation unit; and
the comfort noise generation unit is configured to generate a comfort noise according to the decoded and inversely quantized frequency spectrum parameter and energy parameter.
The present scheme will be described in detail below through specific embodiments.
Voice Activity Detection (VAD) is performed on a code stream to be encoded. If a current frame signal is judged to be an active voice, the signal is encoded using a basic voice encoding mode, which may be voice encoder such as AMR-WB, G.718 etc., and if the current frame signal is judged to be an inactive voice, the signal is encoded using the following inactive voice frame (also referred to as a Silence Insertion Descriptor (SID) frame) encoding method (as shown in
In step 101, time domain windowing is performed on an input time domain signal. A type of a window and a mode used by the windowing may be the same as or different from those in the active voice encoding mode.
A specific implementation of the present step may be as follows.
A 2N-point time domain sample signal
Time domain windowing is performed
xw(n)=
wherein, w(n) represents a window function, which is a sine window, a Hamming window, a rectangle window, a Hanning window, a Kaiser window, a triangular window, a Bessel window or a Gaussian window.
When a frame length is 20 ms and a sample rate is 16 kHz, N=320. When the frame length, the sample rate and the window length are taken to be other values, the number of corresponding frequency domain coefficients may similarly be calculated.
In step 102, a Discrete Fourier Transform (DFT) is performed on the windowed time domain coefficients xw(n), and the calculation process is as follows.
DFT operation is performed on xw(n):
In step 103, frequency domain energy coefficients in a range of [0, N−1] of frequency domain coefficients X are calculated using the following equation:
Xe(k)=(real(X(k)))2+(image(X(k)))2 k=0, L, N−1
wherein, real(X(k)) and image(X(k)) represent a real part and an imaginary part of the frequency spectrum coefficients X(k) respectively.
In step 104, a smooth operation is performed on the current frequency domain energy coefficients Xe(k), and the implementation equation is as follows.
Xsmooth(k)=αX′smooth(k)+(1−α)Xe(k); k=0, L, N−1
wherein, Xsmooth(k) refers to a frequency domain energy coefficient sequence obtained after performing smooth processing on a current frame, X′smooth(k) refers to a frequency domain energy coefficient sequence obtained after performing smooth processing on a previous inactive voice signal frame, k is a location index of each frequency point, α is an attenuation factor of an unipolar smoother, a value of which is within a range of [0.3, 0.999], and N is a positive integer.
In this step, the smoothly processed energy spectrum Xsmooth can also be obtained using the following calculation process according to an activate voice judgment result of several previous frames: if all of the several previous continuous frames (5 frames) are activate voice frames, the current frequency domain energy coefficients Xe(k) are directly output as smoothly processed frequency domain energy coefficients, and the implementation equation is as follows: Xsmooth(k)=Xe(k);k=0, L, N−1, and if not all of the several previous continuous frames (5 frames) are activate voice frames, the smooth operation is performed as described in step 1104.
In step 105, a square root of the smoothly processed energy spectrum Xsmooth is extracted, and is multiplied with a fixed gain coefficient β to obtain smoothly processed amplitude spectrum coefficients Xamp_smooth as the smoothly processed frequency spectrum sequence, and the calculation process is as follows.
Xamp_smooth(k)=β√{square root over (Xsmooth(k)+0.01)}; k=0, L, N−1;
a value β of is within a range of [0.3, 1].
At the above steps 104 and 105, the DFT transform may further be performed on the windowed time domain coefficients xw(n) and then amplitude spectrum coefficients are calculated directly and the smooth processing is performed on the amplitude spectrum coefficients, and the smooth processing mode is the same as above.
In step 106, signs of the smoothly processed frequency spectrum sequence are reversed every data of one frequency point, i.e., signs of data of all frequency points with odd indexes or even indexes are inversed, while signs of other coefficients are unchanged. A frequency spectrum component with a lower frequency below 50 HZ is set to 0, and the frequency spectrum sequence of which the sign is reversed is extended to obtain the frequency domain coefficients Xse.
The sign reversal implementation equation of the data of the frequency points is as follows.
The frequency spectrum component with a lower frequency below 50 HZ is set to 0. The the frequency spectrum sequence is extended to extend Xsmooth from a range of [0, N−1] to a range of [0, 2N−1] by means of even symmetry with a symmetric center of N. That is, Xsmooth is extended from a frequency spectrum range of [0, π) of the digital frequency to a frequency spectrum range of [0, 2π) by means of even symmetry with a symmetric center of a frequency of π. The frequency domain extension equation is as follows.
Xse(k)=0; . . . k=0 or k=N
Xse(k)=Xsmooth(k); . . . k=1, 2, . . . , N−1
Xse(k)=Xsmooth(2N−k) . . . k=N+1, N+2, . . . , 2N−1
In step 107, the Inverse Discrete Fourier Transform (IDFT) is performed on the extended sequence to obtain a processed time domain signal xp(n).
In step 108, A Linear Prediction Coding (LPC) analysis is performed on the time domain signal obtained by IDFT to obtain a LPC parameter and an energy of the residual signal, and the LPC parameter is transformed into an LSF vector parameter fl or an ISF vector parameter fi, and the energy of the residual signal is compared with the energy of a reference white noise to obtain a gain coefficient g of the residual signal. The reference white noise is generated using the following method:
rand(k)=u int 32(A*rand(k−1)+C); . . . k=1, 2, . . . , N−1
The function u int 32 represents 32-bit unsigned truncation of the result, rand(−1) is the last random value of the previous frame, and A and C are equation coefficients, both values of which are within a range of [1, 65536].
In step 109, the LSF parameter fl or the gain coefficient g of the residual signal or the ISF parameter fl and the gain coefficient g of the residual signal are quantized and encoded every 8 frames to obtain an encoded code stream of a Silence Insertion Descriptor frame (SID frame), and the encoded code stream is transmitted to a decoding end. For the inactive voice frame on which the SID frame encoding is not performed, an invalid frame flag is transmitted to the decoding end.
In step 110, the decoding end generates a comfort noise signal according to a parameter transmitted by the encoding end.
It should be illustrated that, in the case of no conflict, the embodiments of this application and the features in the embodiments could be combined randomly with each other.
Of course, the technical solutions of the present document can further have a plurality of other embodiments. Without departing from the spirit and substance of the present document, those skilled in the art can make various corresponding changes and variations according to the present document, and all these corresponding changes and variations should belong to the protection scope of the appended claims in the present document.
Those of ordinary skill in the art can understand that all or part of steps in the above method can be implemented by programs instructing related hardware, and the programs can be stored in a computer readable storage medium, such as a read-only memory, disk or disc etc. Alternatively, all or a part of steps in the above embodiments can also be implemented using one or more integrated circuits. Accordingly, various modules/units in the above embodiments can be implemented in a form of hardware, or can also be implemented in a form of software functional module. The embodiments of the present document are not limited to any particular form of a combination of hardware and software.
The present solution can provide stable background noise parameters in a condition of unstable background noise, and especially in a condition of accurate judgment of VAD, it can better eliminate the bloop introduced by processing in a comfort noise synthesized by a decoding terminal in a comfort noise generation system,
Number | Date | Country | Kind |
---|---|---|---|
2011 1 0386821 | Nov 2011 | CN | national |
2012 1 0037152 | Feb 2012 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2012/085286 | 11/26/2012 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2013/078974 | 6/6/2013 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6115684 | Kawahara | Sep 2000 | A |
8081695 | Chrabieh | Dec 2011 | B2 |
20040204934 | Stephens et al. | Oct 2004 | A1 |
20080219339 | Chrabieh | Sep 2008 | A1 |
20090024387 | Chandran | Jan 2009 | A1 |
20110015923 | Dai | Jan 2011 | A1 |
20110125490 | Furuta | May 2011 | A1 |
Number | Date | Country |
---|---|---|
1513168 | Jul 2004 | CN |
101087319 | Dec 2007 | CN |
101366077 | Feb 2009 | CN |
102201241 | Sep 2011 | CN |
0786760 | Jul 1997 | EP |
Entry |
---|
International Search Report for PCT/CN2012/085286 dated Jan. 15, 2013. |
Number | Date | Country | |
---|---|---|---|
20140358527 A1 | Dec 2014 | US |