This application claims the benefit of Korean Patent Application No. 10-2004-0117965, filed on Dec. 31, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to speech encoding and decoding, and more particularly, to a high-band speech encoding apparatus and a high-band speech decoding apparatus in wideband speech encoding and decoding with a bandwidth extension function, and a high-band speech encoding and decoding methods performed by the apparatuses.
2. Description of Related Art
As the field of application of speech communications broadens, and the transmission speed of networks improves, and the necessity for high-quality speech communications becomes more imminent. The transmission of a wide-band speech signal having a frequency range of 0.3 to 7 kHz, which is excellent in various aspects such as naturalness and clearness compared to an existing speech communication frequency range of 0.3 to 3.4 kHz, will be required.
On a network side, a packet switching network which transmits data on a packet-by-packet basis may cause congestion in a channel, and consequently, damage to packets and degradation of the quality of sound may occur. To solve these problems, a technique of hiding a damaged packet is used, but this is not a fundamental solution.
Accordingly, a wideband speech encoding/decoding technique that can effectively compress the wideband speech signal and also solve the congestion of a channel has been proposed.
Currently-proposed wideband speech encoding/decoding techniques may be classified into a technique of encoding a complete speech signal having a frequency range of 0.3 to 7 kHz all at a time and decoding the encoded speech signal and a technique of hierarchically encoding frequency ranges of 0.3 to 4 kHz and 4 to 7 kHz into which the speech signal having the frequency range of 0.3 to 7 kHz is divided, and decoding the encoded speech signal. The latter technique is a wideband speech encoding and decoding technique using a bandwidth extension function that achieves optimal communication under a given channel environment by adjusting the amount of data transmitted by layers according to a degree of congestion of a channel.
In the wideband speech encoding using the bandwidth extension function, a high-band speech signal having a frequency range of 4 to 7 kHz is encoded using a modulated lapped transform (MLT) technique. A high-band speech encoding apparatus employing the MLT technique is the same as a high-band speech encoding apparatus 100 shown in
Referring to
The 2D-DCT module 102 extracts 2D-DCT coefficients from the amplitude of the received MLT coefficient and outputs the 2D-DCT coefficients to a DCT coefficient quantizer 104. The DCT coefficient quantizer 104 orders the 2D-DCT coefficients from a 2D-DCT coefficient with a largest amplitude to a 2D-DCT coefficient with a smallest amplitude, quantizes the ordered 2D-DCT coefficients, and outputs a codebook index for the quantized 2D-DCT coefficients. The sign quantizer 103 quantizes a sign of the MLT coefficient having the largest amplitude.
The codebook index and the quantized sign are transmitted to a high-band speech decoding apparatus 110, which decodes the encoded high-band speech signal through a process performed in the opposite order to the process of the high-band speech encoding apparatus 100 and outputs a decoded high-band speech signal.
However, when a speech signal is transmitted at a low bitrate, the high-band speech signal encoding based on the MLT technique cannot guarantee restoration of high-quality sound. As the bitrate decreases, the degradation of sound restoration performance becomes prominent.
An aspect of the present invention provides a high-band speech encoding apparatus and a high-band speech decoding apparatus that can reproduce high quality sound even at a low bitrate in wideband speech encoding and decoding having a bandwidth extension function, and a high-band speech encoding and decoding method performed by the apparatuses.
An aspect of the present invention also provides a high-band speech encoding apparatus and a high-band speech decoding apparatus whose operations depend on whether a high-band speech signal includes a harmonic component in wideband speech encoding and decoding having a bandwidth extension function, and a high-band speech encoding and decoding method performed by the apparatuses.
An aspect of the present invention also provides a high-band speech encoding apparatus and a high-band speech decoding apparatus that can obtain an accurate harmonic amplitude and phase independently of a frequency resolution and complexity in wideband speech encoding and decoding having a bandwidth extension function, and a high-band speech encoding and decoding method performed by the apparatuses.
According to an aspect of the present invention, there is provided a high-band speech encoding apparatus in a wideband speech encoding system, the apparatus comprising: a first encoding unit encoding a high-band speech signal based on a structure in which a harmonic structure and a stochastic structure are combined, if the high-band speech signal has a harmonic component; and a second encoding unit encoding a high-band speech signal based on a stochastic structure if the high-band speech signal has no harmonic components.
According to another aspect of the present invention, there is provided a wideband speech encoding system comprising: a band division unit dividing a speech signal into a high-band speech signal and a low-band speech signal; a low-band speech signal encoding apparatus encoding the low-band speech signal received from the band division unit and outputting a pitch value of the low-band speech signal that is detected through the encoding; and a high-band speech signal encoding apparatus encoding the high-band speech signal using the high-band and low-band speech signals received from the band division unit and the pitch value of the low-band speech signal.
According to another aspect of the present invention, there is provided a high-band speech decoding apparatus comprising: a first decoding unit decoding a high-band speech signal based on a combination of a harmonic structure and a stochastic structure using received first decoding information; a second decoding unit decoding the high-band speech signal based on a stochastic structure using received second decoding information; and a switch outputting one of the decoded high-band speech signals received from the first and second decoding units according to received mode selection information.
According to another aspect of the present invention, there is provided a wideband speech decoding system comprising: a high-band speech signal decoding apparatus decoding a high-band speech signal using decoding information received via a channel using one of a stochastic structure and a combination of a harmonic structure and the stochastic structure; a low-band speech signal decoding apparatus decoding a low-band speech signal using decoding information received via the channel; and a band combination unit combining the decoded high-band speech signal with the decoded low-band speech signal to output a decoded speech signal.
According to another aspect of the present invention, there is provided a high-band speech encoding method in a wideband speech encoding system, comprising: determining whether a high-band speech signal and a low-band speech signal have harmonic components; encoding the high-band speech signal based on a combination of a harmonic structure and a stochastic structure if both the high-band and low-band speech signals have harmonic components; and encoding the high-band speech signal based on a stochastic structure if any one of the high-band and low-band speech signals does not have a harmonic component.
According to another aspect of the present invention, there is provided a high-band speech decoding method, comprising: analyzing mode selection information included in received decoding information; decoding a high-band speech signal based on the received decoding information using a combination of a harmonic structure and a stochastic structure if the mode selection information represents a mode in which a harmonic structure and a stochastic structure are combined; and decoding the high-band speech signal based on the received decoding information using a stochastic structure if the mode selection information represents a stochastic structure.
Additional and/or other aspects and advantages of the present invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Additional and/or other aspects and advantages of the present invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention:
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
The band division unit 201 divides a received speech signal into a high-band speech signal and a low-band speech signal. The received speech signal may have a 16-bit linear pulse code modulation (PCM) format. The band division unit 201 outputs the high-band speech signal to the high-band speech encoding apparatus 202 and the low-band speech signal to both the high-band speech encoding apparatus 202 and the low-band speech encoding apparatus 203.
The high-band speech encoding apparatus 202 encodes the high-band speech signal. To do this, the high-band speech encoding apparatus 202 may be constructed as shown in
Referring to
The zero-state high-band speech signal generating unit 300 transforms the high-band speech signal into a zero-state high-band speech signal. To do this, the zero state high-band speech signal production unit 300 includes a sixth-order linear prediction coefficient (LPC) analyser 301, an LPC quantizer 302, a perceptually weighted synthesis filter 303, a perceptual weighting filter 304, and a subtractor 305.
When the high-band speech signal is received, the sixth-order LPC analyzer 301 obtains 6 LPCs using an autocorrelation technique and a Levison-Durbin algorithm. The 6 LPCs are transmitted to the LPC quantizer 302.
The LPC quantizer 302 transforms the 6 LPCs into line spectral pair (LSP) vectors and quantizes the LSP vectors using a multi-level vector quantizer. The LPC quantizer 302 transforms the quantized LSP vectors back into the LPCs and outputs the LPCs to the perceptually weighted synthesis filter 303. The quantized LSP vectors are output as an LPC index to the channel 210.
The perceptually weighted synthesis filter 303 generates a response signal for an input “0” according to the LPCs received from the LPC quantizer 302 and outputs the response signal to the subtractor 305.
The perceptual weighting filter 304 outputs a perceptually weighted speech signal corresponding to the received high-band speech signal using the 6 LPCs from the sixth-order LPC analyzer 301. The perceptual weighting filter 304 produces quantization noise at a level less than or equal to a masking level by using a hearing masking effect. The perceptually weighted speech signal is transmitted to the subtractor 305.
The subtractor 305 outputs a perceptually weighted speech signal from which the response signal for the “0” input is subtracted. Hence, the perceptually weighted speech signal output by the subtractor 305 is a zero-state high-band speech signal. The perceptually weighted zero-state high-band speech signal output by the subtractor 305 is transmitted to the mode selection unit 306 and the switch 307.
The mode selection unit 306 determines whether the high-band speech signal has a harmonic component using the perceptually weighted zero-state high-band speech signal received from the subtractor 305 and the low-band speech signal received from the band division unit 201, and outputs mode selection information depending on the result of the determination.
More specifically, the mode selection unit 306 obtains predetermined characteristic values of the perceptually weighted zero-state high-band speech signal received from the subtractor 305 and predetermined characteristic values of the low-band speech signal received from the band division unit 201. These characteristic values may be a sharpness rate, a signal left-to-right energy ratio, a zero-crossing rate, and a first-order prediction coefficient.
When the perceptually weighted zero-state high-band speech signal received from the subtractor 305 is s(n), the mode selection unit 306 calculates a sharpness rate, Sr, of the perceptually weighted zero-state high-band speech signal using Equation 1:
wherein Lsf denotes the length of a sub-frame. The length of a sub-frame may be expressed as the number of samples. A sub-frame is a part of a frame, and a frame may be divided into two sub-frames.
Next, the mode selection unit 306 calculates a left-to-right energy rate, Er, of the perceptually weighted zero-state high-band speech signal s(n) using Equation 2:
Thereafter, the mode selection unit 306 calculates a zero-crossing rate, Zr, which denotes a degree to which a sign of the perceptually weighted zero-state high-band speech signal s(n) changes per sub-frame, using Equation 3:
As shown in Equation 3, the zero-crossing rate Zr for each sub-frame starts from 0. Since the zero-crossing rate is detected during each sub-frame, i ranges from Lsf−1 to 1. If a product of an output signal, s(i), of an i-th subtractor 305 and an output signal, s(i−1), of an (i−1)th subtractor 305 is less than 0, zero crossing occurs. Hence, the zero-crossing rate Zr increases by one. The zero-crossing rate Zr of a high-band speech signal in a sub-frame is obtained by dividing the zero-crossing rate Zr finally detected in the sub-frame by the length, Lsf, of the sub-frame.
Finally, the mode selection unit 306 calculates a first-order prediction coefficient, Cr, of the perceptually weighted zero-state high-band speech signal s(n) using Equation 4:
As the correlation between adjacent samples increases, the first-order prediction coefficient Cr increases. As the correlation between adjacent samples decreases, the first-order prediction coefficient Cr decreases.
The mode selection unit 306 compares the characteristic values Sr, Er, Zr, and Cr detected during each sub-frame with pre-set characteristic threshold values TS, TE, TZ, and TC to determine whether the conditions defined in Equation 5 are satisfied:
Sr<TS, Er<TE, Zr<TZ, and Cr<TC (5)
If the conditions defined in Equation 5 are satisfied, the mode selection unit 306 determines that the high-band speech signal has a harmonic component.
The mode selection unit 306 also obtains four characteristic values per sub-frame for the low-band speech signal as defined in Equations 1 through 4.
More specifically, the mode selection unit 306 compares the characteristic values of the low-band speech signal obtained using Equations 1 through 4 with pre-set threshold characteristic values for the low-band speech signal to determine whether the conditions defined in Equation 5 are satisfied. If the conditions defined in Equation 5 are satisfied, the mode selection unit 306 determines that the low-band speech signal has a harmonic component.
On the other hand, if the conditions defined in Equation 5 are not satisfied, the mode selection unit 306 determines that the low-band speech signal has no harmonic components.
When it is determined that both the high-band speech signal and the low-band speech signal include harmonic components, the mode selection unit 306 outputs mode selection information that controls the switch 307 to transmit the perceptually weighted zero-state high-band speech signal received from the subtractor 305 to the first encoding unit 308. Otherwise, the mode selection unit 306 outputs mode selection information that controls the switch 307 to transmit the perceptually weighted zero-state high-band speech signal received from the subtractor 305 to the second encoding unit 309. The mode selection information is also transmitted to the channel 210.
The first encoding unit 308 synthesizes an excitation signal and the perceptually weighted zero-state high-band speech signal by combining a harmonic structure and a stochastic structure during each sub-frame. Accordingly, the first encoding unit 308 may be defined as an excitation signal synthesizing unit.
Referring to
The first perceptually weighted inverse-synthesis filter 401, the sine wave dictionary amplitude and phase searcher 402, the sine wave amplitude quantizer 403, the sine wave phase quantizer 404, the composite speech exciting signal generator 405, the multiplier 406, the perceptually weighted synthesis filter 407, and the subtractor 408 constitute a harmonic structure. The second perceptually weighted inverse-synthesis filter 410, the open loop stochastic codebook searcher 411, and the closed loop stochastic codebook searcher 412 constitute a stochastic structure.
The first perceptually weighted inverse-synthesis filter 401 receives the perceptually weighted zero-state high-band speech signal and obtains an ideal LPC exciting signal, rh, using Equation 6:
wherein x(i) denotes the perceptually weighted zero-state high-band speech signal, and h′ (n−i) denotes an impulse response of the first perceptually weighted inverse-synthesis filter 401. The first perceptually weighted inverse-synthesis filter 401 obtains the ideal LPC excitation signal rh by convoluting x(i) and h′ (n−i).
Since the ideal LPC excitation signal rh is a target signal for searching for an amplitude and phase of a sine wave dictionary, the ideal LPC excited signal is transmitted to the sine wave dictionary amplitude and phase searcher 402.
The sine wave dictionary amplitude and phase searcher 402 searches for the amplitude and phase of the sine wave dictionary using a matching pursuit (MP) algorithm. A harmonic exciting signal, eMP, based on a sine wave dictionary may be defined as in Equation 7:
wherein Ak denotes the amplitude of a k-th sine wave, ωk denotes the angular frequency of the k-th sine wave, φk denotes the phase of the k-th sine wave, and K denotes the number of sine wave dictionaries.
The sine wave dictionary amplitude and phase searcher 402 obtains an angular frequency ωk of a sine wave dictionary using a pitch value, tp, of the low-band speech signal provided by the low-band speech encoding apparatus 203 before searching for the amplitude and phase of the sine wave dictionary using the MP algorithm. In other words, the angular frequency ωk is obtained using Equation 8:
The sine wave dictionary amplitude and phase searcher 402, which is based on the MP algorithm, searches for the amplitude and phase of a sine wave dictionary by repeating a process of extracting a component amplitude by reflecting a k-th target signal in a k-th dictionary and a process of producing a (k+1)th target signal by applying the extracted component amplitude to the k-th target signal. The search for the amplitude and phase of the sine wave dictionary using the MP algorithm may be defined as in Equation 9:
wherein rh,k denotes a k-th target signal, and Ek denotes a value obtained by applying a hamming window Wham to a mean squared error between the k-th object signal rh,k and a k-th sine wave dictionary. If k is 0, the k-th target signal rh,k is the ideal LPC excitation signal. Ak and φk that minimize the value Ek may be given by Equation 10:
After amplitudes and phases of all of the K sine wave dictionaries are found, amplitude vectors of the sine wave dictionaries are output to the sine wave amplitude quantizer 403, and phase vectors of the sine wave dictionaries are output to the sine wave phase quantizer 404.
Referring to
The sine wave amplitude normalizer 501 normalizes the sine wave amplitude output from the sine wave dictionary amplitude and phase searcher 402 using Equation 11:
wherein A′k denotes the normalized k-th sine wave amplitude, and a sine wave amplitude normalization factor is the denominator of Equation 11. The sine wave amplitude normalization factor is a scalar value and supplied to the gain quantizer 409 of
The MDCT unit 502 performs MDCT on the normalized sine wave amplitude A′k as shown in Equation 12:
wherein Ck denotes a k-th DCT coefficient vector of the normalized k-th sine wave amplitude A′k. A′n in Equation 12 is the normalized k-th sine wave amplitude A′k. The k-th DCT coefficient vector Ck is output to the coefficient vector quantizer 503. The coefficient vector quantizer 503 quantizes the DCT coefficients using a split vector quantization technique and selects an optimal candidate DCT coefficient vectors. At this time, four DCT coefficient vectors may be selected as the optimal candidate DCT coefficient vectors.
The selected candidate DCT coefficient vectors are output to the IMDCT unit 504. The IMDCT unit 504 obtains quantized sine wave amplitude vectors by substituting the selected candidate DCT coefficient vectors into Equation 13:
wherein AEk denotes a vector obtained by performing IMDCT on a quantized candidate DCT coefficient vector ĉ, which is a quantized sine wave amplitude vector. The quantized sine wave amplitude vector is output to the subtractor 505.
The subtractor 505 calculates the difference between the normalized sine wave amplitude vector A′k received from the sine wave amplitude normalizer 501 and the quantized sine wave amplitude vector AEk as an error vector and transmits the error vector to the residual amplitude quantizer 506.
The residual amplitude quantizer 506 quantizes the received error vector and outputs the quantized error vector to the adder 507. The adder 507 adds the quantized error vector received from the residual amplitude quantizer 506 to an IMDCTed sine wave amplitude vector AEk corresponding to the quantized error vector to obtain a final quantized sine wave dictionary amplitude vector.
When receiving quantized sine wave dictionary amplitude vectors for the candidate DCT coefficient vectors detected by the MDCT unit 502 from the adder 507, the optimal vector selector 508 selects a quantized sine wave dictionary amplitude vector most similar to the original sine wave dictionary amplitude vector among quantized sine wave dictionary amplitude vectors output by the adder 507 and outputs the selected quantized sine wave dictionary amplitude vectors. The selected quantized sine wave dictionary amplitude vector is transmitted to the composite speech exciting signal generator 405. The selected quantized sine wave dictionary amplitude vector is also transmitted to the channel 210 to serve as a quantized sine wave dictionary amplitude index.
Referring back to
The synthesized excitation signal generator 405 outputs a synthesized excitation signal (or a synthesized excitation speech signal) based on the quantized sine wave dictionary amplitude vector received from the sine wave amplitude quantizer 403 and the quantized sine wave dictionary phase vector received from the sine wave phase quantizer 404. In other words, when the quantized sine wave dictionary amplitude vector is Â, and the quantized sine wave dictionary phase vector is {circumflex over (φ)}, the synthesized excitation signal generator 405 can obtain a synthesized excitation signal {circumflex over (rh)} as in Equation 14:
The synthesized excitation signal {circumflex over (rh)} is output to the multiplier 406. The multiplier 406 multiplies a quantized sine wave amplitude normalization factor output by the gain quantizer 409 by the synthesized excitation signal {circumflex over (rh)} output by the synthesized excitation signal generator 405 and outputs a result of the multiplication to the perceptually weighted synthesis filter 407.
The perceptually weighted synthesis filter 407 convolutes a harmonic excitation signal, which is the result of the multiplication of the quantized sine wave amplitude normalization factor by the synthesized excitation signal {circumflex over (rh)}, and an impulse response h(n) of the perceptually weighted synthesis filter 407 using Equation 15 to obtain a synthesized signal based on a harmonic structure:
wherein {circumflex over (gh)} denotes a quantized sine wave amplitude normalization factor transmitted from the gain quantizer 409 to the multiplier 406. The synthesized signal based on the harmonic structure is output to the subtractor 408.
The subtractor 408 obtains a residual signal by subtracting the synthesized signal based on the harmonic structure received from the perceptually weighted synthesis filter 407 from the received perceptually weighted zero-state high-band speech signal.
The residual signal obtained by the subtractor 408 is used to search for a codebook through an open loop search and a closed loop search. In other words, the residual signal obtained by the subtractor 408 is input to the second perceptually weighted inverse-synthesis filter 410 to perform an open loop search. The second perceptually weighted inverse-synthesis filter 410 produces a second-order ideal excitation signal by convoluting an impulse response of the second perceptually weighted inverse-synthesis filter 410 and the residual signal received from the subtractor 408 using Equation 16:
wherein x2 denotes the residual signal output by the subtractor 408, and rs denotes the second-order ideal excitation signal.
The second-order ideal excitation signal produced by the second perceptually weighted inverse-synthesis filter 410 is transmitted to the open loop stochastic codebook searcher 411. The open loop stochastic codebook searcher 411 selects a plurality of candidate stochastic codebooks from stochastic codebooks by using the second-order ideal excitation signal as a target signal. The candidate stochastic codebooks found by the open loop stochastic codebook searcher 411 are transmitted to the closed loop stochastic codebook searcher 412.
The closed loop stochastic codebook searcher 412 produces a speech level signal by convoluting the impulse response of the perceptually weighted synthesis filter 407 and the candidate stochastic codebooks found by the open loop stochastic codebook searcher 411. A gain, gs, between the produced speech level signal, y2, and the residual signal, x2, provided by the subtractor 408 is calculated using Equation 17:
Then, the closed loop stochastic codebook searcher 412 calculates a mean squared error, Emse, from the residual signal x2 and a product of the gain gs and the speech level signal y2 using Equation 18:
A candidate stochastic codebook for which the mean squared error is minimal is selected from the candidate stochastic codebooks found by the open loop stochastic codebook searcher 411. A gain corresponding to the selected candidate stochastic codebook is transmitted to the gain quantizer 409 and quantized thereby. An index for the selected candidate stochastic codebook is output as a stochastic codebook index to the channel 210.
The gain quantizer 409 2-dimensionally (2D) vector quantizes the sine wave amplitude normalization factor received from the sine wave amplitude quantizer 403 and the stochastic codebook gain received from the closed loop stochastic codebook searcher 412 and outputs the quantized sine wave amplitude normalization factor to the multiplier 406 and the quantized stochastic codebook gain to the channel 210. The quantized stochastic codebook gain serves as a gain index.
Referring back to
Referring to
The perceptually weighted inverse-synthesis filter 601 generates the ideal excitation signal rs by convoluting the received perceptually weighted zero-state high-band speech signal x(i) and an impulse response h′(n) of the perceptually weighted inverse-synthesis filter 601 as shown in Equation 19:
When receiving the ideal excitation signal rs, the candidate stochastic codebook searcher 602 selects candidate codebooks having high cross correlations by obtaining a cross correlation, c(i), between the ideal excitation signal rs(n) and each of the stochastic codebooks existing in the stochastic codebook 603 as in Equation 20:
wherein r′i (n) denotes an i-th stochastic codebook included in the stochastic codebook 603.
The stochastic codebook 603 may include a plurality of stochastic codebooks.
When receiving the selected candidate stochastic codebooks from the stochastic codebook 603, the multiplier 604 multiplies the selected candidate stochastic codebooks by a gain received from the optimal stochastic codebook searcher 607.
The perceptually weighted synthesis filter 605 convolutes candidate stochastic codebooks multiplied by the gain with an impulse response hi(n−j) as shown in Equation 21:
wherein gi denotes the gain provided by the optimal stochastic codebook searcher 607 to the multiplier 604. The perceptually weighted synthesis filter 605 outputs a synthesized signal obtained by convoluting the candidate stochastic codebooks with the impulse response hi(n−j).
The subtractor 606 outputs to the optimal stochastic codebook searcher 607 a difference signal obtained from the difference between the received perceptually weighted zero-state high-band speech signal and the synthesized signal obtained by the perceptually weighted synthesis filter 605.
Based on the received difference signal, the optimal stochastic codebook searcher 607 searches for an optimal stochastic codebook from the candidate stochastic codebooks found by the candidate stochastic codebook searcher 602.
In other words, the optimal stochastic codebook searcher 607 selects as the optimal stochastic codebook a candidate stochastic codebook corresponding to the smallest difference signal generated by the subtractor 606. The selected stochastic codebook is an optimal excitation signal. A gain corresponding to the optimal stochastic codebook selected by the optimal stochastic codebook searcher 607 is transmitted to the gain quantizer 608 and the multiplier 604.
Also, when the optimal stochastic codebook is selected, the optimal stochastic codebook searcher 607 outputs an index for the selected stochastic codebook to the channel 210 of
The gain quantizer 608 quantizes the received gain and outputs the quantized gain as a gain index to the channel 210 of
The high-band speech encoding apparatus 202 of
Referring to
The channel 210 transmits decoding information received from the high-band and low-band speech encoding apparatuses 202 and 203 to the speech decoding apparatus 220. The decoding information may be transmitted in a packet form.
As shown in
The high-band speech decoding apparatus 221 outputs a high-band speech signal decoded according to the decoding information received from the channel 210. To do this, the high-band speech decoding apparatus 221 is constructed as shown in
Referring to
The first decoding unit 700, which is a combination of a harmonic structure and a stochastic structure, decodes an encoded high-band speech signal using the decoding information received via the channel 210 of
The first decoding unit 700 includes a gain dequantizer 701, a sine wave amplitude decoder 702, a sine wave phase decoder 703, a stochastic codebook 704, multipliers 705 and 707, a harmonic signal reconstructor 706, an adder 708, and a synthesis filter 709.
The gain dequantizer 701 receives the gain index, dequantizes the same, and outputs a quantized sine wave amplitude normalization factor.
The sine wave amplitude decoder 702 receives the sine wave dictionary amplitude index, obtains a quantized sine wave dictionary amplitude for the sine wave dictionary amplitude index through an IMDCT process, decodes the quantized sine wave dictionary amplitude, and adds the decoded sine wave dictionary amplitude to the quantized sine wave dictionary amplitude to detect a quantized sine wave dictionary amplitude.
The sine wave phase decoder 703 receives the sine wave dictionary phase index and outputs a quantized sine wave dictionary phase corresponding to the sine wave dictionary phase index.
The stochastic codebook 704 receives the stochastic codebook index and outputs a stochastic codebook corresponding to the stochastic codebook index. The stochastic codebook 704 may include a plurality of stochastic codebooks.
The multiplier 705 multiplies the quantized normalization factor output from the gain dequantizer 701 by the quantized sine wave dictionary amplitude output from the sine wave amplitude decoder 702.
The harmonic signal reconstructor 706 reconstructs a harmonic signal using a quantized sine wave dictionary amplitude vector, Â, which is a result of the multiplication by the multiplier 705, and a quantized sine wave dictionary phase vector {circumflex over (φ)}, using Equation 14. The harmonic signal is output to the adder 708.
The multiplier 707 multiplies the quantized stochastic codebook gain output from the gain dequantizer 701 by the stochastic codebook output from the stochastic codebook 704 to produce an excitation signal.
The adder 708 adds the harmonic signal output by the harmonic signal reconstructor 706 to the excitation signal output by the multiplier 707.
The synthesis filter 709 synthesis-filters a signal output by the adder 708 using a quantized LPC received from the LPC dequantizer 710 and outputs a decoded high-band speech signal. The decoded high-band speech signal is transmitted to the switch 730.
In response to the LPC index, the LPC dequantizer 710 outputs the quantized LPC corresponding to the LPC index. The quantized LPC is transmitted to the synthesis filter 709 and a synthesis filter 724 of the second decoding unit 720 to be described below.
The second decoding unit 720, which has a harmonic structure, produces a decoded high-band speech signal using the decoding information received via the channel 210. Hence, the second decoding unit 720 operates when the mode selection information received via the channel 210 of
The second decoding unit 720 includes a stochastic codebook 721, a gain dequantizer 722, a multiplier 723, and a synthesis filter 724.
The stochastic codebook 721 receives the stochastic codebook index and outputs a stochastic codebook corresponding to the stochastic codebook index. The stochastic codebook 721 may include a plurality of stochastic codebooks.
The gain dequantizer 722 receives the gain index and outputs a quantized gain corresponding to the gain index.
The multiplier 723 multiplies the quantized gain by the stochastic codebook.
The synthesis filter 724 synthesis-filters a stochastic codebook multiplied by the gain using the quantized LPC received from the LPC dequantizer 710 and outputs a decoded high-band speech signal. The decoded high-band speech signal is transmitted to the switch 730.
The switch 730 transmits one of the decoded high-band speech signals received from the first and second decoding units 700 and 720 according to received mode selection information. In other words, if the received mode selection information represents a combination of a harmonic structure and a stochastic structure, the decoded high-band speech signal received from the first decoding unit 700 is output as a decoded high-band speech signal. If the received mode selection information represents a stochastic structure, the decoded high-band speech signal received from the second decoding unit 720 is output as the decoded high-band speech signal.
Referring to
The low-band speech decoding apparatus 222 decodes the encoded low-band speech signal using decoding information about low-band speech decoding received via the channel 210. The structure of the low-band speech decoding apparatus 222 corresponds to that of the low-band speech encoding apparatus 203.
The band combining unit 223 outputs a decoded speech signal by combining the decoded high-band speech signal output by the high-band speech decoding apparatus 221 and the decoded low-band speech signal output by the low-band speech decoding apparatus 222.
In operation 802, it is determined whether the perceptually weighted zero-state high-band speech signal and the low-band speech signal have harmonic components. More specifically, as described above, the mode selection unit 306 of
If it is determined in operation 803 that the perceptually weighted zero-state high-band speech signal and the low-band speech signal have harmonic components, the zero-state high-band speech signal is encoded using a combination of a harmonic structure and a stochastic structure as described above with reference to
On the other hand, if it is determined in operation 805 that either of the perceptually weighted zero-state high-band speech signal and the low-band speech signal does not have a harmonic component, the zero-state high-band speech signal is encoded using a stochastic structure as described above with reference to
As described above, information used to decode an encoded high-band speech signal is transmitted to a speech signal decoding apparatus or a wideband speech signal decoding apparatus via a channel. At this time, information used to decode an encoded low-band speech signal is also transmitted to the speech signal decoding apparatus or the wideband speech signal decoding apparatus.
If it is determined in operation 902 that the mode selection information represents a mode in which a harmonic structure and a stochastic structure are combined, a high-band speech decoding apparatus, such as, the first decoding unit 700 illustrated in
On the other hand, if it is determined in operation 902 that the mode selection information represents a stochastic structure mode, a high-band speech decoding apparatus, such as, the second decoding unit 720 illustrated in
Programs for executing a high-band speech encoding method and a high-band speech decoding method according to the above-described embodiments of the present invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet).
The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. Also, functional programs, codes, and code segments for accomplishing the high-band speech encoding and decoding method can be easily construed by programmers skilled in the art to which the present invention pertains.
When a wideband speech encoding and decoding system having a bandwidth extension function according to the above-described embodiments of the present invention performs high-band speech encoding and decoding, if a high-band speech signal and a low-band speech signal have harmonic components, the high-band speech signal is encoded and decoded based on a structure in which a harmonic structure and a stochastic structure is combined. The harmonic structure searches for an amplitude and a phase of a sine wave dictionary using a matching pursuit (MP) algorithm. Hence, the wideband speech encoding and decoding system according to the present invention can reproduce high-quality sound at a low bitrate and with low complexity. Consequently, a narrowband encoding and decoding apparatus having a low transmission rate can be obtained.
In addition, since encoding is based on a harmonic structure using MP sine wave dictionaries, the wideband speech encoding and decoding system is less sensitive to a frequency resolution than when encoding is based on a harmonic structure using fast Fourier transform (FFT).
Although a few embodiments of the present invention have been shown and described, the present invention is not limited to the described embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2004-0117965 | Dec 2004 | KR | national |