The present invention relates to a technique for, in a technique for encoding a time-series signal such as a sound signal, determining a parameter indicating a characteristic of the time-series signal such as a sound signal.
As a parameter indicating a characteristic of a time-series signal such as a sound signal, a parameter such as LSP is known (see, for example, Non-patent literature 1).
Since LSP consists of multiple values, there may be a case where it is difficult to use LSP directly for sound classification and section estimation. For example, since the LSP consists of multiple values, it is not easy to perform a process based on a threshold for which LSP is used.
By the way, a parameter η is proposed by the inventor though it is not publicly known. This parameter η is a shape parameter that defines probability distribution to which encoding targets of arithmetic codes belong, in an encoding system for performing arithmetic encoding of quantized values of coefficients in a frequency domain, which uses, for example, such a linear prediction envelope that is used in the 3GPP EVS (Enhanced Voice Services) standard. The parameter η has relevance to distribution of the encoding targets, and it is possible to perform efficient encoding and decoding by appropriately specifying the parameter η.
Further the parameter η can be an indicator indicating a characteristic of a time-series signal. Therefore, the parameter η can be used for techniques other than the encoding process described above, for example, for voice/acoustic related techniques for sound classification, sound section estimation and the like.
Furthermore, since the parameter η consists of a single value, a process based on a threshold for which the parameter η is used is easier in comparison with a process based on a threshold for which LSP is used. Therefore, the parameter η can be easily used for sound classification and section estimation.
A technique for determining a parameter η has not been proposed so far.
An object of the present invention is to provide a parameter determination device for determining the parameter η, a method, a program and a recording medium.
According to a parameter determination device according to one aspect of the present invention, the parameter determination device is provided with: a spectral envelope estimating portion performing estimation of a spectral envelope using a parameter η0 specified in a predetermined method, regarding the η0-th power of absolute values of a frequency domain sample sequence corresponding to a time-series signal as a power spectrum on the assumption that the parameter η0 and a parameter η are positive numbers; a whitened spectral sequence generating portion obtaining a whitened spectral sequence which is a sequence obtained by dividing the frequency domain sample sequence by the spectral envelope; and a parameter acquiring portion determining such a parameter η that generalized Gaussian distribution with the parameter η as a shape parameter approximates a histogram of the whitened spectral sequence.
It is possible to determine a parameter η.
[Parameter Determination Device and Method]
A configuration example of a parameter determination device is shown in
Each portion in
<Frequency Domain Transforming Portion 41>
A time domain sound signal, which is a time-series signal, is inputted to the frequency domain transforming portion 41. An example of the sound signal is a voice digital signal or an acoustic digital signal.
The frequency domain transforming portion 41 transforms the inputted time domain sound signal to an MDCT coefficient sequence X(0), X(1), . . . , X(N−1) at an N point in a frequency domain for each frame with a predetermined time length. Here, N indicates a positive integer.
The obtained MDCT coefficient sequence X(0), X(1), . . . , X(N−1) is outputted to the spectral envelope estimating portion 42 and the whitened spectral sequence generating portion 43.
It is assumed that subsequent processes are performed for each frame unless otherwise stated.
In this way, the frequency domain transforming portion 41 determines a frequency domain sample sequence, which is, for example, an MDCT coefficient sequence, corresponding to a sound signal (step C41).
<Spectral Envelope Estimating Portion 42>
The MDCT coefficient sequence X(0), X(1), . . . , X(N−1) obtained by the frequency domain transforming portion 42 is inputted to the spectral envelope estimating portion 42.
The spectral envelope estimating portion 42 performs estimation of a spectral envelope using the η0-th power of absolute values of the frequency domain sample sequence corresponding to the time-series signal as a power spectrum, based on a parameter η0 specified in a predetermined method (step C42).
The estimated spectral envelope is outputted to the whitened spectral sequence generating portion 43.
The spectral envelope estimating portion 42 performs the estimation of the spectral envelope, for example, by generating an unsmoothed amplitude spectral envelope sequence by processes of the linear prediction analyzing portion 421 and the unsmoothed amplitude spectral envelope sequence generating portion 422 described below.
It is assumed that the parameter η0 is specified in a predetermined method. For example, it is assumed that η0 is a predetermined number larger than 0. For example, η0=1 is assumed. Further, η determined for a frame before a frame for which the parameter η is to be determined currently may be used. The frame before the frame for which the parameter η is to be determined currently (hereinafter referred to as a current frame) is, for example, a frame before the current frame and in the vicinity of the current frame. The frame in the vicinity of the current frame is, for example, a frame immediately before the current frame.
<Linear Prediction Analyzing Portion 421>
The MDCT coefficient sequence X(0), X(1), . . . , X(N−1) obtained by the frequency domain transforming portion 41 is inputted to the linear prediction analyzing portion 421.
The linear prediction analyzing portion 421 generates linear prediction coefficients β1, β2, . . . , βp by performing linear prediction analysis of ˜R(0), ˜R(1), . . . , ˜R(N−1) defined by the following expression (C1) using the MDCT coefficient sequence X(0), X(1), . . . , X(N−1), and encodes the generated linear prediction coefficients β1, β2, . . . , βp to generate linear prediction coefficient codes and quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp, which are quantized linear prediction coefficients corresponding to the linear prediction coefficient codes.
The generated quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp are outputted to the unsmoothed amplitude spectral envelope sequence generating portion 422.
Specifically, by performing operation corresponding to inverse Fourier transform regarding the η0-th power of absolute values of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) as a power spectrum, that is, the operation of the expression (C1) first, the linear prediction analyzing portion 421 determines a pseudo correlation function signal sequence ˜R(0), ˜R(1), . . . , ˜R(N−1), which is a time domain signal sequence corresponding to the η0-th power of the absolute values of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1). Then, the linear prediction analyzing portion 421 performs linear prediction analysis using the determined pseudo correlation function signal sequence ˜R(0), ˜R(1), . . . , ˜R(N−1) to generate linear prediction coefficients β1, β2, . . . , βp. Then, by encoding the generated linear prediction coefficients β1, β2, . . . , βp, the linear prediction analyzing portion 421 obtains linear prediction coefficient codes and quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp corresponding the linear prediction coefficient codes.
The linear prediction coefficients β1, ^β2, . . . , ^βp are linear prediction coefficients corresponding to a time domain signal when the η0-th power of the absolute values of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) are regarded as a power spectrum.
Generation of the linear prediction coefficient codes by the linear prediction analyzing portion 421 is performed, for example, by a conventional encoding technique. An example of the conventional encoding technique is, for example, an encoding technique in which a code corresponding to a linear prediction coefficient itself is caused to be a linear prediction coefficient code, an encoding technique in which a linear prediction coefficient is transformed to an LSP parameter, and a code corresponding to the LSP parameter is caused to be a linear prediction coefficient code, an encoding technique in which a linear prediction coefficient is transformed to a PARCOR coefficient, and a code corresponding to the PARCOR coefficient is caused to be a linear prediction code, or the like.
In this way, the linear prediction analyzing portion 421 performs linear prediction analysis using a pseudo correlation function signal sequence obtained by performing inverse Fourier transform regarding the η-th power of absolute values of a frequency domain sample sequence, which is, for example, an MDCT coefficient sequence, as a power spectrum, and generates coefficients transformable to linear prediction coefficients (step C421).
When a parameter generated by the parameter determination device is used for a purpose other than encoding, the linear prediction analyzing portion 421 may not perform generation of linear prediction coefficient codes.
<Unsmoothed Amplitude Spectral Envelope Sequence Generating Portion 422>
The quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp generated by the linear prediction analyzing portion 421 are inputted to the unsmoothed amplitude spectral envelope sequence generating portion 422.
The unsmoothed amplitude spectral envelope sequence generating portion 422 generates an unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), which is an amplitude spectral envelope sequence corresponding to the quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp.
The generated unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) is outputted to the whitened spectral sequence generating portion 43.
The unsmoothed amplitude spectral envelope sequence generating portion 422 generates an unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) defined by the following expression (C2) as the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) using the quantized linear prediction coefficients β1, β2, . . . , ^βp.
In this way, the unsmoothed amplitude spectral envelope sequence generating portion 422 performs estimation of a spectral envelope by obtaining an unsmoothed spectral envelope sequence, which is a sequence obtained by multiplying an amplitude spectral envelope sequence corresponding to a pseudo correlation function signal sequence by 1/η0, based on coefficients transformable to linear prediction coefficients generated by the linear prediction analyzing portion 421 (step C422).
<Whitened Spectral Sequence Generating Portion 43>
The MDCT coefficient sequence X(0), X(1), . . . , X(N−1) obtained by the frequency domain transforming portion 41 and the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) generated by the unsmoothed amplitude spectral envelope sequence generating portion 422 are inputted to the whitened spectral sequence generating portion 43.
The whitened spectral sequence generating portion 43 generates a whitened spectral sequence XW(0), XW(1), . . . , XW(N−1) by dividing coefficients of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) by corresponding values of the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), respectively.
The generated whitened spectral sequence XW(0), XW(1), . . . , XW(N−1) is outputted to the parameter acquiring portion 44.
The whitened spectral sequence generating portion 43 generates each of values XW(k) of the whitened spectral sequence XW(0), XW(1), . . . , XW(N−1) by dividing coefficients X(k) of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) by values ^H(k) of the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), respectively, for example, on the assumption of k=0, 1, . . . , N−1. That is, XW(k)=X(k)/^H(k) is satisfied on the assumption of k=0, 1, . . . , N−1.
In this way, the whitened spectral sequence generating portion 43 obtains a whitened spectral sequence which is a sequence obtained by dividing a frequency domain sample sequence which is, for example, an MDCT coefficient sequence by a spectral envelope which is, for example, an unsmoothed amplitude spectral envelope sequence (step C43).
<Parameter Acquiring Portion 44>
The whitened spectral sequence XW(0), XW(1), . . . , XW(N−1) generated by the whitened spectral sequence generating portion 43 is inputted to the parameter acquiring portion 44.
The parameter acquiring portion 44 determines such a parameter η that generalized Gaussian distribution with the parameter η as a shape parameter approximates a histogram of the whitened spectral sequence XW(0), XW(1), . . . , XW(N−1) (step C44). In other words, the parameter acquiring portion 44 determines such a parameter η that generalized Gaussian distribution with the parameter η as a shape parameter is close to distribution of the histogram of the whitened spectral sequence XW(0), XW(1), . . . , XW(N−1).
The generalized Gaussian distribution with the parameter η as a shape parameter is defined, for example, as shown below. Here, Γ indicates a gamma function.
The generalized Gaussian distribution is such that makes it possible to express various distributions by changing η which is a shape parameter. For example, Laplace distribution and Gaussian distribution are expressed at the time of η=1 and at the time of η=2, respectively, as shown in
Here, η determined by the parameter acquiring portion 44 is defined, for example, by an expression (C3) below. Here, F−1 is an inverse function of a function F. This expression is derived from a so-called moment method.
When the inverse function F−1 is explicitly defined, the parameter acquiring portion 44 can determine the parameter η by calculating an output value when a value of m1/((m2)1/2) is inputted to the explicitly defined inverse function F−1.
When the inverse function F−1 is not explicitly defined, the parameter acquiring portion 44 may determine the parameter η by a first method or a second method described below, in order to calculate a value of η defined by the expression (C3).
The first method for determining the parameter η will be described. In the first method, the parameter acquiring portion 44 calculates m1/((m2)1/2) based on a whitened spectral sequence and, by referring to a plurality of different pairs of η and F(η) corresponding to η prepared in advance, obtains η corresponding to F(η) which is the closest to the calculated m1/((m2)1/2).
The plurality of different pairs of η and F(η) corresponding to η prepared in advance are stored in a storage portion 441 of the parameter acquiring portion 44 in advance. The parameter acquiring portion 44 finds F(η) closest to the calculated m1/((m2)1/2) by referring to the storage portion 441, and reads η corresponding to the found F(η) from the storage portion 441 and outputs it.
Here, F(η) closest to the calculated m1/((m2)1/2) refers to such F(η) that an absolute value of a difference from the calculated m1/((m2)1/2) is the smallest.
The second method for determining the parameter η will be described. In the second method, on the assumption that an approximate curve function of the inverse function F−1 is, for example, ˜F−1 indicated by an expression (C3′) below, the parameter acquiring portion 44 calculates m1/((m2)1/2) based on a whitened spectral sequence and determines η by calculating an output value when the calculated m1/((m2)1/2) is inputted to the approximate curve function ˜F−1. It is only necessary that this approximate curve function ˜F−1 is such a monotonically increasing function that an output is a positive value in a used domain.
Note that η determined by the parameter acquiring portion 44 may be defined not by the expression (C3) but by an expression obtained by generalizing the expression (C3) using positive integers q1 and q2 specified in advance (q1<q2) like an expression (C3″).
In the case where η is defined by the expression (C3″) also, η can be determined in a method similar to the method in the case where η is defined by the expression (C3). That is, after calculating a value mq1/((mq2)q1/q2 based on mq1 which is the q1-th order moment of a whitened spectral sequence, and mq2 which is the q2-th order moment of the whitened spectral sequence, based on the whitened spectral sequence, for example, the parameter acquiring portion 44 can, by referring to a plurality of different pairs of η and F′(η) corresponding to η prepared in advance, acquire η corresponding to F′(η) closest to the calculated mq1/((mq2)q1/q2) or can determine η by calculating, on the assumption that an approximate curve function of the inverse function F′−1 is ˜F′−1, an output value when the calculated mq1/((mq2)q1/q2) is inputted to the approximate curve function ˜F′−1, similarly to the first and second methods described above.
As described above, η can be said to be a value based on two different moments mq1 and mq2 in different orders. For example, η may be determined based on a value of a ratio between a value of a moment in a lower order or a value based on the value of the moment (hereinafter referred to as the former) and a value of a moment in a higher order or a value based on the value of the moment (hereinafter referred to as the latter), or a value based on the value of the ratio, or a value obtained by dividing the former by the latter. The value based on a moment refers to, for example, mQ when the moment is indicated by m, and a predetermined real number is indicated by Q. Further, η may be determined by inputting these values to the approximate curve function ˜F′−1. It is only necessary that this approximate curve function ˜F′−1 is such a monotonically increasing function that an output is a positive value in a used domain similarly as described above.
[Encoding Apparatus and Decoding Apparatus Using Parameter Determination Device and Method, and Methods for Encoding Apparatus and Decoding Apparatus]
The parameter η determined by the parameter determination device and method can be an indicator indicating a characteristic of a time-series signal. Therefore, the parameter determination device and method can be used, for example, for an encoding process, a decoding process and voice/acoustic related techniques such as sound classification and sound section estimation.
Examples of an encoding apparatus and decoding apparatus using the parameter determination device and method, and methods for the encoding apparatus and the decoding will be described below.
(Encoding)
A configuration example of the encoding apparatus is shown in FIG. 4. As shown in
Each portion in
<Parameter Determination Device 27>
The parameter determination device 27 is the parameter determination device illustrated in
The parameter determination device 27 determines a parameter based on the inputted time-series signal by the process described above (step A7). The determined is outputted to the linear prediction analyzing portion 22, the unsmoothed amplitude spectral envelope sequence estimating portion 23 and the smoothed amplitude spectral envelope sequence estimating portion 24.
Further, the parameter determination device 27 generates a parameter code by encoding the determined η. The generated parameter code is transmitted to the decoding apparatus.
<Frequency Domain Transforming Portion 21>
A sound signal, which is a time-domain time-series signal, is inputted to the frequency domain transforming portion 21. An example of the sound signal is a voice digital signal or an acoustic digital signal.
The frequency domain transforming portion 21 transforms the inputted time domain sound signal to an MDCT coefficient sequence X(0), X(1), . . . , X(N−1) at a point N in a frequency domain for each frame with a predetermined time length (step A1). Here, N is a positive integer.
The obtained MDCT coefficient sequence X(0), X(1), . . . , X(N−1) is outputted to the linear prediction analyzing portion 22 and the envelope normalizing portion 25.
It is assumed that subsequent processes are performed for each frame unless otherwise stated.
In this way, the frequency domain transforming portion 21 determines a frequency domain sample sequence, which is, for example, an MDCT coefficient sequence, corresponding to the sound signal.
<Linear Prediction Analyzing Portion 22>
The MDCT coefficient sequence X(0), X(1), . . . , X(N−1) obtained by the frequency domain transforming portion 21 is inputted to the linear prediction analyzing portion 22.
The linear prediction analyzing portion 22 generates linear prediction coefficients β1, β2, . . . , βp by performing linear prediction analysis of ˜R(0), ˜R(1), . . . , ˜R(N−1) defined by the following expression (A7) using the MDCT coefficient sequence X(0), X(1), . . . , X(N−1), and encodes the generated linear prediction coefficients β1, β2, . . . , βp to generate linear prediction coefficient codes and quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp, which are quantized linear prediction coefficients corresponding to the linear prediction coefficient codes (step A2).
The generated quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp are outputted to the unsmoothed amplitude spectral envelope sequence generating portion 23 and the smoothed amplitude spectral envelope sequence generating portion 24. During the linear prediction analysis process, predictive residual energy σ2 is calculated. In this case, the calculated predictive residual energy σ2 is outputted to a variance parameter determining portion 268.
Further, the generated linear prediction coefficient codes are transmitted to the decoding apparatus.
Specifically, by performing operation corresponding to inverse Fourier transform regarding the η-th power of absolute values of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) as a power spectrum, that is, the operation of the expression (A7) first, the linear prediction analyzing portion 22 determines a pseudo correlation function signal sequence ˜R(0), ˜R(1), . . . , ˜R(N−1), which is a time domain signal sequence corresponding to the η-th power of the absolute values of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1). Then, the linear prediction analyzing portion 22 performs linear prediction analysis using the determined pseudo correlation function signal sequence ˜R(0), ˜R(1), . . . , ˜R(N−1) to generate linear prediction coefficients β1, β2, . . . , βp. Then, by encoding the generated linear prediction coefficients β1, β2, . . . , βp, the linear prediction analyzing portion 22 obtains linear prediction coefficient codes and quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp corresponding the linear prediction coefficient codes.
The linear prediction coefficients β1, β2, . . . , βp are linear prediction coefficients corresponding to a time domain signal when the η0-th power of the absolute values of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) are regarded as a power spectrum.
Generation of the linear prediction coefficient codes by the linear prediction analyzing portion 22 is performed, for example, by a conventional encoding technique. An example of the conventional encoding technique is, for example, an encoding technique in which a code corresponding to a linear prediction coefficient itself is caused to be a linear prediction coefficient code, an encoding technique in which a linear prediction coefficient is transformed to an LSP parameter, and a code corresponding to the LSP parameter is caused to be a linear prediction coefficient code, an encoding technique in which a linear prediction coefficient is transformed to a PARCOR coefficient, and a code corresponding to the PARCOR coefficient is caused to be a linear prediction code, or the like. For example, the encoding technique in which a code corresponding to a linear prediction coefficient itself is caused to be a linear prediction coefficient code is a technique in which a plurality of quantized linear prediction coefficient candidates are specified in advance; each candidates is stored being associated with a linear prediction coefficient code in advance; any of the candidates is determined as a quantized linear prediction coefficient corresponding to a generated linear prediction coefficient; and, thereby, the quantized linear prediction coefficient and the linear prediction coefficient code are obtained.
In this way, the linear prediction analyzing portion 22 performs linear prediction analysis using a pseudo correlation function signal sequence obtained by performing inverse Fourier transform regarding the η-th power of absolute values of a frequency domain sequence, which is, for example, an MDCT coefficient sequence, as a power spectrum, and generates coefficients transformable to linear prediction coefficients.
<Unsmoothed Amplitude Spectral Envelope Sequence Generating Portion 23>
The quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp generated by the linear prediction analyzing portion 22 are inputted to the unsmoothed amplitude spectral envelope sequence generating portion 23.
The unsmoothed amplitude spectral envelope sequence generating portion 23 generates an unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), which is an amplitude spectral envelope sequence corresponding to the quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp (step A3).
The generated unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) is outputted to the encoding portion 26.
The unsmoothed amplitude spectral envelope sequence generating portion 23 generates an unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) defined by the following expression (A2) as the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) using the quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp.
In this way, the unsmoothed amplitude spectral envelope sequence generating portion 23 performs estimation of a spectral envelope by obtaining an unsmoothed spectral envelope sequence, which is a sequence obtained by raising a sequence of an amplitude spectral envelope corresponding to coefficients transformable to linear prediction coefficients generated by the linear prediction analyzing portion 22 to the power of 1/η. Here, when it is assumed that c is an arbitrary number, a sequence obtained by raising a sequence constituted by a plurality of values to the power of c refers to a sequence constituted by values obtained by raising the plurality of values to the power of c, respectively. For example, a sequence obtained by raising a sequence of an amplitude spectral envelope to the power of 1/η refers to a sequence constituted by values obtained by raising coefficients of the amplitude spectral envelope to the power of 1/η, respectively.
The process of raise to the power of 1/η by the unsmoothed amplitude spectral envelope sequence generating portion 23 is due to the process performed by the linear prediction analyzing portion 22 in which the η-th power of absolute values of a frequency domain sample sequence are regarded as a power spectrum. That is, the process of raise to the power of 1/η by the unsmoothed amplitude spectral envelope sequence generating portion 23 is performed in order to return values raised to the power of η by the process performed by the linear prediction analyzing portion 22 in which the η-th power of absolute values of a frequency domain sample sequence are regarded as a power spectrum, to the original values.
<Smoothed Amplitude Spectral Envelope Sequence Generating Portion 24>
The quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp generated by the linear prediction analyzing portion 22 are inputted to the smoothed amplitude spectral envelope sequence generating portion 24.
The smoothed amplitude spectral envelope sequence generating portion 24 generates a smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1), which is a sequence obtained by reducing amplitude unevenness of a sequence of an amplitude spectral envelope corresponding to the quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp (step A4).
The generated smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) is outputted to the envelope normalizing portion 25 and the encoding portion 26.
The smoothed amplitude spectral envelope sequence generating portion 24 generates a smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) defined by an expression (A3) as the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) using the quantized linear prediction coefficients ^β1, ^β2, . . . , ^βp and a correction coefficient γ.
Here, the correction coefficient γ is a constant smaller than 1 specified in advance and a coefficient that reduces amplitude unevenness of the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), in other words, a coefficient that smoothes the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1).
<Envelope Normalizing Portion 25>
The MDCT coefficient sequence X(0), X(1), . . . , X(N−1) obtained by the frequency domain transforming portion 21 and the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) generated by the smoothed amplitude spectral envelope generating portion 24 are inputted to the envelope normalizing portion 25.
The envelope normalizing portion 25 generates a normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by normalizing each coefficient of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) by a corresponding value of the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) (step A5).
The generated normalized MDCT coefficient sequence is outputted to the encoding portion 26.
The envelope normalizing portion 25 generates each coefficient XN(k) of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by dividing each coefficient X(k) of the MDCT coefficient sequence X(0), X(1), . . . , X(N−1) by a corresponding value of the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1), for example, on the assumption of k=0, 1, . . . , N−1. That is, XN(k)=X(k)/^Hγ(k) is satisfied on the assumption of k=0, 1, . . . , N−1.
<Encoding Portion 26>
The normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) generated by the envelope normalizing portion 25, the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) generated by the unsmoothed amplitude spectral envelope generating portion 23, the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) generated by the smoothed amplitude spectral envelope generating portion 24 and average residual energy σ2 calculated by the linear prediction analyzing portion 22 are inputted to the encoding portion 26.
The encoding portion 26 performs encoding, for example, by performing processes of steps A61 to A65 shown in
The encoding portion 26 determines a global gain g corresponding to the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) (step A61), determines a quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1), which is a sequence of integer values obtained by quantizing a result of dividing each coefficient of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by the global gain g (step A62), determines variance parameters φ(0), φ(1), . . . , φ(N−1) corresponding to coefficients of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1), respectively, from the global gain g, the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) and the average residual energy σ2 by an expression (A1) (step A63), performs arithmetic encoding of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) using the variance parameters φ(0), φ(1), . . . , φ(N−1) to obtain integer signal codes (step A64) and obtains a gain code corresponding to the global gain g (step A65).
Here, a normalized amplitude spectral envelope sequence ^HN(0), ^HN(1), . . . , ^HN in the above expression (A1) is what is obtained by dividing each value of the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) by a corresponding value of the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1), that is, what is determined by the following expression (A8).
The generated integer signal codes and gain code are outputted to the decoding apparatus as codes corresponding to the normalized MDCT coefficient sequence.
The encoding portion 26 realizes a function of determining such a global gain g that the number of bits of the integer signal codes is equal to or smaller than the number of allocated bits B, which is the number of bits allocated in advance, and is as large as possible and generating a gain code corresponding to the determined global gain g and integer signal codes corresponding to the determined global gain g by the above steps A61 to A65.
Among steps A61 to A65 performed by the encoding portion 26, it is step A63 that comprises a characteristic process. As for the encoding process itself which is for obtaining the codes corresponding to the normalized MDCT coefficient sequence by encoding each of the global gain g and the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1), various publicly-known techniques including the technique described in Non-patent literature 1 exist. Two specific examples of the encoding process performed by the encoding portion 26 will be described below.
[Specific Example 1 of Encoding Process Performed by Encoding Portion 26]
As a specific example 1 of the encoding process performed by the encoding portion 26, an example which does not comprise a loop process will be described.
<Gain Acquiring Portion 261>
The normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) generated by the envelope normalizing portion 25 is inputted to the gain acquiring portion 261.
The gain acquiring portion 261 determines and outputs such a global gain g that the number of bits of integer signal codes is equal to or smaller than the number of allocated bits B, which is the number of bits allocated in advance, and is as large as possible, from the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) (step S261). For example, the gain acquiring portion 261 acquires and outputs a value of multiplication of a square root of the total of energy of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by a constant which is in negative correlation with the number of allocated bits B as the global gain g. Otherwise, the gain acquiring portion 261 may tabulate a relationship among the total of energy of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1), the number of allocated bits B and the global gain g in advance, and obtain and output a global gain g by referring to the table.
In this way, the gain acquiring portion 261 obtains a gain for performing division of all samples of a normalized frequency domain sample sequence which is, for example, a normalized MDCT coefficient sequence.
The obtained global gain g is outputted to the quantizing portion 262 and the variance parameter determining portion 268.
<Quantizing Portion 262>
The normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) generated by the envelope normalizing portion 25 and the global gain g obtained by the gain acquiring portion 261 are inputted to the quantizing portion 262.
The quantizing portion 262 obtains and outputs a quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1), which is a sequence of integer parts of a result of dividing each coefficient of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by the global gain g (step S262).
In this way, the quantizing portion 262 determines a quantized normalized coefficient sequence by dividing each sample of a normalized frequency domain sample sequence which is, for example, a normalized MDCT coefficient sequence by a gain and quantizing the result.
The obtained quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) is outputted to the arithmetic encoding portion 269.
<Variance Parameter Determining Portion 268>
The global gain g obtained by the gain acquiring portion 261, the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) generated by the unsmoothed amplitude spectral envelope generating portion 23, the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) generated by the smoothed amplitude spectral envelope generating portion 24, and the predictive residual energy σ2 obtained by the linear prediction analyzing portion 22 are inputted to the variance parameter determining portion 268.
The variance parameter determining portion 268 obtains and outputs each variance parameter of a variance parameter sequence φ(0), φ(1), . . . , φ(N−1) from the global gain g, the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) and the predictive residual energy σ2 by the above expressions (A1) and (A8) (step S268).
The obtained variance parameter sequence φ(0), φ(1), . . . , φ(N−1) is outputted to the arithmetic encoding portion 269.
<Arithmetic Encoding Portion 269>
The quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) obtained by the quantizing portion 262 and the variance parameter sequence φ(0), φ(1), . . . , φ(N−1) obtained by the variance parameter determining portion 268 are inputted to the arithmetic encoding portion 269.
The arithmetic encoding portion 269 performs arithmetic encoding of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) using each variance parameter of the variance parameter sequence φ(0), φ(1), . . . , φ(N−1) as a variance parameter corresponding to each coefficient of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) to obtain and output integer signal codes (step S269).
At the time of performing arithmetic encoding, the arithmetic encoding portion 269 configures such arithmetic codes that each coefficient of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) becomes optimal when being in accordance with generalized Gaussian distribution fGG(X|φ(k), η) and performs encoding with the arithmetic codes based on this configuration. As a result, an expected value of bit allocation to each coefficient of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) is determined with the variance parameter sequence φ(0), φ(1), . . . , φ(N−1).
The obtained integer signal codes are outputted to the decoding apparatus.
Arithmetic encoding may be performed over a plurality of coefficients in the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1). In this case, since each variance parameter of the variance parameter sequence φ(0), φ(1), . . . , φ(N−1) is based on the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) as seen from the expressions (A1) and (A8), it can be said that the arithmetic encoding portion 269 performs such encoding that bit allocation substantially changes based on an estimated spectral envelope (an unsmoothed amplitude spectral envelope).
<Gain Encoding Portion 265>
The global gain g obtained by the gain acquiring portion 261 is inputted to the gain encoding portion 265.
The gain encoding portion 265 encodes the global gain g to obtain and output a gain code (step S265).
The generated integer signal codes and gain code are outputted to the decoding apparatus as codes corresponding to the normalized MDCT coefficient sequence.
Steps S261, S262, S268, S269 and S265 of the present specific example 1 correspond to the above steps A61, A62, A63, A64 and A65, respectively.
[Specific Example 2 of Encoding Process Performed by Encoding Portion 26]
As a specific example 2 of the encoding process performed by the encoding portion 26, an example which comprises a loop process will be described.
<Gain Acquiring Portion 261>
The normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) generated by the envelope normalizing portion 25 is inputted to the gain acquiring portion 261.
The gain acquiring portion 261 determines and outputs such a global gain g that the number of bits of integer signal codes is equal to or smaller than the number of allocated bits B, which is the number of bits allocated in advance, and is as large as possible, from the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) (step S261). For example, the gain acquiring portion 261 acquires and outputs a value of multiplication of a square root of the total of energy of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by a constant which is in negative correlation with the number of allocated bits B as the global gain g.
The obtained global gain g is outputted to the quantizing portion 262 and the variance parameter determining portion 268.
The global gain g obtained by the gain acquiring portion 261 becomes an initial value of a global gain used by the quantizing portion 262 and the variance parameter determining portion 268.
<Quantizing Portion 262>
The normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) generated by the envelope normalizing portion 25 and the global gain g obtained by the gain acquiring portion 261 or the gain updating portion 267 are inputted to the quantizing portion 262.
The quantizing portion 262 obtains and outputs a quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1), which is a sequence of integer parts of a result of dividing each coefficient of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by the global gain g (step S262).
Here, a global gain g used when the quantizing portion 262 is executed for the first time is the global gain g obtained by the gain acquiring portion 261, that is, the initial value of the global gain. Further, a global gain g used when the quantizing portion 262 is executed at and after the second time is the global gain g obtained by the gain updating portion 267, that is, an updated value of the global gain.
The obtained quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) is outputted to the arithmetic encoding portion 269.
<Variance Parameter Determining Portion 268>
The global gain g obtained by the gain acquiring portion 261 or the gain updating portion 267, the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) generated by the unsmoothed amplitude spectral envelope generating portion 23, the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) generated by the smoothed amplitude spectral envelope generating portion 24, and the predictive residual energy σ2 obtained by the linear prediction analyzing portion 22 are inputted to the variance parameter determining portion 268.
The variance parameter determining portion 268 obtains each variance parameter of a variance parameter sequence φ(0), φ(1), . . . , φ(N−1) from the global gain g, the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) and the predictive residual energy σ2 by the above expressions (A1) and (A8) (step S268).
Here, a global gain g used when the variance parameter determining portion 268 is executed for the first time is the global gain g obtained by the gain acquiring portion 261, that is, the initial value of the global gain. Further, a global gain g used when the variance parameter determining portion 268 is executed at and after the second time is the global gain g obtained by the gain updating portion 267, that is, an updated value of the global gain.
The obtained variance parameter sequence φ(0), φ(1), . . . , φ(N−1) is outputted to the arithmetic encoding portion 269.
<Arithmetic Encoding Portion 269>
The quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) obtained by the quantizing portion 262 and the variance parameter sequence φ(0), φ(1), . . . , φ(N−1) obtained by the variance parameter determining portion 268 are inputted to the arithmetic encoding portion 269.
The arithmetic encoding portion 269 performs arithmetic encoding of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) using each variance parameter of the variance parameter sequence φ(0), φ(1), . . . , φ(N−1) as a variance parameter corresponding to each coefficient of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) to obtain and output integer signal codes and the number of consumed bits C, which is the number of bits of the integer signal codes (step S269).
At the time of performing arithmetic encoding, the arithmetic encoding portion 269 performs such bit allocation that each coefficient of the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1) becomes optimal when being in accordance with the generalized Gaussian distribution fGG(X|φ(k), η), by arithmetic encoding, and performs encoding with arithmetic codes based on the performed bit allocation.
The obtained integer signal codes and the number of consumed bits C are outputted to the judging portion 266.
Arithmetic encoding may be performed over a plurality of coefficients in the quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1). In this case, since each variance parameter of the variance parameter sequence φ(0), φ(1), . . . , φ(N−1) is based on the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) as seen from the expressions (A1) and (A8), it can be said that the arithmetic encoding portion 269 performs such encoding that bit allocation substantially changes based on an estimated spectral envelope (an unsmoothed amplitude spectral envelope).
<Judging Portion 266>
The integer signal codes obtained by the arithmetic encoding portion 269 are inputted to the judging portion 266.
When the number of times of updating the gain is a predetermined number of times, the judging portion 266 outputs the integer signal codes as well as outputting an instruction signal to encode the global gain g obtained by the gain updating portion 267 to the gain encoding portion 265. When the number of times of updating the gain is smaller than the predetermined number of times, the judging portion 266 outputs the number of consumed bits C measured by the arithmetic encoding portion 264 to the gain updating portion 267 (step S266).
<Gain Updating Portion 267>
The number of consumed bits C measured by the arithmetic encoding portion 269 is inputted to the gain updating portion 267.
When the number of consumed bits C is larger than the number of allocated bits B, the gain updating portion 267 updates the value of the global gain g to be a larger value and outputs the value. When the number of consumed bits C is smaller than the number of allocated bits B, the gain updating portion 267 updates the value of the global gain g to be a smaller value and outputs the updated value of the global gain g (step S267).
The updated global gain g obtained by the gain updating portion 267 is outputted to the quantizing portion 262 and the gain encoding portion 265.
<Gain Encoding Portion 265>
An output instruction from the judging portion 266 and the global gain g obtained by the gain updating portion 267 are inputted to the gain encoding portion 265.
The gain encoding portion 265 encodes the global gain g to obtain and output a gain code in accordance with an instruction signal (step 265).
The integer signal codes outputted by the judging portion 266 and the gain code outputted by the gain encoding portion 265 are outputted to the decoding apparatus as codes corresponding to the normalized MDCT coefficient sequence.
That is, in the present specific example 2, step S267 performed last corresponds to the above step A61, and steps S262, S263, S264 and S265 correspond to the above steps A62, A63, A64, and A65, respectively.
The specific example 2 of the encoding process performed by the encoding portion 26 is described in more detail in International Publication No. WO2014/054556 and the like.
[Modification of Encoding Portion 26]
The encoding portion 26 may perform such encoding that bit allocation is changed based on an estimated spectral envelope (an unsmoothed amplitude spectral envelope), for example, by performing the following process.
The encoding portion 26 determines a global gain g corresponding to the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) first, and determines a quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1), which is a sequence of integer values obtained by quantizing a result of dividing each coefficient of the normalized MDCT coefficient sequence XN(0), XN(1), . . . , XN(N−1) by the global gain g.
As for quantized bits corresponding to each coefficient of this quantized normalized coefficient sequence XQ(0), XQ(1), . . . , XQ(N−1), it is possible to, on the assumption that distribution of XQ(k) is uniform in a certain range, determine the range based on estimated values of an envelope. Though it is also possible to encode an envelope estimation value for each of a plurality of samples, the encoding portion 26 can determine the range of XQ(k) using values ^HN(k) of a normalized amplitude spectral envelope sequence based on linear prediction, for example, like the following expression (A9).
In order to minimize a square error of XQ(k) at the time of quantizing XQ(k) for a certain k, it is possible to set the number of bits b(k) to be allocated, under the restriction of the following expression:
The number of bits b(k) to be allocated can be represented by the following expression (A10):
Here, B is a positive integer specified in advance. At this time, the encoding portion 26 may perform a process for readjustment of b(k) by performing rounding off so that b(k) becomes an integer, setting b(k)=0 when b(k) is smaller than 0, or the like.
Further, it is also possible to for the encoding portion 26 to determine the number of allocated bits not for allocation for each sample but for allocation for a plurality of collected samples and, as for quantization, perform not scalar quantization for each sample but quantization for each vector of a plurality of collected samples.
When the number of quantized bits b(k) of XQ(k) of a sample k is given as described above, and encoding is performed for each sample, XQ(k) can take 2b(k) kinds of integers from −2b(k)−1 to 2b(k)−1. The encoding portion 26 encodes each sample with b(k) bits to obtain an integer signal code.
Generated integer signal codes are outputted to the decoding apparatus. For example, the generated b(k)-bit integer signal codes corresponding to XQ(k) are sequentially outputted to the decoding apparatus, with k=0 first.
If XQ(k) exceeds the range from −2b(k)−1 to 2b(k)−1 described above, it is replaced with a maximum value or a minimum value.
When g is too small, quantization distortion is caused by the replacement. When g is too large, a quantization error increases, and it is not possible to effectively utilize information because the range that XQ(k) can take is too small in comparison with b(k). Therefore, optimization of g may be performed.
The encoding portion 26 encodes the global gain g to obtain and output a gain code.
The encoding portion 26 may perform encoding other than arithmetic encoding as done in this modification of the encoding portion 26.
(Decoding)
At least a parameter code, codes corresponding to a normalized MDCT coefficient sequence and linear prediction coefficient codes outputted by the encoding apparatus are inputted to the decoding apparatus.
Each portion in
<Parameter Decoding Portion 37>
The parameter code outputted by the encoding apparatus is inputted to the parameter decoding portion 37.
The parameter decoding portion 37 determines a decoded parameter η by decoding the parameter code. The decoded parameter η which has been determined is outputted to the unsmoothed amplitude spectrum envelope sequence generating portion 32, the smoothed amplitude spectrum envelope sequence generating portion 33 and the decoding portion 34.
<Linear Prediction Coefficient Decoding Portion 31>
The linear prediction coefficient codes outputted by the encoding apparatus are inputted to the linear prediction coefficient decoding portion 31.
For each frame, the linear prediction coefficient decoding portion 31 decodes the inputted linear prediction coefficient codes, for example, by a conventional decoding technique to obtain decoded linear prediction coefficients ^β1, ^β2, . . . , ^βp (step B1).
The obtained decoded linear prediction coefficients ^β1, ^β2, . . . , ^βp are outputted to the unsmoothed amplitude spectral envelope sequence generating portion 32 and the unsmoothed amplitude spectral envelope sequence generating portion 33.
Here, the conventional decoding technique is, for example, a technique in which, when the linear prediction coefficient codes are codes corresponding to quantized linear prediction coefficients, the linear prediction coefficient codes are decoded to obtain decoded linear prediction coefficients which are the same as the quantized linear prediction coefficients, a technique in which, when the linear prediction coefficient codes are codes corresponding to quantized LSP parameters, the linear prediction coefficient codes are decoded to obtain decoded LSP parameters which are the same as the quantized LSP parameters, or the like. Further, the linear prediction coefficients and the LSP parameters are mutually transformable, and it is well known that a transformation process can be performed between the decoded linear prediction coefficients and the decoded LSP parameters according to inputted linear prediction coefficient codes and information required for subsequent processes. From the above, it can be said that what comprises the above linear prediction coefficient code decoding process and the above transformation process performed as necessary is “decoding by the conventional decoding technique”.
In this way, the linear prediction coefficient decoding portion 31 generates coefficients transformable to linear prediction coefficients corresponding to a pseudo correlation function signal sequence obtained by performing inverse Fourier transform regarding the η-th power of absolute values of a frequency domain sequence corresponding to a time-series signal as a power spectrum, by decoding inputted linear prediction codes.
<Unsmoothed Amplitude Spectral Envelope Sequence Generating Portion 32>
The decoded parameter η determined by the parameter decoding portion 37 and the decoded linear prediction coefficients ^β1, ^β2, . . . , ^βp obtained by the linear prediction coefficient decoding portion 31 are inputted to the unsmoothed amplitude spectral envelope sequence generating portion 32.
The unsmoothed amplitude spectral envelope sequence generating portion 32 generates an unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1), which is a sequence of an amplitude spectral envelope corresponding to the decoded linear prediction coefficients ^β1, ^β2, . . . , ^βp by the above expression (A2) (step B2).
The generated unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) is outputted to the decoding portion 34.
In this way, the unsmoothed amplitude spectral envelope sequence generating portion 32 obtains an unsmoothed spectral envelope sequence, which is a sequence obtained by raising a sequence of an amplitude spectral envelope corresponding to coefficients transformable to linear prediction coefficients generated by the linear prediction coefficient decoding portion 31 to the power of 1/η.
<Smoothed Amplitude Spectral Envelope Sequence Generating Portion 33>
The decoded parameter η determined by the parameter decoding portion 37 and the decoded linear prediction coefficients ^β1, ^β2, . . . , ^βp obtained by the linear prediction coefficient decoding portion 31 are inputted to the smoothed amplitude spectral envelope sequence generating portion 33.
The smoothed amplitude spectral envelope sequence generating portion 33 generates a smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^H(N−1), which is a sequence obtained by reducing amplitude unevenness of a sequence of an amplitude spectral envelope corresponding to the decoded linear prediction coefficients ^β1, ^β2, . . . , ^βp, by the above expression A(3) (step B3).
The generated smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) is outputted to the decoding portion 34 and the envelope denormalizing portion 35.
<Decoding Portion 34>
The decoded parameter η determined by the parameter decoding portion 37, codes corresponding to the normalized MDCT coefficient sequence outputted by the encoding apparatus, the unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) generated by the unsmoothed amplitude spectral envelope generating portion 32 and the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) generated by the smoothed amplitude spectral envelope generating portion 33 are inputted to the decoding portion 34.
The decoding portion 34 is provided with a variance parameter determining portion 342.
The decoding portion 34 performs decoding, for example, by performing processes of steps B41 to B44 shown in
When encoding is performed by the process described in [Modification of encoding portion 26], the decoding portion 34 performs, for example, the following process. For each frame, the decoding portion 34 decodes a gain code comprised in the codes corresponding to an inputted normalized MDCT coefficient sequence to obtain a global gain g. The variance parameter determining portion 342 of the decoding portion 34 determines each variance parameter of a variance parameter sequence φ(0), φ(1), . . . , φ(N−1) from an unsmoothed amplitude spectral envelope sequence ^H(0), ^H(1), . . . , ^H(N−1) and a smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) by the above expression (A9). The decoding portion 34 can determine b(k) by the expression (A10), based on each variance parameter φ(k) of the variance parameter sequence φ(0), φ(1), . . . , φ(N−1). The decoding portion 34 obtains a decoded normalized coefficient sequence ^XQ(0), ^XQ(1), . . . , ^XQ(N−1) by sequentially decoding values of XQ(k) with the number of bits b(k), and generates a decoded normalized MDCT coefficient sequence ^XN(0), ^XN(1), . . . , ^XN(N−1) by multiplying each coefficient of the decoded normalized coefficient sequence ^XQ(0), ^XQ(1), . . . , ^XQ(N−1) by the global gain g. Thus, the decoding portion 34 may decode inputted integer signal codes in accordance with bit allocation which changes based on an unsmoothed spectral envelope sequence.
The decoded normalized MDCT coefficient sequence ^XN(0), ^XN(1), . . . , ^XN(N−1) which has been generated is outputted to the envelope denormalizing portion 35.
<Envelope Denormalizing Portion 35>
The smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1) generated by the smoothed amplitude spectral envelope generating portion 33 and the decoded normalized MDCT coefficient sequence ^XN(0), ^XN(1), . . . , ^XN(N−1) generated by the decoding portion 34 are inputted to the envelope denormalizing portion 35.
The envelope denormalizing portion 35 generates a decoded MDCT coefficient sequence ^X(0), ^X(1), . . . , ^X(N−1) by denormalizing the decoded normalized MDCT coefficient sequence ^XN(0), ^XN(1), . . . , ^XN(N−1) using the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1)(step B5).
The generated decoded MDCT coefficient sequence ^X(0), ^X(1), . . . , ^X(N−1) is outputted to the time domain transforming portion 36.
For example, the envelope denormalizing portion 35 generates the decoded MDCT coefficient sequence ^X(0), ^X(1), . . . , ^X(N−1) by multiplying coefficients ^XN(k) of the decoded normalized MDCT coefficient sequence ^X(0), ^XN(1), . . . , ^XN(N−1) by envelope values ^Hγ(k) of the smoothed amplitude spectral envelope sequence ^Hγ(0), ^Hγ(1), . . . , ^Hγ(N−1), respectively, on the assumption of k=0, 1, . . . , N−1. That is, ^X(k)=^XN(k)×^Hγ(k) is satisfied on the assumption of k=0, 1, . . . , N−1.
<Time Domain Transforming Portion 36>
The MDCT coefficient sequence ^X(0), ^X(1), . . . , ^X(N−1) generated by the envelope denormalizing portion 35 is inputted to the time domain transforming portion 36.
For each frame, the time domain transforming portion 36 transforms the decoded MDCT coefficient sequence ^X(0), ^X(1), . . . , ^X(N−1) obtained by the envelope denormalizing portion 35 to a time domain and obtains a sound signal (a decoded sound signal) for each frame (step B6).
In this way, the decoding apparatus obtains a time-series signal by decoding in the frequency domain.
[Sound Classification Apparatus and Method Using Parameter Determination Device and Method]
An example of a sound classification apparatus and method using the parameter determination device and method will be described below.
As shown in
The parameter determination device 51 is the parameter determination device described above and determines a parameter η by the process described above (step E1). The determined η is outputted to the judging portion 52.
When the parameter η determined by the parameter determination device and method is smaller than a predetermined threshold, the judging portion 52 classifies a section of a time-series signal corresponding to the parameter η as music and, otherwise, classifies the section as voice (step E2).
The sound classification apparatus and method are based on a property that, the smaller the parameter η is, the larger the stationarity of a corresponding time-series signal is.
[Modifications and the Like]
The parameter determination device or method may determine the parameter η by a loop process. That is, the parameter determination device or method may further perform the processes of the spectral envelope estimating portion 42, the whitened spectral sequence generating portion 43 and the parameter acquiring portion 44 in which the parameter η determined by the parameter acquiring portion 44 is a parameter η0 specified by a predetermined method once or more times.
In this case, for example, as indicated by a broken line in
For example, the processes of the spectral envelope estimating portion 42, the whitened spectral sequence generating portion 43 and the parameter acquiring portion 44 may be further performed τ times, which is a predetermined number of times. Here, τ is a predetermined positive integer, for example, τ=1 or τ=2.
Further, the spectral envelope estimating portion 42 may repeat the processes of the spectral envelope estimating portion 42, the whitened spectral sequence generating portion 43 and the parameter acquiring portion 44 until an absolute value of a difference between the parameter η determined this time and a parameter η determined last becomes a predetermined threshold or smaller.
When the linear prediction analyzing portion 22 and the unsmoothed amplitude spectral envelope sequence generating portion 23 are grasped as one spectral envelope estimating portion 2A, it can be said that this spectral envelope estimating portion 2A performs estimation of a spectral envelope regarding the η-th power of absolute values of a frequency domain sequence, which is, for example, an MDCT coefficient sequence, corresponding to a time-series signal, as a power spectrum (an unsmoothed amplitude spectral envelope sequence). Here, “regarding . . . as a power spectrum” means that a spectrum raised to the power of η is used where a power spectrum is usually used.
In this case, it can be said that, the linear prediction analyzing portion 22 of the spectral envelope estimating portion 2A performs linear prediction analysis using a pseudo correlation function signal sequence obtained by performing inverse Fourier transform regarding the η-th power of absolute values of a frequency domain sample sequence, which is, for example, an MDCT coefficient sequence, as a power spectrum, and obtains coefficients transformable to linear prediction coefficients. Further, it can be said that the unsmoothed amplitude spectral envelope sequence generating portion 23 of the spectral envelope estimating portion 2A performs estimation of a spectral envelope by obtaining an unsmoothed spectral envelope sequence, which is a sequence obtained by raising a sequence of an amplitude spectral envelope corresponding to coefficients transformable to linear prediction coefficients obtained by the linear prediction analyzing portion 22 to the power of 1/η.
Further, when the smoothed amplitude spectral envelope sequence generating portion 24, the envelope normalizing portion 25 and the encoding portion 26 are grasped as one encoding portion 2B, it can be said that this encoding portion 2B performs such encoding that changes bit allocation or that bit allocation substantially changes based on a spectral envelope (an unsmoothed amplitude spectral envelope sequence) estimated by the spectral envelope estimating portion 2A, for each coefficient of a frequency domain sample sequence which is, for example, an MDCT coefficient sequence.
When the decoding portion 34 and the envelope denormalizing portion 35 are grasped as one decoding portion 3A, it can be said that this decoding portion 3A obtains a frequency domain sample sequence corresponding to a time-series sequence signal by performing decoding of inputted integer signal codes in accordance with such bit allocation that changes or substantially changes based on an unsmoothed spectral envelope sequence.
The processes described above are not only executed in order of description but also may be executed in parallel or individually according to processing capacity of an apparatus to execute the processes or as necessary.
Further, various processes in each method or each apparatus may be realized by a computer. In that case, content of the processes of each method or each apparatus is written by a program. Then, by executing this program on the computer, the various processes in each method or each apparatus are realized on the computer.
The program in which the content of the processes is written can be recorded in a computer-readable recording medium. As the computer readable recording medium, any recording medium, such as a magnetic recording device, an optical disk, a magneto-optical recording medium and a semiconductor memory, is possible.
Further, distribution of this program is performed, for example, by sales, transfer, lending and the like of a portable recording medium such as a DVD and a CD-ROM in which the program is recorded. Furthermore, this program may be distributed by storing the program in a storage apparatus of a server computer and transferring the program from the server computer to other computers via a network.
For example, a computer which executes such a program stores the program recorded in the portable recording medium or transferred from the server computer into its storage portion once. Then, at the time of executing a process, the computer reads the program stored in its storage portion and executes the process in accordance with the read program. Further, as another embodiment of this program, the computer may read the program directly from the portable recording medium and execute the process in accordance with the program. Furthermore, it is also possible for the computer to, each time the program is transferred from the server computer to the computer, execute a process in accordance with the received program one by one. Further, a configuration is also possible in which the processes described above are executed by a so-called ASP (Application Service Provider) type service for realizing a processing function only by an instruction to execute the program and acquisition of a result without transferring the program from the server computer to the computer. It is assumed that the program includes information which is provided for processing by an electronic calculator and is equivalent to a program (such as data which is not a direct instruction to a computer but has properties defining processing of the computer).
Further, though it is assumed that each apparatus is configured by executing a predetermined program on a computer, at least a part of content of processes of the apparatus may be realized by hardware.
Number | Date | Country | Kind |
---|---|---|---|
2015-017690 | Jan 2015 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2016/052362 | 1/27/2016 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2016/121824 | 8/4/2016 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
8856049 | Vasilache | Oct 2014 | B2 |
8948428 | Kates | Feb 2015 | B2 |
9570057 | Brown | Feb 2017 | B2 |
20070165956 | Song | Jul 2007 | A1 |
20150088529 | Moriya et al. | Mar 2015 | A1 |
20150106108 | Baeckstroem et al. | Apr 2015 | A1 |
20170272766 | Moriya et al. | Sep 2017 | A1 |
20180047401 | Moriya et al. | Feb 2018 | A1 |
20180096694 | Moriya et al. | Apr 2018 | A1 |
Number | Date | Country |
---|---|---|
2 827 328 | Jan 2015 | EP |
3 226 243 | Oct 2017 | EP |
3 252 758 | Dec 2017 | EP |
3 270 376 | Jan 2018 | EP |
WO 2014001182 | Jan 2014 | WO |
Entry |
---|
Extended European Search Report dated May 30, 2018 in corresponding European Patent Application No. 16743427.3, 14 pages. |
Marie Oger et al., “Low-Complexity Wideband LSF Quantization by Predictive KLT Coding and Generalized Gaussian Modeling”, 14th European Signal Processing Conference (EUSIPCO 2006), IEEE, XP32753272, Sep. 4-8, 2006, 5 pages. |
Ryosuke Sugiura et al., “Golomb-Rice Coding Optimized via LPC for Frequency Domain Audio Coder”, GlobalSIP 2014: Perception Inspired Multimedia Signal Processing Techniques, XP55446164, Dec. 1, 2014, pp. 1024-1028. |
Marie Oger et al., “Transform Audio Coding with Arithmetic-Coded Scalar Quantization and Model-Based Bit Allocation”, 2007 IEEE International Conference on Acoustics, Speech, and Signal Processing, XP 31463907, Apr. 15, 2007, pp. IV-545-IV-548. |
International Search Report dated Mar. 15, 2016 in PCT/JP2016/052362 filed Jan. 27, 2016. |
Takehiro Moriya, “Essential Technology for High-Compression Voice Encoding: Line Spectrum Pair (LSP)” NTT Technical Journal, vol. 26, No. 9, Sep. 2014, 11 Pages (with corresponding English version). |
Korean Office Action dated Sep. 17, 2018 in Patent Application No. 10-2017-7019110 (with English translation), 13 pages. |
Number | Date | Country | |
---|---|---|---|
20180268843 A1 | Sep 2018 | US |