EP3998607B1 - Speech decoder - Google Patents

Speech decoder Download PDF

Info

Publication number
EP3998607B1
EP3998607B1 EP21217818.0A EP21217818A EP3998607B1 EP 3998607 B1 EP3998607 B1 EP 3998607B1 EP 21217818 A EP21217818 A EP 21217818A EP 3998607 B1 EP3998607 B1 EP 3998607B1
Authority
EP
European Patent Office
Prior art keywords
frequency band
time envelope
low frequency
high frequency
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP21217818.0A
Other languages
German (de)
French (fr)
Other versions
EP3998607A1 (en
Inventor
Kei Kikuiri
Atsushi Yamaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of EP3998607A1 publication Critical patent/EP3998607A1/en
Application granted granted Critical
Publication of EP3998607B1 publication Critical patent/EP3998607B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • G10L21/0388Details of processing therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information

Definitions

  • the present invention relates to a speech decoder.
  • Speech and audio coding technologies that compress the amount of data in a signal to one-several tenths by removing information which is not necessarily perceived by a human according to the auditory psychology is a significantly important technology in connection with transmission and accumulation of signals.
  • An example of widely used perceptual audio coding techniques is MPEG4 AAC (Advanced Audio Coding) standardized by ISO/IEC MPEG (Moving Picture Experts Group).
  • a bandwidth extension technology that generates high frequency band components of a speech using low frequency band components there of has been widely used recently.
  • a typical example of the bandwidth extension technology is the SBR (Spectral Band Replication) technology used in MPEG4 AAC.
  • the SBR technology generates high frequency band components by performing, on a signal transformed into the frequency domain by QMF (Quadrature Mirror Filter) bank, copying spectral coefficients from a low frequency band to a high frequency band and thereafter adjusts the high frequency band components by adjusting the spectral envelope and tonality of the replicated coefficients.
  • QMF Quadrature Mirror Filter
  • Adjustment of the spectral envelope and tonality will be referred hereinafter to as "adjustment of frequency envelope".
  • the speech encoding method using such a bandwidth extension technology can reproduce high frequency band components of a signal using only a small amount of supplementary information , and it is thus effective to achieve lower bit rate of speech coding.
  • the following method acquires the electric power of low frequency band components for each time slot of a frequency domain signal, extracts time envelope information from the acquired power, and superimposes the extracted time envelope information onto high frequency band components that are adjusted using supplementary information and then processed to adjust the frequency envelope.
  • This method is referred hereinafter to as "a method of time envelope deformation". It is thereby possible to adjust the time envelope of a decoded signal to have a less distorted shape and obtain a reproduced signal with less pre-echo and post-echo.
  • US 2007/238415 A1 discloses a novel bandwidth extension technique that allows information to be encoded and decoded using a fractal self similarity model or an accurate spectral replacement model, or both. Also a multi-band temporal amplitude coding technique is disclosed, which is useful as an enhancement to any coding/decoding technique and helps with accurate reconstruction of the temporal envelope and employs a utility filterbank.
  • time envelope deformation process is performed using single time envelope information which is a function of time obtained from the signal in the QMF domain obtained from the low frequency band components, when the time envelope of the low frequency band components and the time envelope of the high frequency band components are not sufficiently correlated, it is difficult to adjust the waveform of the time envelope. As a result, pre-echoes and post-echoes in the decoded signal tend to be not sufficiently reduced .
  • the present invention has been made in view of the above problem and provides a speech decoder in which by adjusting the time envelope of a decoded signal to have a less distorted shape, a reproduced signal is obtained whose pre-echoes and post-echoes are sufficiently reduced.
  • a decoder is a speech decoder that decodes a coded sequence of an encoding speech signal.
  • the speech decoder for the invention pursued with this application is defined in claim 1.
  • the low frequency band signal is obtained from the coded sequence by demultiplexing and decoding, and the supplementary information for high frequency band generation and the time envelope information are obtained from the coded sequence by demultiplexing, decoding and dequantization.
  • the high frequency band components in the frequency domain are generated from the low frequency band signal transformed into the frequency domain using the supplementary information for high frequency band generation, and, after acquiring a plurality of low frequency band time envelopes by analyzing the low frequency band signal in the frequency domain, the high frequency band time envelope is calculated using the plurality of low frequency band time envelopes and the time envelope information.
  • the time envelope of the high frequency band components is adjusted by the calculated high frequency band time envelope, and the adjusted high frequency band components and the low frequency band signal are added together and thereby the time domain signal is output.
  • the waveform of the time envelope of the high frequency band components is adjusted with high accuracy by use of the correlation between the time envelopes of low frequency band components and the time envelope of high frequency band components.
  • the time envelope in the decoded signal is adjusted to have a less distorted shape, and therefore a reproduced signal can be obtained in which pre-echoes and post-echoes are sufficiently reduced .
  • the speech decoder further includes time envelope calculation control means for controlling at least one of (i) calculation of the low frequency band time envelopes in the first to Nth low frequency band time envelope calculation means and (ii) calculation of the high frequency band time envelope in the time envelope calculation means using the low frequency band signal transformed into the frequency domain by the frequency transformation means.
  • time envelope calculation control means it is possible to omit calculation of the low frequency band time envelopes or calculation of the high frequency band time envelope according to properties such as the power of the low frequency band signal, thereby reducing the amount of computation.
  • the speech decoder further includes time envelope calculation control an optional means for controlling calculation of the low frequency band time envelopes in the first to Nth low frequency band time envelope calculation means and, the speech decoder includes a means for controlling calculation of the high frequency band time envelope in the time envelope calculation means using the time envelope information acquired by the coded sequence decoding and dequantization means.
  • time envelope calculation control means it is possible to omit calculation of the low frequency band time envelopes or calculation of the high frequency band time envelope according to the time envelope information obtained from the coded sequence, thereby reducing the amount of computation.
  • the high frequency band coded sequence analysis means further acquires time envelope calculation control information
  • the speech decoder further includes time envelope calculation control means for controlling at least one of (i) calculation of the low frequency band time envelopes in the first to Nth low frequency band time envelope calculation means and (ii) calculation of the high frequency band time envelope in the time envelope calculation means using the time envelope calculation control information acquired by the high frequency band coded sequence analysis means.
  • time envelope calculation control means for controlling at least one of (i) calculation of the low frequency band time envelopes in the first to Nth low frequency band time envelope calculation means and (ii) calculation of the high frequency band time envelope in the time envelope calculation means using the time envelope calculation control information acquired by the high frequency band coded sequence analysis means.
  • the high frequency band coded sequence analysis means further acquires time envelope calculation control information
  • the coded sequence decoding and dequantization means further includes time envelope calculation control means which further acquires second frequency envelope information and determines, based on the time envelope calculation control information, whether to adjust the frequency envelope of the high frequency band components based on the second frequency envelope information and, when it is determined to adjust the frequency envelope, controls not to perform calculation of the low frequency band time envelopes by the first to Nth low frequency band time envelope calculation means and calculation of the high frequency band time envelope by the time envelope calculation means.
  • time-frequency envelope adjustment means processes, with a specified function, the high frequency band components of the speech signal generated by the high frequency band generation means. It is also preferred that the low frequency band time envelope calculation means processes, with a specified function, the acquired plurality of low frequency band time envelopes .
  • an encoder is a speech encoder that encodes a speech signal.
  • the speech encoder comprises frequency transformation means for transforming the speech signal into a frequency domain, down-sampling means for down-sampling the speech signal and acquiring a low frequency band signal, low frequency band encoding means for encoding the low frequency band signal acquired by the down-sampling means, first to Nth (N is an integer equal to or larger than two ) low frequency band time envelope calculation means for calculating a plurality of time envelopes of low frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, time envelope information calculation means for calculating, using the time envelopes of the low frequency band components calculated by the first to Nth low frequency band time envelope calculation means, time envelope information necessary to acquire a time envelope of high frequency band components of the speech signal transformed by the frequency transformation means, and supplementary information calculation means for analyzing the speech signal and calculating supplementary information for high frequency band generation to be used for generating high
  • the speech encoder further comprises quantization and encoding means for quantizing and encoding the supplementary information for high frequency band generation generated by the supplementary information calculation means and the time envelope information calculated by the time envelope information calculation means, coded sequence construction means for constructing a high frequency band coded sequence from the supplementary information for high frequency band generation and the time envelope information quantized and encoded by the quantization and encoding means, and multiplexing means for generating a coded sequence which multiplexes the low frequency band coded sequence, which is acquired by the low frequency band encoding means, and the high frequency band coded sequence, which is constructed by the coded sequence construction means .
  • an encoding method is a speech encoding method of encoding a speech signal.
  • the method comprises a frequency transformation step, performed by frequency transformation means, of transforming the speech signal into a frequency domain, a down-sampling step, performed by down-sampling means, of down-sampling the speech signal and acquiring a low frequency band signal, a low frequency band encoding step, performed by low frequency band encoding means, of encoding the low frequency band signal acquired by the down-sampling means, first to Nth (N is an integer equal to or larger than two) low frequency band time envelope calculation step, performed by first to Nth low frequency band time envelope calculation means, of calculating a plurality of time envelopes of low frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, time envelope information calculation step, performed by time envelope information calculation means, of calculating, using the time envelopes of the low frequency band components calculated by the first to Nth low frequency band time
  • the method further comprises a quantization and encoding step, performed by quantization and encoding means, of quantizing and encoding the supplementary information for high frequency band generation generated by the supplementary information calculation means and the time envelope information calculated by the time envelope information calculation means, a coded sequence construction step, performed by coded sequence construction means, of constructing a high frequency band coded sequence from the supplementary information for high frequency band generation and the time envelope information quantized and encoded by the quantization and encoding means, and a multiplexing step, performed by multiplexing means, of generating a coded sequence which multiplexes the low frequency band coded sequence acquired by the low frequency band encoding means and the high frequency band coded sequence constructed by the coded sequence construction means .
  • an encoding program is a speech encoding program that encodes a speech signal
  • the program causes a computer to function as frequency transformation means for transforming the speech signal into a frequency domain, down-sampling means for down-sampling the speech signal and acquiring a low frequency band signal, low frequency band encoding means for encoding the low frequency band signal acquired by the down-sampling means, first to Nth (N is an integer equal to or larger than two ) low frequency band time envelope calculation means for calculating a plurality of time envelopes of low frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, time envelope information calculation means for calculating, using the time envelopes of the low frequency band components calculated by the first to Nth low frequency band time envelope calculation means, time envelope information necessary to acquire a time envelope of high frequency band components of the speech signal transformed by the frequency transformation means, and supplementary information calculation means for analyzing the speech signal and calculating supplementary information for high frequency band generation to
  • the program further causes the computer to function as quantization and encoding means for quantizing and encoding the supplementary information for high frequency band generation generated by the supplementary information calculation means and the time envelope information calculated by the time envelope information calculation means, coded sequence construction means for constructing a high frequency band coded sequence from the supplementary information for high frequency band generation and the time envelope information quantized and encoded by the quantization and encoding means, and multiplexing means for generating a coded sequence which multiplexes the low frequency band coded sequence acquired by the low frequency band encoding means and the high frequency band coded sequence constructed by the coded sequence construction means.
  • the low frequency band signal is obtained by down-sampling of a speech signal, and the low frequency band signal is encoded, while a plurality of time envelopes of low frequency band components are calculated based on the speech signal in the frequency domain, and using the plurality of time envelopes of low frequency band components, the time envelope information for acquiring the time envelope of high frequency band components is calculated. Further, the supplementary information for high frequency band generation for generating high frequency band components from the low frequency band signal is calculated, and, after the supplementary information for high frequency band generation and the time envelope information are quantized and encoded, the high frequency band coded sequence is constructed, which contains the supplementary information for high frequency band generation and the time envelope information .
  • the coded sequence is generated in which the low frequency band coded sequence and the high frequency band coded sequence are multiplexed . Accordingly, when the coded sequence is input to the decoder, a plurality of low frequency band time envelopes can be used on the decoder side for adjusting the time envelope of high frequency band components on the decoder side, and thereby the waveform of the time envelope of high frequency band components is adjusted with high accuracy, using the correlation between the time envelope of low frequency band components and the time envelope of high frequency band components on the decoder side. As a result, the time envelope in the decoded signal is adjusted to have a less distorted shape, and therefore a reproduced signal can be obtained on the decoder side in which pre-echoes and post-echoes are sufficiently reduced.
  • the speech encoder further includes frequency envelope calculation means for calculating frequency envelope information of the high frequency band components of the speech signal which is transformed into the frequency domain by the frequency transformation means, that the quantization and encoding means further quantizes and encodes the frequency envelope information, and that the coded sequence construction means constructs the high frequency band coded sequence by further adding the frequency envelope information quantized and encoded by the quantization and encoding means.
  • frequency envelope calculation means for calculating frequency envelope information of the high frequency band components of the speech signal which is transformed into the frequency domain by the frequency transformation means
  • the quantization and encoding means further quantizes and encodes the frequency envelope information
  • the coded sequence construction means constructs the high frequency band coded sequence by further adding the frequency envelope information quantized and encoded by the quantization and encoding means.
  • the speech encoder further includes control information generation means for generating time envelope calculation control information that controls time envelope calculation in a speech decoder using at least one of (i) the speech signal transformed into the frequency domain by the frequency transformation means and (ii) the time envelope information calculated by the time envelope information calculation means, and that the coded sequence construction means constructs the high frequency band coded sequence by further adding the time envelope calculation control information generated by the control information generation means.
  • control information generation means for generating time envelope calculation control information that controls time envelope calculation in a speech decoder using at least one of (i) the speech signal transformed into the frequency domain by the frequency transformation means and (ii) the time envelope information calculated by the time envelope information calculation means, and that the coded sequence construction means constructs the high frequency band coded sequence by further adding the time envelope calculation control information generated by the control information generation means.
  • the time envelope information calculation means calculates a time envelope of high frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, and calculates the time envelope information based on correlation between a time envelope calculated from the first to Nth time envelopes of low frequency band components and the time envelope of the frequency components.
  • the present invention it is possible to adjust the time envelope of a decoded signal to have a less distorted shape and thereby obtain a reproduced signal in which pre-echoes and post-echoes are sufficiently reduced.
  • Fig. 1 is a schematic block diagram of a speech decoder 1 according to a first embodiment of the invention
  • Fig. 2 is a flowchart showing a procedure of a speech decoding method implemented by the speech decoder 1.
  • the speech decoder 1 includes CPU, ROM, RAM, a communication device and the like, which are not shown, and the CPU loads a specified computer program (for example, a computer program for performing the process shown in the flowchart of Fig. 2 ) stored in an internal memory such as the ROM of the speech decoder 1 to the RAM and executes the program to exercise control over the speech decoder 1.
  • the communication device of the speech decoder 1 receives a multiplexed coded sequence that is output from the speech encoder 2, which will later be described , and outputs a decoded speech signal to the outside.
  • the speech decoder 1 functionally includes a demultiplexing unit (demultiplexing means) 1a, a low frequency band decoding unit (low frequency band decoding means) 1b, a band splitting filter bank unit (frequency transformation means) 1c, a coded sequence analysis unit (high frequency band coded sequence analysis means) 1d, a coded sequence decoding/dequantization unit (coded sequence decoding and dequantization means) 1e, first to n-th (n is an integer of two or more) low frequency band time envelope calculation unit (low frequency band time envelope calculation means) 1f l to 1f n , a time envelope calculation unit (time envelope calculation means) 1g, a high frequency band generation unit (high frequency band generation means) 1h, a time envelope adjustment unit (time envelope adjustment means) 1i, and a band synthesis filter bank unit (inverse frequency transformation means) 1j (1c to 1e and 1h to 1i are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)).
  • a demultiplexing unit
  • the respective units of the speech decoder 1 shown in Fig. 1 are functional units that are realized by the CPU of the speech decoder 1 executing a computer program stored in the internal memory of the speech decoder 1.
  • the CPU of the speech decoder 1 executes the computer program (uses the functional units of Fig. 1 ) and thereby sequentially executes the process shown in the flowchart of Fig. 2 (the process of Steps S01 to S10). It is assumed that various data required for execution of the computer program and various data generated through execution of the computer program are stored in the internal memory, such as ROM and RAM, of the speech decoder 1.
  • the demultiplexing unit 1a divides a multiplexed coded sequence that is input through the communication device of the speech decoder 1 into a low frequency band coded sequence and a high frequency band coded sequence by demultiplexing.
  • the low frequency band decoding unit 1b decodes the low frequency band coded sequence supplied from the demultiplexing unit 1a and obtains a decoded signal that contains only low frequency band components .
  • a method of decoding may be based on a speech coding method such as CELP (Code-Excited Linear Prediction) or based on audio coding such as AAC (Advanced Audio Coding) and TCX (Transform Coded Excitation). Further, it may be based on PCM (Pulse Code Modulation) coding. Furthermore, it may be based on a method that uses those coding methods switchably. In this embodiment, a method of coding is not particularly limited.
  • the band splitting filter bank unit 1c analyzes the decoded signal containing only low frequency band components supplied from the low frequency band decoding unit 1b and transforms the decoded signal into a signal in the frequency domain.
  • the signal in the frequency domain that corresponds to the low frequency band acquired by the band splitting filter bank unit 1c is represented as X dec (j,i) ⁇ 0 ⁇ j ⁇ k x , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ , where j is an index in the frequency direction, i is an index in the time direction, and k x is a nonnegative integer.
  • t is defined so that the range t(s) ⁇ i ⁇ t(s+1) of the signal X dec (j,i) with respect to the index i corresponds to the s-th (0 ⁇ s ⁇ s E ) frame.
  • s E is the number of all frames.
  • the above frame corresponds to the frame specified by the coding method to which the decoding method of the low frequency band decoding unit 1b conforms .
  • the above frame may correspond to so-called SBR frame or SBR envelope time segment in SBR used in "MPEG4 AAC" specified by "ISO/IEC 14496-3".
  • the time interval specified by the frame is not limited to the above example.
  • the above index i may correspond to a QMF subband subsample or a time slot equaling several subband samples in SBR used in "MPEG4 AAC" specified by "ISO/IEC 14496-3".
  • the coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and acquires coded supplementary information for high frequency band generation and coded time-frequency envelope information.
  • the coded sequence decoding/dequantization unit 1e decodes and dequantizes the coded supplementary information for high frequency band generation supplied from the coded sequence analysis unit 1d and obtains coded supplementary information for high frequency band generation, and decodes and dequantizes the coded time envelope information supplied from the coded sequence analysis unit 1d and acquires time envelope information.
  • the first to n-th low frequency band time envelope calculation units 1f l to 1f n calculate time envelopes different from each other.
  • the k-th low frequency band time envelope calculation unit 1f k (1 ⁇ k ⁇ n) receives a low frequency band signal X(j,i) ⁇ 0 ⁇ j ⁇ k x , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ from the band splitting filter bank unit 1c and calculates the k-th time envelope L dec (k,i) in the low frequency band (processing in Step Sb6).
  • the k-th low frequency band time envelope calculation unit 1f k calculates the time envelope L dec (k,i) as follows.
  • different sub-bands in the low frequency band can be specified using two integers k l and k h satisfying the following condition. 0 ⁇ k l ⁇ k h ⁇ k x
  • n max k x (k x +1)/2.
  • the sub-bands can be specified by selecting any one from those sets of integers.
  • n number of sub-bands are specified by selecting n number from the n max sets of integers.
  • two arrays B l and B h with the size n are defined so that the signal X dec (j,i) ⁇ B l (k) ⁇ j ⁇ B h (k), t(s) ⁇ i ⁇ t(s+1)), 0 ⁇ s ⁇ s E ⁇ corresponds to the k-th (1 ⁇ k ⁇ n) sub-band component.
  • the power time envelope of the n number of sub-band components is acquired by the following equation.
  • a time envelope L(k,i) is acquired by performing specified processing on the quantity L 0 (k,i).
  • the time envelope L(k,i) may be acquired by smoothing the quantity L 0 (k,i) in the time direction by using the following equation.
  • sc(j) 0 ⁇ j ⁇ d is the coefficient of smoothing
  • d is the order of smoothing.
  • the value of sc(j) is not limited to the above equation.
  • L 0 (k,i) may be calculated by the following equation, for example.
  • L 0 k i E L k i , 1 ⁇ k ⁇ n , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • L 0 (k,i) may be calculated by the following equation, for example.
  • the above L 0 (k,i) may be calculated by the following equation, for example.
  • L dec (k,i) may be any parameter representing the time-variation of the signal power or the signal amplitude of the k-th sub-band signal and not limited to the above form of L 0 (k,i) and L 1 (k,i).
  • L dec (k,i) may be calculated by a method using principal component analysis as follows.
  • the above V (k) i is the component of the eigenvectors V (k)
  • ⁇ (k) is the eigenvalue of the matrix Cov corresponding to V (k) .
  • Each of the above vectors V (k) may be normalized. However, a method normalization is not limited in this invention. Hereinafter, it is assumed that ⁇ (1) ⁇ (2) ⁇ ... ⁇ (D) to simplify the description.
  • L dec (k,i) may be calculated by the following method.
  • Those can be regarded as a group of n number of D t(s+1)-t(s) dimensional vectors.
  • n number of orthogonal vectors are calculated by a method such as Gram-Schmidt orthogonalization and set as L dec (k,i), 1 ⁇ l ⁇ n, t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E .
  • a method of orthogonalization is not limited to the above example. Further, the orthogonal vectors are not necessarily normalized.
  • the time envelope calculation unit 1g calculates a high frequency band time envelope using the n number of low frequency band time envelopes supplied from the first to n-th low frequency band time envelope calculation units 1f l to 1f n and the time envelope information supplied from the coded sequence decoding/dequantization unit 1e. Specifically, the calculation of the time envelope by the time envelope calculation unit 1g is performed as follows.
  • the time envelope g dec (l,i) of the sub-band B (T) l in the high frequency band is calculated.
  • i is the index in the time direction.
  • g dec (l,i) is given by the following equation.
  • a l , k s , 1 ⁇ l ⁇ n H , 1 ⁇ k ⁇ n , 0 ⁇ s ⁇ s E is the time envelope information supplied from the coded sequence decoding/dequantization unit 1e.
  • the coefficient A l,k (s) may contain the coefficient: A l , 0 s , 1 ⁇ l ⁇ n H , 0 ⁇ s ⁇ s E and, in this case, the above g dec (l,i) may be given by the following equation.
  • g dec (l,i) may be in another form as long as it is a representation by L dec (k,i), and the time envelope information is also not limited to the form of the coefficient A l,k (s).
  • E T , l i g dec l i , 1 ⁇ l ⁇ n H , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • the high frequency band generation unit 1h replicates, using the supplementary information for high frequency band generation supplied from the coded sequence decoding/dequantization unit 1e, the low frequency band signal X dec (j,i) ⁇ 0 ⁇ j ⁇ k x , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ supplied from the band splitting filter bank unit 1c onto the high frequency band and thereby generates a high frequency band signal X dec (j,i) ⁇ k x ⁇ j ⁇ k max , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ .
  • the generation of the high frequency band is performed in accordance with a method of HF generation in SBR of "MPEG4 AAC" specified by "ISO/IEC 14496-3" ("ISO/IEC 14496-3 subpart 4 General Audio Coding").
  • the time envelope adjustment unit 1i adjusts the time envelope of the high frequency band signal X H (j,i) ⁇ k x ⁇ j ⁇ k max , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ supplied from the high frequency band generation unit 1h by using the time envelope E T (l,i) ⁇ 1 ⁇ l ⁇ n H , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ supplied from the time envelope calculation unit 1g.
  • adjustment of the time envelope is made by a method similar to the HF adjustment in SBR of "MPEG4 AAC" as descried below.
  • a method that takes only noise addition in the HF adjustment into consideration is described below, and methods corresponding to processing such as gain limiter, gain smother and sinusoid addition are omitted.
  • it is easy to generalize processing so as to include the above omitted processing. Note that it is assumed that noise floor scale factor required for performing processing corresponding to noise addition or a parameter required for performing the above-described omitted processing are already supplied from the coded sequence decoding/dequantization unit 1e.
  • an array F H having n H +1 number of indexes representing the boundary of the sub-band B (T) l (1 ⁇ l ⁇ n H ) as elements is defined so that the signal X H (j,i) ⁇ F H (l) ⁇ j ⁇ F H (l+1), t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ corresponds to the component of the sub-band B (T) l .
  • G m i E m i ⁇ + E curr m i ⁇ Q m i 1 + Q m i , 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • the quantity represented by the following equation is defined.
  • V 0 and V 1 are arrays specifying the noise component
  • f is the function to map the index i onto an index on the arrays (see "ISO/IEC 14496-3 4.B.18" for a specific example).
  • the band synthesis filter bank unit 1j adds the high frequency band signal Y(i,j) ⁇ k x ⁇ j ⁇ k max , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ supplied from the time envelope adjustment unit 1i and the low frequency band signal X(j,i) ⁇ 0 ⁇ j ⁇ k x , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ supplied from the band splitting filter bank unit 1c together and then synthesizes them, and thereby acquires a decoded speech signal in the time domain containing the entire frequency band components, and outputs the acquired speech signal to the outside through the internal communication device.
  • the demultiplexing unit 1a divides the input coded sequence into the low frequency band coded sequence and the high frequency band coded sequence (Step S01).
  • the low frequency band decoding unit 1b decodes the low frequency band coded sequence and obtains the decoded signal containing only low frequency band components (Step S02).
  • the band splitting filter bank unit 1c analyzes the decoded signal containing only low frequency band components and transforms it into a signal in the frequency domain (Step S03).
  • the coded sequence analysis unit 1d analyzes the high frequency band coded sequence and acquires the coded supplementary information for high frequency band generation and the quantized time envelope information (Step S04). Then, the coded sequence decoding/ dequantization unit 1e decodes the supplementary information for high frequency band generation and dequantizes the time envelope information (Step S05). After that, the high frequency band generation unit 1h replicates the low frequency band signal X dec (j,i) onto the high frequency band using the supplementary information for high frequency band generation and thereby generates the high frequency band signal X dec (j,i) (Step S06).
  • the first to n-th low frequency band time envelope calculation units 1f l to 1f n calculate a plurality of low frequency band time envelopes L dec (k,i) based on the low frequency band signal X(j,i) (Step S07).
  • the time envelope calculation unit 1g calculates the high frequency band time envelope E T (l,i) using the plurality of low frequency band time envelopes L dec (k,i) and the time envelope information (Step S08). Then, the time envelope adjustment unit 1i adjusts the time envelope of the high frequency band signal X H (j,i) by using the time envelope E T (l,i) (Step S09). Finally, the band synthesis filter bank unit 1j adds the high frequency band signal Y(i,j) and the low frequency band signal X(j,i) together and then synthesizes them to acquire the decoded speech signal in the time domain and outputs the decoded speech signal (Step S10).
  • Fig. 3 is a diagram showing a configuration of the speech encoder 2 according to the first embodiment of the invention
  • Fig. 4 is a flowchart showing a procedure of a speech encoding method implemented by the speech encoder 2.
  • the speech encoder 2 includes CPU, ROM, RAM, a communication device and the like that are not physically shown, and the CPU loads a specified computer program (for example, a computer program for performing the process shown in the flowchart of Fig. 4 ) stored in an internal memory such as the ROM of the speech encoder 2 to the RAM and executes the program to thereby exercise control over the speech encoder 2.
  • the communication device of the speech encoder 2 receives a speech signal to be encoded from the outside and outputs a coded multiplexed bit stream to the outside.
  • the speech encoder 2 functionally includes a down-sampling unit (down-sampling means) 2a, a low frequency band encoding unit (low frequency band encoding means) 2b, a band splitting filter bank unit (frequency transformation means) 2c, a supplementary information for high frequency band generation calculation unit (supplementary information calculation means) 2d, first to n-th (n is an integer of two or more) low frequency band time envelope calculation units (low frequency band time envelope calculation means) 2e l to 2e n , a time envelope information calculation unit (time envelope information calculation means) 2f, a quantization/encoding unit (quantization and encoding means) 2g, a high frequency band coded sequence construction unit (coded sequence construction means) 2h, and a multiplexing unit (multiplexing means) 2i.
  • a down-sampling unit down-sampling means
  • a low frequency band encoding unit low frequency band encoding means
  • a band splitting filter bank unit frequency transformation means
  • the respective units of the speech encoder 2 shown in Fig. 3 are functional units that are realized by the CPU of the speech encoder 2 executing a computer program stored in the internal memory of the speech encoder 2.
  • the CPU of the speech encoder 2 executes the computer program (uses the functional units of Fig. 3 ) to sequentially execute the process shown in the flowchart of Fig. 4 (the process of Steps S11 to S20). It is assumed that various data required for execution of the computer program and various data generated by execution of the computer program are stored in the internal memory, such as ROM and RAM, of the speech encoder 2.
  • the down-sampling unit 2a processes an external input signal that is received through the communication device of the speech encoder 2 and obtains a down-sampled time domain signal in the low frequency band.
  • the low frequency band encoding unit 2b encodes the down-sampled time domain signal and obtains a low frequency band coded sequence.
  • the encoding in the low frequency band encoding unit 2b may be based on a speech coding method such as CELP, or based on transform coding such as AAC or audio coding such as TCX. Further, it may be based on PCM coding. Furthermore, it may be based on a method that uses those coding methods switchably. In this embodiment, a method of coding is not particularly limited.
  • the band splitting filter bank unit 2c analyzes an external input signal that is received through the communication device of the speech encoder 2 and transforms it into a signal X(j,i) in the entire frequency bands in the frequency domain, where j is an index in the frequency direction, i is an index in the time direction.
  • the supplementary information for high frequency band generation calculation unit 2d receives the frequency domain signal X(j,i) from the band splitting filter bank unit 2c and calculates, based on analysis of the power, signal variations, tonality and the like of the high frequency band, supplementary information for high frequency band generation to be used when generating high frequency band signal components from low frequency band signal components.
  • the first to n-th low frequency band time envelope calculation units 2e l to 2e n calculate a plurality of different time envelopes of low frequency band components, respectively.
  • the k-th low frequency band time envelope calculation unit 2e k (1 ⁇ k ⁇ n) receives a low frequency band signal X(j,i) ⁇ 0 ⁇ j ⁇ k x , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ from the band splitting filter bank unit 2c and calculates the k-th time envelope L(k,i) ⁇ t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ in the low frequency band in accordance with the above-described calculation method of the time envelope L dec (k,i) of the k-th low frequency band time envelope calculation unit 1f k (1 ⁇ k ⁇ n) of the speech decoder 1 described above.
  • the time envelope information calculation unit 2f receives the high frequency band signal X(j,i) ⁇ k x ⁇ j ⁇ N, t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ from the band splitting filter bank unit 2c and receives the time envelope L(k,i) ⁇ t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ from the k-th low frequency band time envelope calculation unit 2e k (1 ⁇ k ⁇ n), and calculates time envelope information required for acquiring the time envelope of high frequency band components of the signal X(j,i).
  • the time envelope information is information that can construct the approximation of a reference time envelope in the high frequency band when the time envelope L dec (k,i) is given on the speech decoder 1 side described above.
  • a time envelope of power is calculated by the following equation.
  • the reference time envelope H(l,i) is calculated by the following equation.
  • the reference time envelope in the high frequency band may be obtained by performing specified processing (for example, smoothing) on H(l,i), like the time envelope in the low frequency band described above. Further, the reference time envelope in the high frequency band is not necessarily calculated by the above calculation method as long as it is a parameter representing the time-variation of the signal power or the signal amplitude of the high frequency band signal.
  • the approximation of the reference time envelope H(l,i) by the time envelope L(k,i) is represented as g(l,i)
  • the form of g(l,i) conforms to the form g dec (l,i) in the speech decoder 1.
  • the time envelope L(k,i) corresponds to the time envelope L dec (k,i) on the speech decoder 1 side.
  • the time envelope information can be calculated by defining an error of the above g(l,i) with respect to the reference time envelope H(l,i) and calculating g(l,i) that minimizes the error. Specifically, it can be calculated by treating the error as a function of the time envelope information and finding the time envelope information that gives the minimum value of the error. The calculation of the time envelope information may be performed numerically or may be calculated using a numerical formula.
  • the quantization/encoding unit 2g receives the time envelope information from the time envelope information calculation unit 2f and then quantizes and encodes the time envelope information, and receives the supplementary information for high frequency band generation from the supplementary information for high frequency band generation calculation unit 2d and then encodes the supplementary information for high frequency band generation.
  • a l,k (s) may be scalar-quantized and then entropy-coded. Further, A l,k (s) may be vector-quantized using a specified code book and then its index may be coded. In this embodiment, however, the quantization and encoding method of the time envelope information is not limited to the above.
  • the high frequency band coded sequence construction unit 2h receives the coded supplementary information for high frequency band generation and the quantized time envelope information from the quantization/encoding unit 2g and constructs a high frequency band coded sequence containing those.
  • the multiplexing unit 2i receives the low frequency band coded sequence from the low frequency band encoding unit 2b and receives the high frequency band coded sequence from the high frequency band coded sequence construction unit 2h, multiplexes those two coded sequences to generate a coded sequence and outputs the generated coded sequence.
  • the band splitting filter bank unit 2c analyzes an input speech signal and thereby acquires the frequency domain signal X(j,i) in the entire frequency bands (Step S11).
  • the down-sampling unit 2a processes an external input speech signal and acquires the down-sampled time domain signal (Step S12).
  • the low frequency band encoding unit 2b encodes the down-sampled time domain signal and obtains the low frequency band coded sequence (Step S13).
  • the supplementary information for high frequency band generation calculation unit 2d analyzes the frequency domain signal X(j,i) acquired from the band splitting filter bank unit 2c and calculates the supplementary information for high frequency band generation to be used when generating high frequency band signal components (Step S14). Then, the first to n-th low frequency band time envelope calculation units 2e l to 2e n calculate a plurality of low frequency band time envelopes L(k,i) based on the low frequency band signal X(j,i) (Step S15).
  • the time envelope information calculation unit 2f calculates, based on the high frequency band signal X(j,i) and the plurality of low frequency band time envelopes L(k,i), the time envelope information required for acquiring the time envelope of high frequency band components of the signal X(j,i) (Step S16). Then, the quantization/encoding unit 2g quantizes and encodes the time envelope information and encodes the supplementary information for high frequency band generation (Step S17).
  • the high frequency band coded sequence construction unit 2h constructs the high frequency band coded sequence containing the coded supplementary information for high frequency band generation and the quantized time envelope information (Step S18). Then, the multiplexing unit 2i generates the coded sequence by multiplexing the low frequency band coded sequence and the high frequency band coded sequence and outputs the generated coded sequence (Step S19).
  • the low frequency band signal is obtained from the coded sequence by demultiplexing and decoding
  • the supplementary information for high frequency band generation and the time envelope information are obtained from the coded sequence by demultiplexing, decoding and dequantization.
  • the high frequency band component X dec (j,i) in the frequency domain is generated from the low frequency band signal X dec (j,i) transformed into the frequency domain using the supplementary information for high frequency band generation, and, on the other hand, after acquiring a plurality of low frequency band time envelopes L dec (k,i) by analyzing the low frequency band signal X dec (j,i) in the frequency domain, the high frequency band time envelope E T (l,i) is calculated using the plurality of low frequency band time envelopes L dec (k,i) and the time envelope information.
  • the time envelope of the high frequency band component X H (j,i) is adjusted by the calculated high frequency band time envelope E T (l,i), and the adjusted high frequency band component and the low frequency band signal are added together and thereby the time domain signal is output.
  • the waveform of the time envelope of the high frequency band component is adjusted with high accuracy by use of the correlation between the time envelope of low frequency band components and the time envelope of high frequency band components.
  • the time envelope in the decoded signal is adjusted into a less distorted shape, and therefore a reproduced signal with less pre-echo and post-echo can be obtained.
  • the low frequency band signal is obtained by down-sampling of a speech signal, and the low frequency band signal is encoded and, on the other hand, a plurality of time envelopes L(k,i) of low frequency band components are calculated based on the speech signal X(j,i) in the frequency domain, and the time envelope information for acquiring the time envelope of high frequency band components is calculated using the plurality of time envelopes L(k,i) of low frequency band components.
  • the supplementary information for high frequency band generation for generating high frequency band components from the low frequency band signal is calculated, and, after the supplementary information for high frequency band generation and the time envelope information are quantized and encoded, the high frequency band coded sequence containing the supplementary information for high frequency band generation and the time envelope information is constructed. Then, the coded sequence in which the low frequency band coded sequence and the high frequency band coded sequence are multiplexed is generated.
  • a plurality of low frequency band time envelopes can be used for adjustment of the time envelope of high frequency band components on the speech decoder 1 side, and the waveform of the time envelope of high frequency band components is thereby adjusted with high accuracy by use of the correlation between the time envelope of low frequency band components and the time envelope of high frequency band components on the speech decoder 1 side.
  • the time envelope in the decoded signal is adjusted into a less distorted shape, and therefore a reproduced signal with less pre-echo and post-echo can be obtained on the decoder side.
  • Fig. 5 is a diagram showing a configuration of a principal part related to envelope calculation in a first alternative example of the speech decoder 1 according to the first embodiment
  • Fig. 6 is a flowchart showing a procedure of envelope calculation by the speech decoder 1 shown in Fig. 5 .
  • the speech decoder 1 shown in Fig. 5 includes a time envelope calculation control unit (time envelope calculation control means) 1k in addition to the low frequency band time envelope calculation units 1f 1 to 1f n and the time envelope calculation unit 1g.
  • the time envelope calculation control unit 1k receives a low frequency band signal from the band splitting filter bank unit 1c, calculates the power of the low frequency band signal in the frame (Step S31), and compares the calculated power of the low frequency band signal with a specified threshold (Step S32).
  • the time envelope calculation control unit 1k When the power of the low frequency band signal is not larger than the specified threshold (NO in Step S32), the time envelope calculation control unit 1k outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1f l to 1f n and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that time envelope calculation is not performed in the low frequency band time envelope calculation units 1f l to 1f n and the time envelope calculation unit 1g.
  • the time envelope calculation control unit 1k outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1f l to 1f n and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that time envelope calculation is performed in the low frequency band time envelope calculation units 1f l to 1f n and the time envelope calculation unit 1g.
  • the high frequency band signal whose time envelope is adjusted by the time envelope adjustment unit 1i based on the above-described time envelope is sent to the band synthesis filter bank unit 1j.
  • the envelope calculation process shown in Steps S31 to S36 is executed in place of the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2 .
  • S34 being not part of the present invention of this application but provided as an informative example.
  • Steps S07 to S08 when the power of the low frequency band signal is low and not used for calculation of the time envelope of the high frequency band signal, the process in Steps S07 to S08 can be skipped to reduce the amount of computation.
  • the time envelope calculation control unit 1k may calculate the power of a part corresponding to the first to n-th low frequency band time envelopes calculated by the first to n-th low frequency band time envelope calculation units 1f l to 1f n , output the low frequency band time envelope calculation control signal based on a result of comparing the calculated power corresponding to the first to n-th low frequency band time envelopes with a specified threshold and thereby control whether or not to skip the processing of the first to n-th low frequency band time envelope calculation units 1f l to 1f n .
  • the time envelope calculation control unit 1k when the time envelope calculation control unit 1k makes control to skip the processing by all of the first to n-th low frequency band time envelope calculation units 1f l to 1f n , it outputs the time envelope calculation control signal to the time envelope calculation unit 1g so as to skip the time envelope calculation process.
  • the time envelope calculation control unit 1k makes control so that at least one of the first to n-th low frequency band time envelope calculation units 1f l to 1f n performs the low frequency band time envelope calculation process, it outputs the time envelope calculation control signal to the time envelope calculation unit 1g so as to perform the time envelope calculation process.
  • Fig. 7 is a diagram showing a configuration of a principal part relating to envelope calculation in a second alternative example of the speech decoder 1 according to the first embodiment
  • Fig. 8 is a flowchart showing a procedure of envelope calculation performed by the speech decoder 1 shown in Fig. 7 .
  • the speech decoder 1 shown in Fig. 7 includes a time envelope calculation control unit (time envelope calculation control means) 1m in addition to the low frequency band time envelope calculation units 1f l to 1f n and the time envelope calculation unit 1g.
  • the time envelope calculation control unit 1m outputs a low frequency band time envelope calculation control signal to the first to n-th low frequency band time envelope calculation units 1f l to 1f n based on the time envelope information received from the coded sequence decoding/ dequantization unit 1e and controls execution of the low frequency band time envelope calculation in the first to n-th low frequency band time envelope calculation units 1f l to 1f n .
  • the envelope calculation process in Steps S41 to S48 shown in Fig. 8 is executed , which replaces the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2 .
  • the time envelope calculation control unit 1m sets a count value "count” to 0 (Step S41).
  • the time envelope calculation control unit 1m determines whether a coefficient A 1,count+1 (s) contained in the time envelope information received from the coded sequence decoding/ dequantization unit 1e is 0 or not (Step S42, being not part of the present invention of this application but provided as an informative example).
  • the time envelope calculation control unit 1m outputs a low frequency band time envelope calculation control signal to the count-th low frequency band time envelope calculation unit 1f count so that the low frequency band time envelope calculation in the low frequency band time envelope calculation unit 1f count is not performed and then proceeds to Step S44.
  • the time envelope calculation control unit 1m outputs a low frequency band time envelope calculation control signal to the count-th low frequency band time envelope calculation unit 1f count so that the low frequency band time envelope calculation in the low frequency band time envelope calculation unit 1f count is performed.
  • the low frequency band time envelope is thereby calculated by the low frequency band time envelope calculation unit 1f count (Step S43).
  • the time envelope calculation control unit 1m increments the count value "count” by 1 (Step S44), and then compares the count value "count” with the number n of the low frequency band time envelope calculation units 1f l to 1f n (Step S45). When the count value "count” is smaller than the number n (YES in Step S45), the process returns to Step S42 and repeats the determination for the next coefficient A 1,count (s) contained in the time envelope information. On the other hand, when the count value "count” is equal to or larger than the number n (NO in Step S45), the process proceeds to Step S46.
  • the time envelope calculation control unit 1m determines whether the low frequency band time envelope calculation is performed in one or more low frequency band time envelope calculation units 1f l to 1f n (Step S46). As a result of the determination, when the low frequency band time envelope calculation is not performed in any of the low frequency band time envelope calculation units 1f l to 1f n (NO in Step S46), the time envelope calculation control unit 1m outputs the time envelope calculation control signal to the time envelope calculation unit 1g so as to skip the time envelope calculation process. In this case, Step S49 is performed in place of Step S47 to S48 and then the process proceeds to Step S10 ( Fig. 2 ).
  • the time envelope calculation unit 1g performs the time envelope calculation process (Step S47, as being not part of the present invention of this application but provided as an informative example). Then, the time envelope adjustment unit 1i performs adjustment of the time envelope of the high frequency band signal (Step S48). After that, the band synthesis filter bank unit 1j synthesizes the output signal.
  • any of the process in Steps S07 to S08 can be skipped to reduce the amount of computation.
  • Fig. 9 is a diagram showing a configuration of a principal part related to envelope calculation according to a third alternative example of the speech decoder 1 according to the first embodiment
  • Fig. 10 is a flowchart showing a procedure of envelope calculation by the speech decoder 1 shown in Fig. 9 .
  • the speech decoder 1 shown in Fig. 9 includes a time envelope calculation control unit (time envelope calculation control means) 1n in addition to the low frequency band time envelope calculation units 1f l to 1f n and the time envelope calculation unit 1g.
  • the time envelope calculation control unit 1n receives time envelope calculation control information from the coded sequence analysis unit 1d.
  • the time envelope calculation control information describes whether or not to perform the time envelope calculation process in the frame.
  • the coded sequence decoding/ dequantization unit 1e performs decoding and dequantization. Further, the time envelope calculation control unit 1n determines whether or not to perform the time envelope calculation process in the frame by referring to the time envelope calculation control information.
  • the time envelope calculation control unit 1n determines not to perform the time envelope calculation process, it outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1f l to 1f n and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that the time envelope calculation process is not performed in the low frequency band time envelope calculation units 1f l to 1f n and the time envelope calculation unit 1g.
  • the high frequency band signal is sent to the band synthesis filter bank unit 1j without adjustment of its time envelope based on the above-described time envelope.
  • the time envelope calculation control unit 1n determines to perform the time envelope calculation process, it outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1f l to 1f n and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that the time envelope calculation process is performed in the low frequency band time envelope calculation units 1f l to 1f n and the time envelope calculation unit 1g.
  • the high frequency band signal is sent to the band synthesis filter bank unit 1j after its time envelope is adjusted in the time envelope adjustment unit 1i.
  • the envelope calculation process in Steps S51 to S54 is executed in place of the process of Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2 , S53 being not part of the present invention of this application but provided as an informative example.
  • Steps S07 to S08 can be skipped based on the control information from the encoder to thereby reduce the amount of computation.
  • Fig. 11 is a flowchart showing a procedure of envelope calculation performed by a fourth alternative example of the speech decoder 1 according to the first embodiment. Note that the configuration of the fourth alternative example of the speech decoder 1 is the same as that shown in Fig. 9 .
  • the envelope calculation process in Steps S61 to S64 shown in Fig. 11 is executed in place of the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2 .
  • the time envelope calculation control information describes the low frequency band time envelope to be used for time envelope calculation in the frame among the first to n-th low frequency band time envelopes.
  • the coded sequence decoding/ dequantization unit 1e performs decoding and dequantization.
  • the time envelope calculation control unit 1n selects, based on the time envelope calculation control information, the low frequency band time envelope to be used for the time envelope calculation process in the frame (Step S61).
  • the time envelope calculation control unit 1n outputs the low frequency band time envelope calculation control signal to the first to n-th low frequency band time envelope calculation units 1f l to 1f n . It is thereby controlled so that the low frequency band time envelope is calculated by the low frequency band time envelope calculation unit 1f l to 1f n corresponding to the low frequency band time envelope that is selected in the above selection, and the low frequency band time envelope is not calculated by the low frequency band time envelope calculation unit 1f l to 1f n corresponding to the low frequency band time envelopes that is not selected in the above selection (Step S62).
  • the time envelope calculation control unit 1n outputs the time envelope calculation control signal to the time envelope calculation unit 1g so that the time envelope is calculated using only the selected low frequency band time envelope (Step S63 as not part of the present invention of this application but provided as an informative example). Further, the time envelope adjustment unit 1i adjusts, using the calculated time envelope, the time envelope of the high frequency band signal generated in the high frequency band generation unit 1h (Step S64).
  • Steps S62 to S63 may be skipped, and the high frequency band signal may be sent to the band synthesis filter bank unit 1j without adjustment of its time envelope based on the above-described time envelope (Step S36 in Fig. 6 ).
  • Steps S07 to S08 can be skipped based on the control information from the encoder to reduce the amount of computation.
  • Fig. 12 is a flowchart showing a procedure of envelope calculation performed by a fifth alternative example of the speech decoder 1 according to the first embodiment. Note that the configuration of the fifth alternative example of the speech decoder 1 is the same as that shown in Fig. 9 .
  • the envelope calculation process in Steps S71 to S75 shown in Fig. 12 is executed in place of the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2 .
  • the time envelope calculation control information describes a calculation method of the first to n-th low frequency band time envelopes in the frame.
  • the coded sequence decoding/ dequantization unit 1e performs decoding and dequantization.
  • the calculation method of the first to n-th low frequency band time envelopes described in the time envelope calculation control information may be the content related to setting of the arrays B l and B h representing sub-bands, for example, and the frequency range of the sub-band can be controlled based on the time envelope calculation control information.
  • the content related to setting of the arrays B l and B h may be the description of a set of integers (k l ,k h ) to set the arrays B l and B h or the description related to selection from a plurality of specified contents of setting of the arrays B l and B h .
  • a method of describing the content related to setting of the arrays B l and B h is not particularly limited.
  • a calculation method of the first to n-th low frequency band time envelopes described in the time envelope calculation control information may be the content related to setting of the specified processing (for example, the content related to setting of the smoothing coefficient sc(j) described above), and the specified processing (for example, the smoothing) can be controlled based on the time envelope calculation control information.
  • the content related to setting of the smoothing coefficient sc(j) may be a result of quantizing and encoding the value of the smoothing coefficient sc(j) or may be the content related to selection of any one of a plurality of specified smoothing coefficients sc(j). Further, it may include the description as to whether or not to perform the smoothing.
  • a method of describing the content related to setting of the specified processing is not particularly limited.
  • a method of calculating the first to n-th low frequency band time envelopes described in the time envelope calculation control information may include at least one of the above calculation methods. Note that, in this alternative example, a method of calculating the first to n-th low frequency band time envelopes described in the time envelope calculation control information is not limited to the above description as long as the content related to a method of calculating the low frequency band time envelope is described.
  • Step S71 the time envelope calculation control unit 1n determines, based on the time envelope calculation control information, whether or not to change the calculation method of the low frequency band time envelope in the frame.
  • the first to n-th low frequency band time envelope calculation units 1f l to 1f n calculate the first to n-th low frequency band time envelopes without changing the calculation method of the low frequency band time envelope (Step S73).
  • the time envelope calculation control unit 1n outputs the low frequency band time envelope calculation control signal to the first to n-th low frequency band time envelope calculation units 1f l to 1f n and thereby instructs the calculation method of the low frequency band time envelope, so that the calculation method of the low frequency band time envelope is changed (Step S72).
  • the first to n-th low frequency band time envelope calculation units 1f l to 1f n calculate the first to n-th low frequency band time envelopes by the changed low frequency band time envelope calculation method (Step S73).
  • the time envelope calculation unit 1g calculates the time envelope by using the first to n-th low frequency band time envelopes calculated by the first to n-th low frequency band time envelope calculation units 1f l to 1f n (Step S74 as not part of the present invention of this application but provided as an informative example). Then, the time envelope adjustment unit 1i adjusts, using the time envelope calculated in the time envelope calculation unit 1g, the time envelope of the high frequency band signal generated in the high frequency band generation unit 1h (Step S75).
  • Steps S07 to S08 can be precisely controlled based on the control information from the encoder, thereby allowing highly accurate adjustment of the time envelope.
  • Fig. 13 is a diagram showing a configuration of a principal part related to envelope calculation in a sixth alternative example of the speech decoder 1 according to the first embodiment.
  • the speech decoder 1 shown in Fig. 13 includes a time envelope calculation control unit (time envelope calculation control means) 1o in addition to the low frequency band time envelope calculation units 1f l to 1f n and the time envelope calculation unit 1g.
  • the time envelope calculation control unit 1o is configured to perform any one or more of the envelope calculation process in the first to fifth alternative examples of the speech decoder 1.
  • Fig. 14 is a flowchart showing a procedure of envelope calculation performed by a seventh alternative example of the speech decoder 1 according to the first embodiment. Note that the configuration of the seventh alternative example of the speech decoder 1 is the same as the speech decoder 1 according to the first embodiment. Steps S261 to S262 in Fig. 14 replace Step S08 in the flowchart of Fig. 2 showing the process of the speech decoder 1 according to the first embodiment.
  • the time envelope calculation unit 1g performs specified processing (processing of Step S261) using the low frequency band time envelope L dec (k,i) ⁇ 1 ⁇ k ⁇ n, t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ supplied from the low frequency band time envelope calculation units 1f l to 1f n and the time envelope information supplied from the coded sequence decoding/ dequantization unit 1e and then calculates the time envelope (processing of Step S262).
  • Examples of the specified processing and the calculation of the time envelope related thereto are as follows.
  • the coefficient A l,k (s) in Equation 18, 21, 23 or 24 is calculated using the time envelope information supplied in another form from the coded sequence decoding/ dequantization unit 1e.
  • the coefficient is calculated by the following equation.
  • a lk s F lk ⁇ 1 s , ⁇ 2 s , ⁇ , ⁇ Num s 1 ⁇ l ⁇ n H , 1 ⁇ k ⁇ n 0 ⁇ s ⁇ s E
  • F lk (x 1 ,x 2 ,...,x Num ) 1 ⁇ 1 ⁇ n H , 1 ⁇ k ⁇ n is a specified function with Num number of variables as arguments.
  • g (0) (l,i) may be a specified coefficient, or a specified function for the index 1, i.
  • Equation 18, 21, 23 or 24 the quantity corresponding to the left-hand side of Equation 18, 21, 23 or 24 is calculated, and the result is represented as g (1) (l,i) ⁇ 1 ⁇ l ⁇ n H , t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ .
  • the time envelope is calculated by the following equation, for example.
  • time envelope may be calculated by the following equation.
  • g dec l i g 0 l i ⁇ g 1 l i 1 ⁇ l ⁇ n H , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • time envelope may be calculated by the following equation.
  • g dec l i g 1 l i 1 ⁇ l ⁇ n H , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • the time envelope may be calculated by the following equation.
  • g dec l i g 0 l i 1 ⁇ l ⁇ n H , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • This alternative example may be applied to the first to sixth alternative examples of the speech decoder 1 according to the first embodiment as follows.
  • Step S34 in Fig. 6 is replaced with Steps S261 to S262 in Fig. 14 , for example.
  • a plurality of kinds of the above-described specified processing may be prepared in advance and changed depending on the power of the low frequency band signal. Further, any one of a) calculating the time envelope by performing the above-described specified processing only, b) calculating the time envelope by performing the above-described specified processing and further using the time envelope information and c) calculating the time envelope using the time envelope information without performing the above-described specified processing may be selected depending on the power of the low frequency band signal.
  • Fig. 15 is a flowchart showing a part of processing performed by the time envelope calculation control unit 1m when the seventh alternative example of the speech decoder 1 according to the first embodiment is applied to the second alternative example of the speech decoder 1 according to the first embodiment.
  • Step S42 in Fig. 8 is replaced with Step 271 in Fig. 15
  • Step S47 in Fig. 8 is replaced with Steps S261 to S262 in Fig. 14 , for example.
  • a plurality of kinds of the above-described specified processing may be prepared in advance and changed depending on the time envelope information. Further, any one process may be selected, depending on the time envelope information, from a) calculating the time envelope by performing the above-described specified processing only, b) calculating the time envelope by performing the above-described specified processing and further using the time envelope information and c) calculating the time envelope using the time envelope information without performing the above-described specified processing.
  • Step S53 in Fig. 10 is replaced with Steps S261 to S262 in Fig. 14 .
  • a plurality of kinds of the above-described specified processing may be prepared in advance and changed depending on the time envelope calculation control information. Further, any one may be selected, depending on the time envelope calculation control information, from a) calculating the time envelope by performing the above-described specified processing only, b) calculating the time envelope by performing the above-described specified processing and further using the time envelope information and c) calculating the time envelope using the time envelope information without performing the above-described specified processing.
  • Fig. 16 is a flowchart showing a part of processing performed by the time envelope calculation control unit 1n when the seventh alternative example of the speech decoder 1 according to the first embodiment is applied to the fourth alternative example of the speech decoder 1 according to the first embodiment.
  • Step S61 in Fig. 11 is replaced with Step 281 in Fig. 16
  • Step S63 in Fig. 11 is replaced with Steps S261 to S262 in Fig. 14 .
  • the low frequency band signal time envelope calculation unit 1f k may calculate L dec (k,i) when A (0) l,k is not zero and it is directed to calculate L dec (k,i) in the low frequency band signal time envelope calculation unit 1f k in the time envelope calculation control information.
  • Step S74 in Fig. 12 is replaced with Steps S261 to S262 in Fig. 14 .
  • the above-described processing method may be changed accordingly.
  • the specified processing may be performed after calculating the time envelope.
  • specified processing such as smoothing may be performed on the calculated time envelope.
  • the time envelope may be calculated after performing the specified processing, and further another specified processing may be performed on that time envelope.
  • Fig. 17 is a diagram showing a configuration of a first alternative example of the speech encoder 2 according to the first embodiment
  • Fig. 18 is a flowchart showing a procedure of speech encoding by the speech encoder 2 shown in Fig. 17 .
  • a time envelope calculation control information generation unit (control information generation means) 2j is added to the speech encoder 2 according to the first embodiment.
  • the time envelope calculation control information generation unit 2j generates time envelope calculation control information using at least one of the signal X(j,i) in the frequency band domain received from the band splitting filter bank unit 2c and the time envelope information received from the time envelope information calculation unit 2f.
  • the generated time envelope calculation control information may be any of the time envelope calculation control information in the third to seventh alternative examples of the speech decoder 1 according to the first embodiment.
  • the time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the low frequency band signal of the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, for example, and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the calculated signal power.
  • the time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the calculated signal power.
  • the time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the entire frequency band signal (i.e. the frequency band corresponding to the low frequency band signal and the frequency band corresponding to the high frequency band signal) of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the decoder according to the calculated signal power.
  • the time envelope calculation control information generation unit 2j may calculate the power of a part corresponding to the first to n-th low frequency band time envelopes calculated by the first to n-th low frequency band time envelope calculation units 2e l to 2e n , and generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1 according to the calculated signal power.
  • the time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the low frequency band signal of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1 according to the calculated signal power.
  • the frequency band of the signal power to be calculated is not particularly limited, and the time envelope calculation control information that is generated according to the calculated signal power may be any one or more of the time envelope calculation control information in the third to seventh alternative examples of the speech decoder 1 according to the first embodiment described above.
  • time envelope calculation control information generation unit 2j may detect or measure the signal characteristics of the signal X(j,i) in the frequency domain, and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the calculated signal characteristics.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1 according to the signal characteristics of the signal X(j,i) in the frequency domain.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1 according to the signal characteristics of the signal X(j,i) in the frequency domain.
  • the signal characteristics detected or measured in the time envelope calculation control information generation unit 2j may be the characteristics related to the steepness of the rising edge or the falling edge of the signal.
  • the signal characteristics may be the characteristics related to the stationarity of the signal.
  • the signal characteristics may be the characteristics related to the strength of the tonality of the signal. Further, the signal characteristics may be at least one of the above characteristics.
  • the signal characteristics to be detected or measured are not particularly limited, and the time envelope calculation control information that is generated according to the detected or measured signal characteristics may be any one or more of the time envelope calculation control information in the third to sixth alternative examples of the speech decoder 1 according to the first embodiment described above.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the value of the time envelope information A l,k (s) (1 ⁇ 1 ⁇ n H ,1 ⁇ k ⁇ n,0 ⁇ s ⁇ s E ) received from the time envelope information calculation unit 2f, for example.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • the time envelope calculation control information that is generated according to the time envelope information may be any one or more of the time envelope calculation control information in the third to sixth alternative examples of the speech decoder 1 according to the first embodiment described above.
  • the time envelope calculation control information generation unit 2j may generate, using the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c and the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g, for example, the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 .
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j may decode and dequantize the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g and thereby obtains locally decoded supplementary information for high frequency band generation, and then generates a pseudo locally decoded high frequency band signal using the locally decoded supplementary information for high frequency band generation and the signal X(j,i) in the frequency domain.
  • the pseudo locally decoded high frequency band signal can be generated by performing the same processing as the high frequency band generation unit 1h of the speech decoder 1 according to the first embodiment.
  • the time envelope calculation control information generation unit 2j compares the generated pseudo locally decoded high frequency band signal with the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and generates the time envelope calculation control information based on the comparison result.
  • the comparison between the pseudo locally decoded high frequency band signal and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain may be made by calculating a differential signal of the two signals and based on the power of the differential signal. Further, it may be made by calculating the time envelopes of the pseudo locally decoded high frequency band signal and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and based on at least one of a difference of the time envelopes and an amplitude of the difference.
  • the time envelope calculation control information generation unit 2j may generate, using, for example, the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, the time envelope information received from the time envelope information calculation unit 2f, and the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g, the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 .
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j may generate a pseudo locally decoded high frequency band signal and adjust the time envelope of the pseudo locally decoded high frequency band signal by using the time envelope information received from the time envelope information calculation unit 2f, and then compare the pseudo locally decoded high frequency band signal with the adjusted time envelope with the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information based on the comparison result.
  • the comparison between the pseudo locally decoded high frequency band signal with the adjusted time envelope and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain may be performed in the same manner as the comparison is performed between the pseudo locally decoded high frequency band signal and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain.
  • the time envelope information may be calculated using the pseudo locally decoded high frequency band signal.
  • the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g is further input to the time envelope information calculation unit 2f, and the coded sequence of the supplementary information for high frequency band generation is decoded and dequantized to acquire locally decoded supplementary information for high frequency band generation, and the pseudo locally decoded high frequency band signal is generated using the locally decoded supplementary information for high frequency band generation and the signal X(j,i) in the frequency domain.
  • the time envelope information calculation unit 2f may output, as the calculated time envelope information, the time envelope information that allows best approximation to the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain when the time envelope of the pseudo locally decoded high frequency band signal is adjusted using the time envelope calculated from the time envelope information.
  • the determination as to whether it is close to the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain may be made based on a differential signal between the pseudo locally decoded high frequency band signal with the adjusted time envelope and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain, or may be based on an error between the time envelopes of those signals.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the amount of information (to be more specific, the number of bits) needed for encoding of the time envelope information received from the quantization/encoding unit 2g, for example.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j generates the time envelope calculation control information indicating to perform the time envelope calculation in the speech decoder 1 when the amount of information (to be more specific, the number of bits) needed for encoding of the time envelope information received from the quantization/encoding unit 2g is equal to or smaller than a specified threshold, for example.
  • the time envelope calculation control information generation unit 2j when the amount of information needed for encoding of the time envelope information is larger than a specified threshold, the time envelope calculation control information generation unit 2j generates the time envelope calculation control information indicating not to perform the time envelope calculation in the speech decoder 1.
  • the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1 so that the amount of information needed for encoding of the time envelope information is equal to or smaller than a specified threshold.
  • the time envelope calculation control information generation unit 2j may notify the result of comparing the amount of information needed for encoding of the time envelope information with the threshold to the time envelope information calculation unit 2f, and the time envelope information calculation unit 2f may re-calculate the time envelope information according to the notified comparison result.
  • the quantization/encoding unit 2g encodes and quantizes the re-calculated time envelope information.
  • the number of times of re-calculating the time envelope information is not particularly limited.
  • the time envelope calculation control information is calculated based on the amount of information needed for encoding of the time envelope information, and the time envelope calculation control information to be generated may be any one or more of the time envelope calculation control information in the third to sixth alternative examples of the speech decoder 1 according to the first embodiment described above.
  • the time envelope calculation control information generated by the time envelope calculation control information generation unit 2j in the above manner is further added to the high frequency band coded sequence by the high frequency band coded sequence construction unit 2h and thereby the high frequency band coded sequence is constructed.
  • Fig. 19 is a diagram showing a configuration of a second alternative example of the speech encoder 2 according to the first embodiment
  • Fig. 20 is a flowchart showing a procedure of speech encoding by the speech encoder 2 shown in Fig. 19 .
  • a low frequency band decoding unit 2k is added to the speech encoder 2 according to the first embodiment.
  • the low frequency band decoding unit 2k receives the low frequency band coded sequence from the low frequency band encoding unit 2b, decodes and dequantizes the low frequency band coded sequence and thereby acquires a locally decoded low frequency band signal. Note that, when the quantized low frequency band signal can be acquired from the low frequency band encoding unit 2b, the low frequency band decoding unit 2k may dequantize the quantized low frequency band signal and acquire the locally decoded low frequency band signal. Then, the low frequency band time envelope calculation units 2e l to 2e n calculate the first to n-th low frequency band time envelopes by using the locally decoded low frequency band signal acquired by the low frequency band decoding unit 2k.
  • Fig. 21 is a diagram showing a configuration of a third alternative example of the speech encoder 2 according to the first embodiment
  • Fig. 22 is a flowchart showing a procedure of speech encoding by the speech encoder 2 shown in Fig. 21 .
  • the speech encoder 2 shown in Fig. 21 is different from the speech encoder 2 according to the first embodiment in that it includes a band synthesis filter bank unit 2m in place of the down-sampling unit 2a.
  • the band synthesis filter bank unit 2m receives the signal X(j,i) in the frequency domain from the band splitting filter bank unit 2c, performs band synthesis for the frequency band corresponding to the low frequency band signal and thereby acquires a down-sampled signal.
  • the acquisition of the down-sampled signal by band synthesis may be performed according to the method of downsampled synthesis filterbank in SBR of "MPEG4 AAC" specified in "ISO/IEC 14496-3", for example ("ISO/IEC 14496-3 subpart 4 General Audio Coding").
  • the specified processing corresponding to the seventh alternative example of the speech decoder 1 according to the first embodiment described above is performed when calculating g(l,i) in the time envelope information calculation unit 2f of the speech encoder 2 according to the first embodiment.
  • g(l,i) may be calculated using the low frequency band time envelope after performing the specified processing, or g(l,i) may be calculated by performing the specified processing after calculating g(l,i) using the low frequency band time envelope.
  • information as to whether or not to perform the above-described specified processing in the speech decoder 1 according to the first embodiment may be contained in the time envelope calculation control information based on an error of g(l,i) with respect to H(l,i) described above.
  • Fig. 23 is a diagram showing a configuration of the speech decoder 101 according to the second embodiment
  • Fig. 24 is a flowchart showing a procedure of speech decoding by the speech decoder 101 shown in Fig. 23
  • the speech decoder 101 of Fig. 23 is different from the speech decoder 1 according to the first embodiment in that it further includes a frequency envelope superposition unit (frequency envelope superposition means) 1q and that it includes a time-frequency envelope adjustment unit (time-frequency envelope adjustment means) 1p in place of the time envelope adjustment unit 1i (1c to 1e, 1h, 1j and 1p are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)).
  • the coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and thereby acquires coded supplementary information for high frequency band generation and quantized time-frequency envelope information.
  • the coded sequence decoding/ dequantization unit 1e decodes the coded supplementary information for high frequency band generation supplied from the coded sequence analysis unit 1d and thereby obtains supplementary information for high frequency band generation, and dequantizes the quantized time-frequency envelope information supplied from the coded sequence analysis unit 1d and thereby acquires time-frequency envelope information.
  • the frequency envelope superposition unit 1q receives a time envelope E T (l,i) from the time envelope calculation unit 1g and frequency envelope information from the coded sequence decoding/ dequantization unit 1e. Then, the frequency envelope superposition unit 1q calculates a frequency envelope from the frequency envelope information and superimposes the frequency envelope onto the time envelope. Specifically, the frequency envelope superposition unit 1q performs this processing in the following procedure, for example.
  • the frequency envelope superposition unit 1q transforms the time envelope by the following equation.
  • the frequency envelope superposition unit 1q divides the high frequency band into m H (m H ⁇ 1) number of sub-bands.
  • an array G H having m H +1 number of indexes representing the boundary of the sub-band B (F) k (1 ⁇ k ⁇ m H ) as factors is defined so that the signal X H (j,i), G H (k) ⁇ j ⁇ G H (k+1), t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E corresponds to the component of the sub-band B (F) k .
  • G H (1) k x
  • G H (m H +1) k max +1.
  • the frequency envelope superposition unit 1q calculates the frequency envelope by the following equation.
  • E F , dec k s 10 0.1 ⁇ sf dec k s , 1 ⁇ k ⁇ m H , 0 ⁇ s ⁇ s E
  • sf dec (k,s) (where 1 ⁇ k ⁇ m H , 0 ⁇ s ⁇ s E ) is a scale factor corresponding to the sub-band B (F) k .
  • E F , dec k s 64 ⁇ 2 sf dec k s , 1 ⁇ k ⁇ m H 0 ⁇ s ⁇ s E
  • the form of E F,dec (k,s) is not limited to the above example.
  • Step k may be performed by calculating sf dec (0,s), 0 ⁇ s ⁇ s E using the low frequency band component of the signal in the frequency domain received from the band splitting filter bank unit 1c.
  • the frequency envelope information may correspond to the scale factor sf dec (k,s) itself. Further, the frequency envelope information may be a difference dtsf(s,k), 1 ⁇ s ⁇ s E , 1 ⁇ k ⁇ m H in the time direction when calculating the scale factor sf dec (k,s), 1 ⁇ k ⁇ m H in the s-th (s ⁇ 1) frame by the following equation using the scale factor sf dec (k,s-1) in the (s-1)th frame.
  • sf dec k s sf dec k , s ⁇ 1 + dtsf s k , 1 ⁇ k ⁇ m H , 1 ⁇ s ⁇ s E
  • sf dec (k,0) 1 ⁇ k ⁇ m H corresponding to the initial value is acquired using another way such as the above-described method.
  • the scale factor of the sub-band may be calculated using interpolation or extrapolation from at least one of the scale factor of the low frequency band component and the scale factor of the sub-band of the high frequency band.
  • the frequency envelope information is the scale factor of the sub-band to be used for the interpolation or extrapolation and an interpolation or extrapolation parameter within the high frequency band.
  • the scale factor of the low frequency band component the low frequency band component of the signal in the frequency domain received from the band splitting filter bank unit 1c is used.
  • the interpolation or extrapolation parameter may be a specified parameter. Further, the interpolation or extrapolation of the scale factor may be made by calculating a parameter to be actually used for interpolation or extrapolation from the specified interpolation or extrapolation parameter and the interpolation or extrapolation parameter contained in the frequency envelope information. Furthermore, in at least one of the cases where the frequency envelope information is not received and where the frequency envelope information does not contain the interpolation or extrapolation parameter, the interpolation or extrapolation of the scale factor may be made using the specified interpolation or extrapolation parameter only. Note that, in this embodiment, a method of interpolation and extrapolation is not particularly limited.
  • the form of the frequency envelope information described above is just one example, and it may be any form as long as it is a parameter representing variation of the signal power or the signal amplitude in the frequency direction for each sub-band of the high frequency band.
  • the form of the frequency envelope information is not particularly limited.
  • the frequency envelope superposition unit 1q transforms the above-described E F (k,s) using the following equation.
  • the frequency envelope superposition unit 1q calculates the quantity E 2 (m,i) by the following equation using the time envelope E 0 (m,i) and the frequency envelope E 1 (m,i) transformed as above.
  • E 2 m i E 1 m s ⁇ E 0 m i 0 ⁇ m ⁇ k max ⁇ k x , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • E 2 (m,i) may be in the form given by the following equation.
  • Q(m) 0 ⁇ m ⁇ k max -k x is an integer satisfying the following equation.
  • the frequency envelope superposition unit 1q calculates the quantity E(m,i) by the following equation using the above-described E 2 (m,i).
  • E m i C s ⁇ E 2 m i , 0 ⁇ m ⁇ k max ⁇ k x , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • the coefficient C(s) is given by the following equation.
  • the time-frequency envelope adjustment unit 1p adjusts, using the time-frequency envelope E l (m,i) supplied from the frequency envelope superposition unit 1q, the time-frequency envelope of the high frequency band signal X H (j,i), k x ⁇ j ⁇ k max supplied from the high frequency band generation unit 1h .
  • Fig. 25 is a diagram showing a configuration of a speech encoder 102 according to the second embodiment
  • Fig. 26 is a flowchart showing a procedure of speech encoding by the speech encoder 102 shown in Fig. 25
  • the speech encoder 102 of Fig. 25 is different from the speech encoder 2 according to the first embodiment in that it further includes a frequency envelope information calculation unit 2n.
  • the frequency envelope information calculation unit 2n receives the high frequency band signal X(j,i) ⁇ 0 ⁇ j ⁇ N, 0 ⁇ i ⁇ t(s E ) ⁇ from the band splitting filter bank unit 2c and calculates the frequency envelope information. Specifically, calculation of the frequency envelope information is performed as follows.
  • the frequency envelope information calculation unit 2n calculates the scale factor sf(k,s), 1 ⁇ k ⁇ m H of the sub-band B (F) k .
  • the frequency envelope information calculation unit 2n may calculate the value of sf(k,s) by the following equation in accordance with the method described in "ISO/IEC 14496-3 4.B.18".
  • sf k s log 2 1 64 ⁇ E
  • sf k s C , ⁇ k ⁇ N c , 0 ⁇ s ⁇ s E in accordance with the speech decoder 101.
  • the above-described scale factor sf(O,s) may be calculated using the low frequency band signal X(j,i)(0 ⁇ j ⁇ k x ) in the frequency domain, and dsf(1,s) calculated by the scale factor sf(0,s) may be contained in the frequency envelope information.
  • the frequency envelope information may be an extrapolation parameter from the low frequency band when the scale factor of the high frequency band is approximated by extrapolation from the scale factor of the low frequency band component. Further, the frequency envelope information may be the scale factor of the sub-band and the interpolation or extrapolation parameter within the high frequency band when calculating a part different from several sub-bands from the scale factors of these several sub-bands of the high frequency band by using interpolation or extrapolation. A combination of the former and latter forms may be the frequency envelope information.
  • the frequency envelope information is not limited to the above-described examples.
  • the frequency envelope information may be scalar-quantized and then entropy-coded such as Huffman coding and Arithmetic coding. Further, the frequency envelope information may be vector-quantized using a specified code book and then its index may be set as a code.
  • the above-described scale factor sf(k,s) may be scalar-quantized and then entropy-coded such as Huffman coding and Arithmetic coding. Further, the above-described dsf(k,s) may be scalar-quantized and then entropy-coded. Furthermore, the above-described scale factor sf(k,s) may be vector-quantized using a specified code book and then its index may be set as a code. Further, the above-described dsf(k,s) may be vector-quantized using a specified code book and then its index may be set as a code. Furthermore, a difference of the scalar-quantized scale factor sf(k,s) may be entropy-coded.
  • quantization and encoding of the frequency envelope information are not limited to the above-described examples.
  • Fig. 27 is a diagram showing a configuration when the first alternative example of the speech encoder 2 according to the first embodiment of the invention is applied to the speech encoder 102 according to the second embodiment of the invention
  • Fig. 28 is a flowchart showing a procedure of speech encoding by the speech encoder 102 shown in Fig. 27
  • Fig. 29 is a diagram showing a configuration when the second alternative example of the speech encoder 2 according to the first embodiment of the invention is applied to the speech encoder 102 according to the second embodiment of the invention
  • Fig. 30 is a flowchart showing a procedure of speech encoding by the speech encoder 102 shown in Fig. 29 .
  • Fig. 31 is a diagram showing a configuration of a speech decoder 201 according to the third embodiment
  • Fig. 32 is a flowchart showing a procedure of speech decoding by the speech decoder 201 shown in Fig. 31
  • the speech decoder 201 of Fig. 31 is different from the speech decoder 1 according to the first embodiment in that it further includes a time envelope calculation control unit 1s and that it includes a coded sequence decoding/ dequantization unit 1r and an envelope adjustment unit 1t in place of the coded sequence decoding/ dequantization unit 1e and the time envelope adjustment unit 1i (1c to 1d, 1h, 1j, and 1r to 1t are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)).
  • bandwidth extension unit bandwidth extension means
  • the coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and thereby obtains coded supplementary information for high frequency band generation and time envelope calculation control information and further obtains coded time envelope information or coded second frequency envelope information.
  • the coded sequence decoding/ dequantization unit 1r decodes the coded supplementary information for high frequency band generation supplied from the coded sequence analysis unit 1d and thereby obtains supplementary information for high frequency band generation.
  • the high frequency band generation unit 1h replicates, using the supplementary information for high frequency band generation supplied from the coded sequence decoding/ dequantization unit 1r, the low frequency band signal X dec (j,i), 0 ⁇ j ⁇ k x supplied from the band splitting filter bank unit 1c onto the high frequency band and thereby generates a high frequency band signal X dec (j,i), k x ⁇ j ⁇ k max .
  • the time envelope calculation control unit 1s checks, based on the time envelope calculation control information supplied from the coded sequence analysis unit 1d, whether the envelope adjustment unit 1t is to adjust the envelope of the high frequency band signal using the second frequency envelope information.
  • the coded sequence decoding/ dequantization unit 1r decodes and dequantizes the coded time envelope information supplied from the coded sequence analysis unit 1d and thereby obtains the time envelope information.
  • the time envelope calculation control unit 1s outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1f 1 to 1f n and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that the envelope calculation is not performed in the low frequency band time envelope calculation units 1f 1 to 1f n and the time envelope calculation unit 1g.
  • the coded sequence decoding/ dequantization unit 1r decodes and dequantizes the coded second frequency envelope information supplied from the coded sequence analysis unit 1d and thereby obtains the second frequency envelope information. Further, in this case, the envelope adjustment unit 1t adjusts, using the second frequency envelope information supplied from the coded sequence decoding/ dequantization unit 1r, the frequency envelope of the high frequency band signal X H (j,i) (k x ⁇ j ⁇ k max ) supplied from the high frequency band generation unit 1h.
  • E 3 (k,s), 1 ⁇ k ⁇ m H , 0 ⁇ s ⁇ s E corresponding to E F,dec (k,s) is calculated using the decoded and dequantized second frequency envelope information in accordance with the calculation method of E F,dec (k,s) in the frequency envelope superposition unit 1q of the speech decoder 101, and further the above-described E 3 (k,s) is transformed by the following equation.
  • the first to seventh alternative examples of the speech decoder 1 according to the first embodiment of the invention may be applied to the speech decoder 201 according to the third embodiment of the invention.
  • Fig. 35 is a diagram showing a configuration of a speech encoder 202 according to the third embodiment
  • Fig. 36 is a flowchart showing a procedure of speech encoding by the speech encoder 202 shown in Fig. 35
  • the speech encoder 202 of Fig. 35 is different from the speech encoder 2 according to the first embodiment in that it further includes a time envelope calculation control information generation unit 2j and a second frequency envelope information calculation unit 2o.
  • the second frequency envelope information calculation unit 2o receives the high frequency band signal X(j,i) ⁇ k x ⁇ j ⁇ N, t(s) ⁇ i ⁇ t(s+1), 0 ⁇ s ⁇ s E ⁇ from the band splitting filter bank unit 2c and calculates the second frequency envelope information (processing in Step S207).
  • the second frequency envelope information may be calculated in the same manner as the calculation method of the frequency envelope information in the speech encoder 102 according to the second embodiment. In this embodiment, however, the calculation method of the second frequency envelope information is not particularly limited.
  • the quantization/encoding unit 2g quantizes and encodes the time envelope information and the second frequency envelope information.
  • the quantization and encoding of the time envelope information may be performed in the same manner as the quantization and encoding in the quantization/encoding unit 2g of the speech encoder according to the first and second embodiments.
  • the quantization and encoding of the second frequency envelope information may be performed in the same manner as the quantization and encoding of the frequency envelope information in the quantization/encoding unit 2g of the speech encoder according to the second embodiment.
  • the quantization and encoding method of the time envelope information and the second frequency envelope information is not particularly limited.
  • the time envelope calculation control information generation unit 2j generates time envelope calculation control information using at least one of the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, the time envelope information received from the time envelope information calculation unit 2f, and the second frequency envelope information received from the second frequency envelope information calculation unit 2o (processing in Step S209).
  • the generated time envelope calculation control information may be the time envelope calculation control information in the speech decoder 201 according to the third embodiment described above.
  • the time envelope calculation control information generation unit 2j may be the same as that of the first alternative example of the speech encoder 2 according to the first embodiment, for example.
  • the time envelope calculation control information generation unit 2j generates the pseudo locally decoded high frequency band signals using the time envelope information and the second frequency envelope information, respectively, and compares them with the original signal in the same manner as in the first alternative example of the speech encoder 2 according to the first embodiment, for example.
  • the pseudo locally decoded high frequency band signal generated using the second frequency envelope information is closer to the original signal, information indicating adjustment of the high frequency band signal using the second frequency envelope information in the decoder is generated as the time envelope calculation control information.
  • the comparison between each of the pseudo locally decoded high frequency band signals with the original signal may be made by calculating a differential signal and determining whether the differential signal is small or not, for example.
  • the comparison may be made by calculating the time envelopes of each of the pseudo locally decoded high frequency band signals and the original signal, calculating a difference of the time envelopes of each of the pseudo locally decoded high frequency band signals and the original signal, and determining whether the difference is small or not. Furthermore, the comparison may be made by determining whether the maximum value of the differential signal from the original signal and/or the difference in the envelope is small or not. In this embodiment, the comparison method is not limited the above examples.
  • the time envelope calculation control information generation unit 2j may further use at least one of the quantized time envelope information and the quantized second frequency envelope information when generating the time envelope calculation control information.
  • the coded sequence construction unit 2h constructs the high frequency band coded sequence using the coded second frequency envelope information and otherwise constructs the same using the coded time envelope information otherwise (processing in Step S211).
  • the first to fourth alternative examples of the speech encoder 2 according to the first embodiment of the invention may be applied to the speech encoder 202 according to the third embodiment of the invention.
  • Fig. 33 is a diagram showing a configuration of a speech decoder 301 according to the fourth embodiment
  • Fig. 34 is a flowchart showing a procedure of speech decoding by the speech decoder 301 shown in Fig. 33 .
  • the speech decoder 1 is different from the speech decoder 1 according to the first embodiment in that it further includes a time envelope calculation control unit 1s and a frequency envelope superposition unit 1u and that it includes a coded sequence decoding/ dequantization unit 1r and a time-frequency envelope adjustment unit 1v in place of the coded sequence decoding/ dequantization unit 1e and the time envelope adjustment unit 1i, respectively (1c to 1d, 1h, 1j, 1r to 1s, and 1u to 1v are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)).
  • bandwidth extension unit bandwidth extension means
  • the coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and thereby obtains coded supplementary information for high frequency band generation and time envelope calculation control information and further obtains coded time envelope information and coded frequency envelope information or coded second frequency envelope information.
  • the time envelope calculation control unit 1s checks, based on the time envelope calculation control information supplied from the coded sequence analysis unit 1d, whether the envelope adjustment unit 1v is to adjust the envelope of the high frequency band signal using the second frequency envelope information and, when the envelope adjustment unit 1v does not adjust the envelope of the high frequency band signal using the second frequency envelope information, the coded sequence decoding/ dequantization unit 1r decodes and dequantizes the coded time envelope information supplied from the coded sequence analysis unit 1d and thereby obtains the time envelope information.
  • the envelope adjustment unit 1v adjusts the envelope of the high frequency band signal using the second frequency envelope information
  • the same processing as in Step S190 of the third embodiment is performed.
  • the processing of the time-frequency envelope adjustment unit 1v is also the same as in Step S191 of the third embodiment.
  • first to seventh alternative examples of the speech decoder 1 according to the first embodiment of the invention may be applied to the speech decoder 301 according to the fourth embodiment of the invention.
  • Fig. 37 is a diagram showing a configuration of a speech encoder 302 according to the fourth embodiment
  • Fig. 38 is a flowchart showing a procedure of speech encoding by the speech encoder 302 shown in Fig. 37
  • the speech encoder 302 of Fig. 37 is different from the speech encoder 2 according to the first embodiment in that it further includes a time envelope calculation control information generation unit 2j, a frequency envelope information calculation unit 2p, and a second frequency envelope information calculation unit 2o.
  • the quantization/encoding unit 2g quantizes and encodes the time envelope information, the frequency envelope information and the second frequency envelope information.
  • the quantization and encoding of the time envelope information may be performed in the same manner as the quantization and encoding in the quantization/encoding unit 2g of the speech encoder according to the first and second embodiments.
  • the quantization and encoding of the frequency envelope information and the second frequency envelope information may be performed in the same manner as the quantization and encoding of the frequency envelope information in the quantization/encoding unit 2g of the speech encoder according to the second embodiment.
  • the quantization and encoding method of the time envelope information and the second frequency envelope information is not particularly limited.
  • the time envelope calculation control information generation unit 2j generates time envelope calculation control information using at least one of the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, the time envelope information received from the time envelope information calculation unit 2f, the frequency envelope information received from the frequency envelope information calculation unit 2p, and the second frequency envelope information received from the second frequency envelope information calculation unit 2o (processing in Step S250).
  • the generated time envelope calculation control information may be the time envelope calculation control information in the speech decoder 301 according to the fourth embodiment.
  • the time envelope calculation control information generation unit 2j may be the same as that of the first alternative example of the speech encoder 2 according to the first embodiment, for example. Further, the time envelope calculation control information generation unit 2j may be the same as that of the speech encoder 202 according to the third embodiment, for example.
  • the time envelope calculation control information generation unit 2j generates the pseudo locally decoded high frequency band signals using the time envelope information, the frequency envelope information and the second frequency envelope information, respectively, and compares them with the original signal in the same manner as in the first alternative example of the speech encoder 2 according to the first embodiment, for example.
  • the pseudo locally decoded high frequency band signal generated using the second frequency envelope information is closer to the original signal, information indicating adjustment of the high frequency band signal using the second frequency envelope information in the decoder is generated as the time envelope calculation control information.
  • the comparison between each of the pseudo locally decoded high frequency band signals with the original signal may be the same as in the time envelope calculation control information generation unit 2j of the speech encoder 202 according to the third embodiment, and the comparison method is not particularly limited in this embodiment.
  • the time envelope calculation control information generation unit 2j may further use at least one of the quantized time envelope information, the quantized frequency envelope information and the quantized second frequency envelope information when generating the time envelope calculation control information.
  • the coded sequence construction unit 2h constructs the high frequency band coded sequence using the coded second frequency envelop information and otherwise constructs the same with the coded time envelope information and the coded frequency envelope information (processing in Step S252).
  • time envelope calculation unit 1g of the speech decoder 1 processing based on a specified function is performed on the calculated time envelope.
  • the time envelope calculation unit 1g normalizes the time envelope with respect to time and calculates the time envelope E T '(l, i) by the following equation.
  • processing of replacing the value E T (l, i) with the value E T '(l, i) can be done since then.
  • the temporal shape of the high frequency band signal X H (j,i) (F H (l) ⁇ j ⁇ F H (l+1)) within the frequency band F H (l) ⁇ j ⁇ F H (l+ 1) of the frame s can be adjusted without changing the total amount of energy of the frequency band F H (l) ⁇ j ⁇ F H (l+1) in the frame s of the high frequency band signal X H (j, i) generated by the high frequency band generation unit 1h.
  • the eighth alternative example of the speech decoder 1 according to the first embodiment may be applied also to the first to seventh alternative examples of the speech decoder 1 according to the first embodiment and the speech decoders according to the second to fourth embodiments, and, in this case, E T (l, i) may be replaced with E T '(l, i).
  • the ninth alternative example of the speech decoder 1 according to the first embodiment is also applicable to the first to eighth alternative examples of the speech decoder 1 according to the first embodiment and the speech decoders according to the second to fourth embodiments.
  • the calculation of the time envelope information in the time envelope information calculation unit 2f of the speech encoder 2 according to the first embodiment is performed based on the correlation between a reference time envelope H(l,i) and the above-described g(l,i).
  • the time envelope information calculation unit 2f calculates the time envelope information as follows.
  • a correlation coefficient corr(l) between H(l,i) and g(l,i) is calculated by the following equation.
  • ⁇ i t s t s + 1 ⁇ 1 g l i ⁇ g ave l 2 1 ⁇ l ⁇ n H , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • the correlation coefficient corr(l) is compared with a specified threshold, and the time envelope information is calculated based on the comparison result.
  • a value corresponding to corr 2 (l) may be calculated and compared with a specified threshold, and the time envelope
  • the time envelope calculation control unit 1m outputs the low frequency band time envelope calculation control signal to the k-th (k>0) low frequency band time envelope calculation units 1f k so that the low frequency band time envelope calculation in the low frequency band time envelope calculation units 1f k is not performed.
  • the time envelope calculation control unit 1m outputs the low frequency band time envelope calculation control signal to the k-th (k>0) low frequency band time envelope calculation units 1f k so that the low frequency band time envelope calculation in the low frequency band time envelope calculation units 1f k is performed.
  • the calculation method is not limited to the above example as long as the time envelope information is calculated based on the correlation between the reference time envelope H(l,i) and the above-described g(l,i).
  • the time envelope information is calculated based on the degree of matching between the reference time envelope H(l,i) and g(l,i).
  • the time envelope information is calculated based on the degree of similarity between the shapes of the reference time envelope H(l,i) and g(l,i).
  • the fifth alternative example of the speech encoder 2 according to the first embodiment is also applicable to the first to fifth alternative examples of the speech encoder 2 according to the first embodiment and the speech encoders according to the second to fourth embodiments.
  • processing based on a specified function is performed on the frequency envelope E F,dec (k,s).
  • the frequency envelope superposition unit 1q performs processing based on a function of smoothing the frequency envelope E F,dec (k,s) given by the following equation.
  • E F,dec,Filt (k,i) is replaced with E F,dec (k,s) in the subsequent processing.
  • a function of determining whether or not to smooth the frequency envelope E F,dec (k,s) based on the signal characteristics of the frame corresponding to the frequency envelope E F,dec (k,s) may be included in the above Equation 73. Furthermore, information indicating whether or not to perform smoothing may be included in the coded sequence, and a function of determining whether or not to smooth the frequency envelope E F,dec (k,s) based on the information may be included.
  • the first alternative example of the speech decoder 101 according to the second embodiment is also applicable to the speech decoder according to the fourth embodiment.
  • the quantity E(m,i) is the value obtained by correcting E 2 (m,i) with C(s) (Equation 60). Further, according to Equation 61, the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band k x ⁇ m ⁇ k max of the frame s is corrected to be the total of the time envelope E 0 (m,i) in the band k x ⁇ m ⁇ k max of the frame s.
  • Equation 62 the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band k x ⁇ m ⁇ k max of the frame s is corrected to be the total of the frequency envelope E 1 (m,i) in the band k x ⁇ m ⁇ k max of the frame s.
  • C(s) is given by the following equation so that the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band k x ⁇ m ⁇ k max of the frame s is maintained after the adjustment of the time-frequency envelope.
  • C(s) may be given by the following equation so that the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band k x ⁇ m ⁇ k max of the frame s is the total of the time envelope E 2 (m,i) in the band k x ⁇ m ⁇ k max of the frame s.
  • C s 1
  • the second alternative example of the speech decoder 101 according to the second embodiment is also applicable to the first alternative example of the speech decoder 101 according to the second embodiment and the speech decoder according to the fourth embodiment.
  • Fig. 39 is a diagram showing a configuration of a third alternative example of the speech decoder 101 according to the second embodiment
  • Fig. 40 is a flowchart showing a procedure of speech decoding by the speech decoder 101 shown in Fig. 39 .
  • This alternative example is different from the speech decoder 101 according to the second embodiment in that it includes a frequency envelope calculation unit 1w in place of the frequency envelope superposition unit 1q.
  • the frequency envelope calculation unit 1w in this alternative example calculates the frequency envelope E 1 (m,s) in the same manner as the frequency envelope superposition unit 1q according to the second embodiment (Step S119a).
  • the time-frequency envelope adjustment unit 1p adjusts the time-frequency envelope as follows, for example, using the time envelope E T (l,i) and the frequency envelope E 1 (m,s) (Step S120).
  • the time-frequency envelope adjustment unit 1p transforms the time envelope E T (l,i) into E 0 (m,i) in the same manner as the frequency envelope superposition unit 1q.
  • the noise floor scale factor Q(m,s) in the frame s supplied from the coded sequence decoding/ dequantization unit 1e is transformed by the following equation.
  • Q 2 m s E 1 m s Q m s 1 + Q m s 0 ⁇ m ⁇ M , 0 ⁇ s ⁇ s E
  • the level of sinusoid in the frame s is given by the following equation using the quantity S(m,s) calculated by a parameter that determines whether or not to add a sinusoid and that is supplied from the coded sequence decoding/ dequantization unit 1e.
  • S 2 m s E 1 m s S m s 1 + Q m s 0 ⁇ m ⁇ M , 0 ⁇ s ⁇ s E
  • the gain is given by the following equation using the frequency envelope E 1 (m,s), the noise floor scale factor Q(m,s) in the frame s supplied from the coded sequence decoding/ dequantization unit 1e, and the function ⁇ (s) that depends on the parameter of the frame s supplied from the coded sequence decoding/ dequantization unit 1e.
  • E curr (m,s) is defined by the following equation.
  • S'(m,s) is the function that represents whether there is a sinusoid to be added in the sub-band B (F) k (G H (k) ⁇ m ⁇ G H (k+1)) including the frequency represented by the index m in the frame s, and it is "1" when there is a sinusoid to be added and "0" otherwise.
  • X' H (m+k x ,i) can be calculated using the above-described quantity E curr (m,s).
  • X H ′ m + k x , i X H m + k x , i X H m + k x , i 2
  • the quantity X' H (m+k x ,i) can be calculated also by the following equation.
  • X' H (m+k x ,i) can be calculated also from the following equation.
  • the high frequency band signal X H (m+k x ,i) can be smoothed in the time direction in the frequency index m or the sub-band B (F) k .
  • the high frequency band signal on the basis of the time envelope calculated in the time envelope calculation unit 1g can be output without depending on the time envelope of the high frequency band signal X H (m+k x ,i).
  • the gain G 2 (m,s), the noise floor scale factor Q 3 (m,s) and the sinusoid level S 3 (m,s) can be calculated by performing processing based on a specific function on the above-described gain, the noise floor scale factor and the sinusoid level.
  • processing based on the function of limitation to the gain for avoiding the unneeded addition of noise (gain limiter) and compensation for the energy loss by the gain limitation (gain booster) is performed on the above-described gain, the noise floor scale factor and the sinusoid level to thereby calculate the gain G 2 (m,s), the noise floor scale factor Q 3 (m,s) and the sinusoid level S 3 (m,s) (see ISO/IEC 1449-3 4.6.18.7.5 for a specific example).
  • G 2 (m,s), Q 3 (m,s) and S 3 (m,s) are used instead of G(m,s), Q 2 (m,s) and S 2 (m,s) in the subsequent processing.
  • the quantities G 3 (m,i) and Q 4 (m,i) given by the following equation are calculated using the gain G(m,s), the noise floor scale factor Q 2 (m,s) and the time envelope E 0 (m,i) obtained as above.
  • the gain and the noise floor scale factor are calculated based on the time envelope, and, after the subsequent processing, the signal with the time-frequency envelope adjusted by the time-frequency envelope adjustment unit 1p can be finally output.
  • the gain and the noise floor scale factor are calculated based on the time envelope in the above equation, the sinusoid level can be calculated also based on the time envelope in the same manner as the gain and the noise floor scale factor.
  • processing based on a specified function can be performed on the above-described G 3 (m,i) and Q 4 (m,i).
  • processing based on a function of smoothing may be performed.
  • G Fiit (m,i) and Q Filt (m,i) given by the following equations are calculated.
  • sc h (j) and d h are a specified coefficient of smoothing and a specified order of smoothing, respectively.
  • G Temp (m,i) and Q Temp (m,i) are given by the following equations.
  • G Temp m , i + d h E 0 m i ⁇ G m s 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • Q Temp m , i + d h E 0 m i ⁇ Q 2 m s 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • G Flit m i G old m ⁇ w old m i + G Temp m i ⁇ w curr m i 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • Q Flit m i Q old m ⁇ w old m i + Q Temp m i ⁇ w curr m i 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • w old (m,i) and w curr (m,i) are specified weighting factors.
  • G Temp (m,i) and Q Temp (m,i) are given by the following equations.
  • G Temp m i E 0 m i ⁇ G m s 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s
  • Q Temp m i E 0 m i ⁇ Q 2 m s 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • G old (m) is the gain of a time index (specifically, t(s)-1) in the previous frame (specifically, the frame s-1) at the boundary with the frame s and given by any of the following equations.
  • G old m G Flit m , t s ⁇ 1 0 ⁇ m ⁇ M , 0 ⁇ s ⁇ s E
  • G Filt (m,s) and Q Filt (m,s) are used instead of G 3 (m,s) and Q 4 (m,s) in the subsequence processing.
  • the above-described function of smoothing may include a function of determining whether or not to perform smoothing based on the parameter of the frame s supplied from the coded sequence decoding/ dequantization unit 1e. Further, information indicating whether or not to perform smoothing may be included in the coded sequence, and the above-described function of smoothing may include a function of determining whether or not to perform smoothing based on the information. Furthermore, it may include a function of determining whether or not to perform smoothing based on at least one of the above.
  • the time-frequency envelope adjustment unit 1p obtains the signal with the adjusted time-frequency envelope by the following equations.
  • Equation 97 X' H (m+k x ,i) may be used in place of X H (m+k x ,i).
  • the energy loss due to gain limitation is compensated in units of the frame s for each sub-band B (F) k (G H (k) ⁇ Sj ⁇ G H (k+1)).
  • the energy loss due to gain limitation is compensated in units of the time index i for the high frequency band signal X H (j,i) for each sub-band B (F) k (G H (k) ⁇ j ⁇ G H (k+1)).
  • the gain limiter of HF adjustment in SBR of "MPEG4 AAC" described above may be applied to the gain G(m,s) and the noise scale factor Q 2 (m,s).
  • G Temp (m,i) and Q Temp (m,i) are given by the following equation instead of the above-described Equations 89 and 90.
  • G Temp m , i + d h E 0 m i ⁇ G 2 m i 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • Q Temp m , i + d h E 0 m i ⁇ Q 3 m i 0 ⁇ m ⁇ M , t s ⁇ i ⁇ t s + 1 , 0 ⁇ s ⁇ s E
  • Equation 99 when Equation 99 is replaced with the following equation, the energy loss due to gain limitation is compensated in units of the time index i for the high frequency band signal X H (j,i) for each sub-band B (T) k (F H (k) ⁇ j ⁇ F H (k+1)).
  • Equation 99 the energy loss due to gain limitation is compensated in units of the time index i for the high frequency band signal X H (j,i) for each frequency index m.
  • G Boost Temp m i ⁇ + E 1 m s ⁇ + X H 2 m + k x , i ⁇ G 2 m s + S 2 2 m s + ⁇ S 2 m s , s ⁇ Q 2 2 m s
  • X' H (m+k x ,i) may be used instead of X H (m+k x ,i).
  • time-frequency envelope adjustment unit 1p of the speech decoder 101 In the time-frequency envelope adjustment unit 1p of the speech decoder 101 according to the second embodiment, adjustment of the time-frequency envelope is performed by the similar way to the HF adjustment in SBR of "MPEG4 AAC" using the quantity E(m,i) received from the frequency envelope superposition unit 1q, in the same manner as performed by the time envelope adjustment unit 1i of the speech decoder 1 according to the first embodiment.
  • the third alternative example of the speech decoder 101 according to the second embodiment is applicable also to the first and second alternative examples of the speech decoder 101 according to the second embodiment and the speech decoder according to the fourth embodiment.
  • the time envelope calculation unit 1g does not calculate the time envelope E T (l,i).
  • the operation processing that requires E 0 (m,i) is performed by replacing E 0 (m,i) with 1.
  • the processing of multiplying E 0 (m,i), the power of E 0 (m,i) and the square root of E 0 (m,i) can be omitted, thereby reducing the amount of computation.
  • the time-frequency envelope adjustment unit 1p does not need to calculate E 0 (m,i).
  • the time envelope information calculation unit 2f calculates the time envelope information based on the characteristics of at least one signal of the signal X(j,i) in the frequency domain obtained from the band splitting filter bank unit 2c, an external input signal received through the communication device of the speech encoder 2, and the down-sampled low frequency band signal in the time domain obtained as an output from the down-sampling unit 2a.
  • the signal characteristics may be transient characteristics, tonality, noise characteristics and the like of the signal, for example, through the signal characteristics are not limited to those specific examples in this alternative example.
  • the time envelope calculation control information generation unit 2j generates the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1 according to the signal characteristics of at least one signal of the signal X(j,i) in the frequency domain obtained from the band splitting filter bank unit 2c, an external input signal received through the communication device of the speech encoder 2, and the down-sampled low frequency band signal in the time domain obtained as an output from the down-sampling unit 2a.
  • the signal characteristics may be transient characteristics, tonality, noise characteristics and the like of the signal, for example, through the signal characteristics are not limited to those specific examples in this alternative example.
  • the noise floor scale factor, and the parameter that determines whether or not to add a sinusoid may be quantized and encoded as a matter of course.
  • the present invention is used for a speech decoder, a speech encoder, a speech decoding method, a speech encoding method, a speech decoding program, and a speech encoding program, and it is possible to adjust the time envelope of a decoded signal into a less distorted shape and thereby obtain a reproduced signal in which pre-echo and post-echo are sufficiently reduced.
  • time-frequency envelope adjustment unit 1q...frequency envelope superposition unit, 1r...coded sequence decoding/ dequantization unit, 1s... time envelope calculation control unit, It... envelope adjustment unit, 1u...frequency envelope superposition unit, 1w...frequency envelope calculation unit, 2,102,202,302...speech encoder, 2a... down-sampling unit, 2b...low frequency band encoding unit, 2c ... band splitting filter bank unit, 2d... supplementary information for high frequency band generation calculation unit, 2e l ⁇ 2e k ...low frequency band time envelope calculation unit, 2f...time envelope information calculation unit, 2g...quantization/encoding unit, 2h... high frequency band coded sequence construction unit, 2i...multiplexing unit, 2j ... time envelope calculation control information generation unit, 2k...low frequency band decoding unit, 2m... band synthesis filter bank unit, 2n,2o,2p ... frequency envelope information calculation unit

Description

    Technical Field
  • The present invention relates to a speech decoder.
  • Background Art
  • Speech and audio coding technologies that compress the amount of data in a signal to one-several tenths by removing information which is not necessarily perceived by a human according to the auditory psychology is a significantly important technology in connection with transmission and accumulation of signals. An example of widely used perceptual audio coding techniques is MPEG4 AAC (Advanced Audio Coding) standardized by ISO/IEC MPEG (Moving Picture Experts Group).
  • Further, as a method for improving the performance of speech coding and obtaining high speech quality at a low bit rate, a bandwidth extension technology that generates high frequency band components of a speech using low frequency band components there of has been widely used recently. A typical example of the bandwidth extension technology is the SBR (Spectral Band Replication) technology used in MPEG4 AAC. The SBR technology generates high frequency band components by performing, on a signal transformed into the frequency domain by QMF (Quadrature Mirror Filter) bank, copying spectral coefficients from a low frequency band to a high frequency band and thereafter adjusts the high frequency band components by adjusting the spectral envelope and tonality of the replicated coefficients. Adjustment of the spectral envelope and tonality will be referred hereinafter to as "adjustment of frequency envelope". The speech encoding method using such a bandwidth extension technology can reproduce high frequency band components of a signal using only a small amount of supplementary information , and it is thus effective to achieve lower bit rate of speech coding.
  • In the bandwidth extension technology in the frequency domain such as SBR, since the frequency envelope is adjusted to the spectral coefficients expressed in the frequency domain, when an audio signal with large variations of time envelope, such as a speech signal, a clapping sound or a castanet sound, is encoded, there is a case where reverberant noise called pre-echo or post-echo may be perceived in a decoded signal. This problem is caused by the fact that the time envelope of high frequency band components is deformed in the process of adjustment and, in many cases, becomes flatter in shape than before the adjustment. The time envelope of high frequency band components that has become flat as a result of the adjustment does not coincide with the time envelope of high frequency band components in the original signal before encoding and causes pre-echoes or post-echoes.
  • As a solution to this problem, the following method is known (see Patent Literature 1). Specifically, the method acquires the electric power of low frequency band components for each time slot of a frequency domain signal, extracts time envelope information from the acquired power, and superimposes the extracted time envelope information onto high frequency band components that are adjusted using supplementary information and then processed to adjust the frequency envelope. This method is referred hereinafter to as "a method of time envelope deformation". It is thereby possible to adjust the time envelope of a decoded signal to have a less distorted shape and obtain a reproduced signal with less pre-echo and post-echo.
  • Citation List Patent Literature
  • Further, US 2007/238415 A1 discloses a novel bandwidth extension technique that allows information to be encoded and decoded using a fractal self similarity model or an accurate spectral replacement model, or both. Also a multi-band temporal amplitude coding technique is disclosed, which is useful as an enhancement to any coding/decoding technique and helps with accurate reconstruction of the temporal envelope and employs a utility filterbank.
  • Summary of Invention Technical Problem
  • In the time envelope deformation method disclosed in the above-described Patent Literature 1, after a decoded signal is obtained which contains only low frequency band components which are obtained on the basis of an inputted, multiplexed bit stream, a signal in the QMF domain is obtained from the decoded signal. Further, time envelope information is acquired from the signal in the QMF domain, and the time envelope information is adjusted using parameters. Thereafter, using the adjusted time envelope information, a time envelope deformation process is performed on the signal in the QMF domain obtained from high frequency band components of.
  • However, in the above-described time envelope deformation method, because the time envelope deformation process is performed using single time envelope information which is a function of time obtained from the signal in the QMF domain obtained from the low frequency band components, when the time envelope of the low frequency band components and the time envelope of the high frequency band components are not sufficiently correlated, it is difficult to adjust the waveform of the time envelope. As a result, pre-echoes and post-echoes in the decoded signal tend to be not sufficiently reduced .
  • The present invention has been made in view of the above problem and provides a speech decoder in which by adjusting the time envelope of a decoded signal to have a less distorted shape, a reproduced signal is obtained whose pre-echoes and post-echoes are sufficiently reduced.
  • Solution to Problem
  • To solve the above problem, a decoder according to one aspect of the invention is a speech decoder that decodes a coded sequence of an encoding speech signal. The speech decoder for the invention pursued with this application is defined in claim 1.
  • Further Aspects as Informative Examples
  • According to the decoder, the low frequency band signal is obtained from the coded sequence by demultiplexing and decoding, and the supplementary information for high frequency band generation and the time envelope information are obtained from the coded sequence by demultiplexing, decoding and dequantization. Then, the high frequency band components in the frequency domain are generated from the low frequency band signal transformed into the frequency domain using the supplementary information for high frequency band generation, and, after acquiring a plurality of low frequency band time envelopes by analyzing the low frequency band signal in the frequency domain, the high frequency band time envelope is calculated using the plurality of low frequency band time envelopes and the time envelope information. Further, the time envelope of the high frequency band components is adjusted by the calculated high frequency band time envelope, and the adjusted high frequency band components and the low frequency band signal are added together and thereby the time domain signal is output. In this manner, because a plurality of low frequency band time envelopes are used for adjustment of the time envelope of the high frequency band components, the waveform of the time envelope of the high frequency band components is adjusted with high accuracy by use of the correlation between the time envelopes of low frequency band components and the time envelope of high frequency band components. As a result, the time envelope in the decoded signal is adjusted to have a less distorted shape, and therefore a reproduced signal can be obtained in which pre-echoes and post-echoes are sufficiently reduced .
  • It is preferred that the speech decoder further includes time envelope calculation control means for controlling at least one of (i) calculation of the low frequency band time envelopes in the first to Nth low frequency band time envelope calculation means and (ii) calculation of the high frequency band time envelope in the time envelope calculation means using the low frequency band signal transformed into the frequency domain by the frequency transformation means. With the time envelope calculation control means, it is possible to omit calculation of the low frequency band time envelopes or calculation of the high frequency band time envelope according to properties such as the power of the low frequency band signal, thereby reducing the amount of computation.
  • The speech decoder further includes time envelope calculation control an optional means for controlling calculation of the low frequency band time envelopes in the first to Nth low frequency band time envelope calculation means and, the speech decoder includes a means for controlling calculation of the high frequency band time envelope in the time envelope calculation means using the time envelope information acquired by the coded sequence decoding and dequantization means. With the time envelope calculation control means, it is possible to omit calculation of the low frequency band time envelopes or calculation of the high frequency band time envelope according to the time envelope information obtained from the coded sequence, thereby reducing the amount of computation.
  • It is also preferred that the high frequency band coded sequence analysis means further acquires time envelope calculation control information, and the speech decoder further includes time envelope calculation control means for controlling at least one of (i) calculation of the low frequency band time envelopes in the first to Nth low frequency band time envelope calculation means and (ii) calculation of the high frequency band time envelope in the time envelope calculation means using the time envelope calculation control information acquired by the high frequency band coded sequence analysis means. In this configuration, it is possible to omit calculation of the low frequency band time envelopes or calculation of the high frequency band time envelope according to the time envelope calculation control information obtained from the coded sequence, thereby reducing the amount of computation.
  • It is also preferred that the high frequency band coded sequence analysis means further acquires time envelope calculation control information, and that the coded sequence decoding and dequantization means further includes time envelope calculation control means which further acquires second frequency envelope information and determines, based on the time envelope calculation control information, whether to adjust the frequency envelope of the high frequency band components based on the second frequency envelope information and, when it is determined to adjust the frequency envelope, controls not to perform calculation of the low frequency band time envelopes by the first to Nth low frequency band time envelope calculation means and calculation of the high frequency band time envelope by the time envelope calculation means. In this case also, it is possible to omit calculation of the low frequency band time envelopes or calculation of the high frequency band time envelope according to the time envelope calculation control information obtained from the coded sequence, thereby reducing the amount of computation.
  • It is also preferred that the time-frequency envelope adjustment means processes, with a specified function, the high frequency band components of the speech signal generated by the high frequency band generation means. It is also preferred that the low frequency band time envelope calculation means processes, with a specified function, the acquired plurality of low frequency band time envelopes .
  • In an example not being part of the present invention of this application, an encoder according to one aspect of the invention is a speech encoder that encodes a speech signal. The speech encoder comprises frequency transformation means for transforming the speech signal into a frequency domain, down-sampling means for down-sampling the speech signal and acquiring a low frequency band signal, low frequency band encoding means for encoding the low frequency band signal acquired by the down-sampling means, first to Nth (N is an integer equal to or larger than two ) low frequency band time envelope calculation means for calculating a plurality of time envelopes of low frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, time envelope information calculation means for calculating, using the time envelopes of the low frequency band components calculated by the first to Nth low frequency band time envelope calculation means, time envelope information necessary to acquire a time envelope of high frequency band components of the speech signal transformed by the frequency transformation means, and supplementary information calculation means for analyzing the speech signal and calculating supplementary information for high frequency band generation to be used for generating high frequency band components from the low frequency band signal. The speech encoder further comprises quantization and encoding means for quantizing and encoding the supplementary information for high frequency band generation generated by the supplementary information calculation means and the time envelope information calculated by the time envelope information calculation means, coded sequence construction means for constructing a high frequency band coded sequence from the supplementary information for high frequency band generation and the time envelope information quantized and encoded by the quantization and encoding means, and multiplexing means for generating a coded sequence which multiplexes the low frequency band coded sequence, which is acquired by the low frequency band encoding means, and the high frequency band coded sequence, which is constructed by the coded sequence construction means .
  • In an example not being part of the present invention of this application, an encoding method according to one aspect of the invention is a speech encoding method of encoding a speech signal. The method comprises a frequency transformation step, performed by frequency transformation means, of transforming the speech signal into a frequency domain, a down-sampling step, performed by down-sampling means, of down-sampling the speech signal and acquiring a low frequency band signal, a low frequency band encoding step, performed by low frequency band encoding means, of encoding the low frequency band signal acquired by the down-sampling means, first to Nth (N is an integer equal to or larger than two) low frequency band time envelope calculation step, performed by first to Nth low frequency band time envelope calculation means, of calculating a plurality of time envelopes of low frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, time envelope information calculation step, performed by time envelope information calculation means, of calculating, using the time envelopes of the low frequency band components calculated by the first to Nth low frequency band time envelope calculation means, time envelope information necessary to acquire a time envelope of high frequency band components of the speech signal transformed by the frequency transformation means, and a supplementary information calculation step, performed by supplementary information calculation means, of analyzing the speech signal and calculating supplementary information for high frequency band generation to be used for generating high frequency band components from the low frequency band signal. The method further comprises a quantization and encoding step, performed by quantization and encoding means, of quantizing and encoding the supplementary information for high frequency band generation generated by the supplementary information calculation means and the time envelope information calculated by the time envelope information calculation means, a coded sequence construction step, performed by coded sequence construction means, of constructing a high frequency band coded sequence from the supplementary information for high frequency band generation and the time envelope information quantized and encoded by the quantization and encoding means, and a multiplexing step, performed by multiplexing means, of generating a coded sequence which multiplexes the low frequency band coded sequence acquired by the low frequency band encoding means and the high frequency band coded sequence constructed by the coded sequence construction means .
  • In an example not being part of the present invention of this application an encoding program according to one aspect of the invention is a speech encoding program that encodes a speech signal The program causes a computer to function as frequency transformation means for transforming the speech signal into a frequency domain, down-sampling means for down-sampling the speech signal and acquiring a low frequency band signal, low frequency band encoding means for encoding the low frequency band signal acquired by the down-sampling means, first to Nth (N is an integer equal to or larger than two ) low frequency band time envelope calculation means for calculating a plurality of time envelopes of low frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, time envelope information calculation means for calculating, using the time envelopes of the low frequency band components calculated by the first to Nth low frequency band time envelope calculation means, time envelope information necessary to acquire a time envelope of high frequency band components of the speech signal transformed by the frequency transformation means, and supplementary information calculation means for analyzing the speech signal and calculating supplementary information for high frequency band generation to be used for generating high frequency band components from the low frequency band signal. The program further causes the computer to function as quantization and encoding means for quantizing and encoding the supplementary information for high frequency band generation generated by the supplementary information calculation means and the time envelope information calculated by the time envelope information calculation means, coded sequence construction means for constructing a high frequency band coded sequence from the supplementary information for high frequency band generation and the time envelope information quantized and encoded by the quantization and encoding means, and multiplexing means for generating a coded sequence which multiplexes the low frequency band coded sequence acquired by the low frequency band encoding means and the high frequency band coded sequence constructed by the coded sequence construction means.
  • According to the speech encoder, the encoding method or the encoding program described above, the low frequency band signal is obtained by down-sampling of a speech signal, and the low frequency band signal is encoded, while a plurality of time envelopes of low frequency band components are calculated based on the speech signal in the frequency domain, and using the plurality of time envelopes of low frequency band components, the time envelope information for acquiring the time envelope of high frequency band components is calculated. Further, the supplementary information for high frequency band generation for generating high frequency band components from the low frequency band signal is calculated, and, after the supplementary information for high frequency band generation and the time envelope information are quantized and encoded, the high frequency band coded sequence is constructed, which contains the supplementary information for high frequency band generation and the time envelope information . Then, the coded sequence is generated in which the low frequency band coded sequence and the high frequency band coded sequence are multiplexed . Accordingly, when the coded sequence is input to the decoder, a plurality of low frequency band time envelopes can be used on the decoder side for adjusting the time envelope of high frequency band components on the decoder side, and thereby the waveform of the time envelope of high frequency band components is adjusted with high accuracy, using the correlation between the time envelope of low frequency band components and the time envelope of high frequency band components on the decoder side. As a result, the time envelope in the decoded signal is adjusted to have a less distorted shape, and therefore a reproduced signal can be obtained on the decoder side in which pre-echoes and post-echoes are sufficiently reduced.
  • It is preferred that the speech encoder further includes frequency envelope calculation means for calculating frequency envelope information of the high frequency band components of the speech signal which is transformed into the frequency domain by the frequency transformation means, that the quantization and encoding means further quantizes and encodes the frequency envelope information, and that the coded sequence construction means constructs the high frequency band coded sequence by further adding the frequency envelope information quantized and encoded by the quantization and encoding means. In this configuration, adjustment of the frequency envelope of the high frequency band components can be made on the decoder side, and therefore a reproduced signal with improved frequency characteristics can be obtained on the decoder side.
  • It is also preferred that the speech encoder further includes control information generation means for generating time envelope calculation control information that controls time envelope calculation in a speech decoder using at least one of (i) the speech signal transformed into the frequency domain by the frequency transformation means and (ii) the time envelope information calculated by the time envelope information calculation means, and that the coded sequence construction means constructs the high frequency band coded sequence by further adding the time envelope calculation control information generated by the control information generation means. In this case, it is possible to increase the efficiency of time envelope calculation on the decoder side by referring to the property such as the power of the speech signal and the time envelope information, thereby reducing the amount of computation.
  • It is also preferred that the time envelope information calculation means calculates a time envelope of high frequency band components of the speech signal transformed into the frequency domain by the frequency transformation means, and calculates the time envelope information based on correlation between a time envelope calculated from the first to Nth time envelopes of low frequency band components and the time envelope of the frequency components.
  • Advantageous Effects of Invention
  • According to the present invention, it is possible to adjust the time envelope of a decoded signal to have a less distorted shape and thereby obtain a reproduced signal in which pre-echoes and post-echoes are sufficiently reduced.
  • Brief Description of Drawings
    • Fig. 1 is a schematic block diagram of a speech decoder 1 according to a first embodiment of the invention;
    • Fig. 2 is a flowchart showing a procedure of a speech decoding method implemented by the speech decoder 1 shown in Fig. 1;
    • Fig. 3 is a schematic block diagram of a speech encoder 2 according to the first embodiment of the invention, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 4 is a flowchart showing a procedure of a speech encoding method implemented by the speech encoder 2 shown in Fig. 3, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 5 is a diagram showing a configuration of a principal part relating to envelope calculation in a first alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 6 is a flowchart showing a procedure of envelope calculation performed by the speech decoder 1 shown in Fig. 5;
    • Fig. 7 is a diagram showing a configuration of a principal part relating to envelope calculation in a second alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 8 is a flowchart showing a procedure of envelope calculation performed by the speech decoder 1 shown in Fig. 7;
    • Fig. 9 is a diagram showing a configuration of a principal part relating to envelope calculation in a third alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 10 is a flowchart showing a procedure of envelope calculation performed by the speech decoder 1 shown in Fig. 9;
    • Fig. 11 is a flowchart showing a procedure of envelope calculation in a fourth alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 12 is a flowchart showing a procedure of envelope calculation in a fifth alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 13 is a flowchart showing a procedure of envelope calculation in a sixth alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 14 is a flowchart showing a procedure of time envelope calculation performed by a time envelope calculation unit 1g in a seventh alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 15 is a flowchart showing a part of processing by a time envelope calculation control unit 1m when the seventh alternative example of the speech decoder 1 according to the first embodiment is applied to the second alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 16 is a flowchart showing a part of processing by a time envelope calculation control unit 1n when the seventh alternative example of the speech decoder 1 according to the first embodiment is applied to the fourth alternative example of the speech decoder 1 according to the first embodiment;
    • Fig. 17 is a diagram showing a configuration of a first alternative example of the speech encoder 2 according to the first embodiment, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 18 is a flowchart showing a procedure of speech encoding performed by the speech encoder 2 shown in Fig. 17, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 19 is a diagram showing a configuration of a second alternative example of the speech encoder 2 according to the first embodiment, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 20 is a flowchart showing a procedure of speech encoding performed by the speech encoder 2 shown in Fig. 19, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 21 is a diagram showing a configuration of a third alternative example of the speech encoder 2 according to the first embodiment, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 22 is a flowchart showing a procedure of speech encoding performed by the speech encoder 2 shown in Fig. 21, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 23 is a diagram showing a configuration of a speech decoder 101 according to a second embodiment, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 24 is a flowchart showing a procedure of speech decoding performed by the speech decoder 101 shown in Fig. 23, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 25 is a diagram showing a configuration of a speech encoder 102 according to the second embodiment, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 26 is a flowchart showing a procedure of speech encoding performed by the speech encoder 102 shown in Fig. 25, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 27 is a diagram showing a configuration in which the first alternative example of the speech encoder 2 according to the first embodiment of the invention is applied to the speech encoder 102 according to the second embodiment of the invention, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 28 is a flowchart showing a procedure of speech encoding performed by the speech encoder 102 shown in Fig. 27, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 29 is a diagram showing a configuration in which the second alternative example of the speech encoder 2 according to the first embodiment of the invention is applied to the speech encoder 102 according to the second embodiment of the invention, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 30 is a flowchart showing a procedure of speech encoding performed by the speech encoder 102 shown in Fig. 29, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 31 is a diagram showing a configuration of a speech decoder 201 according to a third embodiment;
    • Fig. 32 is a flowchart showing a procedure of speech decoding performed by the speech decoder 201 shown in Fig. 31;
    • Fig. 33 is a diagram showing a configuration of a speech decoder 301 according to a fourth embodiment;
    • Fig. 34 is a flowchart showing a procedure of speech decoding performed by the speech decoder 301 shown in Fig. 33;
    • Fig. 35 is a diagram showing a configuration present of a speech encoder 202 according to the third embodiment, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 36 is a flowchart showing a procedure of speech encoding performed by the speech encoder 202 shown in Fig. 35, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 37 is a diagram showing a configuration of a speech encoder 302 according to a fourth embodiment, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 38 is a flowchart showing a procedure of speech encoding performed by the speech encoder 302 shown in Fig. 37, which is not part of the present invention of this application but provided as an informative example;
    • Fig. 39 is a diagram showing a configuration of a third alternative example of the speech decoder 101 according to the second embodiment; and
    • Fig. 40 is a flowchart showing a procedure of speech decoding performed by the speech decoder 101 shown in Fig. 39.
    Description of Embodiments
  • Preferred embodiments of a speech decoder, a speech encoder, a speech decoding method, a speech encoding method, a speech decoding program, and a speech encoding program are described hereinafter in detail with reference to the drawings. It is noted that, in the description of the drawings, the same elements will be denoted by the same reference symbols and redundant description will be omitted. It is to be noted that the present invention pursued with this application is a speech decoder as defined in claim 1. Aspects of speech encoders, and embodiments not falling under claim 1 are provided for informative purposes.
  • [First Embodiment]
  • Fig. 1 is a schematic block diagram of a speech decoder 1 according to a first embodiment of the invention, and Fig. 2 is a flowchart showing a procedure of a speech decoding method implemented by the speech decoder 1. The speech decoder 1 includes CPU, ROM, RAM, a communication device and the like, which are not shown, and the CPU loads a specified computer program (for example, a computer program for performing the process shown in the flowchart of Fig. 2) stored in an internal memory such as the ROM of the speech decoder 1 to the RAM and executes the program to exercise control over the speech decoder 1. The communication device of the speech decoder 1 receives a multiplexed coded sequence that is output from the speech encoder 2, which will later be described , and outputs a decoded speech signal to the outside.
  • As shown in Fig. 1, the speech decoder 1 functionally includes a demultiplexing unit (demultiplexing means) 1a, a low frequency band decoding unit (low frequency band decoding means) 1b, a band splitting filter bank unit (frequency transformation means) 1c, a coded sequence analysis unit (high frequency band coded sequence analysis means) 1d, a coded sequence decoding/dequantization unit (coded sequence decoding and dequantization means) 1e, first to n-th (n is an integer of two or more) low frequency band time envelope calculation unit (low frequency band time envelope calculation means) 1fl to 1fn, a time envelope calculation unit (time envelope calculation means) 1g, a high frequency band generation unit (high frequency band generation means) 1h, a time envelope adjustment unit (time envelope adjustment means) 1i, and a band synthesis filter bank unit (inverse frequency transformation means) 1j (1c to 1e and 1h to 1i are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)). The respective units of the speech decoder 1 shown in Fig. 1 are functional units that are realized by the CPU of the speech decoder 1 executing a computer program stored in the internal memory of the speech decoder 1. The CPU of the speech decoder 1 executes the computer program (uses the functional units of Fig. 1) and thereby sequentially executes the process shown in the flowchart of Fig. 2 (the process of Steps S01 to S10). It is assumed that various data required for execution of the computer program and various data generated through execution of the computer program are stored in the internal memory, such as ROM and RAM, of the speech decoder 1.
  • The functions of the respective units of the speech decoder 1 will hereinafter be described in detail.
  • The demultiplexing unit 1a divides a multiplexed coded sequence that is input through the communication device of the speech decoder 1 into a low frequency band coded sequence and a high frequency band coded sequence by demultiplexing.
  • The low frequency band decoding unit 1b decodes the low frequency band coded sequence supplied from the demultiplexing unit 1a and obtains a decoded signal that contains only low frequency band components . A method of decoding may be based on a speech coding method such as CELP (Code-Excited Linear Prediction) or based on audio coding such as AAC (Advanced Audio Coding) and TCX (Transform Coded Excitation). Further, it may be based on PCM (Pulse Code Modulation) coding. Furthermore, it may be based on a method that uses those coding methods switchably. In this embodiment, a method of coding is not particularly limited.
  • The band splitting filter bank unit 1c analyzes the decoded signal containing only low frequency band components supplied from the low frequency band decoding unit 1b and transforms the decoded signal into a signal in the frequency domain. Hereinafter, the signal in the frequency domain that corresponds to the low frequency band acquired by the band splitting filter bank unit 1c is represented as Xdec(j,i) {0≤j<kx, t(s)≤i<t(s+1), 0≤s<sE}, where j is an index in the frequency direction, i is an index in the time direction, and kx is a nonnegative integer. Further, t is defined so that the range t(s)≤i<t(s+1) of the signal Xdec(j,i) with respect to the index i corresponds to the s-th (0≤s<sE) frame. Further. sE is the number of all frames. The above frame corresponds to the frame specified by the coding method to which the decoding method of the low frequency band decoding unit 1b conforms . Further, the above frame may correspond to so-called SBR frame or SBR envelope time segment in SBR used in "MPEG4 AAC" specified by "ISO/IEC 14496-3". Note that, in this embodiment, the time interval specified by the frame is not limited to the above example. The above index i may correspond to a QMF subband subsample or a time slot equaling several subband samples in SBR used in "MPEG4 AAC" specified by "ISO/IEC 14496-3".
  • The coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and acquires coded supplementary information for high frequency band generation and coded time-frequency envelope information.
  • The coded sequence decoding/dequantization unit 1e decodes and dequantizes the coded supplementary information for high frequency band generation supplied from the coded sequence analysis unit 1d and obtains coded supplementary information for high frequency band generation, and decodes and dequantizes the coded time envelope information supplied from the coded sequence analysis unit 1d and acquires time envelope information.
  • The first to n-th low frequency band time envelope calculation units 1fl to 1fn calculate time envelopes different from each other. Specifically, the k-th low frequency band time envelope calculation unit 1fk (1≤k≤n) receives a low frequency band signal X(j,i) {0≤j≤kx, t(s)≤i<t(s+1), 0≤s<sE} from the band splitting filter bank unit 1c and calculates the k-th time envelope Ldec(k,i) in the low frequency band (processing in Step Sb6). To be specific, the k-th low frequency band time envelope calculation unit 1fk calculates the time envelope Ldec(k,i) as follows.
  • First, different sub-bands in the low frequency band can be specified using two integers kl and kh satisfying the following condition. 0 k l k h < k x
    Figure imgb0001
  • The total number of possible sets of integers (kl, kh) satisfying the above condition is nmax=kx(kx+1)/2. The sub-bands can be specified by selecting any one from those sets of integers.
  • Next, n number of sub-bands are specified by selecting n number from the nmax sets of integers. Hereinafter, to represent the n number of bands, two arrays Bl and Bh with the size n are defined so that the signal Xdec(j,i) {Bl(k)≤j≤Bh(k), t(s)≤i<t(s+1)), 0≤s<sE} corresponds to the k-th (1≤k≤n) sub-band component.
  • Further, the power time envelope of the n number of sub-band components is acquired by the following equation. E L k i = 1 k h k l + 1 j = k l k h X dec j i 2 k l = B l k , k h = B h k , 1 k n , t s i < t s + 1 , 0 s < s E
    Figure imgb0002
  • Then, the following equation is calculated for the above EL(k,i). L 0 k i = 10 log 10 E L k i , 1 k n , t s i < t s + 1 , 0 s < s E
    Figure imgb0003
  • Then, a time envelope L(k,i) is acquired by performing specified processing on the quantity L0(k,i). For example, the time envelope L(k,i) may be acquired by smoothing the quantity L0(k,i) in the time direction by using the following equation. L 1 k i = { j = 0 d L 0 k , i j sc j d i j = 0 i L 0 k , i j sc j i < d 1 k n , t s i < t s + 1 , 0 s < s E
    Figure imgb0004
  • In the above equation, sc(j), 0≤j≤d is the coefficient of smoothing, and d is the order of smoothing. The value of sc(j) is set by the following equation, for example. sc j = 1 / d + 1 , 0 j d
    Figure imgb0005
    However, in this embodiment, the value of sc(j) is not limited to the above equation.
  • Further, the above L0(k,i) may be calculated by the following equation, for example. L 0 k i = E L k i , 1 k n , t s i < t s + 1 , 0 s < s E
    Figure imgb0006
  • Furthermore, the above L0(k,i) may be calculated by the following equation, for example. L 0 k i = 10 log 10 E L k i i = t s t s + 1 1 E L k i + ε , 1 k n , t s i < t s + 1 , 0 s < s E
    Figure imgb0007
    where ε is the relaxation factor for avoiding division by zero. Further, the above L0(k,i) may be calculated by the following equation, for example. L 0 k i = E L k i i = t s t s + 1 1 E L k i + ε , 1 k n , t s i < t s + 1 , 0 s < s E
    Figure imgb0008
  • The time envelope Ldec(k,i) calculated by the k-th low frequency band time envelope calculation unit 1fk is obtained using the following equation: L dec k i = L 0 k i 1 k n , t s i < t s + 1 , 0 s < s E
    Figure imgb0009
    or the following equation: L dec k i = L 1 k i 1 k n , t s i < t s + 1 , 0 s < s E 1 l , m n 1
    Figure imgb0010
  • Note that the above Ldec(k,i) may be any parameter representing the time-variation of the signal power or the signal amplitude of the k-th sub-band signal and not limited to the above form of L0(k,i) and L1(k,i).
  • Further, the above Ldec(k,i) may be calculated by a method using principal component analysis as follows.
  • First, in the process of calculating Ldec(k,i) {1≤k≤n, t(s)≤i<t(s+1), 0≤s<sE} described above, m kinds of quantities corresponding to the above Ldec(k,i) are calculated for the index k by replacing n with another integer m=n-1, and those quantities are represented as L2(k,i) {1≤k≤m(=n-1), t(s)≤i<t(s+1), 0≤s<sE}. Then, the above L2(l,i) {1≤l≤m, t(s)≤i<t(s+1)} corresponding to the s-th (0≤s<sE) frame is regarded as samples of m number of vectors with the order D=t(s+1)-t(s), and the average of those samples is calculated by the following equation. L 2 , ave i = 1 m l = 1 m L 2 l i t s i < t s + 1 , 0 s < s E
    Figure imgb0011
    Using the above average, the displacement vector is defined by the following equation. δL 2 l i = L 2 l i L 2 , ave i 1 l m , t s i < t s + 1 , 0 s < s E
    Figure imgb0012
    From those displacement vectors, the variance-covariance matrix Cov with the size D×D is calculated by the following equation. Cov i j = 1 m l = 1 m δL l , i + t s 1 δL l , j + t s 1 i , j = 1,2 , , D 0 s < s E
    Figure imgb0013
  • Then, the eigenvectors V(k) of the matrix Cov that satisfy the following equation j = 1 D Cov i j V k j = V k i λ k i , k = 1,2 , , D
    Figure imgb0014
    and are orthogonal to each other are calculated. The above V(k) i is the component of the eigenvectors V(k), and λ(k) is the eigenvalue of the matrix Cov corresponding to V(k). Each of the above vectors V(k) may be normalized. However, a method normalization is not limited in this invention. Hereinafter, it is assumed that λ(1)≥λ(2)≥...≥λ(D) to simplify the description.
  • Using the eigenvectors acquired in the above manner, the low frequency band time envelope calculation unit 1fk (1≤k≤n) calculates the time envelope Ldec(k,i) as follows. Specifically, when D≥m(=n-1), n-1 number of vectors are selected from the above eigenvectors in the order of magnitudes corresponding eigenvalues, and the time envelope is calculated by the following equation. L dec k i = { V k i 1 k n 1 L 2 , ave i k = n t s i < t s + 1 , 0 s < s E
    Figure imgb0015
    On the other hand, when D<m(=n-1), the time envelope is calculated by the following equation using the above eigenvectors. L dec k i = { V k i 1 k D α D + 1 k n 1 L 2 , ave i k = n t s i < t s + 1 , 0 s < s E
    Figure imgb0016
    where α is a constant number, and α=0, for example. Further, when D<m(=n-1), the time envelope may be calculated by the following equation. L dec k i = { V k i 1 k D L 2 k D , i D + 1 k n 1 L 2 , ave i k = n t s i < t s + 1 , 0 s < s E
    Figure imgb0017
  • Further, the above Ldec(k,i) may be calculated by the following method. First, in the process of calculating L2(l,i) described above, L2(l,i), 1≤l≤m, t(s)≤i<t(s+1), 0≤s≤sE is calculated assuming m=n. Those can be regarded as a group of n number of D=t(s+1)-t(s) dimensional vectors. Using the n number of vectors, n number of orthogonal vectors are calculated by a method such as Gram-Schmidt orthogonalization and set as Ldec(k,i), 1≤l≤n, t(s)≤i<t(s+1), 0≤s≤sE. A method of orthogonalization, however, is not limited to the above example. Further, the orthogonal vectors are not necessarily normalized.
  • The time envelope calculation unit 1g calculates a high frequency band time envelope using the n number of low frequency band time envelopes supplied from the first to n-th low frequency band time envelope calculation units 1fl to 1fn and the time envelope information supplied from the coded sequence decoding/dequantization unit 1e. Specifically, the calculation of the time envelope by the time envelope calculation unit 1g is performed as follows.
  • First, the high frequency band is divided into nH (nH≥1) number of sub-bands, and those sub-bands are represented as B(T) l (l=1,2,3,...,nH). Next, using the above-described time envelope Ldec(k,i), the time envelope gdec(l,i) of the sub-band B(T) l in the high frequency band is calculated. i is the index in the time direction.
  • For example, the above-described gdec(l,i) is given by the following equation. g dec l i = k = 1 n A l , k s L dec k i , 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0018
    The value in the above equation: A l , k s , 1 l n H , 1 k n , 0 s < s E
    Figure imgb0019
    is the time envelope information supplied from the coded sequence decoding/dequantization unit 1e.
  • Further, in the time envelope information supplied from the coded sequence decoding/dequantization unit 1e, the coefficient Al,k(s) may contain the coefficient: A l , 0 s , 1 l n H , 0 s < s E
    Figure imgb0020
    and, in this case, the above gdec(l,i) may be given by the following equation. g dec l i = k = 1 n A l , k s L dec k i + A l , 0 s 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0021
  • Further, the time envelope information supplied from the coded sequence decoding/dequantization unit 1e may contain the coefficient given by the following equation: A l , k s , 1 l n H , 1 k g , 0 s < s E
    Figure imgb0022
    in addition to the above coefficient Al,k(s) {1≤l≤nH, 1≤k≤n, 0≤s<sE} or the above coefficient Al,k(s) {1≤l≤nH, 0≤k≤n, 0≤s≤sE}, and, in this case, the above gdec(l,i) may be given by the following equation: g dec l i = k = 1 n A l , k s L dec k i + k = 1 g A l , k s U k i 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0023
    or the following equation: g dec l i = k = 1 n A l , k s L dec k i + A l , 0 s + k = 1 g A l , k s U k i 1 l n II , t s i < t s + 1 , 0 s < s E
    Figure imgb0024
    where U(k,i) {1≤k≤g, t(s)≤i<t(s+1), 0≤s<sE} is a specified coefficient or a specified function. For example, U(k,i) may be the function given by the following equation: U k i = cos Ω k i t s 1 k g , t s i < t s + 1 , 0 s < s E
    Figure imgb0025
    where Ω is a specified coefficient.
  • The above gdec(l,i) may be in another form as long as it is a representation by Ldec(k,i), and the time envelope information is also not limited to the form of the coefficient Al,k(s).
  • Finally, using the above gdec(l,i), the time envelope calculation unit 1g calculates the time envelope by the following equation E T l i = 10 0.1 × g dec l i , 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0026
    or in an alternative example, which is not part of the present invention of this application but provided as an informative example, by the following equation. E T , l i = g dec l i , 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0027
  • The high frequency band generation unit 1h replicates, using the supplementary information for high frequency band generation supplied from the coded sequence decoding/dequantization unit 1e, the low frequency band signal Xdec(j,i) {0≤j≤kx, t(s)≤i<t(s+1), 0≤s<sE} supplied from the band splitting filter bank unit 1c onto the high frequency band and thereby generates a high frequency band signal Xdec(j,i) {kx≤j≤kmax, t(s)≤i<t(s+1), 0≤s<sE}. The generation of the high frequency band is performed in accordance with a method of HF generation in SBR of "MPEG4 AAC" specified by "ISO/IEC 14496-3" ("ISO/IEC 14496-3 subpart 4 General Audio Coding").
  • The time envelope adjustment unit 1i adjusts the time envelope of the high frequency band signal XH(j,i) {kx≤j≤kmax, t(s)≤i<t(s+1), 0≤s<sE} supplied from the high frequency band generation unit 1h by using the time envelope ET(l,i) {1≤l≤nH, t(s)≤i<t(s+1), 0≤s<sE} supplied from the time envelope calculation unit 1g.
  • Specifically, adjustment of the time envelope is made by a method similar to the HF adjustment in SBR of "MPEG4 AAC" as descried below. For simplification, a method that takes only noise addition in the HF adjustment into consideration is described below, and methods corresponding to processing such as gain limiter, gain smother and sinusoid addition are omitted. However, it is easy to generalize processing so as to include the above omitted processing. Note that it is assumed that noise floor scale factor required for performing processing corresponding to noise addition or a parameter required for performing the above-described omitted processing are already supplied from the coded sequence decoding/dequantization unit 1e.
  • First, for simplification of the following description, an array FH having nH+1 number of indexes representing the boundary of the sub-band B(T) l (1≤l≤nH) as elements is defined so that the signal XH(j,i) {FH(l)≤j<FH(l+1), t(s)≤i<t(s+1), 0≤s<sE} corresponds to the component of the sub-band B(T) l. Note that FH(1)=kx and FH(nH+1)=kmax+1.
  • Under the above definition, the time envelope is transformed by the following equation: E m i = E T l i k l k x m k h k x , { k l = F H l k h = F H l + 1 1 , 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0028
    After that, the noise floor scale factor Q(m,i) given by the coded sequence decoding/dequantization unit 1e are transformed by the following equation: Q 2 m i = E m i Q m i 1 + Q m i , 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0029
    where M=F(nH+1)-F(1). Further, the gain is calculated by the following equation: G m i = E m i ε + E curr m i Q m i 1 + Q m i , 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0030
    The quantity represented by the following equation is defined. E curr k k x , i = 1 k h k l + 1 j = k l k h X H j i 2 , k l k k h , { k l = F H p k h = F H p + 1 1 , 1 p n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0031
  • Finally, the time envelope adjustment unit 1i obtains the signal with the adjusted time envelope by the following equation: Re Y m + k x , i = Re W 1 m i + Q 2 m i V 0 ƒ i , Im Y m + k x , i = Im W 1 m i + Q 2 m i V 1 ƒ i , W 1 m i = G m i X dec m + k x , i , 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0032
    where V0 and V1 are arrays specifying the noise component, and f is the function to map the index i onto an index on the arrays (see "ISO/IEC 14496-3 4.B.18" for a specific example).
  • The band synthesis filter bank unit 1j adds the high frequency band signal Y(i,j) {kx≤j≤kmax, t(s)≤i<t(s+1), 0≤s<sE} supplied from the time envelope adjustment unit 1i and the low frequency band signal X(j,i) {0≤j≤kx, t(s)≤i<t(s+1), 0≤s<sE} supplied from the band splitting filter bank unit 1c together and then synthesizes them, and thereby acquires a decoded speech signal in the time domain containing the entire frequency band components, and outputs the acquired speech signal to the outside through the internal communication device.
  • Hereinafter, the operation of the speech decoder 1 is described and the speech decoding method in the speech decoder 1 is also described in detail with reference to Fig. 2.
  • First, the demultiplexing unit 1a divides the input coded sequence into the low frequency band coded sequence and the high frequency band coded sequence (Step S01). Next, the low frequency band decoding unit 1b decodes the low frequency band coded sequence and obtains the decoded signal containing only low frequency band components (Step S02). Then, the band splitting filter bank unit 1c analyzes the decoded signal containing only low frequency band components and transforms it into a signal in the frequency domain (Step S03).
  • Further, the coded sequence analysis unit 1d analyzes the high frequency band coded sequence and acquires the coded supplementary information for high frequency band generation and the quantized time envelope information (Step S04). Then, the coded sequence decoding/ dequantization unit 1e decodes the supplementary information for high frequency band generation and dequantizes the time envelope information (Step S05). After that, the high frequency band generation unit 1h replicates the low frequency band signal Xdec(j,i) onto the high frequency band using the supplementary information for high frequency band generation and thereby generates the high frequency band signal Xdec(j,i) (Step S06). Then, the first to n-th low frequency band time envelope calculation units 1fl to 1fn calculate a plurality of low frequency band time envelopes Ldec(k,i) based on the low frequency band signal X(j,i) (Step S07).
  • Further, as not part of the present invention of this application but provided as an informative example, the time envelope calculation unit 1g calculates the high frequency band time envelope ET(l,i) using the plurality of low frequency band time envelopes Ldec(k,i) and the time envelope information (Step S08). Then, the time envelope adjustment unit 1i adjusts the time envelope of the high frequency band signal XH(j,i) by using the time envelope ET(l,i) (Step S09). Finally, the band synthesis filter bank unit 1j adds the high frequency band signal Y(i,j) and the low frequency band signal X(j,i) together and then synthesizes them to acquire the decoded speech signal in the time domain and outputs the decoded speech signal (Step S10).
  • Fig. 3 is a diagram showing a configuration of the speech encoder 2 according to the first embodiment of the invention, and Fig. 4 is a flowchart showing a procedure of a speech encoding method implemented by the speech encoder 2. The speech encoder 2 includes CPU, ROM, RAM, a communication device and the like that are not physically shown, and the CPU loads a specified computer program (for example, a computer program for performing the process shown in the flowchart of Fig. 4) stored in an internal memory such as the ROM of the speech encoder 2 to the RAM and executes the program to thereby exercise control over the speech encoder 2. The communication device of the speech encoder 2 receives a speech signal to be encoded from the outside and outputs a coded multiplexed bit stream to the outside.
  • As shown in Fig. 3, the speech encoder 2 functionally includes a down-sampling unit (down-sampling means) 2a, a low frequency band encoding unit (low frequency band encoding means) 2b, a band splitting filter bank unit (frequency transformation means) 2c, a supplementary information for high frequency band generation calculation unit (supplementary information calculation means) 2d, first to n-th (n is an integer of two or more) low frequency band time envelope calculation units (low frequency band time envelope calculation means) 2el to 2en, a time envelope information calculation unit (time envelope information calculation means) 2f, a quantization/encoding unit (quantization and encoding means) 2g, a high frequency band coded sequence construction unit (coded sequence construction means) 2h, and a multiplexing unit (multiplexing means) 2i. The respective units of the speech encoder 2 shown in Fig. 3 are functional units that are realized by the CPU of the speech encoder 2 executing a computer program stored in the internal memory of the speech encoder 2. The CPU of the speech encoder 2 executes the computer program (uses the functional units of Fig. 3) to sequentially execute the process shown in the flowchart of Fig. 4 (the process of Steps S11 to S20). It is assumed that various data required for execution of the computer program and various data generated by execution of the computer program are stored in the internal memory, such as ROM and RAM, of the speech encoder 2.
  • The down-sampling unit 2a processes an external input signal that is received through the communication device of the speech encoder 2 and obtains a down-sampled time domain signal in the low frequency band. The low frequency band encoding unit 2b encodes the down-sampled time domain signal and obtains a low frequency band coded sequence. The encoding in the low frequency band encoding unit 2b may be based on a speech coding method such as CELP, or based on transform coding such as AAC or audio coding such as TCX. Further, it may be based on PCM coding. Furthermore, it may be based on a method that uses those coding methods switchably. In this embodiment, a method of coding is not particularly limited.
  • The band splitting filter bank unit 2c analyzes an external input signal that is received through the communication device of the speech encoder 2 and transforms it into a signal X(j,i) in the entire frequency bands in the frequency domain, where j is an index in the frequency direction, i is an index in the time direction.
  • The supplementary information for high frequency band generation calculation unit 2d receives the frequency domain signal X(j,i) from the band splitting filter bank unit 2c and calculates, based on analysis of the power, signal variations, tonality and the like of the high frequency band, supplementary information for high frequency band generation to be used when generating high frequency band signal components from low frequency band signal components.
  • The first to n-th low frequency band time envelope calculation units 2el to 2en calculate a plurality of different time envelopes of low frequency band components, respectively. Specifically, the k-th low frequency band time envelope calculation unit 2ek (1≤k≤n) receives a low frequency band signal X(j,i) {0≤j≤kx, t(s)≤i<t(s+1), 0≤s<sE} from the band splitting filter bank unit 2c and calculates the k-th time envelope L(k,i) {t(s)≤i<t(s+1), 0≤s<sE} in the low frequency band in accordance with the above-described calculation method of the time envelope Ldec(k,i) of the k-th low frequency band time envelope calculation unit 1fk (1≤k≤n) of the speech decoder 1 described above.
  • The time envelope information calculation unit 2f receives the high frequency band signal X(j,i) {kx≤j≤N, t(s)≤i<t(s+1), 0≤s<sE} from the band splitting filter bank unit 2c and receives the time envelope L(k,i) {t(s)≤i<t(s+1), 0≤s<sE} from the k-th low frequency band time envelope calculation unit 2ek (1≤k≤n), and calculates time envelope information required for acquiring the time envelope of high frequency band components of the signal X(j,i). The time envelope information is information that can construct the approximation of a reference time envelope in the high frequency band when the time envelope Ldec(k,i) is given on the speech decoder 1 side described above.
  • Specifically, calculation of the time envelope information is performed as follows. First, a time envelope of power is calculated by the following equation. E H l i = 1 k h k l + 1 j = k l k h X j i 2 k h = F H l , k l = F H l + 1 1 , 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0033
    Next, when the reference time envelope in the l-th (1≤l≤nH) frequency band of the high frequency band is represented as H(l,i) {t(s)≤i<t(s+1)}, the reference time envelope H(l,i) is calculated by the following equation. H l i = 10 log 10 E H l i , k h = F H l , k l = F H l + 1 1 , t s i < t s + 1 , 0 s < s E
    Figure imgb0034
    or by the following equation. H l i = E H l i , k h = F H l , k l = F H l + 1 1 , t s i < t s + 1 , 0 s < s E
    Figure imgb0035
  • Note that, the reference time envelope in the high frequency band may be obtained by performing specified processing (for example, smoothing) on H(l,i), like the time envelope in the low frequency band described above. Further, the reference time envelope in the high frequency band is not necessarily calculated by the above calculation method as long as it is a parameter representing the time-variation of the signal power or the signal amplitude of the high frequency band signal. When the approximation of the reference time envelope H(l,i) by the time envelope L(k,i) is represented as g(l,i), the form of g(l,i) conforms to the form gdec(l,i) in the speech decoder 1. The time envelope L(k,i) corresponds to the time envelope Ldec(k,i) on the speech decoder 1 side.
  • For example, the time envelope information can be calculated by defining an error of the above g(l,i) with respect to the reference time envelope H(l,i) and calculating g(l,i) that minimizes the error. Specifically, it can be calculated by treating the error as a function of the time envelope information and finding the time envelope information that gives the minimum value of the error. The calculation of the time envelope information may be performed numerically or may be calculated using a numerical formula.
  • To be more specific, the error of the above g(l,i) with respect to the reference time envelope H(l,i) may be calculated by the following equation: error = i = t s t s + 1 1 H l i g l i 2 , 1 l n H , 0 s < s E
    Figure imgb0036
    Further, the error may be calculated as a weighted error using the following equation: error = i = t s t s + 1 1 w i H l i g l i 2 , 1 l n H , 0 s < s E
    Figure imgb0037
    Furthermore, the error may be calculated by the following equation: error = l = 1 n H i = t s t s + 1 1 w l i H l i g l i 2 , 0 s < s E
    Figure imgb0038
    The weight w(l,i) may be defined as a weight that varies with the time index i or a weight that varies with the frequency index l, and it may be defined as a weight that varies with the time index i and the frequency index l. Note that, in this embodiment, the form of the error and the form of the weight are not particularly limited to the above examples.
  • The quantization/encoding unit 2g receives the time envelope information from the time envelope information calculation unit 2f and then quantizes and encodes the time envelope information, and receives the supplementary information for high frequency band generation from the supplementary information for high frequency band generation calculation unit 2d and then encodes the supplementary information for high frequency band generation.
  • As a quantization and encoding method of the time envelope information, when the information is in the form of the coefficient Al,k(s), for example, Al,k(s) may be scalar-quantized and then entropy-coded. Further, Al,k(s) may be vector-quantized using a specified code book and then its index may be coded. In this embodiment, however, the quantization and encoding method of the time envelope information is not limited to the above.
  • The high frequency band coded sequence construction unit 2h receives the coded supplementary information for high frequency band generation and the quantized time envelope information from the quantization/encoding unit 2g and constructs a high frequency band coded sequence containing those.
  • The multiplexing unit 2i receives the low frequency band coded sequence from the low frequency band encoding unit 2b and receives the high frequency band coded sequence from the high frequency band coded sequence construction unit 2h, multiplexes those two coded sequences to generate a coded sequence and outputs the generated coded sequence.
  • Hereinafter, the operation of the speech encoder 2 is described and the speech encoding method in the speech encoder 2 is also described in detail with reference to Fig. 4.
  • First, the band splitting filter bank unit 2c analyzes an input speech signal and thereby acquires the frequency domain signal X(j,i) in the entire frequency bands (Step S11). Next, the down-sampling unit 2a processes an external input speech signal and acquires the down-sampled time domain signal (Step S12). Then, the low frequency band encoding unit 2b encodes the down-sampled time domain signal and obtains the low frequency band coded sequence (Step S13).
  • Further, the supplementary information for high frequency band generation calculation unit 2d analyzes the frequency domain signal X(j,i) acquired from the band splitting filter bank unit 2c and calculates the supplementary information for high frequency band generation to be used when generating high frequency band signal components (Step S14). Then, the first to n-th low frequency band time envelope calculation units 2el to 2en calculate a plurality of low frequency band time envelopes L(k,i) based on the low frequency band signal X(j,i) (Step S15). After that, the time envelope information calculation unit 2f calculates, based on the high frequency band signal X(j,i) and the plurality of low frequency band time envelopes L(k,i), the time envelope information required for acquiring the time envelope of high frequency band components of the signal X(j,i) (Step S16). Then, the quantization/encoding unit 2g quantizes and encodes the time envelope information and encodes the supplementary information for high frequency band generation (Step S17).
  • Further, the high frequency band coded sequence construction unit 2h constructs the high frequency band coded sequence containing the coded supplementary information for high frequency band generation and the quantized time envelope information (Step S18). Then, the multiplexing unit 2i generates the coded sequence by multiplexing the low frequency band coded sequence and the high frequency band coded sequence and outputs the generated coded sequence (Step S19).
  • According to the speech decoder 1, the decoding method or the decoding program described above, the low frequency band signal is obtained from the coded sequence by demultiplexing and decoding, and the supplementary information for high frequency band generation and the time envelope information are obtained from the coded sequence by demultiplexing, decoding and dequantization. Then, the high frequency band component Xdec(j,i) in the frequency domain is generated from the low frequency band signal Xdec(j,i) transformed into the frequency domain using the supplementary information for high frequency band generation, and, on the other hand, after acquiring a plurality of low frequency band time envelopes Ldec(k,i) by analyzing the low frequency band signal Xdec(j,i) in the frequency domain, the high frequency band time envelope ET(l,i) is calculated using the plurality of low frequency band time envelopes Ldec(k,i) and the time envelope information. Further, the time envelope of the high frequency band component XH(j,i) is adjusted by the calculated high frequency band time envelope ET(l,i), and the adjusted high frequency band component and the low frequency band signal are added together and thereby the time domain signal is output. In this manner, because a plurality of low frequency band time envelopes Ldec(k,i) are used for adjustment of the time envelope of the high frequency band component XH(j,i), the waveform of the time envelope of the high frequency band component is adjusted with high accuracy by use of the correlation between the time envelope of low frequency band components and the time envelope of high frequency band components. As a result, the time envelope in the decoded signal is adjusted into a less distorted shape, and therefore a reproduced signal with less pre-echo and post-echo can be obtained.
  • Further, according to the speech encoder 2, the encoding method or the encoding program described above, the low frequency band signal is obtained by down-sampling of a speech signal, and the low frequency band signal is encoded and, on the other hand, a plurality of time envelopes L(k,i) of low frequency band components are calculated based on the speech signal X(j,i) in the frequency domain, and the time envelope information for acquiring the time envelope of high frequency band components is calculated using the plurality of time envelopes L(k,i) of low frequency band components. Further, the supplementary information for high frequency band generation for generating high frequency band components from the low frequency band signal is calculated, and, after the supplementary information for high frequency band generation and the time envelope information are quantized and encoded, the high frequency band coded sequence containing the supplementary information for high frequency band generation and the time envelope information is constructed. Then, the coded sequence in which the low frequency band coded sequence and the high frequency band coded sequence are multiplexed is generated. Accordingly, when the coded sequence is input to the speech decoder 1, a plurality of low frequency band time envelopes can be used for adjustment of the time envelope of high frequency band components on the speech decoder 1 side, and the waveform of the time envelope of high frequency band components is thereby adjusted with high accuracy by use of the correlation between the time envelope of low frequency band components and the time envelope of high frequency band components on the speech decoder 1 side. As a result, the time envelope in the decoded signal is adjusted into a less distorted shape, and therefore a reproduced signal with less pre-echo and post-echo can be obtained on the decoder side.
  • [First Alternative Example of Speech Decoder According to First Embodiment]
  • Fig. 5 is a diagram showing a configuration of a principal part related to envelope calculation in a first alternative example of the speech decoder 1 according to the first embodiment, and Fig. 6 is a flowchart showing a procedure of envelope calculation by the speech decoder 1 shown in Fig. 5.
  • The speech decoder 1 shown in Fig. 5 includes a time envelope calculation control unit (time envelope calculation control means) 1k in addition to the low frequency band time envelope calculation units 1f1 to 1fn and the time envelope calculation unit 1g. The time envelope calculation control unit 1k receives a low frequency band signal from the band splitting filter bank unit 1c, calculates the power of the low frequency band signal in the frame (Step S31), and compares the calculated power of the low frequency band signal with a specified threshold (Step S32). When the power of the low frequency band signal is not larger than the specified threshold (NO in Step S32), the time envelope calculation control unit 1k outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1fl to 1fn and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that time envelope calculation is not performed in the low frequency band time envelope calculation units 1fl to 1fn and the time envelope calculation unit 1g. In this case, the time envelope of the high frequency band signal is sent to the band synthesis filter bank unit 1j without being adjusted based on the above-described time envelope (for example, in the above Equation 29, E(m,i) is replaced with Ecurr(m,i)), and the following equation: G m i = Q m i 1 + Q m i
    Figure imgb0039
    is used in place of the above Equation 30) (Step S36). On the other hand, when the power of the low frequency band signal is larger than the specified threshold, the time envelope calculation control unit 1k outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1fl to 1fn and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that time envelope calculation is performed in the low frequency band time envelope calculation units 1fl to 1fn and the time envelope calculation unit 1g. In this case, the high frequency band signal whose time envelope is adjusted by the time envelope adjustment unit 1i based on the above-described time envelope is sent to the band synthesis filter bank unit 1j.
  • Referring to Fig. 6, in the first alternative example of the speech decoder 1, the envelope calculation process shown in Steps S31 to S36 is executed in place of the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2. S34 being not part of the present invention of this application but provided as an informative example.
  • In the first alternative example of the speech decoder 1 described above, when the power of the low frequency band signal is low and not used for calculation of the time envelope of the high frequency band signal, the process in Steps S07 to S08 can be skipped to reduce the amount of computation.
  • Note that the time envelope calculation control unit 1k may calculate the power of a part corresponding to the first to n-th low frequency band time envelopes calculated by the first to n-th low frequency band time envelope calculation units 1fl to 1fn, output the low frequency band time envelope calculation control signal based on a result of comparing the calculated power corresponding to the first to n-th low frequency band time envelopes with a specified threshold and thereby control whether or not to skip the processing of the first to n-th low frequency band time envelope calculation units 1fl to 1fn.
  • In this case, when the time envelope calculation control unit 1k makes control to skip the processing by all of the first to n-th low frequency band time envelope calculation units 1fl to 1fn, it outputs the time envelope calculation control signal to the time envelope calculation unit 1g so as to skip the time envelope calculation process. On the other hand, when the time envelope calculation control unit 1k makes control so that at least one of the first to n-th low frequency band time envelope calculation units 1fl to 1fn performs the low frequency band time envelope calculation process, it outputs the time envelope calculation control signal to the time envelope calculation unit 1g so as to perform the time envelope calculation process.
  • [Second Alternative Example of Speech Decoder According to First Embodiment]
  • Fig. 7 is a diagram showing a configuration of a principal part relating to envelope calculation in a second alternative example of the speech decoder 1 according to the first embodiment, and Fig. 8 is a flowchart showing a procedure of envelope calculation performed by the speech decoder 1 shown in Fig. 7.
  • The speech decoder 1 shown in Fig. 7 includes a time envelope calculation control unit (time envelope calculation control means) 1m in addition to the low frequency band time envelope calculation units 1fl to 1fn and the time envelope calculation unit 1g. The time envelope calculation control unit 1m outputs a low frequency band time envelope calculation control signal to the first to n-th low frequency band time envelope calculation units 1fl to 1fn based on the time envelope information received from the coded sequence decoding/ dequantization unit 1e and controls execution of the low frequency band time envelope calculation in the first to n-th low frequency band time envelope calculation units 1fl to 1fn.
  • To be specific, in the second alternative example of the speech decoder 1, the envelope calculation process in Steps S41 to S48 shown in Fig. 8 is executed , which replaces the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2.
  • First, the time envelope calculation control unit 1m sets a count value "count" to 0 (Step S41). Next, the time envelope calculation control unit 1m determines whether a coefficient A1,count+1(s) contained in the time envelope information received from the coded sequence decoding/ dequantization unit 1e is 0 or not (Step S42, being not part of the present invention of this application but provided as an informative example).
  • As a result of the determination, when the coefficient A1,count+1(s) is 0 (NO in Step S42), the time envelope calculation control unit 1m outputs a low frequency band time envelope calculation control signal to the count-th low frequency band time envelope calculation unit 1fcount so that the low frequency band time envelope calculation in the low frequency band time envelope calculation unit 1fcount is not performed and then proceeds to Step S44. On the other hand, when it is determined that the coefficient A1,count+1(s) is not 0 (YES in Step S42), the time envelope calculation control unit 1m outputs a low frequency band time envelope calculation control signal to the count-th low frequency band time envelope calculation unit 1fcount so that the low frequency band time envelope calculation in the low frequency band time envelope calculation unit 1fcount is performed. The low frequency band time envelope is thereby calculated by the low frequency band time envelope calculation unit 1fcount (Step S43).
  • Further, the time envelope calculation control unit 1m increments the count value "count" by 1 (Step S44), and then compares the count value "count" with the number n of the low frequency band time envelope calculation units 1fl to 1fn (Step S45). When the count value "count" is smaller than the number n (YES in Step S45), the process returns to Step S42 and repeats the determination for the next coefficient A1,count(s) contained in the time envelope information. On the other hand, when the count value "count" is equal to or larger than the number n (NO in Step S45), the process proceeds to Step S46. Then, the time envelope calculation control unit 1m determines whether the low frequency band time envelope calculation is performed in one or more low frequency band time envelope calculation units 1fl to 1fn (Step S46). As a result of the determination, when the low frequency band time envelope calculation is not performed in any of the low frequency band time envelope calculation units 1fl to 1fn (NO in Step S46), the time envelope calculation control unit 1m outputs the time envelope calculation control signal to the time envelope calculation unit 1g so as to skip the time envelope calculation process. In this case, Step S49 is performed in place of Step S47 to S48 and then the process proceeds to Step S10 (Fig. 2). On the other hand, when the low frequency band time envelope calculation is performed in one or more the low frequency band time envelope calculation units 1fl to 1fn (YES in Step S46), the time envelope calculation unit 1g performs the time envelope calculation process (Step S47, as being not part of the present invention of this application but provided as an informative example). Then, the time envelope adjustment unit 1i performs adjustment of the time envelope of the high frequency band signal (Step S48). After that, the band synthesis filter bank unit 1j synthesizes the output signal.
  • By the second alternative example of the speech decoder 1 described above, when a part of the process is not required based on the time envelope information obtained from the coded sequence, any of the process in Steps S07 to S08 can be skipped to reduce the amount of computation.
  • [Third Alternative Example of Speech Decoder According to First Embodiment]
  • Fig. 9 is a diagram showing a configuration of a principal part related to envelope calculation according to a third alternative example of the speech decoder 1 according to the first embodiment, and Fig. 10 is a flowchart showing a procedure of envelope calculation by the speech decoder 1 shown in Fig. 9.
  • The speech decoder 1 shown in Fig. 9 includes a time envelope calculation control unit (time envelope calculation control means) 1n in addition to the low frequency band time envelope calculation units 1fl to 1fn and the time envelope calculation unit 1g. The time envelope calculation control unit 1n receives time envelope calculation control information from the coded sequence analysis unit 1d. In this alternative example, the time envelope calculation control information describes whether or not to perform the time envelope calculation process in the frame. When decoding and dequantization are needed for reading the description of the time envelope calculation control information, the coded sequence decoding/ dequantization unit 1e performs decoding and dequantization. Further, the time envelope calculation control unit 1n determines whether or not to perform the time envelope calculation process in the frame by referring to the time envelope calculation control information. When the time envelope calculation control unit 1n determines not to perform the time envelope calculation process, it outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1fl to 1fn and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that the time envelope calculation process is not performed in the low frequency band time envelope calculation units 1fl to 1fn and the time envelope calculation unit 1g. In this case, the high frequency band signal is sent to the band synthesis filter bank unit 1j without adjustment of its time envelope based on the above-described time envelope. On the other hand, when the time envelope calculation control unit 1n determines to perform the time envelope calculation process, it outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1fl to 1fn and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that the time envelope calculation process is performed in the low frequency band time envelope calculation units 1fl to 1fn and the time envelope calculation unit 1g. In this case, the high frequency band signal is sent to the band synthesis filter bank unit 1j after its time envelope is adjusted in the time envelope adjustment unit 1i.
  • Referring to Fig. 10, in the third alternative example of the speech decoder 1, the envelope calculation process in Steps S51 to S54 is executed in place of the process of Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2, S53 being not part of the present invention of this application but provided as an informative example.
  • In the third alternative example of the speech decoder 1 described above also, the process in Steps S07 to S08 can be skipped based on the control information from the encoder to thereby reduce the amount of computation.
  • [Fourth Alternative Example of Speech Decoder According to First Embodiment]
  • Fig. 11 is a flowchart showing a procedure of envelope calculation performed by a fourth alternative example of the speech decoder 1 according to the first embodiment. Note that the configuration of the fourth alternative example of the speech decoder 1 is the same as that shown in Fig. 9.
  • In the fourth alternative example, the envelope calculation process in Steps S61 to S64 shown in Fig. 11 is executed in place of the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2.
  • Specifically, the time envelope calculation control information describes the low frequency band time envelope to be used for time envelope calculation in the frame among the first to n-th low frequency band time envelopes. When decoding and dequantization are needed for reading the description of the time envelope calculation control information, the coded sequence decoding/ dequantization unit 1e performs decoding and dequantization. Then, the time envelope calculation control unit 1n selects, based on the time envelope calculation control information, the low frequency band time envelope to be used for the time envelope calculation process in the frame (Step S61).
  • Then, the time envelope calculation control unit 1n outputs the low frequency band time envelope calculation control signal to the first to n-th low frequency band time envelope calculation units 1fl to 1fn. It is thereby controlled so that the low frequency band time envelope is calculated by the low frequency band time envelope calculation unit 1fl to 1fn corresponding to the low frequency band time envelope that is selected in the above selection, and the low frequency band time envelope is not calculated by the low frequency band time envelope calculation unit 1fl to 1fn corresponding to the low frequency band time envelopes that is not selected in the above selection (Step S62).
  • After that, the time envelope calculation control unit 1n outputs the time envelope calculation control signal to the time envelope calculation unit 1g so that the time envelope is calculated using only the selected low frequency band time envelope (Step S63 as not part of the present invention of this application but provided as an informative example). Further, the time envelope adjustment unit 1i adjusts, using the calculated time envelope, the time envelope of the high frequency band signal generated in the high frequency band generation unit 1h (Step S64).
  • Further, when any of the low frequency band time envelope is not selected in the above selection, Steps S62 to S63 may be skipped, and the high frequency band signal may be sent to the band synthesis filter bank unit 1j without adjustment of its time envelope based on the above-described time envelope (Step S36 in Fig. 6).
  • In the fourth alternative example of the speech decoder 1 described above also, the process in Steps S07 to S08 can be skipped based on the control information from the encoder to reduce the amount of computation.
  • [Fifth Alternative Example of Speech Decoder According to First Embodiment]
  • Fig. 12 is a flowchart showing a procedure of envelope calculation performed by a fifth alternative example of the speech decoder 1 according to the first embodiment. Note that the configuration of the fifth alternative example of the speech decoder 1 is the same as that shown in Fig. 9.
  • In the fifth alternative example, the envelope calculation process in Steps S71 to S75 shown in Fig. 12 is executed in place of the process in Steps S07 to S09 of the speech decoder 1 according to the first embodiment shown in Fig. 2.
  • Specifically, the time envelope calculation control information describes a calculation method of the first to n-th low frequency band time envelopes in the frame. When decoding and dequantization are needed for reading the description of the time envelope calculation control information, the coded sequence decoding/ dequantization unit 1e performs decoding and dequantization. The calculation method of the first to n-th low frequency band time envelopes described in the time envelope calculation control information may be the content related to setting of the arrays Bl and Bh representing sub-bands, for example, and the frequency range of the sub-band can be controlled based on the time envelope calculation control information. The content related to setting of the arrays Bl and Bh may be the description of a set of integers (kl,kh) to set the arrays Bl and Bh or the description related to selection from a plurality of specified contents of setting of the arrays Bl and Bh. In this alternative example, a method of describing the content related to setting of the arrays Bl and Bh is not particularly limited. Further, a calculation method of the first to n-th low frequency band time envelopes described in the time envelope calculation control information may be the content related to setting of the specified processing (for example, the content related to setting of the smoothing coefficient sc(j) described above), and the specified processing (for example, the smoothing) can be controlled based on the time envelope calculation control information. The content related to setting of the smoothing coefficient sc(j) may be a result of quantizing and encoding the value of the smoothing coefficient sc(j) or may be the content related to selection of any one of a plurality of specified smoothing coefficients sc(j). Further, it may include the description as to whether or not to perform the smoothing. In this alternative example, a method of describing the content related to setting of the specified processing (for example, setting of the smoothing coefficient sc(j) described above) is not particularly limited. Furthermore, a method of calculating the first to n-th low frequency band time envelopes described in the time envelope calculation control information may include at least one of the above calculation methods. Note that, in this alternative example, a method of calculating the first to n-th low frequency band time envelopes described in the time envelope calculation control information is not limited to the above description as long as the content related to a method of calculating the low frequency band time envelope is described.
  • In Step S71, the time envelope calculation control unit 1n determines, based on the time envelope calculation control information, whether or not to change the calculation method of the low frequency band time envelope in the frame. When it is determined not to change the calculation method of the low frequency band time envelope (NO in Step S71), the first to n-th low frequency band time envelope calculation units 1fl to 1fn calculate the first to n-th low frequency band time envelopes without changing the calculation method of the low frequency band time envelope (Step S73). On the other hand, when it is determined to change the calculation method of the low frequency band time envelope (YES in Step S71), the time envelope calculation control unit 1n outputs the low frequency band time envelope calculation control signal to the first to n-th low frequency band time envelope calculation units 1fl to 1fn and thereby instructs the calculation method of the low frequency band time envelope, so that the calculation method of the low frequency band time envelope is changed (Step S72). After that, the first to n-th low frequency band time envelope calculation units 1fl to 1fn calculate the first to n-th low frequency band time envelopes by the changed low frequency band time envelope calculation method (Step S73). Further, the time envelope calculation unit 1g calculates the time envelope by using the first to n-th low frequency band time envelopes calculated by the first to n-th low frequency band time envelope calculation units 1fl to 1fn (Step S74 as not part of the present invention of this application but provided as an informative example). Then, the time envelope adjustment unit 1i adjusts, using the time envelope calculated in the time envelope calculation unit 1g, the time envelope of the high frequency band signal generated in the high frequency band generation unit 1h (Step S75).
  • In the fifth alternative example of the speech decoder 1 described above also, the process in Steps S07 to S08 can be precisely controlled based on the control information from the encoder, thereby allowing highly accurate adjustment of the time envelope.
  • [Sixth Alternative Example of Speech Decoder According to First Embodiment]
  • Fig. 13 is a diagram showing a configuration of a principal part related to envelope calculation in a sixth alternative example of the speech decoder 1 according to the first embodiment. The speech decoder 1 shown in Fig. 13 includes a time envelope calculation control unit (time envelope calculation control means) 1o in addition to the low frequency band time envelope calculation units 1fl to 1fn and the time envelope calculation unit 1g. The time envelope calculation control unit 1o is configured to perform any one or more of the envelope calculation process in the first to fifth alternative examples of the speech decoder 1.
  • [Seventh Alternative Example of Speech Decoder According to First Embodiment]
  • Fig. 14 is a flowchart showing a procedure of envelope calculation performed by a seventh alternative example of the speech decoder 1 according to the first embodiment. Note that the configuration of the seventh alternative example of the speech decoder 1 is the same as the speech decoder 1 according to the first embodiment. Steps S261 to S262 in Fig. 14 replace Step S08 in the flowchart of Fig. 2 showing the process of the speech decoder 1 according to the first embodiment.
  • In this alternative example, the time envelope calculation unit 1g performs specified processing (processing of Step S261) using the low frequency band time envelope Ldec(k,i) {1≤k≤n, t(s)≤i<t(s+1), 0≤s≤sE} supplied from the low frequency band time envelope calculation units 1fl to 1fn and the time envelope information supplied from the coded sequence decoding/ dequantization unit 1e and then calculates the time envelope (processing of Step S262). Examples of the specified processing and the calculation of the time envelope related thereto are as follows.
  • In the first example, the coefficient Al,k(s) in Equation 18, 21, 23 or 24 is calculated using the time envelope information supplied in another form from the coded sequence decoding/ dequantization unit 1e. For example, the coefficient is calculated by the following equation. A lk s = F lk α 1 s , α 2 s , , α Num s 1 l n H , 1 k n 0 s < s E
    Figure imgb0040
    where αk(s), k=1,2,...,Num, 0≤s<sE is the time envelope information supplied from the coded sequence decoding/ dequantization unit 1e, and Flk(x1,x2,...,xNum), 1≤1≤nH, 1≤k≤n is a specified function with Num number of variables as arguments. After that, using the coefficient Al,k(s) acquired in the above method, the time envelope is calculated by Equation 18, 21, 23 or 24.
  • In the second example, the quantity given by the following equation is calculated first. g 0 l i = k = 1 n A 0 l , k L dec k i + A 0 l , 0 + k = 1 g A 0 l , k U k i 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0041
    Note that the following equation: A 0 l , k , 1 l n H , g k n
    Figure imgb0042
    is a specified coefficient.
  • Further, the above-described g(0)(l,i) may be a specified coefficient, or a specified function for the index 1, i. For example, g(0)(l,i) may be a function given by the following equation. g 0 l i = λ l ω i t s 1 l n , t s i < t s + 1 , 0 s < s E
    Figure imgb0043
  • Then, the quantity corresponding to the left-hand side of Equation 18, 21, 23 or 24 is calculated, and the result is represented as g(1)(l,i) {1≤l≤nH, t(s)≤i<t(s+1), 0≤s<sE}. Then, the time envelope is calculated by the following equation, for example. g dec l i = g 1 l i + g 0 l i 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0044
  • Further, the time envelope may be calculated by the following equation. g dec l i = g 0 l i g 1 l i 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0045
  • Further, the time envelope may be calculated by the following equation. g dec l i = g 1 l i 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0046
  • When the time envelope information is not supplied from the coded sequence decoding/ dequantization unit 1e, the time envelope may be calculated by the following equation. g dec l i = g 0 l i 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0047
  • In this alternative example, the form of the above-described gdec(l,i) is not limited to the above example.
  • Note that, in the present invention, the specified processing and the calculation of the time envelope related thereto are not limited to the above examples.
  • This alternative example may be applied to the first to sixth alternative examples of the speech decoder 1 according to the first embodiment as follows.
  • In the case of application to the first alternative example of the speech decoder 1 according to the first embodiment, Step S34 in Fig. 6 is replaced with Steps S261 to S262 in Fig. 14, for example. A plurality of kinds of the above-described specified processing may be prepared in advance and changed depending on the power of the low frequency band signal. Further, any one of a) calculating the time envelope by performing the above-described specified processing only, b) calculating the time envelope by performing the above-described specified processing and further using the time envelope information and c) calculating the time envelope using the time envelope information without performing the above-described specified processing may be selected depending on the power of the low frequency band signal.
  • Fig. 15 is a flowchart showing a part of processing performed by the time envelope calculation control unit 1m when the seventh alternative example of the speech decoder 1 according to the first embodiment is applied to the second alternative example of the speech decoder 1 according to the first embodiment.
  • In the case of application to the second alternative example of the speech decoder 1 according to the first embodiment, Step S42 in Fig. 8 is replaced with Step 271 in Fig. 15, and Step S47 in Fig. 8 is replaced with Steps S261 to S262 in Fig. 14, for example. A plurality of kinds of the above-described specified processing may be prepared in advance and changed depending on the time envelope information. Further, any one process may be selected, depending on the time envelope information, from a) calculating the time envelope by performing the above-described specified processing only, b) calculating the time envelope by performing the above-described specified processing and further using the time envelope information and c) calculating the time envelope using the time envelope information without performing the above-described specified processing.
  • In the case of application to the third alternative example of the speech decoder 1 according to the first embodiment, Step S53 in Fig. 10 is replaced with Steps S261 to S262 in Fig. 14. A plurality of kinds of the above-described specified processing may be prepared in advance and changed depending on the time envelope calculation control information. Further, any one may be selected, depending on the time envelope calculation control information, from a) calculating the time envelope by performing the above-described specified processing only, b) calculating the time envelope by performing the above-described specified processing and further using the time envelope information and c) calculating the time envelope using the time envelope information without performing the above-described specified processing.
  • Fig. 16 is a flowchart showing a part of processing performed by the time envelope calculation control unit 1n when the seventh alternative example of the speech decoder 1 according to the first embodiment is applied to the fourth alternative example of the speech decoder 1 according to the first embodiment.
  • In the case of application to the fourth alternative example of the speech decoder 1 according to the first embodiment, Step S61 in Fig. 11 is replaced with Step 281 in Fig. 16, and Step S63 in Fig. 11 is replaced with Steps S261 to S262 in Fig. 14. In Step 281 in Fig. 16, as method of selecting the time envelope of low frequency band components to be calculated from the first to n-th low frequency band time envelopes, it may be examined whether A(0) l,k in one example of the above-described specified processing is zero or not and, the low frequency band signal time envelope calculation unit 1fk may calculate Ldec(k,i) when A(0) l,k is not zero and it is directed to calculate Ldec(k,i) in the low frequency band signal time envelope calculation unit 1fk in the time envelope calculation control information.
  • In the case of application to the fifth alternative example of the speech decoder 1 according to the first embodiment, Step S74 in Fig. 12 is replaced with Steps S261 to S262 in Fig. 14. When the method of calculating the time envelope of low frequency band components is changed, the above-described processing method may be changed accordingly.
  • Further, application to the sixth alternative example of the speech decoder 1 according to the first embodiment is made in accordance with the way of application to the first to fifth alternative examples described above.
  • Note that, although the flow that calculates the time envelope after performing the specified processing is shown in Fig. 14, the specified processing may be performed after calculating the time envelope. For example, specified processing such as smoothing may be performed on the calculated time envelope. Further, the time envelope may be calculated after performing the specified processing, and further another specified processing may be performed on that time envelope.
  • [First Alternative Example of Speech Encoder According to First Embodiment]
  • Fig. 17 is a diagram showing a configuration of a first alternative example of the speech encoder 2 according to the first embodiment, and Fig. 18 is a flowchart showing a procedure of speech encoding by the speech encoder 2 shown in Fig. 17.
  • In the speech encoder 2 shown in Fig. 17, a time envelope calculation control information generation unit (control information generation means) 2j is added to the speech encoder 2 according to the first embodiment.
  • The time envelope calculation control information generation unit 2j generates time envelope calculation control information using at least one of the signal X(j,i) in the frequency band domain received from the band splitting filter bank unit 2c and the time envelope information received from the time envelope information calculation unit 2f. The generated time envelope calculation control information may be any of the time envelope calculation control information in the third to seventh alternative examples of the speech decoder 1 according to the first embodiment.
  • The time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the low frequency band signal of the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, for example, and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the calculated signal power.
  • Alternatively, the time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the calculated signal power.
  • Further, the time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the entire frequency band signal (i.e. the frequency band corresponding to the low frequency band signal and the frequency band corresponding to the high frequency band signal) of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the decoder according to the calculated signal power.
  • The time envelope calculation control information generation unit 2j may calculate the power of a part corresponding to the first to n-th low frequency band time envelopes calculated by the first to n-th low frequency band time envelope calculation units 2el to 2en, and generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1 according to the calculated signal power.
  • The time envelope calculation control information generation unit 2j may calculate the signal power in the frequency band corresponding to the low frequency band signal of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1 according to the calculated signal power.
  • In this alternative example, the frequency band of the signal power to be calculated is not particularly limited, and the time envelope calculation control information that is generated according to the calculated signal power may be any one or more of the time envelope calculation control information in the third to seventh alternative examples of the speech decoder 1 according to the first embodiment described above.
  • Further, the time envelope calculation control information generation unit 2j may detect or measure the signal characteristics of the signal X(j,i) in the frequency domain, and generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the calculated signal characteristics.
  • Alternatively, the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1 according to the signal characteristics of the signal X(j,i) in the frequency domain.
  • The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1 according to the signal characteristics of the signal X(j,i) in the frequency domain.
  • Note that the signal characteristics detected or measured in the time envelope calculation control information generation unit 2j may be the characteristics related to the steepness of the rising edge or the falling edge of the signal. The signal characteristics may be the characteristics related to the stationarity of the signal. The signal characteristics may be the characteristics related to the strength of the tonality of the signal. Further, the signal characteristics may be at least one of the above characteristics.
  • In this alternative example, the signal characteristics to be detected or measured are not particularly limited, and the time envelope calculation control information that is generated according to the detected or measured signal characteristics may be any one or more of the time envelope calculation control information in the third to sixth alternative examples of the speech decoder 1 according to the first embodiment described above.
  • Furthermore, the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the value of the time envelope information Al,k(s) (1≤1≤nH,1≤k≤n,0≤s<sE) received from the time envelope information calculation unit 2f, for example. The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1. The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • In this alternative example, the time envelope calculation control information that is generated according to the time envelope information may be any one or more of the time envelope calculation control information in the third to sixth alternative examples of the speech decoder 1 according to the first embodiment described above.
  • Alternatively, the time envelope calculation control information generation unit 2j may generate, using the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c and the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g, for example, the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 . The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1. The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • To be specific, the time envelope calculation control information generation unit 2j may decode and dequantize the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g and thereby obtains locally decoded supplementary information for high frequency band generation, and then generates a pseudo locally decoded high frequency band signal using the locally decoded supplementary information for high frequency band generation and the signal X(j,i) in the frequency domain. The pseudo locally decoded high frequency band signal can be generated by performing the same processing as the high frequency band generation unit 1h of the speech decoder 1 according to the first embodiment. The time envelope calculation control information generation unit 2j compares the generated pseudo locally decoded high frequency band signal with the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and generates the time envelope calculation control information based on the comparison result.
  • The comparison between the pseudo locally decoded high frequency band signal and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain may be made by calculating a differential signal of the two signals and based on the power of the differential signal. Further, it may be made by calculating the time envelopes of the pseudo locally decoded high frequency band signal and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and based on at least one of a difference of the time envelopes and an amplitude of the difference.
  • Alternatively, the time envelope calculation control information generation unit 2j may generate, using, for example, the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, the time envelope information received from the time envelope information calculation unit 2f, and the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g, the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 . The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1. The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • To be specific, the time envelope calculation control information generation unit 2j may generate a pseudo locally decoded high frequency band signal and adjust the time envelope of the pseudo locally decoded high frequency band signal by using the time envelope information received from the time envelope information calculation unit 2f, and then compare the pseudo locally decoded high frequency band signal with the adjusted time envelope with the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain and generate the time envelope calculation control information based on the comparison result.
  • The comparison between the pseudo locally decoded high frequency band signal with the adjusted time envelope and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain may be performed in the same manner as the comparison is performed between the pseudo locally decoded high frequency band signal and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain.
  • Further, in the time envelope information calculation unit 2f of the speech encoder 2 according to the first embodiment, the time envelope information may be calculated using the pseudo locally decoded high frequency band signal. To be specific, the coded sequence of the supplementary information for high frequency band generation received from the quantization/encoding unit 2g is further input to the time envelope information calculation unit 2f, and the coded sequence of the supplementary information for high frequency band generation is decoded and dequantized to acquire locally decoded supplementary information for high frequency band generation, and the pseudo locally decoded high frequency band signal is generated using the locally decoded supplementary information for high frequency band generation and the signal X(j,i) in the frequency domain.
  • For example, the time envelope information calculation unit 2f may output, as the calculated time envelope information, the time envelope information that allows best approximation to the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain when the time envelope of the pseudo locally decoded high frequency band signal is adjusted using the time envelope calculated from the time envelope information. The determination as to whether it is close to the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain may be made based on a differential signal between the pseudo locally decoded high frequency band signal with the adjusted time envelope and the frequency band corresponding to the high frequency band signal of the signal X(j,i) in the frequency domain, or may be based on an error between the time envelopes of those signals.
  • Alternatively, the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information indicating whether or not to perform the time envelope calculation in the speech decoder 1 according to the amount of information (to be more specific, the number of bits) needed for encoding of the time envelope information received from the quantization/encoding unit 2g, for example. The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1. The time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1.
  • To be specific, the time envelope calculation control information generation unit 2j generates the time envelope calculation control information indicating to perform the time envelope calculation in the speech decoder 1 when the amount of information (to be more specific, the number of bits) needed for encoding of the time envelope information received from the quantization/encoding unit 2g is equal to or smaller than a specified threshold, for example. On the other hand, when the amount of information needed for encoding of the time envelope information is larger than a specified threshold, the time envelope calculation control information generation unit 2j generates the time envelope calculation control information indicating not to perform the time envelope calculation in the speech decoder 1.
  • Further, the time envelope calculation control information generation unit 2j may generate the time envelope calculation control information related to selection of the low frequency band time envelope to be used for the time envelope calculation in the speech decoder 1 so that the amount of information needed for encoding of the time envelope information is equal to or smaller than a specified threshold. At this time, the time envelope calculation control information generation unit 2j may notify the result of comparing the amount of information needed for encoding of the time envelope information with the threshold to the time envelope information calculation unit 2f, and the time envelope information calculation unit 2f may re-calculate the time envelope information according to the notified comparison result. Note that, in the case where the time envelope information is re-calculated, the quantization/encoding unit 2g encodes and quantizes the re-calculated time envelope information. The number of times of re-calculating the time envelope information is not particularly limited.
  • In this alternative example, the time envelope calculation control information is calculated based on the amount of information needed for encoding of the time envelope information, and the time envelope calculation control information to be generated may be any one or more of the time envelope calculation control information in the third to sixth alternative examples of the speech decoder 1 according to the first embodiment described above.
  • The time envelope calculation control information generated by the time envelope calculation control information generation unit 2j in the above manner is further added to the high frequency band coded sequence by the high frequency band coded sequence construction unit 2h and thereby the high frequency band coded sequence is constructed.
  • [Second Alternative Example of Speech Encoder According to First Embodiment]
  • Fig. 19 is a diagram showing a configuration of a second alternative example of the speech encoder 2 according to the first embodiment, and Fig. 20 is a flowchart showing a procedure of speech encoding by the speech encoder 2 shown in Fig. 19.
  • In the speech encoder 2 shown in Fig. 19, a low frequency band decoding unit 2k is added to the speech encoder 2 according to the first embodiment.
  • The low frequency band decoding unit 2k receives the low frequency band coded sequence from the low frequency band encoding unit 2b, decodes and dequantizes the low frequency band coded sequence and thereby acquires a locally decoded low frequency band signal. Note that, when the quantized low frequency band signal can be acquired from the low frequency band encoding unit 2b, the low frequency band decoding unit 2k may dequantize the quantized low frequency band signal and acquire the locally decoded low frequency band signal. Then, the low frequency band time envelope calculation units 2el to 2en calculate the first to n-th low frequency band time envelopes by using the locally decoded low frequency band signal acquired by the low frequency band decoding unit 2k.
  • Note that the second alternative example of the speech encoder 2 according to the first embodiment may be applied also to the first alternative example of the speech encoder 2 according to the first embodiment.
  • [Third Alternative Example of Speech Encoder According to First Embodiment]
  • Fig. 21 is a diagram showing a configuration of a third alternative example of the speech encoder 2 according to the first embodiment, and Fig. 22 is a flowchart showing a procedure of speech encoding by the speech encoder 2 shown in Fig. 21.
  • The speech encoder 2 shown in Fig. 21 is different from the speech encoder 2 according to the first embodiment in that it includes a band synthesis filter bank unit 2m in place of the down-sampling unit 2a.
  • The band synthesis filter bank unit 2m receives the signal X(j,i) in the frequency domain from the band splitting filter bank unit 2c, performs band synthesis for the frequency band corresponding to the low frequency band signal and thereby acquires a down-sampled signal. The acquisition of the down-sampled signal by band synthesis may be performed according to the method of downsampled synthesis filterbank in SBR of "MPEG4 AAC" specified in "ISO/IEC 14496-3", for example ("ISO/IEC 14496-3 subpart 4 General Audio Coding").
  • Note that the third alternative example of the speech encoder 2 according to the first embodiment may be applied also to the first and second alternative examples of the speech encoder 2 according to the first embodiment.
  • In a fourth alternative example of the speech encoder 2 according to the first embodiment, the specified processing corresponding to the seventh alternative example of the speech decoder 1 according to the first embodiment described above is performed when calculating g(l,i) in the time envelope information calculation unit 2f of the speech encoder 2 according to the first embodiment. Note that, as described in the seventh alternative example of the speech decoder 1 according to the first embodiment, g(l,i) may be calculated using the low frequency band time envelope after performing the specified processing, or g(l,i) may be calculated by performing the specified processing after calculating g(l,i) using the low frequency band time envelope.
  • Note that the fourth alternative example of the speech encoder 2 according to the first embodiment may be applied also to the first to third alternative examples of the speech encoder 2 according to the first embodiment.
  • In the case of applying the fourth alternative example of the speech encoder 2 according to the first embodiment to the first alternative example of the speech encoder 2 according to the first embodiment, information as to whether or not to perform the above-described specified processing in the speech decoder 1 according to the first embodiment may be contained in the time envelope calculation control information based on an error of g(l,i) with respect to H(l,i) described above.
  • [Second Embodiment]
  • A second embodiment of the present invention is described hereinbelow.
  • Fig. 23 is a diagram showing a configuration of the speech decoder 101 according to the second embodiment, and Fig. 24 is a flowchart showing a procedure of speech decoding by the speech decoder 101 shown in Fig. 23. The speech decoder 101 of Fig. 23 is different from the speech decoder 1 according to the first embodiment in that it further includes a frequency envelope superposition unit (frequency envelope superposition means) 1q and that it includes a time-frequency envelope adjustment unit (time-frequency envelope adjustment means) 1p in place of the time envelope adjustment unit 1i (1c to 1e, 1h, 1j and 1p are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)).
  • The coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and thereby acquires coded supplementary information for high frequency band generation and quantized time-frequency envelope information.
  • The coded sequence decoding/ dequantization unit 1e decodes the coded supplementary information for high frequency band generation supplied from the coded sequence analysis unit 1d and thereby obtains supplementary information for high frequency band generation, and dequantizes the quantized time-frequency envelope information supplied from the coded sequence analysis unit 1d and thereby acquires time-frequency envelope information.
  • The frequency envelope superposition unit 1q receives a time envelope ET(l,i) from the time envelope calculation unit 1g and frequency envelope information from the coded sequence decoding/ dequantization unit 1e. Then, the frequency envelope superposition unit 1q calculates a frequency envelope from the frequency envelope information and superimposes the frequency envelope onto the time envelope. Specifically, the frequency envelope superposition unit 1q performs this processing in the following procedure, for example.
  • First, the frequency envelope superposition unit 1q transforms the time envelope by the following equation. E 0 m i = E T l i k l k x m k h k x , { k l = F H l k h = F H l + 1 1 , 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0048
  • Next, the frequency envelope superposition unit 1q divides the high frequency band into mH(mH≥1) number of sub-bands. The sub-bands are represented as B(F) k (k=1,2,3,...,mH). Further, for simplification of the description, an array GH having mH+1 number of indexes representing the boundary of the sub-band B(F) k (1≤k≤mH) as factors is defined so that the signal XH(j,i), GH(k)≤j<GH(k+1), t(s)≤i<t(s+1), 0≤s<sE corresponds to the component of the sub-band B(F) k. Note that GH(1)=kx, GH(mH+1)=kmax+1.
  • Then, the frequency envelope superposition unit 1q calculates the frequency envelope by the following equation. E F , dec k s = 10 0.1 × sf dec k s , 1 k m H , 0 s < s E
    Figure imgb0049
    where sfdec(k,s) (where 1≤k≤mH, 0≤s<sE) is a scale factor corresponding to the sub-band B(F) k.
  • Note that the frequency envelope may be calculated by the following equation. E F , dec k s = 64 × 2 sf dec k s , 1 k m H 0 s < s E
    Figure imgb0050
    In this embodiment, the form of EF,dec(k,s) is not limited to the above example.
  • The frequency envelope superposition unit 1q calculates sfdec(k,s) as follows. First, the values of sfdec(k,s) corresponding to several sub-bands are set as constant numbers that are not dependent on time as represented by the following equation (hereinafter, a set of indexes k corresponding to those sub-bands is denoted as NC). sf dec k s = C , k N c , 0 s < s E
    Figure imgb0051
    Although the value of C may be C=0, the value of C is not specified in this embodiment. Then, when the integer 1 is not included in the set Nc, the frequency envelope superposition unit 1q acquires the scale factor sfdec(1,s), 0≤s<s from the frequency envelope information.
  • After that, the frequency envelope superposition unit 1q repeats the processing of the following (Step k) from k=2 to k=mH and calculates the above-described scale factor.
  • (Step k)
  • When the integer k is not included in the set Nc, a difference in scale factor dsfdec(k,s), 0≤s<s is acquired from the frequency envelope information, the scale factor is calculated by the following equation: sf dec k s = sf dec k 1 , s + dsf dec k s 0 s < s E
    Figure imgb0052
    and 1 is added to the integer k and then the process proceeds to the next (Step k). On the other hand, when the integer k is included in the set Nc, 1 is added to the integer k as it is and then the process proceeds to the next (Step k).
  • Further, in the case of receiving a difference in scale factor sfdec(1,s), 0≤s<sE from the frequency envelope information, the processing in the above Step k may be performed by calculating sfdec(0,s), 0≤s<sE using the low frequency band component of the signal in the frequency domain received from the band splitting filter bank unit 1c. For example, in the equations 63, 64 and 65 described later, X(j,i) may be replaced with Xdec(j,i), and sf(0,s) calculated using a specified kl and kh satisfying 0≤kl≤kh<kx where k=0 may be set as sfdec(0,s).
  • In this example, differently from the above-described example, the frequency envelope information may correspond to the scale factor sfdec(k,s) itself. Further, the frequency envelope information may be a difference dtsf(s,k), 1≤s<sE, 1≤k≤mH in the time direction when calculating the scale factor sfdec(k,s), 1≤k≤mH in the s-th (s≥1) frame by the following equation using the scale factor sfdec(k,s-1) in the (s-1)th frame. sf dec k s = sf dec k , s 1 + dtsf s k , 1 k m H , 1 s < s E
    Figure imgb0053
    In this case, however, sfdec(k,0), 1≤k≤mH corresponding to the initial value is acquired using another way such as the above-described method.
  • Further, the scale factor of the sub-band may be calculated using interpolation or extrapolation from at least one of the scale factor of the low frequency band component and the scale factor of the sub-band of the high frequency band. In this case, the frequency envelope information is the scale factor of the sub-band to be used for the interpolation or extrapolation and an interpolation or extrapolation parameter within the high frequency band. For calculation of the scale factor of the low frequency band component, the low frequency band component of the signal in the frequency domain received from the band splitting filter bank unit 1c is used.
  • The interpolation or extrapolation parameter may be a specified parameter. Further, the interpolation or extrapolation of the scale factor may be made by calculating a parameter to be actually used for interpolation or extrapolation from the specified interpolation or extrapolation parameter and the interpolation or extrapolation parameter contained in the frequency envelope information. Furthermore, in at least one of the cases where the frequency envelope information is not received and where the frequency envelope information does not contain the interpolation or extrapolation parameter, the interpolation or extrapolation of the scale factor may be made using the specified interpolation or extrapolation parameter only. Note that, in this embodiment, a method of interpolation and extrapolation is not particularly limited.
  • The form of the frequency envelope information described above is just one example, and it may be any form as long as it is a parameter representing variation of the signal power or the signal amplitude in the frequency direction for each sub-band of the high frequency band. In this embodiment, the form of the frequency envelope information is not particularly limited.
  • Then, the frequency envelope superposition unit 1q transforms the above-described EF(k,s) using the following equation. E 1 m s = E F , dec k s k l k x m k h k x , { k l = G H k k h = G H k + 1 1 , 1 k n H , 0 s < s E
    Figure imgb0054
  • Then, the frequency envelope superposition unit 1q calculates the quantity E2(m,i) by the following equation using the time envelope E0(m,i) and the frequency envelope E1(m,i) transformed as above. E 2 m i = E 1 m s E 0 m i 0 m k max k x , t s i < t s + 1 , 0 s < s E
    Figure imgb0055
  • Further, the above-described E2(m,i) may be in the form given by the following equation. E 2 m i = E 1 m s k = 0 k max k x E 0 k i , 0 m k max k x , t s i < t s + 1 , 0 s < s E
    Figure imgb0056
  • Further, it may be in the form given by the following equation. E 2 m i = E 1 m s k = F H Q m k x F H Q m + 1 k x 1 E 0 k i , 0 m k max k x , t s i < t s + 1 , 0 s < s E
    Figure imgb0057
    where Q(m), 0≤m<kmax-kx is an integer satisfying the following equation. F H Q m k x m < F H Q m + 1 k x 1 Q m n H
    Figure imgb0058
  • Further, it may be in the form given by the following equation. E 2 m i = E 1 m s k = F H Q m k x F H Q m + 1 k x 1 E 1 k s + ε k = F H Q m k x F H Q m + 1 k x 1 E 0 k i , 0 m k max k x , t s i < t s + 1 , 0 s < s E
    Figure imgb0059
    Note that, however, the form of the above-described E2(m,i) is not limited to the above examples in the present invention.
  • Then, the frequency envelope superposition unit 1q calculates the quantity E(m,i) by the following equation using the above-described E2(m,i). E m i = C s E 2 m i , 0 m k max k x , t s i < t s + 1 , 0 s < s E
    Figure imgb0060
    The coefficient C(s) is given by the following equation. C s = i = t s t s + 1 1 p = 0 k max k x E 0 p i i = t s t s + 1 1 p = 0 k max k x E 2 p i + ε 0 s < s E
    Figure imgb0061
  • Further, it may be the following equation. C s = i = t s t s + 1 1 p = 0 k max k x E 1 p i i = t s t s + 1 1 p = 0 k max k x E 2 p i + ε 0 s < s E
    Figure imgb0062
  • The time-frequency envelope adjustment unit 1p adjusts, using the time-frequency envelope El(m,i) supplied from the frequency envelope superposition unit 1q, the time-frequency envelope of the high frequency band signal XH(j,i), kx≤j<kmax supplied from the high frequency band generation unit 1h .
  • It should be noted that the first to sixth alternative examples of the speech decoder 1 according to the first embodiment of the invention may be applied to the speech decoder 101 according to the second embodiment of the invention.
  • Fig. 25 is a diagram showing a configuration of a speech encoder 102 according to the second embodiment, and Fig. 26 is a flowchart showing a procedure of speech encoding by the speech encoder 102 shown in Fig. 25. The speech encoder 102 of Fig. 25 is different from the speech encoder 2 according to the first embodiment in that it further includes a frequency envelope information calculation unit 2n.
  • The frequency envelope information calculation unit 2n receives the high frequency band signal X(j,i) {0≤j<N, 0≤i<t(sE)} from the band splitting filter bank unit 2c and calculates the frequency envelope information. Specifically, calculation of the frequency envelope information is performed as follows.
  • First, the frequency envelope information calculation unit 2n calculates the frequency envelope of the power on the sub-band B(F) k (where k=1,2,3,...,mH) by the following equation. E F k s = i = t s t s + 1 1 j = k l k h X j i 2 t s + 1 t s k h k l + 1 k l = G H k , k l = G H k + 1 1 , 0 s < s E
    Figure imgb0063
  • Next, the frequency envelope information calculation unit 2n calculates the scale factor sf(k,s), 1≤k≤mH of the sub-band B(F) k. The value of sf(k,s) is calculated by the following equation, for example. sf k s = 10 log 10 E F k s , k l = G H k , k h = G H k + 1 1 , 1 k m H , 0 s < s E
    Figure imgb0064
  • Further, the frequency envelope information calculation unit 2n may calculate the value of sf(k,s) by the following equation in accordance with the method described in "ISO/IEC 14496-3 4.B.18". sf k s = log 2 1 64 E F k s , k l = G H k , k h = G H k + 1 1 , 1 k m H , 0 s < s E
    Figure imgb0065
    Further, it may be set by the following equation sf k s = C , k N c , 0 s < s E
    Figure imgb0066
    in accordance with the speech decoder 101.
  • Then, the frequency envelope information calculation unit 2n may set the frequency envelope information as the above-described scale factor sf(k, s) (1≤k≤mH). Further, the frequency envelope information may be in the form of the following equation. Specifically, a difference in the above-described scale factor sf(k, s) is defined by the following equation dsf k s = sf k s sf k 1 , s , 0 s < s E , 2 k m H
    Figure imgb0067
    and dsf(k,s) and sf(1,s)(0≤s<sE) may be used as the frequency envelope information.
  • Further, like the frequency envelope superposition unit 1q of the speech decoder 101 according to the second embodiment, the above-described scale factor sf(O,s) may be calculated using the low frequency band signal X(j,i)(0≤j<kx) in the frequency domain, and dsf(1,s) calculated by the scale factor sf(0,s) may be contained in the frequency envelope information.
  • Further, the frequency envelope information may be an extrapolation parameter from the low frequency band when the scale factor of the high frequency band is approximated by extrapolation from the scale factor of the low frequency band component. Further, the frequency envelope information may be the scale factor of the sub-band and the interpolation or extrapolation parameter within the high frequency band when calculating a part different from several sub-bands from the scale factors of these several sub-bands of the high frequency band by using interpolation or extrapolation. A combination of the former and latter forms may be the frequency envelope information.
  • Note that, in this invention, the frequency envelope information is not limited to the above-described examples.
  • As a quantization and encoding method of the frequency envelope information, the frequency envelope information may be scalar-quantized and then entropy-coded such as Huffman coding and Arithmetic coding. Further, the frequency envelope information may be vector-quantized using a specified code book and then its index may be set as a code.
  • Specifically, the above-described scale factor sf(k,s) may be scalar-quantized and then entropy-coded such as Huffman coding and Arithmetic coding. Further, the above-described dsf(k,s) may be scalar-quantized and then entropy-coded. Furthermore, the above-described scale factor sf(k,s) may be vector-quantized using a specified code book and then its index may be set as a code. Further, the above-described dsf(k,s) may be vector-quantized using a specified code book and then its index may be set as a code. Furthermore, a difference of the scalar-quantized scale factor sf(k,s) may be entropy-coded.
  • For example, EDelta(k,s) may be calculated by the following equation E Q k s = INT a max sf k s , 0 + 0.5 , E Delta k s = E Q k s E Q k 1 , s , 2 k m H , 0 s < s E
    Figure imgb0068
    using sf(k,s) in the above-described equation in accordance with the method described in "ISO/IEC 14496-3 4.B.18", and EDelta(k,s) may be Huffman coded.
  • Note that, when the integer l is included in a set Nc, the above-described quantization and encoding of sf(l,s) (0≤s<sE) and dsf(1,s) (0≤s<sE) may be omitted.
  • Further, in the present invention, quantization and encoding of the frequency envelope information are not limited to the above-described examples.
  • The first to fourth alternative examples of the speech encoder 2 according to the first embodiment of the invention may be applied to the speech encoder 102 according to the second embodiment of the invention. For example, Fig. 27 is a diagram showing a configuration when the first alternative example of the speech encoder 2 according to the first embodiment of the invention is applied to the speech encoder 102 according to the second embodiment of the invention, Fig. 28 is a flowchart showing a procedure of speech encoding by the speech encoder 102 shown in Fig. 27. Further, Fig. 29 is a diagram showing a configuration when the second alternative example of the speech encoder 2 according to the first embodiment of the invention is applied to the speech encoder 102 according to the second embodiment of the invention, and Fig. 30 is a flowchart showing a procedure of speech encoding by the speech encoder 102 shown in Fig. 29.
  • [Third Embodiment]
  • A third embodiment of the present invention is described hereinbelow.
  • Fig. 31 is a diagram showing a configuration of a speech decoder 201 according to the third embodiment, and Fig. 32 is a flowchart showing a procedure of speech decoding by the speech decoder 201 shown in Fig. 31. The speech decoder 201 of Fig. 31 is different from the speech decoder 1 according to the first embodiment in that it further includes a time envelope calculation control unit 1s and that it includes a coded sequence decoding/ dequantization unit 1r and an envelope adjustment unit 1t in place of the coded sequence decoding/ dequantization unit 1e and the time envelope adjustment unit 1i (1c to 1d, 1h, 1j, and 1r to 1t are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)).
  • The coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and thereby obtains coded supplementary information for high frequency band generation and time envelope calculation control information and further obtains coded time envelope information or coded second frequency envelope information.
  • The coded sequence decoding/ dequantization unit 1r decodes the coded supplementary information for high frequency band generation supplied from the coded sequence analysis unit 1d and thereby obtains supplementary information for high frequency band generation.
  • The high frequency band generation unit 1h replicates, using the supplementary information for high frequency band generation supplied from the coded sequence decoding/ dequantization unit 1r, the low frequency band signal Xdec(j,i), 0≤j<kx supplied from the band splitting filter bank unit 1c onto the high frequency band and thereby generates a high frequency band signal Xdec(j,i), kx≤j≤kmax.
  • The time envelope calculation control unit 1s checks, based on the time envelope calculation control information supplied from the coded sequence analysis unit 1d, whether the envelope adjustment unit 1t is to adjust the envelope of the high frequency band signal using the second frequency envelope information. When the envelope adjustment unit 1t does not adjust the envelope of the high frequency band signal using the second frequency envelope information, the coded sequence decoding/ dequantization unit 1r decodes and dequantizes the coded time envelope information supplied from the coded sequence analysis unit 1d and thereby obtains the time envelope information. On the other hand, when the envelope adjustment unit 1t adjusts the envelope of the high frequency band signal using the second frequency envelope information, the time envelope calculation control unit 1s outputs a low frequency band time envelope calculation control signal to the low frequency band time envelope calculation units 1f1 to 1fn and outputs a time envelope calculation control signal to the time envelope calculation unit 1g so that the envelope calculation is not performed in the low frequency band time envelope calculation units 1f1 to 1fn and the time envelope calculation unit 1g.
  • Further, the coded sequence decoding/ dequantization unit 1r decodes and dequantizes the coded second frequency envelope information supplied from the coded sequence analysis unit 1d and thereby obtains the second frequency envelope information. Further, in this case, the envelope adjustment unit 1t adjusts, using the second frequency envelope information supplied from the coded sequence decoding/ dequantization unit 1r, the frequency envelope of the high frequency band signal XH(j,i) (kx≤j<kmax) supplied from the high frequency band generation unit 1h.
  • Specifically, the quantity E3(k,s), 1≤k≤mH, 0≤s<sE corresponding to EF,dec(k,s) is calculated using the decoded and dequantized second frequency envelope information in accordance with the calculation method of EF,dec(k,s) in the frequency envelope superposition unit 1q of the speech decoder 101, and further the above-described E3(k,s) is transformed by the following equation. E m i = E 3 k s k l k x m k h k x , { k l = G H k k h = G H k + 1 1 , 1 k m H , 0 s < s E
    Figure imgb0069
  • After that, the high frequency band signal Y(ij) {kx≤j≤kmax, t(s)≤i<t(s+1), 0≤s<sE} whose envelope is adjusted in accordance with the procedure in the time-frequency envelope adjustment unit 1p of the speech decoder 101 is acquired.
  • Note that the first to seventh alternative examples of the speech decoder 1 according to the first embodiment of the invention may be applied to the speech decoder 201 according to the third embodiment of the invention.
  • Fig. 35 is a diagram showing a configuration of a speech encoder 202 according to the third embodiment, and Fig. 36 is a flowchart showing a procedure of speech encoding by the speech encoder 202 shown in Fig. 35. The speech encoder 202 of Fig. 35 is different from the speech encoder 2 according to the first embodiment in that it further includes a time envelope calculation control information generation unit 2j and a second frequency envelope information calculation unit 2o.
  • The second frequency envelope information calculation unit 2o receives the high frequency band signal X(j,i) {kx≤j<N, t(s)≤i<t(s+1), 0≤s<sE} from the band splitting filter bank unit 2c and calculates the second frequency envelope information (processing in Step S207).
  • The second frequency envelope information may be calculated in the same manner as the calculation method of the frequency envelope information in the speech encoder 102 according to the second embodiment. In this embodiment, however, the calculation method of the second frequency envelope information is not particularly limited.
  • The quantization/encoding unit 2g quantizes and encodes the time envelope information and the second frequency envelope information. The quantization and encoding of the time envelope information may be performed in the same manner as the quantization and encoding in the quantization/encoding unit 2g of the speech encoder according to the first and second embodiments. The quantization and encoding of the second frequency envelope information may be performed in the same manner as the quantization and encoding of the frequency envelope information in the quantization/encoding unit 2g of the speech encoder according to the second embodiment. In this embodiment, however, the quantization and encoding method of the time envelope information and the second frequency envelope information is not particularly limited.
  • The time envelope calculation control information generation unit 2j generates time envelope calculation control information using at least one of the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, the time envelope information received from the time envelope information calculation unit 2f, and the second frequency envelope information received from the second frequency envelope information calculation unit 2o (processing in Step S209). The generated time envelope calculation control information may be the time envelope calculation control information in the speech decoder 201 according to the third embodiment described above.
  • The time envelope calculation control information generation unit 2j may be the same as that of the first alternative example of the speech encoder 2 according to the first embodiment, for example.
  • The time envelope calculation control information generation unit 2j generates the pseudo locally decoded high frequency band signals using the time envelope information and the second frequency envelope information, respectively, and compares them with the original signal in the same manner as in the first alternative example of the speech encoder 2 according to the first embodiment, for example. When the pseudo locally decoded high frequency band signal generated using the second frequency envelope information is closer to the original signal, information indicating adjustment of the high frequency band signal using the second frequency envelope information in the decoder is generated as the time envelope calculation control information. The comparison between each of the pseudo locally decoded high frequency band signals with the original signal may be made by calculating a differential signal and determining whether the differential signal is small or not, for example. Further, the comparison may be made by calculating the time envelopes of each of the pseudo locally decoded high frequency band signals and the original signal, calculating a difference of the time envelopes of each of the pseudo locally decoded high frequency band signals and the original signal, and determining whether the difference is small or not. Furthermore, the comparison may be made by determining whether the maximum value of the differential signal from the original signal and/or the difference in the envelope is small or not. In this embodiment, the comparison method is not limited the above examples.
  • The time envelope calculation control information generation unit 2j may further use at least one of the quantized time envelope information and the quantized second frequency envelope information when generating the time envelope calculation control information.
  • When the coded supplementary information for high frequency band generation received from the quantization/encoding unit 2g and the time envelope calculation control information direct that the high frequency band signal be adjusted using the second frequency envelope information in the decoder, the coded sequence construction unit 2h constructs the high frequency band coded sequence using the coded second frequency envelope information and otherwise constructs the same using the coded time envelope information otherwise (processing in Step S211).
  • Note that the first to fourth alternative examples of the speech encoder 2 according to the first embodiment of the invention may be applied to the speech encoder 202 according to the third embodiment of the invention.
  • [Fourth Embodiment]
  • A fourth embodiment of the present invention is described hereinbelow.
  • Fig. 33 is a diagram showing a configuration of a speech decoder 301 according to the fourth embodiment, and Fig. 34 is a flowchart showing a procedure of speech decoding by the speech decoder 301 shown in Fig. 33. The speech decoder 201 of Fig. 33 is different from the speech decoder 1 according to the first embodiment in that it further includes a time envelope calculation control unit 1s and a frequency envelope superposition unit 1u and that it includes a coded sequence decoding/ dequantization unit 1r and a time-frequency envelope adjustment unit 1v in place of the coded sequence decoding/ dequantization unit 1e and the time envelope adjustment unit 1i, respectively (1c to 1d, 1h, 1j, 1r to 1s, and 1u to 1v are sometimes referred to also as a bandwidth extension unit (bandwidth extension means)).
  • The coded sequence analysis unit 1d analyzes the high frequency band coded sequence supplied from the demultiplexing unit 1a and thereby obtains coded supplementary information for high frequency band generation and time envelope calculation control information and further obtains coded time envelope information and coded frequency envelope information or coded second frequency envelope information.
  • The time envelope calculation control unit 1s checks, based on the time envelope calculation control information supplied from the coded sequence analysis unit 1d, whether the envelope adjustment unit 1v is to adjust the envelope of the high frequency band signal using the second frequency envelope information and, when the envelope adjustment unit 1v does not adjust the envelope of the high frequency band signal using the second frequency envelope information, the coded sequence decoding/ dequantization unit 1r decodes and dequantizes the coded time envelope information supplied from the coded sequence analysis unit 1d and thereby obtains the time envelope information.
  • On the other hand, when the envelope adjustment unit 1v adjusts the envelope of the high frequency band signal using the second frequency envelope information, the same processing as in Step S190 of the third embodiment is performed. Further, the processing of the time-frequency envelope adjustment unit 1v is also the same as in Step S191 of the third embodiment.
  • It should be noted that the first to seventh alternative examples of the speech decoder 1 according to the first embodiment of the invention may be applied to the speech decoder 301 according to the fourth embodiment of the invention.
  • Fig. 37 is a diagram showing a configuration of a speech encoder 302 according to the fourth embodiment, and Fig. 38 is a flowchart showing a procedure of speech encoding by the speech encoder 302 shown in Fig. 37. The speech encoder 302 of Fig. 37 is different from the speech encoder 2 according to the first embodiment in that it further includes a time envelope calculation control information generation unit 2j, a frequency envelope information calculation unit 2p, and a second frequency envelope information calculation unit 2o.
  • The quantization/encoding unit 2g quantizes and encodes the time envelope information, the frequency envelope information and the second frequency envelope information. The quantization and encoding of the time envelope information may be performed in the same manner as the quantization and encoding in the quantization/encoding unit 2g of the speech encoder according to the first and second embodiments. The quantization and encoding of the frequency envelope information and the second frequency envelope information may be performed in the same manner as the quantization and encoding of the frequency envelope information in the quantization/encoding unit 2g of the speech encoder according to the second embodiment. In this embodiment, however, the quantization and encoding method of the time envelope information and the second frequency envelope information is not particularly limited.
  • The time envelope calculation control information generation unit 2j generates time envelope calculation control information using at least one of the signal X(j,i) in the frequency domain received from the band splitting filter bank unit 2c, the time envelope information received from the time envelope information calculation unit 2f, the frequency envelope information received from the frequency envelope information calculation unit 2p, and the second frequency envelope information received from the second frequency envelope information calculation unit 2o (processing in Step S250). The generated time envelope calculation control information may be the time envelope calculation control information in the speech decoder 301 according to the fourth embodiment.
  • The time envelope calculation control information generation unit 2j may be the same as that of the first alternative example of the speech encoder 2 according to the first embodiment, for example. Further, the time envelope calculation control information generation unit 2j may be the same as that of the speech encoder 202 according to the third embodiment, for example.
  • The time envelope calculation control information generation unit 2j generates the pseudo locally decoded high frequency band signals using the time envelope information, the frequency envelope information and the second frequency envelope information, respectively, and compares them with the original signal in the same manner as in the first alternative example of the speech encoder 2 according to the first embodiment, for example. When the pseudo locally decoded high frequency band signal generated using the second frequency envelope information is closer to the original signal, information indicating adjustment of the high frequency band signal using the second frequency envelope information in the decoder is generated as the time envelope calculation control information.
  • The comparison between each of the pseudo locally decoded high frequency band signals with the original signal may be the same as in the time envelope calculation control information generation unit 2j of the speech encoder 202 according to the third embodiment, and the comparison method is not particularly limited in this embodiment.
  • The time envelope calculation control information generation unit 2j may further use at least one of the quantized time envelope information, the quantized frequency envelope information and the quantized second frequency envelope information when generating the time envelope calculation control information.
  • When the coded supplementary information for high frequency band generation received from the quantization/encoding unit 1g and the time envelope calculation control information directs that the high frequency band signal be adjusted with the second frequency envelope information in the decoder, the coded sequence construction unit 2h constructs the high frequency band coded sequence using the coded second frequency envelop information and otherwise constructs the same with the coded time envelope information and the coded frequency envelope information (processing in Step S252).
  • Note that the first to fourth alternative examples of the speech encoder 2 according to the first embodiment of the invention may be applied to the speech encoder 302 according to the fourth embodiment of the invention.
  • [Eighth Alternative Example of Speech Decoder According to First Embodiment]
  • In this alternative example, in the time envelope calculation unit 1g of the speech decoder 1 according to the first embodiment, processing based on a specified function is performed on the calculated time envelope. For example, the time envelope calculation unit 1g normalizes the time envelope with respect to time and calculates the time envelope ET'(l, i) by the following equation. E T l i = E T l i t s + 1 t s i = t s t s + 1 1 E T l i , 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0070
    In this alternative example, after the time envelope ET'(l, i) is calculated, processing of replacing the value ET(l, i) with the value ET'(l, i) can be done since then.
  • According to this alternative example, only the temporal shape of the high frequency band signal XH(j,i) (FH(l)≤j<FH(l+1)) within the frequency band FH(l)≤j<FH(l+ 1) of the frame s can be adjusted without changing the total amount of energy of the frequency band FH(l)≤j<FH(l+1) in the frame s of the high frequency band signal XH(j, i) generated by the high frequency band generation unit 1h.
  • Note that the eighth alternative example of the speech decoder 1 according to the first embodiment may be applied also to the first to seventh alternative examples of the speech decoder 1 according to the first embodiment and the speech decoders according to the second to fourth embodiments, and, in this case, ET(l, i) may be replaced with ET'(l, i).
  • [Ninth Alternative Example of Speech Decoder According to First Embodiment]
  • In this alternative example, when the first to n-th low frequency band time envelope calculation units 1fl to 1fh of the speech decoder 1 according to the first embodiment acquire the time envelope L1(k, i) by smoothing the quantity L0(k, i) in the time direction, L0(k,i) (t(s)-d<_i<t(s)) is stored upon transition from the frame s-1 to the frame s. This alternative example allows smoothing of the quantity L0(k, i) (to be specific, L0(k,i) (t(s)<_i<t(s)+d)) of the frame s that is close to the boundary with the frame s-1.
  • The ninth alternative example of the speech decoder 1 according to the first embodiment is also applicable to the first to eighth alternative examples of the speech decoder 1 according to the first embodiment and the speech decoders according to the second to fourth embodiments.
  • [Fifth Alternative Example of Speech Encoder According to First Embodiment]
  • In this alternative example, the calculation of the time envelope information in the time envelope information calculation unit 2f of the speech encoder 2 according to the first embodiment is performed based on the correlation between a reference time envelope H(l,i) and the above-described g(l,i). For example, the time envelope information calculation unit 2f calculates the time envelope information as follows.
  • Specifically, a correlation coefficient corr(l) between H(l,i) and g(l,i) is calculated by the following equation. corr l = i = t s t s + 1 1 H l i H ave l g l i g ave l i = t s t s + 1 1 H l i H ave l 2 i = t s t s + 1 1 g l i g ave l 2 1 l n H , t s i < t s + 1 , 0 s < s E
    Figure imgb0071
    The correlation coefficient corr(l) is compared with a specified threshold, and the time envelope information is calculated based on the comparison result. Alternatively, a value corresponding to corr2(l) may be calculated and compared with a specified threshold, and the time envelope information may be calculated based on the comparison result.
  • For example, the time envelope information is calculated as follows: Assuming that the specified threshold to be compared with the correlation coefficient is corrth(l) and gdec(l,i) is given by Equation 21, the time envelope information is calculated by the following equation. { A l , k s = 0 , A l , 0 s = const 0 corr l < corr th l A l , k s = const k , A l , 0 s = 0 otherwise const k 0 , k > 0
    Figure imgb0072
  • When the time envelope information calculated in the above example is input to the second alternative example of the decoder 1 according to the first embodiment, in the case of Al,k(s)=0, A1,0(s)=const(0) (i.e. in the case where the correlation coefficient is smaller than a specified threshold in the encoder) in the sub-band B(T) l, the time envelope calculation control unit 1m outputs the low frequency band time envelope calculation control signal to the k-th (k>0) low frequency band time envelope calculation units 1fk so that the low frequency band time envelope calculation in the low frequency band time envelope calculation units 1fk is not performed. On the other hand, in the case of Al,k(s)=const(k), Al,0(s)=0 (i.e. in the case where the correlation coefficient is larger than a specified threshold in the encoder), the time envelope calculation control unit 1m outputs the low frequency band time envelope calculation control signal to the k-th (k>0) low frequency band time envelope calculation units 1fk so that the low frequency band time envelope calculation in the low frequency band time envelope calculation units 1fk is performed.
  • Note that, in this alternative example, the calculation method is not limited to the above example as long as the time envelope information is calculated based on the correlation between the reference time envelope H(l,i) and the above-described g(l,i).
  • In the case of calculating the time envelope information based on an error (or a weighted error) between the reference time envelope H(l,i) and g(l,i) as described in the speech encoder 2 according to the first embodiment, the time envelope information is calculated based on the degree of matching between the reference time envelope H(l,i) and g(l,i). On the other hand, in this alternative example, the time envelope information is calculated based on the degree of similarity between the shapes of the reference time envelope H(l,i) and g(l,i).
  • The fifth alternative example of the speech encoder 2 according to the first embodiment is also applicable to the first to fifth alternative examples of the speech encoder 2 according to the first embodiment and the speech encoders according to the second to fourth embodiments.
  • [First Alternative Example of Speech Decoder According to Second Embodiment]
  • In this alternative example, in the frequency envelope superposition unit 1q of the speech decoder 101 according to the second embodiment, processing based on a specified function is performed on the frequency envelope EF,dec(k,s). For example, the frequency envelope superposition unit 1q performs processing based on a function of smoothing the frequency envelope EF,dec(k,s) given by the following equation. E F , dec , Filt k i = j = 0 d h E F , dec , Temp k , i j sc h j
    Figure imgb0073
    where E F , dec , Temp k i = E F , dec k s , t s i < t s + 1
    Figure imgb0074
    and sch(j) and dh are a specified coefficient of smoothing and a specified order of smoothing, respectively. In this case, EF,dec,Filt(k,i) is replaced with EF,dec(k,s) in the subsequent processing.
  • Further, a function of determining whether or not to smooth the frequency envelope EF,dec(k,s) based on the signal characteristics of the frame corresponding to the frequency envelope EF,dec(k,s) may be included in the above Equation 73. Furthermore, information indicating whether or not to perform smoothing may be included in the coded sequence, and a function of determining whether or not to smooth the frequency envelope EF,dec(k,s) based on the information may be included.
  • Note that the first alternative example of the speech decoder 101 according to the second embodiment is also applicable to the speech decoder according to the fourth embodiment.
  • [Second Alternative Example of Speech Decoder According to Second Embodiment]
  • In the frequency envelope superposition unit 1q of the speech decoder 101 according to the second embodiment, the quantity E(m,i) is the value obtained by correcting E2(m,i) with C(s) (Equation 60). Further, according to Equation 61, the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band kx≤m≤kmax of the frame s is corrected to be the total of the time envelope E0(m,i) in the band kx≤m≤kmax of the frame s. On the other hand, according to Equation 62, the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band kx≤m≤kmax of the frame s is corrected to be the total of the frequency envelope E1(m,i) in the band kx≤m≤kmax of the frame s. In this alternative example, C(s) is given by the following equation so that the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band kx≤m≤kmax of the frame s is maintained after the adjustment of the time-frequency envelope. C s = i = t s t s + 1 1 j = k x k max X H j i 2 i = t s t s + 1 1 p = 0 k max k x E 2 p i + ε
    Figure imgb0075
  • Further, C(s) may be given by the following equation so that the energy of the high frequency band signal after adjustment of the time-frequency envelope in the band kx≤m≤kmax of the frame s is the total of the time envelope E2(m,i) in the band kx≤m≤kmax of the frame s. C s = 1
    Figure imgb0076
  • Note that the second alternative example of the speech decoder 101 according to the second embodiment is also applicable to the first alternative example of the speech decoder 101 according to the second embodiment and the speech decoder according to the fourth embodiment.
  • [Third Alternative Example of Speech Decoder According to Second Embodiment]
  • Fig. 39 is a diagram showing a configuration of a third alternative example of the speech decoder 101 according to the second embodiment, and Fig. 40 is a flowchart showing a procedure of speech decoding by the speech decoder 101 shown in Fig. 39. This alternative example is different from the speech decoder 101 according to the second embodiment in that it includes a frequency envelope calculation unit 1w in place of the frequency envelope superposition unit 1q.
  • The frequency envelope calculation unit 1w in this alternative example calculates the frequency envelope E1(m,s) in the same manner as the frequency envelope superposition unit 1q according to the second embodiment (Step S119a).
  • Then, the time-frequency envelope adjustment unit 1p adjusts the time-frequency envelope as follows, for example, using the time envelope ET(l,i) and the frequency envelope E1(m,s) (Step S120).
  • Specifically, the time-frequency envelope adjustment unit 1p transforms the time envelope ET(l,i) into E0(m,i) in the same manner as the frequency envelope superposition unit 1q.
  • Further, in the same manner as HF adjustment in SBR of "MPEG4 AAC", the noise floor scale factor Q(m,s) in the frame s supplied from the coded sequence decoding/ dequantization unit 1e is transformed by the following equation. Q 2 m s = E 1 m s Q m s 1 + Q m s 0 m < M , 0 s < s E
    Figure imgb0077
  • Further, the level of sinusoid in the frame s is given by the following equation using the quantity S(m,s) calculated by a parameter that determines whether or not to add a sinusoid and that is supplied from the coded sequence decoding/ dequantization unit 1e. S 2 m s = E 1 m s S m s 1 + Q m s 0 m < M , 0 s < s E
    Figure imgb0078
  • Further, the gain is given by the following equation using the frequency envelope E1(m,s), the noise floor scale factor Q(m,s) in the frame s supplied from the coded sequence decoding/ dequantization unit 1e, and the function δ(s) that depends on the parameter of the frame s supplied from the coded sequence decoding/ dequantization unit 1e. G m s = { E 1 m s ε + E curr m s 1 + δ s Q m s if S m s = 0 E 1 m s ε + E curr m s Q m s 1 + Q m s if S m s 0 0 m < M , 0 s < s E
    Figure imgb0079
  • The quantity Ecurr(m,s) is defined by the following equation. E curr m s = i = t s t s + 1 1 j = k l k h X H j i 2 t s + 1 t s k h k l + 1 , k l k x m k h k x , { k l = G H k k h = G H k + 1 1 , 1 k m H 0 l < n H , 0 s < s E
    Figure imgb0080
    It may be defined also by the following equation. E curr m s = i = t s t s + 1 1 X H m + k x , i 2 t s + 1 t s , 0 m < M , 0 s < s E
    Figure imgb0081
    Further, S'(m,s) is the function that represents whether there is a sinusoid to be added in the sub-band B(F) k (GH(k)≤m<GH(k+1)) including the frequency represented by the index m in the frame s, and it is "1" when there is a sinusoid to be added and "0" otherwise.
  • Further, the following quantity X'H(m+kx,i) can be calculated using the above-described quantity Ecurr(m,s). X H m + k x , i = X H m + k x , i X H m + k x , i 2 E curr m s , 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0082
  • Alternatively, the quantity X'H(m+kx,i) can be calculated also by the following equation. X H m + k x , i = X H m + k x , i 1 k h k l + 1 j = k l k h X H j i 2 E curr m s , k l k x m k h k x , { k l = G H k k h = G H k + 1 1 , 1 k m H t s i < t s + 1 , 0 s < s E
    Figure imgb0083
  • The quantity X'H(m+kx,i) can be calculated also from the following equation. X H m + k x , i = X H m + k x , i j = k l k h X H j i 2 n = k l k x k h k x E curr n s , k l k x m k h k x , { k l = G H k k h = G H k + 1 1 , 1 k m H t s i < t s + 1 , 0 s < s E
    Figure imgb0084
  • In this processing, the high frequency band signal XH(m+kx,i) can be smoothed in the time direction in the frequency index m or the sub-band B(F) k. Thus, by performing the subsequent processing, the high frequency band signal on the basis of the time envelope calculated in the time envelope calculation unit 1g can be output without depending on the time envelope of the high frequency band signal XH(m+kx,i).
  • Note that the gain G2(m,s), the noise floor scale factor Q3(m,s) and the sinusoid level S3(m,s) can be calculated by performing processing based on a specific function on the above-described gain, the noise floor scale factor and the sinusoid level. For example, in the same manner as the HF adjustment in SBR of "MPEG4 AAC", processing based on the function of limitation to the gain for avoiding the unneeded addition of noise (gain limiter) and compensation for the energy loss by the gain limitation (gain booster) is performed on the above-described gain, the noise floor scale factor and the sinusoid level to thereby calculate the gain G2(m,s), the noise floor scale factor Q3(m,s) and the sinusoid level S3(m,s) (see ISO/IEC 1449-3 4.6.18.7.5 for a specific example). In the case of performing the above specified processing, G2(m,s), Q3(m,s) and S3(m,s) are used instead of G(m,s), Q2(m,s) and S2(m,s) in the subsequent processing.
  • The quantities G3(m,i) and Q4(m,i) given by the following equation are calculated using the gain G(m,s), the noise floor scale factor Q2(m,s) and the time envelope E0(m,i) obtained as above. In the following equation, the gain and the noise floor scale factor are calculated based on the time envelope, and, after the subsequent processing, the signal with the time-frequency envelope adjusted by the time-frequency envelope adjustment unit 1p can be finally output. G 3 m i = E 0 m i G m s 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0085
    Q 4 m i = E 0 m i Q 2 m s 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0086
  • Note that, although the gain and the noise floor scale factor are calculated based on the time envelope in the above equation, the sinusoid level can be calculated also based on the time envelope in the same manner as the gain and the noise floor scale factor.
  • Further, processing based on a specified function can be performed on the above-described G3(m,i) and Q4(m,i). For example, processing based on a function of smoothing may be performed. GFiit(m,i) and QFilt(m,i) given by the following equations are calculated. G Filt m i = j = 0 d h G Temp m , i j + d h sc h j 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0087
    Q Filt k i = j = 0 d h Q Temp m , i j + d h sc h j 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0088
    where sch(j) and dh are a specified coefficient of smoothing and a specified order of smoothing, respectively. Further, GTemp(m,i) and QTemp(m,i) are given by the following equations. G Temp m , i + d h = E 0 m i G m s 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0089
    Q Temp m , i + d h = E 0 m i Q 2 m s 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0090
  • Furthermore, the effect of smoothing can be equally obtained by processing based on the following functions. G Flit m i = G old m w old m i + G Temp m i w curr m i 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0091
    Q Flit m i = Q old m w old m i + Q Temp m i w curr m i 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0092
    where wold(m,i) and wcurr(m,i) are specified weighting factors. Further, GTemp(m,i) and QTemp(m,i) are given by the following equations. G Temp m i = E 0 m i G m s 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0093
    Q Temp m i = E 0 m i Q 2 m s 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0094
  • Further, Gold(m) is the gain of a time index (specifically, t(s)-1) in the previous frame (specifically, the frame s-1) at the boundary with the frame s and given by any of the following equations. G old m = G Temp m , t s 1 = E 0 m , t s 1 G m , s 1 0 m < M , 0 s < s E
    Figure imgb0095
    G old m = G Flit m , t s 1 0 m < M , 0 s < s E
    Figure imgb0096
    In the case where the above-described processing based on a specified function is performed, GFilt(m,s) and QFilt(m,s) are used instead of G3(m,s) and Q4(m,s) in the subsequence processing.
  • The above-described function of smoothing may include a function of determining whether or not to perform smoothing based on the parameter of the frame s supplied from the coded sequence decoding/ dequantization unit 1e. Further, information indicating whether or not to perform smoothing may be included in the coded sequence, and the above-described function of smoothing may include a function of determining whether or not to perform smoothing based on the information. Furthermore, it may include a function of determining whether or not to perform smoothing based on at least one of the above.
  • Finally, the time-frequency envelope adjustment unit 1p obtains the signal with the adjusted time-frequency envelope by the following equations. W 1 m i = G 3 m i X H m + k x , i Re W 2 m i = Re W 1 m i + Q 4 m i V 0 ƒ i Im W 2 m i = Im W 1 m i + Q 4 m i V 1 ƒ i
    Figure imgb0097
    Re Y m i = Re W 2 m i + ψ Re m s i Im Y m i = Im W 2 m i + ψ Im m s i ψ Re m s i = S 2 m s φ Re ,sin ƒ sin i ψ Re m s i = S 2 m s 1 m + k x φ Re ,sin ƒ sin i
    Figure imgb0098
    where V0 and V1 are arrays that specify a noise component, f is a function that maps the index i onto the index on the arrays, ϕRe,sin and ϕIm,sin are arrays that specify the phase of a sinusoid component, and fsin is a function that maps the index i onto the index on the arrays (see "ISO/IEC 14496-3 4.6.18" for a specific example).
  • Alternatively, in the above-described Equation 97, X'H(m+kx,i) may be used in place of XH(m+kx,i).
  • Note that, when the gain booster of HF adjustment in SBR of "MPEG4 AAC" described above is applied to the frequency envelope superposition unit 1q of the speech decoder 101 according to the second embodiment, the energy loss due to gain limitation is compensated in units of the frame s for each sub-band B(F) k (GH(k)≤Sj<GH(k+1)). On the other hand, according to the following equation, the energy loss due to gain limitation is compensated in units of the time index i for the high frequency band signal XH(j,i) for each sub-band B(F) k (GH(k)≤j<GH(k+1)). G Boost Temp k i = ε + j = G H k G H k + 1 1 E 1 j s ε + j = G H k G H k + 1 1 X H 2 j i G 2 j s + S 2 2 j s + δ S 2 j s , s Q 2 2 j s G 2 m i = G Boost Temp k i G m s Q 3 m i = G Boost Temp k i Q 2 m s 1 k m H , G H k m + k x < G H k + 1 , t s i < t s + 1 , 0 s < s E
    Figure imgb0099
  • In the above-described equation, the gain limiter of HF adjustment in SBR of "MPEG4 AAC" described above may be applied to the gain G(m,s) and the noise scale factor Q2(m,s).
  • Using the gain G2(m,i) and the noise scale factor Q3(m,i), GTemp(m,i) and QTemp(m,i) are given by the following equation instead of the above-described Equations 89 and 90. G Temp m , i + d h = E 0 m i G 2 m i 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0100
    Q Temp m , i + d h = E 0 m i Q 3 m i 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0101
  • Further, when Equation 99 is replaced with the following equation, the energy loss due to gain limitation is compensated in units of the time index i for the high frequency band signal XH(j,i) for each sub-band B(T) k (FH(k)≤j<FH(k+1)). G Boost Temp k i = ε + j = F H k F H k + 1 1 E 1 j s ε + j = F H k F H k + 1 1 X H 2 j i G 2 j s + S 2 2 j s + δ S 2 j s , s Q 2 2 j s G 2 m i = G Boost Temp k i G m s Q 3 m i = G Boost Temp k i Q 2 m s 1 k m H , F H k m + k x < F H k + 1 , t s i < t s + 1 , 0 s < s E
    Figure imgb0102
  • Furthermore, when Equation 99 is replaced with the following equation, the energy loss due to gain limitation is compensated in units of the time index i for the high frequency band signal XH(j,i) for each frequency index m. G Boost Temp m i = ε + E 1 m s ε + X H 2 m + k x , i G 2 m s + S 2 2 m s + δ S 2 m s , s Q 2 2 m s G 2 m i = G Boost Temp m i G m s Q 3 m i = G Boost Temp m i Q 2 m s 1 k m H , 0 m < M , t s i < t s + 1 , 0 s < s E
    Figure imgb0103
  • Alternatively, when calculating the above quantity GBoostTemp(m.i), X'H(m+kx,i) may be used instead of XH(m+kx,i).
  • In the time-frequency envelope adjustment unit 1p of the speech decoder 101 according to the second embodiment, adjustment of the time-frequency envelope is performed by the similar way to the HF adjustment in SBR of "MPEG4 AAC" using the quantity E(m,i) received from the frequency envelope superposition unit 1q, in the same manner as performed by the time envelope adjustment unit 1i of the speech decoder 1 according to the first embodiment. Therefore, in the same manner as performed by the HF adjustment in SBR of "MPEG4 AAC", when a gain limiter operation for avoiding addition of unneeded noise is performed on a gain, a noise floor scale factor and a sinusoid level, and a gain booster operation is performed to compensate energy loss caused by the gain booster operation, these operations are performed on the time index i(t(s)≤i<t(s+1)). On the other hand, according to this alternative example, when a gain limiter operation for avoiding addition of unneeded noise is performed on a gain, a noise floor scale factor and a sinusoid level, and a gain booster operation is performed to compensate energy loss caused by the gain booster operation, at least one of these operations may be performed on the frame s. Thus, this alternative example allows reduction of the amount of operation for the above processing compared with the speech decoder 101 according to the second embodiment.
  • Note that the third alternative example of the speech decoder 101 according to the second embodiment is applicable also to the first and second alternative examples of the speech decoder 101 according to the second embodiment and the speech decoder according to the fourth embodiment.
  • [Another Embodiment of Third Alternative Example of Speech Decoder 101 According to Second Embodiment]
  • In the case where the first, second and third alternative examples of the speech decoder 1 used in the first embodiment and the fifth alternative example of the speech decoder 1 used in the first embodiment which implements at least one of the above alternative examples are applied to the above-described alternative example, there is a case where the time envelope calculation unit 1g does not calculate the time envelope ET(l,i). In this case, the operation processing that requires E0(m,i) is performed by replacing E0(m,i) with 1. In this way, the processing of multiplying E0(m,i), the power of E0(m,i) and the square root of E0(m,i) can be omitted, thereby reducing the amount of computation. Note that, in the processing using the above method, the time-frequency envelope adjustment unit 1p does not need to calculate E0(m,i).
  • [Sixth Alternative Example of Speech Encoder 2 According to First Embodiment]
  • The time envelope information calculation unit 2f calculates the time envelope information based on the characteristics of at least one signal of the signal X(j,i) in the frequency domain obtained from the band splitting filter bank unit 2c, an external input signal received through the communication device of the speech encoder 2, and the down-sampled low frequency band signal in the time domain obtained as an output from the down-sampling unit 2a. The signal characteristics may be transient characteristics, tonality, noise characteristics and the like of the signal, for example, through the signal characteristics are not limited to those specific examples in this alternative example.
  • Note that this alternative example is also applicable to the first to fifth alternative examples of the speech encoder 2 according to the first embodiment and the speech encoders according to the second to fourth embodiments.
  • [Seventh Alternative Example of Speech Encoder 2 According to First Embodiment]
  • The time envelope calculation control information generation unit 2j generates the time envelope calculation control information related to the low frequency band time envelope calculation method in the speech decoder 1 according to the signal characteristics of at least one signal of the signal X(j,i) in the frequency domain obtained from the band splitting filter bank unit 2c, an external input signal received through the communication device of the speech encoder 2, and the down-sampled low frequency band signal in the time domain obtained as an output from the down-sampling unit 2a. The signal characteristics may be transient characteristics, tonality, noise characteristics and the like of the signal, for example, through the signal characteristics are not limited to those specific examples in this alternative example.
  • Note that this alternative example is also applicable to the first to sixth alternative examples of the speech encoder 2 according to the first embodiment and the speech encoders according to the second to fourth embodiments.
  • [Quantization/Encoding Unit of Speech Encoder According to First to Fourth Embodiments]
  • In the quantization/encoding unit 2g of the speech encoder according to the first to fourth embodiments, the noise floor scale factor, and the parameter that determines whether or not to add a sinusoid may be quantized and encoded as a matter of course.
  • Industrial Applicability
  • The present invention is used for a speech decoder, a speech encoder, a speech decoding method, a speech encoding method, a speech decoding program, and a speech encoding program, and it is possible to adjust the time envelope of a decoded signal into a less distorted shape and thereby obtain a reproduced signal in which pre-echo and post-echo are sufficiently reduced.
  • Reference Signs List
  • 1fl~1fn...low frequency band time envelope calculation unit, 2el~2en...low frequency band time envelope calculation unit, 1,102,201,301...speech decoder, 1a...demultiplexing unit, 1b...low frequency band decoding unit, 1c...band splitting filter bank unit, 1d...coded sequence analysis unit, 1e...dequantization unit, 1g...time envelope calculation unit, 1h...high frequency band generation unit, 1i...time envelope adjustment unit, 1j...band synthesis filter bank unit, 1k,1m,1n,1o...time envelope calculation control unit, 1 p, 1 v... time-frequency envelope adjustment unit, 1q...frequency envelope superposition unit, 1r...coded sequence decoding/ dequantization unit, 1s... time envelope calculation control unit, It... envelope adjustment unit, 1u...frequency envelope superposition unit, 1w...frequency envelope calculation unit, 2,102,202,302...speech encoder, 2a... down-sampling unit, 2b...low frequency band encoding unit, 2c ... band splitting filter bank unit, 2d... supplementary information for high frequency band generation calculation unit, 2el~2ek...low frequency band time envelope calculation unit, 2f...time envelope information calculation unit, 2g...quantization/encoding unit, 2h... high frequency band coded sequence construction unit, 2i...multiplexing unit, 2j ... time envelope calculation control information generation unit, 2k...low frequency band decoding unit, 2m... band synthesis filter bank unit, 2n,2o,2p ... frequency envelope information calculation unit

Claims (1)

  1. A speech decoder (1) configured to decode a coded sequence of encoded speech signal, comprising:
    demultiplexing means (1a) for demultiplexing the coded sequence into a low frequency band coded sequence and a high frequency band coded sequence;
    low frequency band decoding means (1b) for decoding the low frequency band coded sequence demultiplexed by the demultiplexing means (1a) and obtaining a low frequency band signal;
    frequency transformation means (1c) for transforming the low frequency band signal, which is obtained by the low frequency band decoding means (1b), into a frequency domain;
    high frequency band coded sequence analysis means (1d) for analyzing the high frequency band coded sequence demultiplexed by the demultiplexing means (1a) and acquiring supplementary information for high frequency band generation, time envelope calculation control information, and time envelope information;
    coded sequence decoding means (1e, 1r) for decoding the supplementary information for high frequency band generation and the time envelope information acquired by the high frequency band coded sequence analysis means (1d);
    high frequency band generation means (1h) for generating, using the supplementary information for high frequency band generation decoded by the coded sequence decoding means (1e, 1r), high frequency band components from the low frequency band signal which is obtained by the low frequency band decoding means (1b);
    first to Nth, N is an integer equal to or larger than two, low frequency band time envelope calculation means (1fl,...,1fn) for analyzing the low frequency band signal transformed into the frequency domain by the frequency transformation means (1c) and acquiring a plurality of low frequency band time envelopes;
    time envelope calculation means (1g) for calculating a high frequency band time envelope using the time envelope information, which is acquired by the coded sequence decoding means (1e, 1r), and the plurality of low frequency band time envelopes, which are acquired by the low frequency band time envelope calculation means (1fl,...,1fn);
    time envelope calculation control means (1k) for controlling, using the time envelope calculation control information, calculation of the high frequency band time envelope in the time envelope calculation means (1g);
    time envelope adjustment means (1i) for adjusting, using the time envelope acquired by the time envelope calculation means (1g), a time envelope of the high frequency band components generated by the high frequency band generation means (1h); and
    inverse frequency transformation means (1j) for adding the high frequency band components, which are adjusted by the time envelope adjustment means (1i), and the low frequency band signal, which is decoded by the low frequency band decoding means (1b), and outputting a time domain signal containing entire frequency band components,
    wherein the time envelope calculation means (1g) is configured to calculate the high frequency band time envelope by performing a processing necessarily using the plurality of low frequency band time envelopes, selected based on the time envelope information from a plurality of specified processing using different formulas prepared in advance, and the plurality of specified processing includes a processing of calculating a time envelope, gdec, using the plurality of low frequency band time envelopes and the time envelope information and calculating the high frequency band time envelope, ET, by the following equation: ET = 100.1*gdec .
EP21217818.0A 2011-02-18 2012-02-16 Speech decoder Active EP3998607B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2011033917 2011-02-18
JP2011215591 2011-09-29
EP19181294.0A EP3567589B1 (en) 2011-02-18 2012-02-16 Speech encoder and speech encoding method
EP12747551.5A EP2677519B1 (en) 2011-02-18 2012-02-16 Speech decoder, speech encoder, speech decoding method, speech encoding method, speech decoding program, and speech encoding program
PCT/JP2012/053700 WO2012111767A1 (en) 2011-02-18 2012-02-16 Speech decoder, speech encoder, speech decoding method, speech encoding method, speech decoding program, and speech encoding program

Related Parent Applications (3)

Application Number Title Priority Date Filing Date
EP19181294.0A Division EP3567589B1 (en) 2011-02-18 2012-02-16 Speech encoder and speech encoding method
EP19181294.0A Division-Into EP3567589B1 (en) 2011-02-18 2012-02-16 Speech encoder and speech encoding method
EP12747551.5A Division EP2677519B1 (en) 2011-02-18 2012-02-16 Speech decoder, speech encoder, speech decoding method, speech encoding method, speech decoding program, and speech encoding program

Publications (2)

Publication Number Publication Date
EP3998607A1 EP3998607A1 (en) 2022-05-18
EP3998607B1 true EP3998607B1 (en) 2024-03-27

Family

ID=46672679

Family Applications (5)

Application Number Title Priority Date Filing Date
EP18181397.3A Active EP3407352B9 (en) 2011-02-18 2012-02-16 Speech decoder, speech encoder, speech decoding method, speech encoding method, speech decoding program, and speech encoding program
EP22157013.8A Active EP4020466B1 (en) 2011-02-18 2012-02-16 Speech encoder and speech encoding method
EP19181294.0A Active EP3567589B1 (en) 2011-02-18 2012-02-16 Speech encoder and speech encoding method
EP12747551.5A Active EP2677519B1 (en) 2011-02-18 2012-02-16 Speech decoder, speech encoder, speech decoding method, speech encoding method, speech decoding program, and speech encoding program
EP21217818.0A Active EP3998607B1 (en) 2011-02-18 2012-02-16 Speech decoder

Family Applications Before (4)

Application Number Title Priority Date Filing Date
EP18181397.3A Active EP3407352B9 (en) 2011-02-18 2012-02-16 Speech decoder, speech encoder, speech decoding method, speech encoding method, speech decoding program, and speech encoding program
EP22157013.8A Active EP4020466B1 (en) 2011-02-18 2012-02-16 Speech encoder and speech encoding method
EP19181294.0A Active EP3567589B1 (en) 2011-02-18 2012-02-16 Speech encoder and speech encoding method
EP12747551.5A Active EP2677519B1 (en) 2011-02-18 2012-02-16 Speech decoder, speech encoder, speech decoding method, speech encoding method, speech decoding program, and speech encoding program

Country Status (19)

Country Link
US (1) US8756068B2 (en)
EP (5) EP3407352B9 (en)
JP (7) JP5977176B2 (en)
KR (7) KR102208914B1 (en)
CN (2) CN104916290B (en)
AU (1) AU2012218409B2 (en)
BR (2) BR112013020987B1 (en)
CA (4) CA2984936C (en)
DK (4) DK3407352T3 (en)
ES (4) ES2916257T3 (en)
FI (1) FI4020466T3 (en)
HU (3) HUE062540T2 (en)
MX (2) MX339764B (en)
PL (4) PL3567589T3 (en)
PT (4) PT2677519T (en)
RU (8) RU2630379C1 (en)
SG (1) SG192796A1 (en)
TW (3) TW201637001A (en)
WO (1) WO2012111767A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3567589T3 (en) * 2011-02-18 2022-06-06 Ntt Docomo, Inc. Speech encoder and speech encoding method
JP5997592B2 (en) * 2012-04-27 2016-09-28 株式会社Nttドコモ Speech decoder
US11037923B2 (en) 2012-06-29 2021-06-15 Intel Corporation Through gate fin isolation
TWI477789B (en) * 2013-04-03 2015-03-21 Tatung Co Information extracting apparatus and method for adjusting transmitting frequency thereof
KR102158896B1 (en) 2013-06-11 2020-09-22 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 Device and method for bandwidth extension for audio signals
RU2662693C2 (en) 2014-02-28 2018-07-26 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Decoding device, encoding device, decoding method and encoding method
JP2016038435A (en) * 2014-08-06 2016-03-22 ソニー株式会社 Encoding device and method, decoding device and method, and program
ES2771200T3 (en) 2016-02-17 2020-07-06 Fraunhofer Ges Forschung Postprocessor, preprocessor, audio encoder, audio decoder and related methods to improve transient processing
TWI602173B (en) * 2016-10-21 2017-10-11 盛微先進科技股份有限公司 Audio processing method and non-transitory computer readable medium
EP3396670B1 (en) * 2017-04-28 2020-11-25 Nxp B.V. Speech signal processing
US10650834B2 (en) 2018-01-10 2020-05-12 Savitech Corp. Audio processing method and non-transitory computer readable medium
JP7139628B2 (en) * 2018-03-09 2022-09-21 ヤマハ株式会社 SOUND PROCESSING METHOD AND SOUND PROCESSING DEVICE
EP3576088A1 (en) * 2018-05-30 2019-12-04 Fraunhofer Gesellschaft zur Förderung der Angewand Audio similarity evaluator, audio encoder, methods and computer program

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3982070A (en) * 1974-06-05 1976-09-21 Bell Telephone Laboratories, Incorporated Phase vocoder speech synthesis system
SE512719C2 (en) * 1997-06-10 2000-05-02 Lars Gustaf Liljeryd A method and apparatus for reducing data flow based on harmonic bandwidth expansion
JP2000122698A (en) * 1998-10-19 2000-04-28 Mitsubishi Electric Corp Voice encoder
US7260523B2 (en) * 1999-12-21 2007-08-21 Texas Instruments Incorporated Sub-band speech coding system
JP2001318698A (en) * 2000-05-10 2001-11-16 Nec Corp Voice coder and voice decoder
JP3404024B2 (en) * 2001-02-27 2003-05-06 三菱電機株式会社 Audio encoding method and audio encoding device
SE0202159D0 (en) * 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
US20030187663A1 (en) * 2002-03-28 2003-10-02 Truman Michael Mead Broadband frequency translation for high frequency regeneration
US7987095B2 (en) * 2002-09-27 2011-07-26 Broadcom Corporation Method and system for dual mode subband acoustic echo canceller with integrated noise suppression
KR100587953B1 (en) * 2003-12-26 2006-06-08 한국전자통신연구원 Packet loss concealment apparatus for high-band in split-band wideband speech codec, and system for decoding bit-stream using the same
KR100657916B1 (en) * 2004-12-01 2006-12-14 삼성전자주식회사 Apparatus and method for processing audio signal using correlation between bands
KR100721537B1 (en) * 2004-12-08 2007-05-23 한국전자통신연구원 Apparatus and Method for Highband Coding of Splitband Wideband Speech Coder
KR100708121B1 (en) * 2005-01-22 2007-04-16 삼성전자주식회사 Method and apparatus for bandwidth extension of speech
JP4448464B2 (en) * 2005-03-07 2010-04-07 日本電信電話株式会社 Noise reduction method, apparatus, program, and recording medium
CN101185127B (en) * 2005-04-01 2014-04-23 高通股份有限公司 Methods and apparatus for coding and decoding highband part of voice signal
US8484036B2 (en) * 2005-04-01 2013-07-09 Qualcomm Incorporated Systems, methods, and apparatus for wideband speech coding
CN102163429B (en) * 2005-04-15 2013-04-10 杜比国际公司 Device and method for processing a correlated signal or a combined signal
US7953605B2 (en) * 2005-10-07 2011-05-31 Deepen Sinha Method and apparatus for audio encoding and decoding using wideband psychoacoustic modeling and bandwidth extension
EP2212884B1 (en) * 2007-11-06 2013-01-02 Nokia Corporation An encoder
CN101483495B (en) * 2008-03-20 2012-02-15 华为技术有限公司 Background noise generation method and noise processing apparatus
JP5203077B2 (en) * 2008-07-14 2013-06-05 株式会社エヌ・ティ・ティ・ドコモ Speech coding apparatus and method, speech decoding apparatus and method, and speech bandwidth extension apparatus and method
PL2146344T3 (en) * 2008-07-17 2017-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding/decoding scheme having a switchable bypass
US8352279B2 (en) * 2008-09-06 2013-01-08 Huawei Technologies Co., Ltd. Efficient temporal envelope coding approach by prediction between low band signal and high band signal
US8818541B2 (en) * 2009-01-16 2014-08-26 Dolby International Ab Cross product enhanced harmonic transposition
EP2239732A1 (en) * 2009-04-09 2010-10-13 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Apparatus and method for generating a synthesis audio signal and for encoding an audio signal
JP4932917B2 (en) 2009-04-03 2012-05-16 株式会社エヌ・ティ・ティ・ドコモ Speech decoding apparatus, speech decoding method, and speech decoding program
PL3567589T3 (en) * 2011-02-18 2022-06-06 Ntt Docomo, Inc. Speech encoder and speech encoding method

Also Published As

Publication number Publication date
SG192796A1 (en) 2013-09-30
US8756068B2 (en) 2014-06-17
KR20220106233A (en) 2022-07-28
RU2679973C1 (en) 2019-02-14
KR20200003943A (en) 2020-01-10
JP7009602B2 (en) 2022-01-25
EP3407352B1 (en) 2022-05-11
KR20180089567A (en) 2018-08-08
EP2677519A4 (en) 2016-10-19
CA2984936C (en) 2019-10-29
TW201637001A (en) 2016-10-16
ES2913760T3 (en) 2022-06-06
TWI576830B (en) 2017-04-01
PL2677519T3 (en) 2019-12-31
CA3055514A1 (en) 2012-08-23
EP3998607A1 (en) 2022-05-18
ES2745141T3 (en) 2020-02-27
BR112013020987A2 (en) 2016-10-11
KR20220035287A (en) 2022-03-21
HUE058847T2 (en) 2022-09-28
PT3567589T (en) 2022-05-19
RU2651193C1 (en) 2018-04-18
PL3407352T3 (en) 2022-08-08
RU2674922C1 (en) 2018-12-13
PT2677519T (en) 2019-09-30
KR102208914B1 (en) 2021-01-27
FI4020466T3 (en) 2023-06-14
WO2012111767A1 (en) 2012-08-23
PT4020466T (en) 2023-06-27
JP6510593B2 (en) 2019-05-08
ES2916257T3 (en) 2022-06-29
CN103370742A (en) 2013-10-23
TW201706983A (en) 2017-02-16
HUE062540T2 (en) 2023-11-28
KR20200142110A (en) 2020-12-21
CA2827482C (en) 2018-01-02
EP2677519A1 (en) 2013-12-25
RU2630379C1 (en) 2017-09-07
DK4020466T3 (en) 2023-06-26
JP2017194716A (en) 2017-10-26
PL4020466T3 (en) 2023-09-25
JP6664526B2 (en) 2020-03-13
RU2599966C2 (en) 2016-10-20
PL3567589T3 (en) 2022-06-06
EP3567589B1 (en) 2022-04-06
RU2013142349A (en) 2015-03-27
DK3567589T3 (en) 2022-05-09
HUE058682T2 (en) 2022-09-28
EP3407352B9 (en) 2022-08-10
EP3567589A1 (en) 2019-11-13
EP2677519B1 (en) 2019-08-14
AU2012218409A1 (en) 2013-09-12
JP2016218464A (en) 2016-12-22
BR122019027753B1 (en) 2021-04-20
KR102424902B1 (en) 2022-07-22
JP2022043334A (en) 2022-03-15
KR20170070286A (en) 2017-06-21
CN103370742B (en) 2015-06-03
JP2020077012A (en) 2020-05-21
BR112013020987B1 (en) 2021-01-19
DK3407352T3 (en) 2022-06-07
CA2827482A1 (en) 2012-08-23
JP7252381B2 (en) 2023-04-04
KR20140005256A (en) 2014-01-14
RU2718425C1 (en) 2020-04-02
RU2707931C1 (en) 2019-12-02
KR102565287B1 (en) 2023-08-08
JP2019091074A (en) 2019-06-13
US20130339010A1 (en) 2013-12-19
EP4020466A1 (en) 2022-06-29
CN104916290A (en) 2015-09-16
DK2677519T3 (en) 2019-09-23
EP4020466B1 (en) 2023-05-10
RU2742199C1 (en) 2021-02-03
CA2984936A1 (en) 2012-08-23
CN104916290B (en) 2018-11-06
JPWO2012111767A1 (en) 2014-07-07
CA3147525A1 (en) 2012-08-23
JP6810292B2 (en) 2021-01-06
MX2013009464A (en) 2013-12-06
KR102375912B1 (en) 2022-03-16
MX339764B (en) 2016-06-08
TWI547941B (en) 2016-09-01
PT3407352T (en) 2022-06-07
ES2949240T3 (en) 2023-09-26
TW201301263A (en) 2013-01-01
KR102068112B1 (en) 2020-01-20
JP6189498B2 (en) 2017-08-30
TWI563499B (en) 2016-12-21
EP3407352A1 (en) 2018-11-28
JP5977176B2 (en) 2016-08-24
JP2021043471A (en) 2021-03-18
CA3055514C (en) 2022-05-17
AU2012218409B2 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
EP3998607B1 (en) Speech decoder

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211227

AC Divisional application: reference to earlier application

Ref document number: 2677519

Country of ref document: EP

Kind code of ref document: P

Ref document number: 3567589

Country of ref document: EP

Kind code of ref document: P

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20221019

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230509

RIC1 Information provided on ipc code assigned before grant

Ipc: G10L 25/21 20130101ALN20230914BHEP

Ipc: G10L 25/18 20130101ALN20230914BHEP

Ipc: G10L 19/02 20130101ALI20230914BHEP

Ipc: G10L 21/0388 20130101AFI20230914BHEP

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20231020

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AC Divisional application: reference to earlier application

Ref document number: 2677519

Country of ref document: EP

Kind code of ref document: P

Ref document number: 3567589

Country of ref document: EP

Kind code of ref document: P

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602012080662

Country of ref document: DE