Speech decoder with high-band generation and temporal envelope shaping
09779744 · 2017-10-03
Assignee
Inventors
Cpc classification
G10L19/03
PHYSICS
G10L19/06
PHYSICS
G10L19/167
PHYSICS
International classification
G10L19/00
PHYSICS
G10L21/00
PHYSICS
G10L19/24
PHYSICS
G10L19/06
PHYSICS
G10L19/03
PHYSICS
G10L19/02
PHYSICS
Abstract
A linear prediction coefficient of a signal represented in a frequency domain is obtained by performing linear prediction analysis in a frequency direction by using a covariance method or an autocorrelation method. After the filter strength of the obtained linear prediction coefficient is adjusted, filtering may be performed in the frequency direction on the signal by using the adjusted coefficient, whereby the temporal envelope of the signal is shaped. This reduces the occurrence of pre-echo and post-echo and improves the subjective quality of the decoded signal, without significantly increasing the bit rate in a bandwidth extension technique in the frequency domain represented by SBR.
Claims
1. A speech decoding device for decoding an encoded speech signal, the speech decoding device comprising: a processor; the processor configured to separate a bit stream that includes the encoded speech signal into an encoded bit stream and temporal envelope supplementary information, the bit stream received from outside the speech decoding device; the processor configured to decode the encoded bit stream to obtain a low frequency component, of the encoded speech signal, represented in a time domain; the processor configured to transform the low frequency component into a frequency domain; the processor configured to generate a high frequency component by copying the low frequency component from a low frequency band to a high frequency band; the processor configured to adjust the high frequency component to generate an adjusted high frequency component; the processor configured to analyze the low frequency component transformed into the frequency domain, to obtain temporal envelope information; the processor configured to convert the temporal envelope supplementary information into a parameter for adjusting the temporal envelope information; the processor configured to adjust the temporal envelope information using the parameter, to generate adjusted temporal envelope information; the processor configured to control a gain of the adjusted temporal envelope information, prior to shaping a temporal envelope of the adjusted high frequency component, to generate further adjusted temporal envelope information, the gain controlled such that power of the high frequency component in the frequency domain in a spectral band replication (SBR) envelope time segment is equivalent before and after shaping of the temporal envelope of the adjusted high frequency component; and the processor configured to shape the temporal envelope of the adjusted high frequency component, by multiplying the adjusted high frequency component by the further adjusted temporal envelope information.
2. A speech decoding device for decoding an encoded speech signal, the speech decoding device comprising: a processor; the processor configured to decode a bit stream that includes the encoded speech signal to obtain a low frequency component, of the encoded speech signal, represented in a time domain, the bit stream received from outside the speech decoding device; the processor configured to transform the low frequency component into a frequency domain; the processor configured to generate a high frequency component by copying the low frequency component transformed into the frequency domain from a low frequency band to a high frequency band; the processor configured to adjust the high frequency component to generate an adjusted high frequency component; the processor configured to analyze the low frequency component transformed into the frequency domain by the frequency transform unit to obtain temporal envelope information; the processor configured to analyze the bit stream to generate a parameter for adjusting the temporal envelope information; the processor configured to adjust the temporal envelope information, using the parameter, to generate adjusted temporal envelope information, the processor further configured to control a gain of the adjusted temporal envelope information, prior to shaping a temporal envelope of the adjusted high frequency component, to generate further adjusted temporal envelope information, the gain of the adjusted temporal envelop information adjusted such that power of the high frequency component in the frequency domain in a spectral band replication (SBR) envelope time segment is equivalent before and after shaping of the temporal envelope of the adjusted high frequency component; and the processor configured to shape the temporal envelope of the adjusted high frequency component, by multiplying the adjusted high frequency component by the further adjusted temporal envelope information.
3. A speech decoding method using a speech decoding device for decoding an encoded speech signal, the speech decoding method comprising: a bit stream separating step of the speech decoding device separating a bit stream that includes the encoded speech signal into an encoded bit stream and temporal envelope supplementary information, the bit stream received from outside the speech decoding device; a core decoding step of the speech decoding device obtaining a low frequency component of the encoded speech signal by decoding the encoded bit stream separated in the bit stream separating step, the low frequency component represented in a time domain; a frequency transform step of the speech decoding device transforming the low frequency component obtained in the core decoding step into a frequency domain; a high frequency generating step of the speech decoding device generating a high frequency component by copying the low frequency component transformed into the frequency domain in the frequency transform step from a low frequency band to a high frequency band; a high frequency adjusting step of the speech decoding device adjusting the high frequency component generated in the high frequency generating step to generate an adjusted high frequency component; a low frequency temporal envelope analysis step of the speech decoding device obtaining temporal envelope information by analyzing the low frequency component transformed into the frequency domain in the frequency transform step; a supplementary information converting step of the speech decoding device converting the temporal envelope supplementary information into a parameter for adjusting the temporal envelope information; a temporal envelope adjusting step of the speech decoding device adjusting the temporal envelope information obtained in the low frequency temporal envelope analysis step, using the parameter, the temporal envelope adjusting step further comprising the speech decoding device generating adjusted temporal envelope information and controlling a gain of the adjusted temporal envelope information, prior to shaping a temporal envelope of the adjusted high frequency component, such that power of the high frequency component in the frequency domain in a spectral band replication (SBR) envelope time segment is equivalent before and after shaping of the temporal envelope of the adjusted high frequency component, the temporal envelope adjusting step further comprising the speech decoding device generating further adjusted temporal envelope information; and a temporal envelope shaping step of the speech decoding device shaping the temporal envelope of the adjusted high frequency component, by multiplying the adjusted high frequency component by the further adjusted temporal envelope information.
4. A speech decoding method using a speech decoding device for decoding an encoded speech signal, the speech decoding method comprising: a core decoding step of the speech decoding device decoding a bit stream that includes the encoded speech signal to obtain a low frequency component of the encoded speech signal, the low frequency component represented in a time domain, and the bit stream received from outside the speech decoding device; a frequency transform step of the speech decoding device transforming the low frequency component obtained in the core decoding step into a frequency domain; a high frequency generating step of the speech decoding device generating a high frequency component by copying the low frequency component transformed into the frequency domain in the frequency transform step from a low frequency band to a high frequency band; a high frequency adjusting step of the speech decoding device adjusting the high frequency component generated in the high frequency generating step to generate an adjusted high frequency component; a low frequency temporal envelope analysis step of the speech decoding device obtaining temporal envelope information by analyzing the low frequency component transformed into the frequency domain in the frequency transform step; a temporal envelope supplementary information generating step of the speech decoding device analyzing the bit stream to generate a parameter for adjusting the temporal envelope information; a temporal envelope adjusting step of the speech decoding device adjusting the temporal envelope information obtained in the low frequency temporal envelope analysis step, using the parameter, to generate adjusted temporal envelope information and controlling a gain of the adjusted temporal envelope information, prior to shaping a temporal envelope of the adjusted high frequency component, to generate further adjusted temporal envelope information, the gain of the adjusted temporal envelope information adjusted such that power of the high frequency component in the frequency domain in a spectral band replication (SBR) envelope time segment is equivalent before and after shaping of the temporal envelope of the adjusted high frequency component; and a temporal envelope shaping step of the speech decoding device shaping the temporal envelope of the adjusted high frequency component, by multiplying the adjusted high frequency component by the further adjusted temporal envelope information.
5. A non-transitory storage medium that stores instructions executable by a processor to decode an encoded speech signal, the storage medium comprising: instructions executable by the processor to separate a bit stream that includes the encoded speech signal into an encoded bit stream and temporal envelope supplementary information, the bit stream received from outside the speech decoding device; instructions executable by the processor to decode the encoded bit stream to obtain a low frequency component of the encoded speech signal represented in a time domain; instructions executable by the processor to transform the low frequency component into a frequency domain; instructions executable by the processor to generate a high frequency component by copying the low frequency component transformed into the frequency domain from a low frequency band to a high frequency band; instructions executable by the processor to adjust the high frequency component to generate an adjusted high frequency component; instructions executable by the processor to analyze the low frequency component transformed into the frequency domain to obtain temporal envelope information; instructions executable by the processor to convert the temporal envelope supplementary information into a parameter for adjusting the temporal envelope information; instructions executable by the processor to adjust the temporal envelope information, using the parameter; instruction executable by the processor to generate adjusted temporal envelope information, and control a gain of the adjusted temporal envelope information, prior to shaping a temporal envelope of the adjusted high frequency component, to generate further adjusted temporal envelope information, the gain of the adjusted temporal envelope controlled such that power of the high frequency component in the frequency domain in a spectral band replication (SBR) envelope time segment is equivalent before and after shaping of the temporal envelope of the adjusted high frequency component; and instruction executable by the processor to shape the temporal envelope of the adjusted high frequency component, by multiplication of the adjusted high frequency component by the further adjusted temporal envelope information.
6. A non-transitory storage medium that stores instructions executable by a processor to decode an encoded speech signal, the storage medium comprising: instructions executable by the processor to decode a bit stream, that includes the encoded speech signal, to obtain a low frequency component of the encoded speech signal, the low frequency component represented in a time domain, and the bit stream received from outside the speech decoding device; instructions executable by the processor to transform the low frequency component into a frequency domain; instructions executable by the processor to generate a high frequency component by copying the low frequency component transformed into the frequency domain from a low frequency band to a high frequency band; instructions executable by the processor to adjust the high frequency component to generate an adjusted high frequency component; instructions executable by the processor to analyze the low frequency component transformed into the frequency domain to obtain temporal envelope information; instructions executable by the processor to analyze the bit stream to generate a parameter for adjusting the temporal envelope information; instructions executable by the processor to adjust the temporal envelope information using the parameter; instructions executable by the processor to generate adjusted temporal envelope information; instructions executable by the processor to control a gain of the adjusted temporal envelope information, prior to shaping a temporal envelope of the adjusted high frequency component, to generate further adjusted temporal envelope information, the gain controlled such that power of the high frequency component in the frequency domain in a spectral band replication (SBR) envelope time segment is equivalent before and after shaping of the temporal envelope of the adjusted high frequency component; and instructions executable by the processor to shape the temporal envelope of the adjusted high frequency component, by multiplication of the adjusted high frequency component by the further adjusted temporal envelope information.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
DESCRIPTION OF EMBODIMENTS
(51) Preferable embodiments of a speech encoding/decoding system are described below in detail with reference to the accompanying drawings. In the description of the drawings, elements that are the same are labeled with the same reference symbols, and the duplicated description thereof is omitted, if applicable.
(52) A bandwidth extension technique for generating high frequency components by using low frequency components of speech may be used as a method for improving the performance of speech encoding and obtaining a high speech quality at a low bit rate. Examples of bandwidth extension techniques include SBR (Spectral Band Replication) techniques, such as the SBR techniques used in “MPEG4 AAC”. In SBR techniques, a high frequency component may be generated by transforming a signal into a spectral region by using a filterbank, such as a QMF (Quadrature Mirror Filter) filterbank and copying spectral coefficients between frequency bands, such as from a low frequency band to a high frequency band with respect to the transformed signal. In addition, the high frequency component may be adjusted by adjusting the spectral envelope and tonality of the copied coefficients. A speech encoding method using the bandwidth extension technique can reproduce the high frequency components of a signal by using only a small amount of supplementary information. Thus, it may be effective in reducing the bit rate of speech encoding.
(53) In a bandwidth extension technique in the frequency domain, such as a bandwidth extension technique represented by SBR, the spectral envelope and tonality of the spectral coefficients represented in the frequency domain may be adjusted. Adjustment of the spectral envelope and tonality of the spectral coefficients may include, for example, performing gain adjustment, performing linear prediction inverse filtering in a temporal direction, and superimposing noise on the spectral coefficient. As a result of this adjustment process, upon encoding a signal having a large variation in temporal envelope, such as a speech signal, hand-clapping, or castanets, a reverberation noise called a pre-echo or a post-echo may be perceived in the decoded signal. The pre-echo or the post-echo may be caused because the temporal envelope of the high frequency component is transformed during the adjustment process, and in many cases, the temporal envelope is smoother after the adjustment process than before the adjustment process. The temporal envelope of the high frequency component after the adjustment process may not match with the temporal envelope of the high frequency component of an original signal before being encoded, thereby causing the pre-echo and post-echo.
(54) A similar situation to that of the pre-echo and post-echo may also occur in multi-channel audio coding using a parametric process, such as the multi-channel audio encoding represented by “MPEG Surround” or Parametric Stereo. A decoder used in multi-channel audio coding may include means for performing decorrelation on a decoded signal using a reverberation filter. However, the temporal envelope of the signal being transformed during the decorrelation may be subject to degradation of a reproduction signal similar to that of the pre-echo and post-echo. Techniques such as a TES (Temporal Envelope Shaping) technique may be used to minimize these effects. In techniques such as the TES technique, a linear prediction analysis may be performed in a frequency direction on a signal represented in a QMF domain on which decorrelation has not yet been performed to obtain linear prediction coefficients, and, using the linear prediction coefficients, linear prediction synthesis filtering may be performed in the frequency direction on the signal on which decorrelation has been performed. This process allows the technique to extract the temporal envelope of a signal on which decorrelation has not yet been performed, and in accordance with the extracted temporal envelope, adjust the temporal envelope of the signal on which decorrelation has been performed. Because the signal on which decorrelation has not yet been performed has a less distorted temporal envelope, the temporal envelope of the signal on which decorrelation has been performed is adjusted to a less distorted shape, thereby obtaining a reproduction signal in which the pre-echo and post-echo is improved.
First Embodiment
(55)
(56) The speech encoding device 11 functionally may include a frequency transform unit 1a (frequency transform unit), a frequency inverse transform unit 1b, a core codec encoding unit 1c (core encoding unit), an SBR encoding unit 1d, a linear prediction analysis unit 1e (temporal envelope supplementary information calculating unit), a filter strength parameter calculating unit 1f (temporal envelope supplementary information calculating unit), and a bit stream multiplexing unit 1g (bit stream multiplexing unit). The frequency transform unit 1a to the bit stream multiplexing unit 1g of the speech encoding device 11 illustrated in
(57) The frequency transform unit 1a analyzes an input signal received from outside the speech encoding device 11 via the communication device of the speech encoding device 11 by using a multi-division filter bank, such as a QMF filterbank. In the following example a QMF filterbank is described, in other examples, other forms of multi-division filter bank are possible. Using a QMF filter bank, the input signal may be analyzed to obtain a signal q (k, r) in a QMF domain (process at Step Sa1). It is noted that k (0≦k≦63) is an index in a frequency direction, and r is an index indicating a time slot. The frequency inverse transform unit 1b may synthesize a predetermined quantity, such as a half of the coefficients on the low frequency side in the signal of the QMF domain obtained by the frequency transform unit 1a by using the QMF filterbank to obtain a down-sampled time domain signal that includes only low-frequency components of the input signal (process at Step Sa2). The core codec encoding unit 1c encodes the down-sampled time domain signal to obtain an encoded bit stream (process at Step Sa3). The encoding performed by the core codec encoding unit 1c may be based on a speech coding method, such as a speech coding method represented by a prediction method, such as a CELP (Code Excited Linear Prediction) method, or may be based on a transformation coding represented by coding method, such as AAC (Advanced Audio Coding) or a TCX (Transform Coded Excitation) method.
(58) The SBR encoding unit 1d receives the signal in the QMF domain from the frequency transform unit 1a, and performs SBR encoding based on analyzing aspects of the signal such as power, signal change, tonality, and the like of the high frequency components to obtain SBR supplementary information (process at Step Sa4). Examples of QMF analysis frequency transform and SBR encoding are described in, for example, “3GPP TS 26.404: Enhanced aacPlus encoder Spectral Band Replication (SBR) part”.
(59) The linear prediction analysis unit 1e receives the signal in the QMF domain from the frequency transform unit 1a, and performs linear prediction analysis in the frequency direction on the high frequency components of the signal to obtain high frequency linear prediction coefficients a.sub.H (n, r) (1≦n≦N) (process at Step Sa5). It is noted that N is a linear prediction order. The index r is an index in a temporal direction for a sub-sample of the signals in the QMF domain. A covariance method or an autocorrelation method may be used for the signal linear prediction analysis. The linear prediction analysis to obtain a.sub.H (n, r) is performed on the high frequency components that satisfy k.sub.x<k≦63 in q (k, r). It is noted that k.sub.x is a frequency index corresponding to an upper limit frequency of the frequency band encoded by the core codec encoding unit 1c. The linear prediction analysis unit 1e may also perform linear prediction analysis on low frequency components different from those analyzed when a.sub.H (n, r) are obtained to obtain low frequency linear prediction coefficients a.sub.L (n, r) different from a.sub.H (n, r) (linear prediction coefficients according to such low frequency components correspond to temporal envelope information, and may be similar in the first embodiment to the later described embodiments). The linear prediction analysis to obtain a.sub.L (n, r) is performed on low frequency components that satisfy 0≦k<k.sub.x. The linear prediction analysis may also be performed on a part of the frequency band included in a section of 0≦k<k.sub.x.
(60) The filter strength parameter calculating unit 1f, for example, utilizes the linear prediction coefficients obtained by the linear prediction analysis unit 1e to calculate a filter strength parameter (the filter strength parameter corresponds to temporal envelope supplementary information and may be similar in the first embodiment to later described embodiments) (process at Step Sa6). A prediction gain G.sub.H(r) is first calculated from a.sub.H (n, r). One example method for calculating the prediction gain is, for example, described in detail in “Speech Coding, Takehiro Moriya, The Institute of Electronics, Information and Communication Engineers”. In other examples, other methods for calculating the prediction gain are possible. If a.sub.L (n, r) has been calculated, a prediction gain G.sub.L(r) is calculated similarly. The filter strength parameter K(r) is a parameter that increases as G.sub.H(r) is increased, and for example, can be obtained according to the following expression (1). Here, max (a, b) indicates the maximum value of a and b, and min (a, b) indicates the minimum value of a and b.
K(r)=max(0,min(1,GH(r)−1)) (1)
(61) If G.sub.L(r) has been calculated, K(r) can be obtained as a parameter that increases as G.sub.H(r) is increased, and decreases as G.sub.L(r) is increased. In this case, for example, K can be obtained according to the following expression (2).
K(r)=max(0,min(1,GH(r)/GL(r)−1)) (2)
(62) K(r) is a parameter indicating the strength of a filter for adjusting the temporal envelope of the high frequency components during the SBR decoding. A value of the prediction gain with respect to the linear prediction coefficients in the frequency direction is increased as the variation of the temporal envelope of a signal in the analysis interval becomes sharp. K(r) is a parameter for instructing a decoder to strengthen the process for sharpening variation of the temporal envelope of the high frequency components generated by SBR, with the increase of its value. K(r) may also be a parameter for instructing a decoder (such as a speech decoding device 21) to weaken the process for sharpening the variation of the temporal envelope of the high frequency components generated by SBR, with the decrease of the value of K(r), or may include a value for not executing the process for sharpening the variation of the temporal envelope. Instead of transmitting K(r) to each time slot, K(r) representing a plurality of time slots may be transmitted. To determine the segment of the time slots in which the same value of K(r) is shared, information on time borders of SBR envelope (SBR envelope time border) included in the SBR supplementary information may be used.
(63) K(r) is transmitted to the bit stream multiplexing unit 1g after being quantized. It is preferable to calculate K(r) representing the plurality of time slots, for example, by calculating an average of K(r) of a plurality of time slots r before quantization is performed. To transmit K(r) representing the plurality of time slots, K(r) may also be obtained from the analysis result of the entire segment formed of the plurality of time slots, instead of independently calculating K(r) from the result of analyzing each time slot such as the expression (2). In this case, K(r) may be calculated, for example, according to the following expression (3). Here, mean (•) indicates an average value in the segment of the time slots represented by K(r).
K(r)=max(0,min(1,mean(G.sub.H(r)/mean(G.sub.L(r))−1))) (3)
(64) K(r) may be exclusively transmitted with inverse filter mode information such as inverse filter mode information included in the SBR supplementary information as described, for example, in “ISO/IEC 14496-3 subpart 4 General Audio Coding”. In other words, K(r) is not transmitted for the time slots for which the inverse filter mode information in the SBR supplementary information is transmitted, and the inverse filter mode information (such as inverse filter mode information bs#_invf#_mode in “ISO/IEC 14496-3 subpart 4 General Audio Coding”) in the SBR supplementary information need not be transmitted for the time slot for which K(r) is transmitted. Information indicating that either K(r) or the inverse filter mode information included in the SBR supplementary information is transmitted may also be added. K(r) and the inverse filter mode information included in the SBR supplementary information may be combined to handle as vector information, and perform entropy coding on the vector. In this case, the combination of K(r) and the value of the inverse filter mode information included in the SBR supplementary information may be restricted.
(65) The bit stream multiplexing unit 1g may multiplex at least two of the encoded bit stream calculated by the core codec encoding unit 1c, the SBR supplementary information calculated by the SBR encoding unit 1d, and K(r) calculated by the filter strength parameter calculating unit 1f, and outputs a multiplexed bit stream (encoded multiplexed bit stream) through the communication device of the speech encoding device 11 (process at Step Sa7).
(66)
(67) The bit stream separating unit 2a separates the multiplexed bit stream supplied through the communication device of the speech decoding device 21 into a filter strength parameter, SBR supplementary information, and the encoded bit stream. The core codec decoding unit 2b decodes the encoded bit stream received from the bit stream separating unit 2a to obtain a decoded signal including only the low frequency components (process at Step Sb1). At this time, the decoding method may be based on a speech coding method, such as the speech encoding method represented by the CELP method, or may be based on audio coding such as the AAC or the TCX (Transform Coded Excitation) method.
(68) The frequency transform unit 2c analyzes the decoded signal received from the core codec decoding unit 2b by using the multi-division QMF filter bank to obtain a signal q.sub.dec(k, r) in the QMF domain (process at Step Sb2). It is noted that k (0≦k≦63) is an index in the frequency direction, and r is an index indicating an index for the sub-sample of the signal in the QMF domain in the temporal direction.
(69) The low frequency linear prediction analysis unit 2d performs linear prediction analysis in the frequency direction on q.sub.dec (k, r) of each time slot r, obtained from the frequency transform unit 2c, to obtain low frequency linear prediction coefficients a.sub.dec (n, r) (process at Step Sb3). The linear prediction analysis is performed for a range of 0≦k<k.sub.x corresponding to a signal bandwidth of the decoded signal obtained from the core codec decoding unit 2b. The linear prediction analysis may be performed on a part of frequency band included in the section of 0≦k<k.sub.x.
(70) The signal change detecting unit 2e detects the temporal variation of the signal in the QMF domain received from the frequency transform unit 2c, and outputs it as a detection result T(r). The signal change may be detected, for example, by using the method described below.
(71) 1. Short-term power p(r) of a signal in the time slot r is obtained according to the following expression (4).
(72)
(73) 2. An envelope p.sub.env(r) obtained by smoothing p(r) is obtained according to the following expression (5). It is noted that α is a constant that satisfies 0<α<1.
p.sub.env(r)=α.Math.p.sub.env(r−1)+(1−α).Math.p(r) (5)
(74) 3. T(r) is obtained according to the following expression (6) by using p(r) and p.sub.env(r), where β is a constant.
T(r)=max(1,p(r)/(β.Math.p.sub.env(r))) (6)
(75) The methods described above are simple examples for detecting the signal change based on the change in power, and the signal change may be detected by using other more sophisticated methods. In addition, the signal change detecting unit 2e may be omitted.
(76) The filter strength adjusting unit 2f adjusts the filter strength with respect to a.sub.dec (n, r) obtained from the low frequency linear prediction analysis unit 2d to obtain adjusted linear prediction coefficients a.sub.adj (n, r), (process at Step Sb4). The filter strength is adjusted, for example, according to the following expression (7), by using a filter strength parameter K received through the bit stream separating unit 2a.
a.sub.adj(n,r)=a.sub.dec(n,r).Math.K(r).sup.n(1≦n≦N) (7)
(77) If an output T(r) is obtained from the signal change detecting unit 2e, the strength may be adjusted according to the following expression (8).
a.sub.adj(n,r)=a.sub.dec(n,r).Math.(K(r).Math.T(r)).sup.n(1≦n≦N) (8)
(78) The high frequency generating unit 2g copies the signal in the QMF domain obtained from the frequency transform unit 2c from the low frequency band to the high frequency band to generate a signal q.sub.exp (k, r) in the QMF domain of the high frequency components (process at Step Sb5). The high frequency components may be generated, for example, according to the HF generation method in SBR in “MPEG4 AAC” (“ISO/IEC 14496-3 subpart 4 General Audio Coding”).
(79) The high frequency linear prediction analysis unit 2h performs linear prediction analysis in the frequency direction on q.sub.exp (k, r) of each of the time slots r generated by the high frequency generating unit 2g to obtain high frequency linear prediction coefficients a.sub.exp (n, r) (process at Step Sb6). The linear prediction analysis is performed for a range of k.sub.x≦k≦63 corresponding to the high frequency components generated by the high frequency generating unit 2g.
(80) The linear prediction inverse filter unit 2i performs linear prediction inverse filtering in the frequency direction on a signal in the QMF domain of the high frequency band generated by the high frequency generating unit 2g, using a.sub.exp (n, r) as coefficients (process at Step Sb7). The transfer function of the linear prediction inverse filter can be expressed as the following expression (9).
(81)
(82) The linear prediction inverse filtering may be performed from a coefficient at a lower frequency towards a coefficient at a higher frequency, or may be performed in the opposite direction. The linear prediction inverse filtering is a process for temporarily flattening the temporal envelope of the high frequency components, before the temporal envelope shaping is performed at the subsequent stage, and the linear prediction inverse filter unit 2i may be omitted. It is also possible to perform linear prediction analysis and inverse filtering on outputs from the high frequency adjusting unit 2j, which will be described later, by the high frequency linear prediction analysis unit 2h and the linear prediction inverse filter unit 2i, instead of performing linear prediction analysis and inverse filtering on the high frequency components of the outputs from the high frequency generating unit 2g. The linear prediction coefficients used for the linear prediction inverse filtering may also be a.sub.dec (n, r) or a.sub.adj (n, r), instead of a.sub.exp (n, r). The linear prediction coefficients used for the linear prediction inverse filtering may also be linear prediction coefficients a.sub.exp,adj (n, r) obtained by performing filter strength adjustment on a.sub.exp (n, r). The strength adjustment is performed according to the following expression (10), similar to that when a.sub.adj (n, r) is obtained.
a.sub.exp,adj(n,r)=a.sub.exp(n,r).Math.K(r).sup.n(1≦n≦N) (10)
(83) The high frequency adjusting unit 2j adjusts the frequency characteristics and tonality of the high frequency components of an output from the linear prediction inverse filter unit 2i (process at Step Sb8). The adjustment may be performed according to the SBR supplementary information received from the bit stream separating unit 2a. The processing by the high frequency adjusting unit 2j may be performed according to any form of frequency and tone adjustment process, such as according to “HF adjustment” step in SBR in “MPEG4 AAC”, and may be adjusted by performing linear prediction inverse filtering in the temporal direction, the gain adjustment, and the noise addition on the signal in the QMF domain of the high frequency band. Examples of processes similar to those described in the steps described above are described in “ISO/IEC 14496-3 subpart 4 General Audio Coding”. The frequency transform unit 2c, the high frequency generating unit 2g, and the high frequency adjusting unit 2j may all operate similarly or according to the SBR decoder in “MPEG4 AAC” defined in “ISO/IEC 14496-3”.
(84) The linear prediction filter unit 2k performs linear prediction synthesis filtering in the frequency direction on a high frequency components q.sub.adj (n, r) of a signal in the QMF domain output from the high frequency adjusting unit 2j, by using a.sub.adj (n, r) obtained from the filter strength adjusting unit 2f (process at Step Sb9). The transfer function in the linear prediction synthesis filtering can be expressed as the following expression (11).
(85)
(86) By performing the linear prediction synthesis filtering, the linear prediction filter unit 2k transforms the temporal envelope of the high frequency components generated based on SBR.
(87) The coefficient adding unit 2m adds a signal in the QMF domain including the low frequency components output from the frequency transform unit 2c and a signal in the QMF domain including the high frequency components output from the linear prediction filter unit 2k, and outputs a signal in the QMF domain including both the low frequency components and the high frequency components (process at Step Sb10).
(88) The frequency inverse transform unit 2n processes the signal in the QMF domain obtained from the coefficients adding unit 2m by using a QMF synthesis filter bank. Accordingly, a time domain decoded speech signal including both the low frequency components obtained by the core codec decoding and the high frequency components generated by SBR and whose temporal envelope is shaped by the linear prediction filter is obtained, and the obtained speech signal is output to outside the speech decoding device 21 through the built-in communication device (process at Step Sb11). If K(r) and the inverse filter mode information of the SBR supplementary information described in “ISO/IEC 14496-3 subpart 4 General Audio Coding” are exclusively transmitted, the frequency inverse transform unit 2n may generate inverse filter mode information of the SBR supplementary information for a time slot to which K(r) is transmitted but the inverse filter mode information of the SBR supplementary information is not transmitted, by using inverse filter mode information of the SBR supplementary information with respect to at least one time slot of the time slots before and after the time slot. It is also possible to set the inverse filter mode information of the SBR supplementary information of the time slot to a predetermined mode in advance. The frequency inverse transform unit 2n may generate K(r) for a time slot to which the inverse filter data of the SBR supplementary information is transmitted but K(r) is not transmitted, by using K(r) for at least one time slot of the time slots before and after the time slot. It is also possible to set K(r) of the time slot to a predetermined value in advance. The frequency inverse transform unit 2n may also determine whether the transmitted information is K(r) or the inverse filter mode information of the SBR supplementary information, based on information indicating whether K(r) or the inverse filter mode information of the SBR supplementary information is transmitted.
Modification 1 of First Embodiment
(89)
(90) The speech encoding device 11a, as illustrated in
(91) The high frequency inverse transform unit 1h replaces the coefficients of the signal in the QMF domain obtained from the frequency transform unit 1a with “0”, which correspond to the low frequency components encoded by the core codec encoding unit 1c, and processes the coefficients by using the QMF synthesis filter bank to obtain a time domain signal that includes only the high frequency components. The short-term power calculating unit 1i divides the high frequency components in the time domain obtained from the high frequency inverse transform unit 1h into short segments, calculates the power, and calculates p(r). As an alternative method, the short-term power may also be calculated according to the following expression (12) by using the signal in the QMF domain.
(92)
(93) The filter strength parameter calculating unit 1f1 detects the changed portion of p(r), and determines a value of K(r), so that K(r) is increased with the large change. The value of K(r), for example, can also be calculated by the same method as that of calculating T(r) by the signal change detecting unit 2e of the speech decoding device 21. The signal change may also be detected by using other more sophisticated methods. The filter strength parameter calculating unit 1f1 may also obtain short-term power of each of the low frequency components and the high frequency components, obtain signal changes Tr(r) and Th(r) of each of the low frequency components and the high frequency components using the same method as that of calculating T(r) by the signal change detecting unit 2e of the speech decoding device 21, and determine the value of K(r) using these. In this case, for example, K(r) can be obtained according to the following expression (13), where ε is a constant such as 3.0.
K(r)=max(0,ε.Math.(Th(r)−Tr(r))) (13)
Modification 2 of First Embodiment
(94) A speech encoding device (not illustrated) of a modification 2 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech encoding device of the modification 2 by loading and executing a predetermined computer program stored in a memory of the speech encoding device of the modification 2 such as the ROM into the RAM. The communication device of the speech encoding device of the modification 2 receives a speech signal to be encoded from outside the speech encoding device, and outputs an encoded multiplexed bit stream to the outside.
(95) The speech encoding device of the modification 2 functionally includes a linear prediction coefficient differential encoding unit (temporal envelope supplementary information calculating unit) and a bit stream multiplexing unit (bit stream multiplexing unit) that receives an output from the linear prediction coefficient differential encoding unit, which are not illustrated, instead of the filter strength parameter calculating unit 1f and the bit stream multiplexing unit 1g of the speech encoding device 11. The frequency transform unit 1a to the linear prediction analysis unit 1e, the linear prediction coefficient differential encoding unit, and the bit stream multiplexing unit of the speech encoding device of the modification 2 are functions realized when the CPU of the speech encoding device of the modification 2 executes the computer program stored in the memory of the speech encoding device of the modification 2. Various types of data required to execute the computer program and various types of data generated by executing the computer program are all stored in the memory such as the ROM and the RAM of the speech encoding device of the modification 2.
(96) The linear prediction coefficient differential encoding unit calculates differential values a.sub.D (n, r) of the linear prediction coefficients according to the following expression (14), by using a.sub.H (n, r) of the input signal and a.sub.L (n, r) of the input signal.
a.sub.D(n,r)=a.sub.H(n,r)−a.sub.L(n,r)(1≦n≦N) (14)
(97) The linear prediction coefficient differential encoding unit then quantizes a.sub.D (n, r), and transmits them to the bit stream multiplexing unit (structure corresponding to the bit stream multiplexing unit 1g). The bit stream multiplexing unit multiplexes a.sub.D (n, r) into the bit stream instead of K(r), and outputs the multiplexed bit stream to outside the speech encoding device through the built-in communication device.
(98) A speech decoding device (not illustrated) of the modification 2 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech decoding device of the modification 2 by loading and executing a predetermined computer program stored in memory, such as a built-in memory of the speech decoding device of the modification 2 such as the ROM into the RAM. The communication device of the speech decoding device of the modification 2 receives the encoded multiplexed bit stream output from the speech encoding device 11, the speech encoding device 11a according to the modification 1, or the speech encoding device according to the modification 2, and outputs a decoded speech signal to the outside of the speech decoder.
(99) The speech decoding device of the modification 2 functionally includes a linear prediction coefficient differential decoding unit, which is not illustrated, instead of the filter strength adjusting unit 2f of the speech decoding device 21. The bit stream separating unit 2a to the signal change detecting unit 2e, the linear prediction coefficient differential decoding unit, and the high frequency generating unit 2g to the frequency inverse transform unit 2n of the speech decoding device of the modification 2 are functions realized when the CPU of the speech decoding device of the modification 2 executes the computer program stored in the memory of the speech decoding device of the modification 2. Various types of data required to execute the computer program and various types of data generated by executing the computer program are all stored in the memory such as the ROM and the RAM of the speech decoding device of the modification 2.
(100) The linear prediction coefficient differential decoding unit obtains a.sub.adj (n, r) differentially decoded according to the following expression (15), by using a.sub.L (n, r) obtained from the low frequency linear prediction analysis unit 2d and a.sub.D (n, r) received from the bit stream separating unit 2a.
a.sub.adj(n,r)=a.sub.dec(n,r)+a.sub.D(n,r),1≦n≦N (15)
(101) The linear prediction coefficient differential decoding unit transmits a.sub.adj (n, r) differentially decoded in this manner to the linear prediction filter unit 2k. a.sub.D (n, r) may be a differential value in the domain of prediction coefficients as illustrated in the expression (14). But, after transforming prediction coefficients to the other expression form such as LSP (Linear Spectrum Pair), ISP (Immittance Spectrum Pair), LSF (Linear Spectrum Frequency), ISF (Immittance Spectrum Frequency), and PARCOR coefficient, a.sub.D (n, r) may be a value taking a difference of them. In this case, the differential decoding also has the same expression form.
Second Embodiment
(102)
(103) The speech encoding device 12 functionally includes a linear prediction coefficient decimation unit 1j (prediction coefficient decimation unit), a linear prediction coefficient quantizing unit 1k (prediction coefficient quantizing unit), and a bit stream multiplexing unit 1g2 (bit stream multiplexing unit), instead of the filter strength parameter calculating unit if and the bit stream multiplexing unit 1g of the speech encoding device 11. The frequency transform unit 1a to the linear prediction analysis unit 1e (linear prediction analysis unit), the linear prediction coefficient decimation unit 1j, the linear prediction coefficient quantizing unit 1k, and the bit stream multiplexing unit 1g2 of the speech encoding device 12 illustrated in
(104) The linear prediction coefficient decimation unit 1j decimates a.sub.H (n, r) obtained from the linear prediction analysis unit 1e in the temporal direction, and transmits a value of a.sub.H (n, r) for a part of time slot r.sub.i and a value of the corresponding r.sub.i, to the linear prediction coefficient quantizing unit 1k (process at Step Sc1). It is noted that 0≦i<N.sub.ts, and N.sub.ts is the number of time slots in a frame for which a.sub.H (n, r) is transmitted. The decimation of the linear prediction coefficients may be performed at a predetermined time interval, or may be performed at nonuniform time interval based on the characteristics of a.sub.H (n, r). For example, a method is possible that compares G.sub.H(r) of a.sub.H (n, r) in a frame having a certain length, and makes a.sub.H (n, r), of which G.sub.H(r) exceeds a certain value, an object of quantization. If the decimation interval of the linear prediction coefficients is a predetermined interval instead of using the characteristics of a.sub.H (n, r), a.sub.H (n, r) need not be calculated for the time slot at which the transmission is not performed.
(105) The linear prediction coefficient quantizing unit 1k quantizes the decimated high frequency linear prediction coefficients a.sub.H (n, r.sub.i) received from the linear prediction coefficient decimation unit 1j and indices r.sub.i of the corresponding time slots, and transmits them to the bit stream multiplexing unit 1g2 (process at Step Sc2). As an alternative structure, instead of quantizing a.sub.H (n, r.sub.i), differential values a.sub.D (n, r.sub.i) of the linear prediction coefficients may be quantized as the speech encoding device according to the modification 2 of the first embodiment.
(106) The bit stream multiplexing unit 1g2 multiplexes the encoded bit stream calculated by the core codec encoding unit 1c, the SBR supplementary information calculated by the SBR encoding unit 1d, and indices {r.sub.i} of time slots corresponding to a.sub.H (n, r.sub.i) being quantized and received from the linear prediction coefficient quantizing unit 1k into a bit stream, and outputs the multiplexed bit stream through the communication device of the speech encoding device 12 (process at Step Sc3).
(107)
(108) The speech decoding device 22 functionally includes a bit stream separating unit 2a1 (bit stream separating unit), a linear prediction coefficient interpolation/extrapolation unit 2p (linear prediction coefficient interpolation/extrapolation unit), and a linear prediction filter unit 2k1 (temporal envelope shaping unit) instead of the bit stream separating unit 2a, the low frequency linear prediction analysis unit 2d, the signal change detecting unit 2e, the filter strength adjusting unit 2f, and the linear prediction filter unit 2k of the speech decoding device 21. The bit stream separating unit 2a1, the core codec decoding unit 2b, the frequency transform unit 2c, the high frequency generating unit 2g to the high frequency adjusting unit 2j, the linear prediction filter unit 2k1, the coefficient adding unit 2m, the frequency inverse transform unit 2n, and the linear prediction coefficient interpolation/extrapolation unit 2p of the speech decoding device 22 illustrated in
(109) The speech decoding device 22 includes the bit stream separating unit 2a1, the linear prediction coefficient interpolation/extrapolation unit 2p, and the linear prediction filter unit 2k1, instead of the bit stream separating unit 2a, the low frequency linear prediction analysis unit 2d, the signal change detecting unit 2e, the filter strength adjusting unit 2f, and the linear prediction filter unit 2k of the speech decoding device 22.
(110) The bit stream separating unit 2a1 separates the multiplexed bit stream supplied through the communication device of the speech decoding device 22 into the indices r.sub.i of the time slots corresponding to a.sub.H (n, r.sub.i) being quantized, the SBR supplementary information, and the encoded bit stream.
(111) The linear prediction coefficient interpolation/extrapolation unit 2p receives the indices r.sub.i of the time slots corresponding to a.sub.H (n, r.sub.i) being quantized from the bit stream separating unit 2a1, and obtains a.sub.H (n, r) corresponding to the time slots of which the linear prediction coefficients are not transmitted, by interpolation or extrapolation (processes at Step Sd1). The linear prediction coefficient interpolation/extrapolation unit 2p can extrapolate the linear prediction coefficients, for example, according to the following expression (16).
a.sub.H(n,r)=δ.sup.|r-r.sup.
(112) where r.sub.i0 is the nearest value to r in the time slots {r.sub.i} of which the linear prediction coefficients are transmitted. δ is a constant that satisfies 0<δ<1.
(113) The linear prediction coefficient interpolation/extrapolation unit 2p can interpolate the linear prediction coefficients, for example, according to the following expression (17), where r.sub.i0<r<r.sub.i0+1 is satisfied.
(114)
(115) The linear prediction coefficient interpolation/extrapolation unit 2p may transform the linear prediction coefficients into other expression forms such as LSP (Linear Spectrum Pair), ISP (Immittance Spectrum Pair), LSF (Linear Spectrum Frequency), ISF (Immittance Spectrum Frequency), and PARCOR coefficient, interpolate or extrapolate them, and transform the obtained values into the linear prediction coefficients to be used. a.sub.H (n, r) being interpolated or extrapolated are transmitted to the linear prediction filter unit 2k1 and used as linear prediction coefficients for the linear prediction synthesis filtering, but may also be used as linear prediction coefficients in the linear prediction inverse filter unit 2i. If a.sub.D (n, r.sub.i) is multiplexed into a bit stream instead of a.sub.H (n, r), the linear prediction coefficient interpolation/extrapolation unit 2p performs the differential decoding similar to that of the speech decoding device according to the modification 2 of the first embodiment, before performing the interpolation or extrapolation process described above.
(116) The linear prediction filter unit 2k1 performs linear prediction synthesis filtering in the frequency direction on q.sub.adj (n, r) output from the high frequency adjusting unit 2j, by using a.sub.H (n, r) being interpolated or extrapolated obtained from the linear prediction coefficient interpolation/extrapolation unit 2p (process at Step Sd2). A transfer function of the linear prediction filter unit 2k1 can be expressed as the following expression (18). The linear prediction filter unit 2k1 shapes the temporal envelope of the high frequency components generated by the SBR by performing linear prediction synthesis filtering, as the linear prediction filter unit 2k of the speech decoding device 21.
(117)
Third Embodiment
(118)
(119) The speech encoding device 13 functionally includes a temporal envelope calculating unit 1m (temporal envelope supplementary information calculating unit), an envelope shape parameter calculating unit 1n (temporal envelope supplementary information calculating unit), and a bit stream multiplexing unit 1g3 (bit stream multiplexing unit), instead of the linear prediction analysis unit 1e, the filter strength parameter calculating unit 1f, and the bit stream multiplexing unit 1g of the speech encoding device 11. The frequency transform unit 1a to the SBR encoding unit 1d, the temporal envelope calculating unit 1m, the envelope shape parameter calculating unit 1n, and the bit stream multiplexing unit 1g3 of the speech encoding device 13 illustrated in
(120) The temporal envelope calculating unit 1m receives q (k, r), and for example, obtains temporal envelope information e(r) of the high frequency components of a signal, by obtaining the power of each time slot of q (k, r) (process at Step Se1). In this case, e(r) is obtained according to the following expression (19).
(121)
(122) The envelope shape parameter calculating unit 1n receives e(r) from the temporal envelope calculating unit 1m and receives SBR envelope time borders {b.sub.i} from the SBR encoding unit 1d. It is noted that 0≦i≦Ne, and Ne is the number of SBR envelopes in the encoded frame. The envelope shape parameter calculating unit 1n obtains an envelope shape parameter s(i) (0≦i<Ne) of each of the SBR envelopes in the encoded frame according to the following expression (20) (process at Step Se2). The envelope shape parameter s(i) corresponds to the temporal envelope supplementary information, and is similar in the third embodiment.
(123)
(124) It is noted that:
(125)
(126) where s(i) in the above expression is a parameter indicating the magnitude of the variation of e(r) in the i-th SBR envelope satisfying b.sub.i≦r<b.sub.i+1, and e(r) has a larger number as the variation of the temporal envelope is increased. The expressions (20) and (21) described above are examples of method for calculating s(i), and for example, s(i) may also be obtained by using, for example, SMF (Spectral Flatness Measure) of e(r), a ratio of the maximum value to the minimum value, and the like. s(i) is then quantized, and transmitted to the bit stream multiplexing unit 1g3.
(127) The bit stream multiplexing unit 1g3 multiplexes the encoded bit stream calculated by the core codec encoding unit 1c, the SBR supplementary information calculated by the SBR encoding unit 1d, and s(i) into a bit stream, and outputs the multiplexed bit stream through the communication device of the speech encoding device 13 (process at Step Se3).
(128)
(129) The speech decoding device 23 functionally includes a bit stream separating unit 2a2 (bit stream separating unit), a low frequency temporal envelope calculating unit 2r (low frequency temporal envelope analysis unit), an envelope shape adjusting unit 2s (temporal envelope adjusting unit), a high frequency temporal envelope calculating unit 2t, a temporal envelope smoothing unit 2u, and a temporal envelope shaping unit 2v (temporal envelope shaping unit), instead of the bit stream separating unit 2a, the low frequency linear prediction analysis unit 2d, the signal change detecting unit 2e, the filter strength adjusting unit 2f, the high frequency linear prediction analysis unit 2h, the linear prediction inverse filter unit 2i, and the linear prediction filter unit 2k of the speech decoding device 21. The bit stream separating unit 2a2, the core codec decoding unit 2b to the frequency transform unit 2c, the high frequency generating unit 2g, the high frequency adjusting unit 2j, the coefficient adding unit 2m, the frequency inverse transform unit 2n, and the low frequency temporal envelope calculating unit 2r to the temporal envelope shaping unit 2v of the speech decoding device 23 illustrated in
(130) The bit stream separating unit 2a2 separates the multiplexed bit stream supplied through the communication device of the speech decoding device 23 into s(i), the SBR supplementary information, and the encoded bit stream. The low frequency temporal envelope calculating unit 2r receives q.sub.dec (k, r) including the low frequency components from the frequency transform unit 2c, and obtains e(r) according to the following expression (22) (process at Step Sf1).
(131)
(132) The envelope shape adjusting unit 2s adjusts e(r) by using s(i), and obtains the adjusted temporal envelope information e.sub.adj(r) (process at Step Sf2). e(r) can be adjusted, for example, according to the following expressions (23) to (25).
e.sub.adj(r)=
e.sub.adj(r)=e(r)(otherwise) (23)
(133) It is noted that:
(134)
(135) The expressions (23) to (25) described above are examples of adjusting method, and the other adjusting method by which the shape of e.sub.adj(r) becomes similar to the shape illustrated by s(i) may also be used.
(136) The high frequency temporal envelope calculating unit 2t calculates a temporal envelope e.sub.exp(r) by using q.sub.exp (k, r) obtained from the high frequency generating unit 2g, according to the following expression (26) (process at Step Sf3).
(137)
(138) The temporal envelope flattening unit 2u flattens the temporal envelope of q.sub.exp (k, r) obtained from the high frequency generating unit 2g according to the following expression (27), and transmits the obtained signal q.sub.flat (k, r) in the QMF domain to the high frequency adjusting unit 2j (process at Step Sf4).
(139)
(140) The flattening of the temporal envelope by the temporal envelope flattening unit 2u may also be omitted. Instead of calculating the temporal envelope of the high frequency components of the output from the high frequency generating unit 2g and flattening the temporal envelope thereof, the temporal envelope of the high frequency components of an output from the high frequency adjusting unit 2j may be calculated, and the temporal envelope thereof may be flattened. The temporal envelope used in the temporal envelope flattening unit 2u may also be e.sub.adj(r) obtained from the envelope shape adjusting unit 2s, instead of e.sub.exp(r) obtained from the high frequency temporal envelope calculating unit 2t.
(141) The temporal envelope shaping unit 2v shapes q.sub.adj (k, r) obtained from the high frequency adjusting unit 2j by using e.sub.adj(r) obtained from the temporal envelope shaping unit 2v, and obtains a signal q.sub.envadj (k, r) in the QMF domain in which the temporal envelope is shaped (process at Step Sf5). The shaping is performed according to the following expression (28). q.sub.envadj (k, r) is transmitted to the coefficient adding unit 2m as a signal in the QMF domain corresponding to the high frequency components.
q.sub.envadj(k,r)=q.sub.adj(k,r).Math.e.sub.adj(r)(k.sub.x≦k≦63) (28)
Fourth Embodiment
(142)
(143) The speech decoding device 24 functionally includes the structure of the speech decoding device 21 (the core codec decoding unit 2b, the frequency transform unit 2c, the low frequency linear prediction analysis unit 2d, the signal change detecting unit 2e, the filter strength adjusting unit 2f, the high frequency generating unit 2g, the high frequency linear prediction analysis unit 2h, the linear prediction inverse filter unit 2i, the high frequency adjusting unit 2j, the linear prediction filter unit 2k, the coefficient adding unit 2m, and the frequency inverse transform unit 2n) and the structure of the speech decoding device 23 (the low frequency temporal envelope calculating unit 2r, the envelope shape adjusting unit 2s, and the temporal envelope shaping unit 2v). The speech decoding device 24 also includes a bit stream separating unit 2a3 (bit stream separating unit) and a supplementary information conversion unit 2w. The order of the linear prediction filter unit 2k and the temporal envelope shaping unit 2v may be opposite to that illustrated in
(144) The bit stream separating unit 2a3 separates the multiplexed bit stream supplied through the communication device of the speech decoding device 24 into the temporal envelope supplementary information, the SBR supplementary information, and the encoded bit stream. The temporal envelope supplementary information may also be K(r) described in the first embodiment or s(i) described in the third embodiment. The temporal envelope supplementary information may also be another parameter X(r) that is neither K(r) nor s(i).
(145) The supplementary information conversion unit 2w transforms the supplied temporal envelope supplementary information to obtain K(r) and s(i). If the temporal envelope supplementary information is K(r), the supplementary information conversion unit 2w transforms K(r) into s(i). The supplementary information conversion unit 2w may also obtain, for example, an average value of K(r) in a section of b.sub.i≦r<b.sub.i+1
and transform the average value represented in the expression (29) into s(i) by using a predetermined table. If the temporal envelope supplementary information is s(i), the supplementary information conversion unit 2w transforms s(i) into K(r). The supplementary information conversion unit 2w may also perform the conversion by converting s(i) into K(r), for example, by using a predetermined table. It is noted that i and r are associated with each other so as to satisfy the relationship of b.sub.i≦r<b.sub.i+1.
(146) If the temporal envelope supplementary information is a parameter X(r) that is neither s(i) nor K(r), the supplementary information conversion unit 2w converts X(r) into K(r) and s(i). It is preferable that the supplementary information conversion unit 2w converts X(r) into K(r) and s(i), for example, by using a predetermined table. It is also preferable that the supplementary information conversion unit 2w transmits X(r) as a representative value every SBR envelope. The tables for transforming X(r) into K(r) and s(i) may be different from each other.
Modification 3 of First Embodiment
(147) In the speech decoding device 21 of the first embodiment, the linear prediction filter unit 2k of the speech decoding device 21 may include an automatic gain control process. The automatic gain control process is a process to adjust the power of the signal in the QMF domain output from the linear prediction filter unit 2k to the power of the signal in the QMF domain being supplied. In general, a signal q.sub.syn,pow (n, r) in the QMF domain whose gain has been controlled is realized by the following expression.
(148)
(149) Here, P.sub.0(r) and P.sub.1(r) are expressed by the following expression (31) and the expression (32).
(150)
(151) By carrying out the automatic gain control process, the power of the high frequency components of the signal output from the linear prediction filter unit 2k is adjusted to a value equivalent to that before the linear prediction filtering. As a result, for the output signal of the linear prediction filter unit 2k in which the temporal envelope of the high frequency components generated based on SBR is shaped, the effect of adjusting the power of the high frequency signal performed by the high frequency adjusting unit 2j can be maintained. The automatic gain control process can also be performed individually on a certain frequency range of the signal in the QMF domain. The process performed on the individual frequency range can be realized by limiting n in the expression (30), the expression (31), and the expression (32) within a certain frequency range. For example, i-th frequency range can be expressed as F.sub.i≦n<F.sub.i+1 (in this case, i is an index indicating the number of a certain frequency range of the signal in the QMF domain). F.sub.i indicates the frequency range boundary, and it is preferable that Fi be a frequency boundary table of an envelope scale factor defined in SBR in “MPEG4 AAC”. The frequency boundary table is defined by the high frequency generating unit 2g based on the definition of SBR in “MPEG4 AAC”. By performing the automatic gain control process, the power of the output signal from the linear prediction filter unit 2k in a certain frequency range of the high frequency components is adjusted to a value equivalent to that before the linear prediction filtering. As a result, the effect for adjusting the power of the high frequency signal performed by the high frequency adjusting unit 2j on the output signal from the linear prediction filter unit 2k in which the temporal envelope of the high frequency components generated based on SBR is shaped, is maintained per unit of frequency range. The changes made to the present modification 3 of the first embodiment may also be made to the linear prediction filter unit 2k of the fourth embodiment.
Modification 1 of Third Embodiment
(152) The envelope shape parameter calculating unit 1n in the speech encoding device 13 of the third embodiment can also be realized by the following process. The envelope shape parameter calculating unit 1n obtains an envelope shape parameter s(i) (0≦i<Ne) according to the following expression (33) for each SBR envelope in the encoded frame.
(153)
(154) It is noted that:
is an average value of e(r) in the SBR envelope, and the calculation method is based on the expression (21). It is noted that the SBR envelope indicates the time segment satisfying b.sub.i≦r<b.sub.i+1. {b.sub.i} are the time borders of the SBR envelopes included in the SBR supplementary information as information, and are the boundaries of the time segment for which the SBR envelope scale factor representing the average signal energy in a certain time segment and a certain frequency range is given. min (•) represents the minimum value within the range of b.sub.i≦r<b.sub.i+1. Accordingly, in this case, the envelope shape parameter s(i) is a parameter for indicating a ratio of the minimum value to the average value of the adjusted temporal envelope information in the SBR envelope. The envelope shape adjusting unit 2s in the speech decoding device 23 of the third embodiment may also be realized by the following process. The envelope shape adjusting unit 2s adjusts e(r) by using s(i) to obtain the adjusted temporal envelope information e.sub.adj(r). The adjusting method is based on the following expression (35) or expression (36).
(155)
(156) The expression 35 adjusts the envelope shape so that the ratio of the minimum value to the average value of the adjusted temporal envelope information e.sub.adj(r) in the SBR envelope becomes equivalent to the value of the envelope shape parameter s(i). The changes made to the modification 1 of the third embodiment described above may also be made to the fourth embodiment.
Modification 2 of Third Embodiment
(157) The temporal envelope shaping unit 2v may also use the following expression instead of the expression (28). As indicated in the expression (37), e.sub.adj, scaled(r) is obtained by controlling the gain of the adjusted temporal envelope information e.sub.adj(r), so that the power of q.sub.envadj (k,r) maintains that of q.sub.adj (k, r) within the SBR envelope. As indicated in the expression (38), in the present modification 2 of the third embodiment, q.sub.envadj (k, r) is obtained by multiplying the signal q.sub.adj (k, r) in the QMF domain by e.sub.adj, scaled(r) instead of e.sub.adj(r). Accordingly, the temporal envelope shaping unit 2v can shape the temporal envelope of the signal q.sub.adj (k, r) in the QMF domain, so that the signal power within the SBR envelope becomes equivalent before and after the shaping of the temporal envelope. It is noted that the SBR envelope indicates the time segment satisfying b.sub.i≦r<b.sub.i+1. {b.sub.i} are the time borders of the SBR envelopes included in the SBR supplementary information as information, and are the boundaries of the time segment for which the SBR envelope scale factor representing the average signal energy of a certain time segment and a certain frequency range is given. The terminology “SBR envelope” in the embodiments of the present invention corresponds to the terminology “SBR envelope time segment” in “MPEG4 AAC” defined in “ISO/IEC 14496-3”, and the “SBR envelope” has the same contents as the “SBR envelope time segment” throughout the embodiments.
(158)
(159) The changes made to the present modification 2 of the third embodiment described above may also be made to the fourth embodiment.
Modification 3 of Third Embodiment
(160) The expression (19) may also be the following expression (39).
(161)
(162) The expression (22) may also be the following expression (40).
(163)
(164) The expression (26) may also be the following expression (41).
(165)
(166) When the expression (39) and the expression (40) are used, the temporal envelope information e(r) is information in which the power of each QMF subband sample is normalized by the average power in the SBR envelope, and the square root is extracted. However, the QMF subband sample is a signal vector corresponding to the time index “r” in the QMF domain signal, and is one subsample in the QMF domain. In all the embodiments of the present invention, the terminology “time slot” has the same contents as the “QMF subband sample”. In this case, the temporal envelope information e(r) is a gain coefficient that should be multiplied by each QMF subband sample, and the same applies to the adjusted temporal envelope information e.sub.adj(r).
Modification 1 of Fourth Embodiment
(167) A speech decoding device 24a (not illustrated) of a modification 1 of the fourth embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech decoding device 24a by loading and executing a predetermined computer program stored in a built-in memory of the speech decoding device 24a such as the ROM into the RAM. The communication device of the speech decoding device 24a receives the encoded multiplexed bit stream output from the speech encoding device 11 or the speech encoding device 13, and outputs a decoded speech signal to outside the speech decoding device 24a. The speech decoding device 24a functionally includes a bit stream separating unit 2a4 (not illustrated) instead of the bit stream separating unit 2a3 of the speech decoding device 24, and also includes a temporal envelope supplementary information generating unit 2y (not illustrated), instead of the supplementary information conversion unit 2w. The bit stream separating unit 2a4 separates the multiplexed bit stream into the SBR information and the encoded bit stream. The temporal envelope supplementary information generating unit 2y generates temporal envelope supplementary information based on the information included in the encoded bit stream and the SBR supplementary information.
(168) To generate the temporal envelope supplementary information in a certain SBR envelope, for example, the time width (b.sub.i+1−b.sub.i) of the SBR envelope, a frame class, a strength parameter of the inverse filter, a noise floor, the amplitude of the high frequency power, a ratio of the high frequency power to the low frequency power, a autocorrelation coefficient or a prediction gain of a result of performing linear prediction analysis in the frequency direction on a low frequency signal represented in the QMF domain, and the like may be used. The temporal envelope supplementary information can be generated by determining K(r) or s(i) based on one or a plurality of values of the parameters. For example, the temporal envelope supplementary information can be generated by determining K(r) or s(i) based on (b.sub.i+1−b.sub.i) so that K(r) or s(i) is reduced as the time width (b.sub.i+1−b.sub.i) of the SBR envelope is increased, or K(r) or s(i) is increased as the time width (b.sub.i+1−b.sub.i) of the SBR envelope is increased. The similar changes may also be made to the first embodiment and the third embodiment.
Modification 2 of Fourth Embodiment
(169) A speech decoding device 24b (see
(170) Here, the primary high frequency adjusting unit 2j1 adjusts a signal in the QMF domain of the high frequency band by performing linear prediction inverse filtering in the temporal direction, the gain adjustment, and noise addition, described in The “HF generation” step and the “HF adjustment” step in SBR in “MPEG4 AAC”. At this time, the output signal of the primary high frequency adjusting unit 2j1 corresponds to a signal W.sub.2 in the description in “SBR tool” in “ISO/IEC 14496-3:2005”, clauses 4.6.18.7.6 of “Assembling HF signals”. The linear prediction filter unit 2k (or the linear prediction filter unit 2k1) and the temporal envelope shaping unit 2v shape the temporal envelope of the output signal from the primary high frequency adjusting unit. The secondary high frequency adjusting unit 2j2 performs an addition process of sinusoid in the “HF adjustment” step in SBR in “MPEG4 AAC”. The process of the secondary high frequency adjusting unit corresponds to a process of generating a signal Y from the signal W.sub.2 in the description in “SBR tool” in “ISO/IEC 14496-3:2005”, clauses 4.6.18.7.6 of “Assembling HF signals”, in which the signal W.sub.2 is replaced with an output signal of the temporal envelope shaping unit 2v.
(171) In the above description, only the process for adding sinusoid is performed by the secondary high frequency adjusting unit 2j2. However, any one of the processes in the “HF adjustment” step may be performed by the secondary high frequency adjusting unit 2j2. Similar modifications may also be made to the first embodiment, the second embodiment, and the third embodiment. In these cases, the linear prediction filter unit (linear prediction filter units 2k and 2k1) is included in the first embodiment and the second embodiment, but the temporal envelope shaping unit is not included. Accordingly, an output signal from the primary high frequency adjusting unit 2j1 is processed by the linear prediction filter unit, and then an output signal from the linear prediction filter unit is processed by the secondary high frequency adjusting unit 2j2.
(172) In the third embodiment, the temporal envelope shaping unit 2v is included but the linear prediction filter unit is not included. Accordingly, an output signal from the primary high frequency adjusting unit 2j1 is processed by the temporal envelope shaping unit 2v, and then an output signal from the temporal envelope shaping unit 2v is processed by the secondary high frequency adjusting unit.
(173) In the speech decoding device (speech decoding device 24, 24a, or 24b) of the fourth embodiment, the processing order of the linear prediction filter unit 2k and the temporal envelope shaping unit 2v may be reversed. In other words, an output signal from the high frequency adjusting unit 2j or the primary high frequency adjusting unit 2j1 may be processed first by the temporal envelope shaping unit 2v, and then an output signal from the temporal envelope shaping unit 2v may be processed by the linear prediction filter unit 2k.
(174) In addition, only if the temporal envelope supplementary information includes binary control information for indicating whether the process is performed by the linear prediction filter unit 2k or the temporal envelope shaping unit 2v, and the control information indicates to perform the process by the linear prediction filter unit 2k or the temporal envelope shaping unit 2v, the temporal envelope supplementary information may employ a form that further includes at least one of the filer strength parameter K(r), the envelope shape parameter s(i), or X(r) that is a parameter for determining both K(r) and s(i) as information.
Modification 3 of Fourth Embodiment
(175) A speech decoding device 24c (see
(176) The primary high frequency adjusting unit 2j3 outputs a signal in the QMF domain of the high frequency band as a copy signal component. The primary high frequency adjusting unit 2j3 may output a signal on which at least one of the linear prediction inverse filtering in the temporal direction and the gain adjustment (frequency characteristics adjustment) is performed on the signal in the QMF domain of the high frequency band, by using the SBR supplementary information received from the bit stream separating unit 2a3, as a copy signal component. The primary high frequency adjusting unit 2j3 also generates a noise signal component and a sinusoid signal component by using the SBR supplementary information supplied from the bit stream separating unit 2a3, and outputs each of the copy signal component, the noise signal component, and the sinusoid signal component separately (process at Step Sg1). The noise signal component and the sinusoid signal component may not be generated, depending on the contents of the SBR supplementary information.
(177) The individual signal component adjusting units 2z1, 2z2, and 2z3 perform processing on each of the plurality of signal components included in the output from the primary high frequency adjusting unit (process at Step Sg2). The process with the individual signal component adjusting units 2z1, 2z2, and 2z3 may be linear prediction synthesis filtering in the frequency direction obtained from the filter strength adjusting unit 2f by using the linear prediction coefficients, similar to that of the linear prediction filter unit 2k (process 1). The process with the individual signal component adjusting units 2z1, 2z2, and 2z3 may also be a process of multiplying each QMF subband sample by a gain coefficient by using the temporal envelope obtained from the envelope shape adjusting unit 2s, similar to that of the temporal envelope shaping unit 2v (process 2). The process with the individual signal component adjusting units 2z1, 2z2, and 2z3 may also be a process of performing linear prediction synthesis filtering in the frequency direction on the input signal by using the linear prediction coefficients obtained from the filter strength adjusting unit 2f similar to that of the linear prediction filter unit 2k, and then multiplying each QMF subband sample by a gain coefficient by using the temporal envelope obtained from the envelope shape adjusting unit 2s, similar to that of the temporal envelope shaping unit 2v (process 3). The process with the individual signal component adjusting units 2z1, 2z2, and 2z3 may also be a process of multiplying each QMF subband sample with respect to the input signal by a gain coefficient by using the temporal envelope obtained from the envelope shape adjusting unit 2s, similar to that of the temporal envelope shaping unit 2v, and then performing linear prediction synthesis filtering in the frequency direction on the output signal by using the linear prediction coefficient obtained from the filter strength adjusting unit 2f, similar to that of the linear prediction filter unit 2k (process 4). The individual signal component adjusting units 2z1, 2z2, and 2z3 may not perform the temporal envelope shaping process on the input signal, but may output the input signal as it is (process 5). The process with the individual signal component adjusting units 2z1, 2z2, and 2z3 may include any process for shaping the temporal envelope of the input signal by using a method other than the processes 1 to 5 (process 6). The process with the individual signal component adjusting units 2z1, 2z2, and 2z3 may also be a process in which a plurality of processes among the processes 1 to 6 are combined in an arbitrary order (process 7).
(178) The processes with the individual signal component adjusting units 2z1, 2z2, and 2z3 may be the same, but the individual signal component adjusting units 2z1, 2z2, and 2z3 may shape the temporal envelope of each of the plurality of signal components included in the output of the primary high frequency adjusting unit by different methods. For example, different processes may be performed on the copy signal, the noise signal, and the sinusoid signal, in such a manner that the individual signal component adjusting unit 2z1 performs the process 2 on the supplied copy signal, the individual signal component adjusting unit 2z2 performs the process 3 on the supplied noise signal component, and the individual signal component adjusting unit 2z3 performs the process 5 on the supplied sinusoid signal. In this case, the filter strength adjusting unit 2f and the envelope shape adjusting unit 2s may transmit the same linear prediction coefficient and the temporal envelope to the individual signal component adjusting units 2z1, 2z2, and 2z3, but may also transmit different linear prediction coefficients and the temporal envelopes. It is also possible to transmit the same linear prediction coefficient and the temporal envelope to at least two of the individual signal component adjusting units 2z1, 2z2, and 2z3. Because at least one of the individual signal component adjusting units 2z1, 2z2, and 2z3 may not perform the temporal envelope shaping process but output the input signal as it is (process 5), the individual signal component adjusting units 2z1, 2z2, and 2z3 perform the temporal envelope process on at least one of the plurality of signal components output from the primary high frequency adjusting unit 2j3 as a whole (if all the individual signal component adjusting units 2z1, 2z2, and 2z3 perform the process 5, the temporal envelope shaping process is not performed on any of the signal components, and the effects of the present invention are not exhibited).
(179) The processes performed by each of the individual signal component adjusting units 2z1, 2z2, and 2z3 may be fixed to one of the process 1 to the process 7, but may be dynamically determined to perform one of the process 1 to the process 7 based on the control information received from outside the speech decoding device. At this time, it is preferable that the control information be included in the multiplexed bit stream. The control information may be an instruction to perform any one of the process 1 to the process 7 in a specific SBR envelope time segment, the encoded frame, or in the other time segment, or may be an instruction to perform any one of the process 1 to the process 7 without specifying the time segment of control.
(180) The secondary high frequency adjusting unit 2j4 adds the processed signal components output from the individual signal component adjusting units 2z1, 2z2, and 2z3, and outputs the result to the coefficient adding unit (process at Step Sg3). The secondary high frequency adjusting unit 2j4 may perform at least one of the linear prediction inverse filtering in the temporal direction and gain adjustment (frequency characteristics adjustment) on the copy signal component, by using the SBR supplementary information received from the bit stream separating unit 2a3.
(181) The individual signal component adjusting units 2z1, 2z2, and 2z3 may operate in cooperation with one another, and generate an output signal at an intermediate stage by adding at least two signal components on which any one of the processes 1 to 7 is performed, and further performing any one of the processes 1 to 7 on the added signal. At this time, the secondary high frequency adjusting unit 2j4 adds the output signal at the intermediate stage and a signal component that has not yet been added to the output signal at the intermediate stage, and outputs the result to the coefficient adding unit. More specifically, it is preferable to generate an output signal at the intermediate stage by performing the process 5 on the copy signal component, applying the process 1 on the noise component, adding the two signal components, and further applying the process 2 on the added signal. At this time, the secondary high frequency adjusting unit 2j4 adds the sinusoid signal component to the output signal at the intermediate stage, and outputs the result to the coefficient adding unit.
(182) The primary high frequency adjusting unit 2j3 may output any one of a plurality of signal components in a form separated from each other in addition to the three signal components of the copy signal component, the noise signal component, and the sinusoid signal component. In this case, the signal component may be obtained by adding at least two of the copy signal component, the noise signal component, and the sinusoid signal component. The signal component may also be a signal obtained by dividing the band of one of the copy signal component, the noise signal component, and the sinusoid signal. The number of signal components may be other than three, and in this case, the number of the individual signal component adjusting units may be other than three.
(183) The high frequency signal generated by SBR consists of three elements of the copy signal component obtained by copying from the low frequency band to the high frequency band, the noise signal, and the sinusoid signal. Because the copy signal, the noise signal, and the sinusoid signal have the temporal envelopes different from one another, if the temporal envelope of each of the signal components is shaped by using different methods as the individual signal component adjusting units of the present modification, it is possible to further improve the subjective quality of the decoded signal compared with the other embodiments of the present invention. In particular, because the noise signal generally has a smooth temporal envelope, and the copy signal has a temporal envelope close to that of the signal in the low frequency band, the temporal envelopes of the copy signal and the noise signal can be independently controlled, by handling them separately and applying different processes thereto. Accordingly, it is effective in improving the subject quality of the decoded signal. More specifically, it is preferable to perform a process of shaping the temporal envelope on the noise signal (process 3 or process 4), perform a process different from that for the noise signal on the copy signal (process 1 or process 2), and perform the process 5 on the sinusoid signal (in other words, the temporal envelope shaping process is not performed). It is also preferable to perform a shaping process (process 3 or process 4) of the temporal envelope on the noise signal, and perform the process 5 on the copy signal and the sinusoid signal (in other words, the temporal envelope shaping process is not performed).
Modification 4 of First Embodiment
(184) A speech encoding device 11b (
(185) The time slot selecting unit 1p receives a signal in the QMF domain from the frequency transform unit 1a and selects a time slot at which the linear prediction analysis by the linear prediction analysis unit 1e1 is performed. The linear prediction analysis unit 1e1 performs linear prediction analysis on the QMF domain signal in the selected time slot as the linear prediction analysis unit 1e, based on the selection result transmitted from the time slot selecting unit 1p, to obtain at least one of the high frequency linear prediction coefficients and the low frequency linear prediction coefficients. The filter strength parameter calculating unit if calculates a filter strength parameter by using linear prediction coefficients of the time slot selected by the time slot selecting unit 1p, obtained by the linear prediction analysis unit 1e1. To select a time slot by the time slot selecting unit 1p, for example, at least one selection methods using the signal power of the QMF domain signal of the high frequency components, similar to that of a time slot selecting unit 3a in a decoding device 21a of the present modification, which will be described later, may be used. At this time, it is preferable that the QMF domain signal of the high frequency components in the time slot selecting unit 1p be a frequency component encoded by the SBR encoding unit 1d, among the signals in the QMF domain received from the frequency transform unit 1a. The time slot selecting method may be at least one of the methods described above, may include at least one method different from those described above, or may be the combination thereof.
(186) A speech decoding device 21a (see
(187) The time slot selecting unit 3a determines whether linear prediction synthesis filtering in the linear prediction filter unit 2k is to be performed on the signal q.sub.exp (k, r) in the QMF domain of the high frequency components of the time slot r generated by the high frequency generating unit 2g, and selects a time slot at which the linear prediction synthesis filtering is performed (process at Step Sh1). The time slot selecting unit 3a notifies, of the selection result of the time slot, the low frequency linear prediction analysis unit 2d1, the signal change detecting unit 2e1, the high frequency linear prediction analysis unit 2h1, the linear prediction inverse filter unit 2i1, and the linear prediction filter unit 2k3. The low frequency linear prediction analysis unit 2d1 performs linear prediction analysis on the QMF domain signal in the selected time slot r1, in the same manner as the low frequency linear prediction analysis unit 2d, based on the selection result transmitted from the time slot selecting unit 3a, to obtain low frequency linear prediction coefficients (process at Step Sh2). The signal change detecting unit 2e1 detects the temporal variation in the QMF domain signal in the selected time slot, as the signal change detecting unit 2e, based on the selection result transmitted from the time slot selecting unit 3a, and outputs a detection result T (r1).
(188) The filter strength adjusting unit 2f performs filter strength adjustment on the low frequency linear prediction coefficients of the time slot selected by the time slot selecting unit 3a obtained by the low frequency linear prediction analysis unit 2d1, to obtain an adjusted linear prediction coefficients a.sub.dec (n, r1). The high frequency linear prediction analysis unit 2h1 performs linear prediction analysis in the frequency direction on the QMF domain signal of the high frequency components generated by the high frequency generating unit 2g for the selected time slot r1, based on the selection result transmitted from the time slot selecting unit 3a, as the high frequency linear prediction analysis unit 2h, to obtain a high frequency linear prediction coefficients a.sub.exp (n, r1) (process at Step Sh3). The linear prediction inverse filter unit 2i1 performs linear prediction inverse filtering, in which a.sub.exp (n, r1) are coefficients, in the frequency direction on the signal q.sub.exp, (k, r) in the QMF domain of the high frequency components of the selected time slot r1, as the linear prediction inverse filter unit 2i, based on the selection result transmitted from the time slot selecting unit 3a (process at Step Sh4).
(189) The linear prediction filter unit 2k3 performs linear prediction synthesis filtering in the frequency direction on a signal q.sub.adj(k, r1) in the QMF domain of the high frequency components output from the high frequency adjusting unit 2j in the selected time slot r1 by using a.sub.adj (n, r1) obtained from the filter strength adjusting unit 2f, as the linear prediction filter unit 2k, based on the selection result transmitted from the time slot selecting unit 3a (process at Step Sh5). The changes made to the linear prediction filter unit 2k described in the modification 3 may also be made to the linear prediction filter unit 2k3. To select a time slot at which the linear prediction synthesis filtering is performed, for example, the time slot selecting unit 3a may select at least one time slot r in which the signal power of the QMF domain signal q.sub.exp (k, r) of the high frequency components is greater than a predetermined value P.sub.exp,Th. It is preferable to calculate the signal power of q.sub.exp(k,r) according to the following expression.
(190)
where M is a value representing a frequency range higher than a lower limit frequency k.sub.x of the high frequency components generated by the high frequency generating unit 2g, and the frequency range of the high frequency components generated by the high frequency generating unit 2g may be represented as k.sub.x≦k<k.sub.x+M. The predetermined value P.sub.exp,Th may also be an average value of P.sub.exp(r) of a predetermined time width including the time slot r. The predetermined time width may also be the SBR envelope.
(191) The selection may also be made so as to include a time slot at which the signal power of the QMF domain signal of the high frequency components reaches its peak. The peak signal power may be calculated, for example, by using a moving average value:
P.sub.exp,MA(r) (43)
of the signal power, and the peak signal power may be the signal power in the QMF domain of the high frequency components of the time slot r at which the result of:
P.sub.exp,MA(r+1)−P.sub.exp,MA(r) (44)
changes from the positive value to the negative value. The moving average value of the signal power,
P.sub.exp,MA(r) (45)
for example, may be calculated by the following expression.
(192)
(193) where c is a predetermined value for defining a range for calculating the average value. The peak signal power may be calculated by the method described above, or may be calculated by a different method.
(194) At least one time slot may be selected from time slots included in a time width t during which the QMF domain signal of the high frequency components transits from a steady state with a small variation of its signal power a transient state with a large variation of its signal power, and that is smaller than a predetermined value t.sub.th. At least one time slot may also be selected from time slots included in a time width t during which the signal power of the QMF domain signal of the high frequency components is changed from a transient state with a large variation to a steady state with a small variation, and that are larger than the predetermined value t.sub.th. The time slot r in which |P.sub.exp(r+1)−P.sub.exp(r)| is smaller than a predetermined value (or equal to or smaller than a predetermined value) may be the steady state, and the time slot r in which |P.sub.exp(r+1)−P.sub.exp(r)| is equal to or larger than a predetermined value (or larger than a predetermined value) may be the transient state. The time slot r in which |P.sub.exp,MA(r+1)−P.sub.exp,MA(r)| is smaller than a predetermined value (or equal to or smaller than a predetermined value) may be the steady state, and the time slot r in which |P.sub.exp,MA(r+1)−P.sub.exp,MA(r)| is equal to or larger than a predetermined value (or larger than a predetermined value) may be the transient state. The transient state and the steady state may be defined using the method described above, or may be defined using different methods. The time slot selecting method may be at least one of the methods described above, may include at least one method different from those described above, or may be the combination thereof
Modification 5 of First Embodiment
(195) A speech encoding device 11c (
(196) The time slot selecting unit 1p1 selects a time slot as the time slot selecting unit 1p described in the modification 4 of the first embodiment, and transmits time slot selection information to the bit stream multiplexing unit 1g4. The bit stream multiplexing unit 1g4 multiplexes the encoded bit stream calculated by the core codec encoding unit 1c, the SBR supplementary information calculated by the SBR encoding unit 1d, and the filter strength parameter calculated by the filter strength parameter calculating unit if as the bit stream multiplexing unit 1g, also multiplexes the time slot selection information received from the time slot selecting unit 1p1, and outputs the multiplexed bit stream through the communication device of the speech encoding device 11c. The time slot selection information is time slot selection information received by a time slot selecting unit 3a1 in a speech decoding device 21b, which will be describe later, and for example, an index r1 of a time slot to be selected may be included. The time slot selection information may also be a parameter used in the time slot selecting method of the time slot selecting unit 3a1. The speech decoding device 21b (see
(197) The speech decoding device 21b, as illustrated in the example of
Modification 6 of First Embodiment
(198) A speech encoding device 11d (not illustrated) of a modification 6 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech encoding device 11d by loading and executing a predetermined computer program stored in a built-in memory of the speech encoding device 11d such as the ROM into the RAM. The communication device of the speech encoding device 11d receives a speech signal to be encoded from outside the speech encoding device 11d, and outputs an encoded multiplexed bit stream to the outside. The speech encoding device 11d includes a short-term power calculating unit 1i1, which is not illustrated, instead of the short-term power calculating unit 1i of the speech encoding device 11a of the modification 1, and further includes a time slot selecting unit 1p2.
(199) The time slot selecting unit 1p2 receives a signal in the QMF domain from the frequency transform unit 1a, and selects a time slot corresponding to the time segment at which the short-term power calculation process is performed by the short-term power calculating unit 1i. The short-term power calculating unit 1i1 calculates the short-term power of a time segment corresponding to the selected time slot based on the selection result transmitted from the time slot selecting unit 1p2, as the short-term power calculating unit 1i of the speech encoding device 11a of the modification 1.
Modification 7 of First Embodiment
(200) A speech encoding device 11e (not illustrated) of a modification 7 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech encoding device 11e by loading and executing a predetermined computer program stored in a built-in memory of the speech encoding device 11e such as the ROM into the RAM. The communication device of the speech encoding device 11e receives a speech signal to be encoded from outside the speech encoding device 11e, and outputs an encoded multiplexed bit stream to the outside. The speech encoding device 11e includes a time slot selecting unit 1p3, which is not illustrated, instead of the time slot selecting unit 1p2 of the speech encoding device 11d of the modification 6. The speech encoding device 11e also includes a bit stream multiplexing unit that further receives an output from the time slot selecting unit 1p3, instead of the bit stream multiplexing unit 1g1. The time slot selecting unit 1p3 selects a time slot as the time slot selecting unit 1p2 described in the modification 6 of the first embodiment, and transmits time slot selection information to the bit stream multiplexing unit.
Modification 8 of First Embodiment
(201) A speech encoding device (not illustrated) of a modification 8 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech encoding device of the modification 8 by loading and executing a predetermined computer program stored in a built-in memory of the speech encoding device of the modification 8 such as the ROM into the RAM. The communication device of the speech encoding device of the modification 8 receives a speech signal to be encoded from outside the speech encoding device, and outputs an encoded multiplexed bit stream to the outside. The speech encoding device of the modification 8 further includes the time slot selecting unit 1p in addition to those of the speech encoding device described in the modification 2.
(202) A speech decoding device (not illustrated) of the modification 8 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech decoding device of the modification 8 by loading and executing a predetermined computer program stored in a built-in memory of the speech decoding device of the modification 8 such as the ROM into the RAM. The communication device of the speech decoding device of the modification 8 receives the encoded multiplexed bit stream, and outputs a decoded speech signal to the outside the speech decoding device. The speech decoding device of the modification 8 further includes the low frequency linear prediction analysis unit 2d1, the signal change detecting unit 2e1, the high frequency linear prediction analysis unit 2h1, the linear prediction inverse filter unit 2i1, and the linear prediction filter unit 2k3, instead of the low frequency linear prediction analysis unit 2d, the signal change detecting unit 2e, the high frequency linear prediction analysis unit 2h, the linear prediction inverse filter unit 2i, and the linear prediction filter unit 2k of the speech decoding device described in the modification 2, and further includes the time slot selecting unit 3a.
Modification 9 of First Embodiment
(203) A speech encoding device (not illustrated) of a modification 9 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech encoding device of the modification 9 by loading and executing a predetermined computer program stored in a built-in memory of the speech encoding device of the modification 9 such as the ROM into the RAM. The communication device of the speech encoding device of the modification 9 receives a speech signal to be encoded from outside the speech encoding device, and outputs an encoded multiplexed bit stream to the outside. The speech encoding device of the modification 9 includes the time slot selecting unit 1p1 instead of the time slot selecting unit 1p of the speech encoding device described in the modification 8. The speech encoding device of the modification 9 further includes a bit stream multiplexing unit that receives an output from the time slot selecting unit 1p1 in addition to the input supplied to the bit stream multiplexing unit described in the modification 8, instead of the bit stream multiplexing unit described in the modification 8.
(204) A speech decoding device (not illustrated) of the modification 9 of the first embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech decoding device of the modification 9 by loading and executing a predetermined computer program stored in a built-in memory of the speech decoding device of the modification 9 such as the ROM into the RAM. The communication device of the speech decoding device of the modification 9 receives the encoded multiplexed bit stream, and outputs a decoded speech signal to the outside the speech decoding device. The speech decoding device of the modification 9 includes the time slot selecting unit 3a1 instead of the time slot selecting unit 3a of the speech decoding device described in the modification 8. The speech decoding device of the modification 9 further includes a bit stream separating unit that separates a.sub.D (n, r) described in the modification 2 instead of the filter strength parameter of the bit stream separating unit 2a5, instead of the bit stream separating unit 2a.
Modification 1 of Second Embodiment
(205) A speech encoding device 12a (
(206) A speech decoding device 22a (see
(207) The time slot selecting unit 3a notifies, of the selection result of the time slot, the high frequency linear prediction analysis unit 2h1, the linear prediction inverse filter unit 2i1, the linear prediction filter unit 2k2, and the linear prediction coefficient interpolation/extrapolation unit 2p1. The linear prediction coefficient interpolation/extrapolation unit 2p1 obtains a.sub.H (n, r) corresponding to the time slot r1 that is the selected time slot and of which linear prediction coefficients are not transmitted by interpolation or extrapolation, as the linear prediction coefficient interpolation/extrapolation unit 2p, based on the selection result transmitted from the time slot selecting unit 3a (process at Step Sj1). The linear prediction filter unit 2k2 performs linear prediction synthesis filtering in the frequency direction on q.sub.adj (n, r1) output from the high frequency adjusting unit 2j for the selected time slot r1 by using a.sub.H (n, r1) being interpolated or extrapolated and obtained from the linear prediction coefficient interpolation/extrapolation unit 2p1, as the linear prediction filter unit 2k1 (process at Step Sj2), based on the selection result transmitted from the time slot selecting unit 3a. The changes made to the linear prediction filter unit 2k described in the modification 3 of the first embodiment may also be made to the linear prediction filter unit 2k2.
Modification 2 of Second Embodiment
(208) A speech encoding device 12b (
(209) A speech decoding device 22b (see
Modification 4 of Third Embodiment
(210)
described in the modification 1 of the third embodiment may be an average value of e (r) in the SBR envelope, or may be a value defined in some other manner.
Modification 5 of Third Embodiment
(211) As described in the modification 3 of the third embodiment, it is preferable that the envelope shape adjusting unit 2s control e.sub.adj(r) by using a predetermined value e.sub.adj,Th(r), considering that the adjusted temporal envelope e.sub.adj(r) is a gain coefficient multiplied by the QMF subband sample, for example, as the expression (28) and the expressions (37) and (38).
e.sub.adj(r)≧e.sub.adj,Th (48)
Fourth Embodiment
(212) A speech encoding device 14 (
(213) The bit stream multiplexing unit 1g7 multiplexes the encoded bit stream calculated by the core codec encoding unit 1c and the SBR supplementary information calculated by the SBR encoding unit 1d as the bit stream multiplexing unit 1g, transforms the filter strength parameter calculated by the filter strength parameter calculating unit and the envelope shape parameter calculated by the envelope shape parameter calculating unit 1n into the temporal envelope supplementary information, multiplexes them, and outputs the multiplexed bit stream (encoded multiplexed bit stream) through the communication device of the speech encoding device 14.
Modification 4 of Fourth Embodiment
(214) A speech encoding device 14a (
(215) A speech decoding device 24d (see
Modification 5 of Fourth Embodiment
(216) A speech decoding device 24e (see
(217) The temporal envelope shaping unit 2v1 transforms q.sub.adj (k, r) obtained from the high frequency adjusting unit 2j by using e.sub.adj(r) obtained from the envelope shape adjusting unit 2s, as the temporal envelope shaping unit 2v, and obtains a signal q.sub.envadj (k, r) in the QMF domain in which the temporal envelope is shaped. The temporal envelope shaping unit 2v1 also notifies the time slot selecting unit 3a2 of a parameter obtained when the temporal envelope is being shaped, or a parameter calculated by at least using the parameter obtained when the temporal envelope is being transformed as time slot selection information. The time slot selection information may be e(r) of the expression (22) or the expression (40), or |e(r)|.sup.2 to which the square root operation is not applied during the calculation process. A plurality of time slot sections (such as SBR envelopes)
b.sub.i≦r<b.sub.i+1 (49)
may also be used, and the expression (24) that is the average value thereof
may also be used as the time slot selection information. It is noted that:
(218)
(219) The time slot selection information may also be e.sub.exp(r) of the expression (26) and the expression (41), or |e.sub.exp(r)|.sup.2 to which the square root operation is not applied during the calculation process. A plurality of time slot segments (such as SBR envelopes)
b.sub.i≦r<b.sub.i+1 (52)
and the average value thereof
ē.sub.exp(i),|ē.sub.exp(i)|.sup.2 (53)
may also be used as the time slot selection information. It is noted that:
(220)
(221) The time slot selection information may also be e.sub.adj(r) of the expression (23), the expression (35) or the expression (36), or may be |e.sub.adj(r)|.sup.2 to which the square root operation is not applied during the calculation process. A plurality of time slot segments (such as SBR envelopes)
b.sub.i≦r<b.sub.i+1 (56)
and the average value thereof
ē.sub.adj(i),|ē.sub.adj(i)|.sup.2 (57)
may also be used as the time slot selection information. It is noted that:
(222)
The time slot selection information may also be e.sub.adj,scaled(r) of the expression (37), or may be |e.sub.adj,scaled(r)|.sup.2 to which the square root operation is not applied during the calculation process. In a plurality of time slot segments (such as SBR envelopes)
b.sub.i≦r<b.sub.i+1 (60)
and the average value thereof
ē.sub.adj,scaled(i),|ē.sub.adj,scaled(i)|.sup.2 (61)
may also be used as the time slot selection information. It is noted that:
(223)
The time slot selection information may also be a signal power P.sub.envadj(r) of the time slot r of the QMF domain signal corresponding to the high frequency components in which the temporal envelope is shaped or a signal amplitude value thereof to which the square root operation is applied
√{square root over (P.sub.envadj(r))} (64)
In a plurality of time slot segments (such as SBR envelopes)
b.sub.i≦r<b.sub.i+1 (65)
and the average value thereof
may also be used as the time slot selection information. It is noted that:
(224)
M is a value representing a frequency range higher than that of the lower limit frequency k.sub.x of the high frequency components generated by the high frequency generating unit 2g, and the frequency range of the high frequency components generated by the high frequency generating unit 2g may also be represented as k.sub.x≦k<k.sub.x+M.
(225) The time slot selecting unit 3a2 selects time slots at which the linear prediction synthesis filtering by the linear prediction filter unit 2k is performed, by determining whether linear prediction synthesis filtering is performed on the signal q.sub.envadj (k, r) in the QMF domain of the high frequency components of the time slot r in which the temporal envelope is shaped by the temporal envelope shaping unit 2v1, based on the time slot selection information transmitted from the temporal envelope shaping unit 2v1 (process at Step Sp1).
(226) To select time slots at which the linear prediction synthesis filtering is performed by the time slot selecting unit 3a2 in the present modification, at least one time slot r in which a parameter u(r) included in the time slot selection information transmitted from the temporal envelope shaping unit 2v1 is larger than a predetermined value u.sub.Th may be selected, or at least one time slot r in which u(r) is equal to or larger than a predetermined value u.sub.Th may be selected. u(r) may include at least one of e(r), |e(r)|.sup.2, e.sub.exp(r), |e.sub.exp(r)|.sup.2, e.sub.adj(r), |e.sub.adj(r)|.sup.2, e.sub.adj,scaled(r), |e.sub.adj,scaled(r)|.sup.2, and P.sub.envadj(r), described above, and;
√{square root over (P.sub.envadj(r))} (69)
and u.sub.Th may include at least one of;
|ē.sub.exp(i)|.sup.2,ē.sub.adj(i),|ē.sub.adj(i)|.sup.2
ē.sub.adj,scaled(i),|ē.sub.adj,scaled(i)|.sup.2,
u.sub.Th may also be an average value of u(r) of a predetermined time width (such as SBR envelope) including the time slot r. The selection may also be made so that time slots at which u(r) reaches its peaks are included. The peaks of u(r) may be calculated as calculating the peaks of the signal power in the QMF domain signal of the high frequency components in the modification 4 of the first embodiment. The steady state and the transient state in the modification 4 of the first embodiment may be determined similar to those of the modification 4 of the first embodiment by using u(r), and time slots may be selected based on this. The time slot selecting method may be at least one of the methods described above, may include at least one method different from those described above, or may be the combination thereof.
Modification 6 of Fourth Embodiment
(227) A speech decoding device 24f (see
(228) The time slot selecting unit 3a2 determines whether linear prediction synthesis filtering is performed by the linear prediction filter unit 2k3, on the signal q.sub.envadj (k, r) in the QMF domain of the high frequency components of the time slots r in which the temporal envelope is shaped by the temporal envelope shaping unit 2v1, based on the time slot selection information transmitted from the temporal envelope shaping unit 2v1, selects time slots at which the linear prediction synthesis filtering is performed, and notifies, of the selected time slots, the low frequency linear prediction analysis unit 2d1 and the linear prediction filter unit 2k3.
Modification 7 of Fourth Embodiment
(229) A speech encoding device 14b (
(230) The bit stream multiplexing unit 1g6 multiplexes the encoded bit stream calculated by the core codec encoding unit 1c, the SBR supplementary information calculated by the SBR encoding unit 1d, and the temporal envelope supplementary information in which the filter strength parameter calculated by the filter strength parameter calculating unit and the envelope shape parameter calculated by the envelope shape parameter calculating unit 1n are transformed, also multiplexes the time slot selection information received from the time slot selecting unit 1p1, and outputs the multiplexed bit stream (encoded multiplexed bit stream) through the communication device of the speech encoding device 14b.
(231) A speech decoding device 24g (see
(232) The bit stream separating unit 2a7 separates the multiplexed bit stream supplied through the communication device of the speech decoding device 24g into the temporal envelope supplementary information, the SBR supplementary information, and the encoded bit stream, as the bit stream separating unit 2a3, and further separates the time slot selection information.
Modification 8 of Fourth Embodiment
(233) A speech decoding device 24h (see
Modification 9 of Fourth Embodiment
(234) A speech decoding device 24i (see
Modification 10 of Fourth Embodiment
(235) A speech decoding device 24j (see
Modification 11 of Fourth Embodiment
(236) A speech decoding device 24k (see
Modification 12 of Fourth Embodiment
(237) A speech decoding device 24q (see
(238) At least one of the individual signal component adjusting units 2z4, 2z5, and 2z6 performs processing on the QMF domain signal of the selected time slot, for the signal component included in the output of the primary high frequency adjusting unit, as the individual signal component adjusting units 2z1, 2z2, and 2z3, based on the selection result transmitted from the time slot selecting unit 3a (process at Step Sn1). It is preferable that the process using the time slot selection information include at least one process including the linear prediction synthesis filtering in the frequency direction, among the processes of the individual signal component adjusting units 2z1, 2z2, and 2z3 described in the modification 3 of the fourth embodiment.
(239) The processes performed by the individual signal component adjusting units 2z4, 2z5, and 2z6 may be the same as the processes performed by the individual signal component adjusting units 2z1, 2z2, and 2z3 described in the modification 3 of the fourth embodiment, but the individual signal component adjusting units 2z4, 2z5, and 2z6 may shape the temporal envelope of each of the plurality of signal components included in the output of the primary high frequency adjusting unit by different methods (if all the individual signal component adjusting units 2z4, 2z5, and 2z6 do not perform processing based on the selection result transmitted from the time slot selecting unit 3a, it is the same as the modification 3 of the fourth embodiment of the present invention).
(240) All the selection results of the time slot transmitted to the individual signal component adjusting units 2z4, 2z5, and 2z6 from the time slot selecting unit 3a need not be the same, and all or a part thereof may be different.
(241) In
Modification 13 of Fourth Embodiment
(242) A speech decoding device 24m (see
Modification 14 of Fourth Embodiment
(243) A speech decoding device 24n (not illustrated) of a modification 14 of the fourth embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech decoding device 24n by loading and executing a predetermined computer program stored in a built-in memory of the speech decoding device 24n such as the ROM into the RAM. The communication device of the speech decoding device 24n receives the encoded multiplexed bit stream and outputs a decoded speech signal to outside the speech decoding device 24n. The speech decoding device 24n functionally includes the low frequency linear prediction analysis unit 2d1, the signal change detecting unit 2e1, the high frequency linear prediction analysis unit 2h1, the linear prediction inverse filter unit 2i1, and the linear prediction filter unit 2k3 instead of the low frequency linear prediction analysis unit 2d, the signal change detecting unit 2e, the high frequency linear prediction analysis unit 2h, the linear prediction inverse filter unit 2i, and the linear prediction filter unit 2k of the speech decoding device 24a of the modification 1, and further includes the time slot selecting unit 3a.
Modification 15 of Fourth Embodiment
(244) A speech decoding device 24p (not illustrated) of a modification 15 of the fourth embodiment physically includes a CPU, a ROM, a RAM, a communication device, and the like, which are not illustrated, and the CPU integrally controls the speech decoding device 24p by loading and executing a predetermined computer program stored in a built-in memory of the speech decoding device 24p such as the ROM into the RAM. The communication device of the speech decoding device 24p receives the encoded multiplexed bit stream and outputs a decoded speech signal to outside the speech decoding device 24p. The speech decoding device 24p functionally includes the time slot selecting unit 3a1 instead of the time slot selecting unit 3a of the speech decoding device 24n of the modification 14. The speech decoding device 24p also includes a bit stream separating unit 2a8 (not illustrated) instead of the bit stream separating unit 2a4.
(245) The bit stream separating unit 2a8 separates the multiplexed bit stream into the SBR supplementary information and the encoded bit stream as the bit stream separating unit 2a4, and further into the time slot selection information.
INDUSTRIAL APPLICABILITY
(246) The present invention provides a technique applicable to the bandwidth extension technique in the frequency domain represented by SBR, and to reduce the occurrence of pre-echo and post-echo and improve the subjective quality of the decoded signal without significantly increasing the bit rate.
REFERENCE SIGNS LIST
(247) 11, 11a, 11b, 11c, 12, 12a, 12b, 13, 14, 14a, 14b speech encoding device 1a frequency transform unit 1b frequency inverse transform unit 1c core codec encoding unit 1d SBR encoding unit 1e, 1e1 linear prediction analysis unit 1f filter strength parameter calculating unit 1f1 filter strength parameter calculating unit 1g, 1g1, 1g2, 1g3, 1g4, 1g5, 1g6, 1g7 bit stream multiplexing unit 1h high frequency inverse transform unit 1i short-term power calculating unit 1j linear prediction coefficient decimation unit 1k linear prediction coefficient quantizing unit 1m temporal envelope calculating unit 1n envelope shape parameter calculating unit 1p, 1p1 time slot selecting unit 21, 22, 23, 24, 24b, 24c speech decoding device 2a, 2a1, 2a2, 2a3, 2a5, 2a6, 2a7 bit stream separating unit 2b core codec decoding unit 2c frequency transform unit 2d, 2d1 low frequency linear prediction analysis unit 2e, 2e1 signal change detecting unit 2f filter strength adjusting unit 2g high frequency generating unit 2h, 2h1 high frequency linear prediction analysis unit 2i, 2i1 linear prediction inverse filter unit 2j, 2j1, 2j2, 2j3, 2j4 high frequency adjusting unit 2k, 2k1, 2k2, 2k3 linear prediction filter unit 2m coefficient adding unit 2n frequency inverse transform unit 2p, 2p1 linear prediction coefficient interpolation/extrapolation unit 2r low frequency temporal envelope calculating unit 2s envelope shape adjusting unit 2t high frequency temporal envelope calculating unit 2u temporal envelope smoothing unit 2v, 2v1 temporal envelope shaping unit 2w supplementary information conversion unit 2z1, 2z2, 2z3, 2z4, 2z5, 2z6 individual signal component adjusting unit 3a, 3a1, 3a2 time slot selecting unit