This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2012-164185, filed on Jul. 24, 2012, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to an audio decoding device, an audio decoding method, and a computer-readable recording medium storing an audio decoding computer program.
A decoding method for decoding an encoded multichannel audio signal into the original signal has been developed. Herein, the encoded audio signals are obtained by converting the original signals into a down-mixed main signal (a stereo frequency signal), a residual signal, and spatial information and, subsequently, encoding these signals.
For example, in order to encode a surround audio signal, such as a 5.1 ch audio signal, the MPEG surround standard (ISO/IEC23003-1) defined by ISO/IEC has been used. In the MPEG surround standard, a surround signal is converted into, for example, a 2-channel main signal contained in an original audio signal, a residual signal indicating an error component generated when the audio signal is prediction-encoded, and the spatial information and, thereafter, the signals and information are encoded. In an MPEG surround decoder, the surround audio signal is obtained by decoding the main signal, the residual signal, and the spatial information.
The residual signal indicates an error component generated when the audio signal is prediction-encoded. By using the residual signal when the surround audio signal is prediction-decoded, an error occurring during prediction-encoding may be corrected. Thus, the audio signal prior to prediction-encoding may be accurately reproduced.
In accordance with an aspect of the embodiments, an audio decoding device includes a processor; and a memory which stores a plurality of instructions, which when executed by the processor, cause the processor to execute, decoding, using a first channel signal and a second channel signal included in a plurality of channels of an audio signal having a first frequency range and a second frequency range, a first prediction coefficient of the first frequency range and a second prediction coefficient of the second frequency range, both selected from a code book when prediction-encoding a third channel signal that is not subjected to prediction encoding and that is included in the plurality of channels; decoding a residual signal included in the first frequency range, the residual signal representing an error occurring in prediction encoding; and prediction-decoding the third channel signal subjected to prediction-encoding in the second frequency range from the first channel signal, the second channel signal, the third channel signal subjected to prediction encoding, the first prediction coefficient, and the residual signal of the first frequency range and the first channel signal and the second channel signal of the second frequency range.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawing of which:
An audio decoding device, an audio decoding method, a computer-readable recording medium storing an audio decoding computer program, and an audio encoding and decoding system according to an exemplary embodiment are described below with reference to the accompanying drawings. Note that the scope of the disclosure is not to be construed as being limited to the following exemplary embodiment.
These units of the audio encoding device 1 are formed as independent circuits. Alternatively, these units of the audio encoding device 1 may be formed as a single integrated circuit having circuits of these units integrated therein, and the integrated circuit may be incorporated into the audio encoding device 1. Still alternatively, these units of the audio encoding device 1 may be formed as functional modules realized by a computer program executed by a processor included in the audio encoding device 1.
The time-frequency transform unit 11 performs time-frequency transform on a signal of each of the channels in a time domain of a multichannel audio signal input to the audio encoding device 1 on a frame basis. In this manner, the time-frequency transform unit 11 converts the signal into a frequency signal for each of the channels. According to the present exemplary embodiment, the time-frequency transform unit 11 converts a signal of each of the channels into a frequency signal using the following Quadrature Mirror Filter (QMF) filter bank:
where n represents a variable indicating a time (for example, when a one-frame audio signal is divided into 128 pieces in the time direction, n represents the n-th time). Note that the frame length may be set to a value in the range from 10 msec to 80 msec. In addition, k represents a variable indicating a frequency range (for example, when the frequency range of a frequency signal is divided into 64 pieces, k represents the k-th frequency range). In addition, QMF(k, n) represents a QMF for outputting the frequency signal of a frequency k at a time of n. By multiplying an audio signal for one frame in the input channel by QMF(k, n), the time-frequency transform unit 11 generates a frequency signal for the channel. Note that the time-frequency transform unit 11 may convert a signal of each of the channels using a different time-frequency transform process, such as fast Fourier transform, discrete cosine transform, or modified discrete cosine transform.
Each time the time-frequency transform unit 11 computes the frequency signals of all of the channels on a frame basis, the time-frequency transform unit 11 outputs the frequency signals for the channels to the first downmix unit 12.
Each time the first downmix unit 12 receives the frequency signals of all of the channels, the first downmix unit 12 down-mixes the frequency signals of the channels. Thus, the first downmix unit 12 generates frequency signals for the left channel, the center channel, and the right channel. For example, the first downmix unit 12 generates frequency signals for the three channels as follows:
L
in(k,n)=Lin Re(k,n)+j·Lin Im(k,n) 0≦k<64, 0≦n<128
L
in Re(k,n)=LRe(k,n)+SLRe(k,n)
L
in Im(k,n)=LIm(k,n)+SLIm(k,n)
R
in(k,n)=Rin Re(k,n)+j·Rin Im(k,n) 0≦k<64, 0≦n<128
R
in Re(k,n)=RRe(k,n)+SRRe(k,n)
R
in Im(k,n)=RIm(k,n)+SRIm(k,n)
C
in(k,n)=Cin Re(k,n)+j·Cin Im(k,n) 0≦k<64, 0≦n<128
C
in Re(k,n)=CRe(k,n)+LFERe(k,n)
C
in Im(k,n)=CIm(k,n)+LEEIm(k,n) (Expression 2)
In the above-described expression, LRe(k, n) represents the real part of a frequency signal L(k, n) of the left front channel, and LIm(k, n) represents the imaginary part of the frequency signal L(k, n) of the left front channel. In addition, SLRe(k, n) represents the real part of a frequency signal SL(k, n) of the left rear channel, and SLIm(k, n) represents the imaginary part of the frequency signal SL(k, n) of the left rear channel. Lin(k, n) represents the frequency signal of the left channel generated by downmixing. Note that LinRe(k, n) represents the real part of a frequency signal of the left channel, and LinIm(k, n) represents the imaginary part of the frequency signal of the left channel.
Similarly, RRe(k, n) represents the real part of a frequency signal R(k, n) of the right front channel, and RIm(k, n) represents the imaginary part of the frequency signal R(k, n) of the right front channel. In addition, SRRe(k, n) represents the real part of a frequency signal SR(k, n) of the right rear channel, and SRIm(k, n) represents the imaginary part of the frequency signal SR(k, n) of the right rear channel. Rin(k, n) represents the frequency signal of the right channel generated by downmixing. Note that RinRe(k, n) represents the real part of a frequency signal of the right channel, and RinIm(k, n) represents the imaginary part of the frequency signal of the right channel.
Furthermore, CRe(k, n) represents the real part of a frequency signal C(k, n) of the center channel, and CIm(k, n) represents the imaginary part of the frequency signal C(k, n) of the center channel. In addition, LFERe(k, n) represents the real part of a frequency signal LFE(k, n) of the bass sound channel, and LFEIm(k, n) represents the imaginary part of the frequency signal LFE(k, n) of the bass sound channel. Cin(k, n) represents the frequency signal of the center channel generated by downmixing. Note that CinRe(k, n) represents the real part of a frequency signal Cin(k, n) of the center channel, and CinIm(k, n) represents the imaginary part of the frequency signal Cin(k, n) of the center channel.
In addition, as the spatial information between the frequency signals of two channels to be downmixed, the first downmix unit 12 computes the difference between the intensities of the frequency signals that represent sound localization information and a similarity between the frequency signals that represents the spread of sound for each of the frequency ranges. These spatial information items computed by the first downmix unit 12 are examples of 3-channel spatial information items. According to the present exemplary embodiment, the first downmix unit 12 computes an intensity difference CLDL(k) and a similarity ICCL(k) for the left channel as follows:
where N represents the number of sample points included in a frame in the time direction. According to the present exemplary embodiment, N is 128. In addition, eL(k) represents the autocorrelation value of the frequency signal L(k, n) of the left front channel, and esL(k) represents the autocorrelation value of the frequency signal SL(k, n) of the left rear channel. Furthermore, eLSL(k) represents the cross-correlation value between the frequency signal L(k, n) of the left front channel and the frequency signal SL(k, n) of the left rear channel.
Similarly, the first downmix unit 12 computes an intensity difference CLDR(k) and a similarity ICCR(k) of the frequency range k for the right channel as follows:
where eR(k) represents the autocorrelation value of the frequency signal R(k, n) of the right front channel, and esR(k) represents the autocorrelation value of the frequency signal SR(k, n) of the right rear channel. In addition, eRSR(k) represents the cross-correlation value between the frequency signal R(k, n) of the right front channel and the frequency signal SR(k, n) of the right rear channel.
Furthermore, the first downmix unit 12 computes an intensity difference CLDC(k) of the frequency range k for the center channel as follows:
where eC(k) represents the autocorrelation value of the frequency signal C(k, n) of the center channel, and eLFE(k) represents the autocorrelation value of the frequency signal LFE(k, n) of a low-frequency effects channel.
After generating the frequency signals for the three channels, the first downmix unit 12 further downmixes the frequency signal of the left channel and the frequency signal of the center channel. Thus, the first downmix unit 12 generates a left-side frequency signal of a stereo frequency signals. In addition, the first downmix unit 12 further downmixes the frequency signal of the right channel and the frequency signal of the center channel. Thus, the first downmix unit 12 generates a right-side frequency signal of the stereo frequency signals. For example, the first downmix unit 12 generates a left-side frequency signal L0(k, n) and a right-side frequency signal R0(k, n) and computes a signal C0(k, n) of the center channel used for, for example, selecting a prediction coefficient included in a code book as follows:
In the expression above, Lin(k, n), Rin(k, n), and Cin(k, n) represent the frequency signals of the left, right, and center channels, respectively, generated by the first downmix unit 12. The left-side frequency signal L0(k, n) is generated by mixing the left front channel frequency signal, the left rear channel frequency signal, the center channel frequency signal, and the low-frequency effects channel frequency signal of the original multichannel audio signal. Similarly, the right-side frequency signal R0(k, n) is generated by mixing the right front channel frequency signal, the right rear channel frequency signal, the center channel frequency signal, and the low-frequency effects channel frequency signal of the original multichannel audio signal.
The first downmix unit 12 outputs the left-side frequency signal L0(k, n), the right-side frequency signal R0(k, n), and the center channel signal C0(k, n) to the second downmix unit 13. In addition, the first downmix unit 12 outputs the intensity differences CLDL(k), CLDR(k), and CLDC(k) and the similarities ICCL(k) and ICCR(k) representing the spatial information to the spatial information encoding unit 19.
The second downmix unit 13 downmixes two of the three frequency signals received from the first downmix unit 12, that is, the left-side frequency signal L0(k, n), the right-side frequency signal R0(k, n), and the center channel signal C0(k, n), to generate 2-channel stereo frequency signals. For example, the 2-channel stereo frequency signal is generated from the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n). Thereafter, the second downmix unit 13 outputs the generated stereo frequency signal to the channel signal encoding unit 15.
The prediction encoding unit 14 selects, from the code book, the prediction coefficients for the frequency signals of the two channels that are downmixed by the second downmix unit 13. In order to prediction-encode the center channel signal C0(k, n) from the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n), the second downmix unit 13 downmixes the right-side frequency signal R0(k, n) and the left-side frequency signal L0(k, n) and generates a 2-channel stereo frequency signal. Note that when the prediction encoding unit 14 performs prediction encoding, the prediction encoding unit 14 selects, from the code book using C0(k, n), L0(k, n), and R0(k, n), prediction coefficients c1(k) and c2(k) that minimizes an error d(k) between the frequency signals before and after prediction encoding for each of the frequency ranges. In this manner, the prediction encoding unit 14 obtains a prediction-encoded center channel signal C′0(k, n). The error d(k) and the prediction-encoded center channel signal C′0(k, n) are defined as follows:
If a real part and an imaginary part are used, Expression 9 may be expressed as follows:
C′
0(k,n)=C′0 Re(k,n)+C′0 Im(k,n)
C′
0 Re(k,n)=c1×L0 Re(k,n)+c2×R0 Re(k,n)
C′
0 Im(k,n)=c1×L0 Im(k,n)+c2×R0 Im(k,n) (Expression 10)
where L0 Re represents the real part of L0, L0 Im represents the imaginary part of L0, R0Re represents the real part of R0, and R0 Im represents the imaginary part of R0.
In addition, the prediction encoding unit 14 generates a residual signal res(k, n) used to correct the error d(k) in a decoder. The residual signal res(k, n) may be expressed using the center channel signal C0(k, n) before prediction encoding and the prediction-encoded center channel signal C′o(k, n) after the prediction encoding as follows:
res(k,n)=C0(k,n)−C′0(k,n) (Expression 11)
The prediction encoding unit 14 outputs the computed residual signal res(k, n) to the spatial information encoding unit 19. Note that the prediction encoding unit 14 may compute the residual signals res(k, n) for all of the frequency ranges. Alternatively, in order to increase the coding efficiency, the prediction encoding unit 14 may compute the residual signal res(k, n) for some of the frequency ranges. For example, in Expression 1, the residual signals res(k, n) may be computed for the frequency ranges having k=1 to 32. Alternatively, the residual signals res(k, n) may be computed for the frequency ranges having k=33 to 64. According to the first exemplary embodiment, the residual signals res(k, n) are computed for k=1 to 32 or k=33 to 64. Hereinafter, for convenience of description, the frequency range for which the prediction encoding unit 14 generates the residual signal res(k, n) is referred to as a “first frequency range”, and the frequency range for which the prediction encoding unit 14 does not generate the residual signal res(k, n) is referred to as a “second frequency range”.
The prediction encoding unit 14 includes a quantization table (the code book) that indicates a relationship between each of the representative values of the prediction coefficients c1(k) and c2(k) and an index value. The prediction encoding unit 14 refers to the quantization table using the prediction coefficients c1(k) and c2(k) included in the code book. By referring to the quantization table, the prediction encoding unit 14 determines an index value that is the closest to the prediction coefficients c1(k) and c2(k) for each of the frequency ranges. More specifically,
Subsequently, the prediction encoding unit 14 computes a difference value between the indices in the frequency direction for each of the frequency ranges. For example, when the index value for the frequency range k is 2 and if the index value for the frequency range (k−1) is 4, the prediction encoding unit 14 sets the index difference value for the frequency range k to −2.
Thereafter, the prediction encoding unit 14 refers to a coding table indicating a correspondence between an index difference value and a prediction coefficient code. By referring to the coding table, the prediction encoding unit 14 determines a prediction coefficient code idxcm(k) (m=1, 2 or m=1) for the difference value for each of the frequency ranges k of a prediction coefficient cm(k) (m=1, 2 or m=1). Like the similarity code, the prediction coefficient code may be a variable-length code having a decreasing code length corresponding to increasing appearance frequency of a difference value, such as Huffman code or arithmetic code. Note that the quantization table and the coding table are prestored in a memory (not illustrated) of the prediction encoding unit 14. As illustrated in
The second downmix unit 13 downmixes two of the three frequency signals, that is, the left-side frequency signal L0(k, n), the right-side frequency signal R0(k, n), and the center channel signal C0(k, n), to generate a 2-channel stereo frequency signal. More specifically, the second downmix unit 13 outputs, for example, the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n) serving as a stereo frequency signal to the channel signal encoding unit 15.
The channel signal encoding unit 15 encodes the stereo frequency signal received from the second downmix unit 13. Note that the channel signal encoding unit 15 includes the SBR encoding unit 16, the frequency-time transform unit 17, and the AAC encoding unit 18.
Each time the SBR encoding unit 16 receives the stereo frequency signal, the SBR encoding unit 16 encodes a high-frequency component of the stereo frequency signal (a component included in the high-frequency range) using an SBR coding technique for each of the channels. Thus, the SBR encoding unit 16 generates an SBR code. For example, as described in Japanese Laid-open Patent Publication No. 2008-224902, the SBR encoding unit 16 makes a copy of a low frequency component of the frequency signal of each of the channels having a strong correlation with the high frequency component to be SBR-coded. Note that the low frequency component is a component of the frequency signal of each of the channels included in a low frequency range that is lower than the high frequency range including the high frequency component to be encoded by the SBR encoding unit 16. The low frequency component is encoded by the AAC encoding unit 18 (described in more detail below). Thereafter, the SBR encoding unit 16 adjusts the power of the duplicated high frequency component so that the power of the duplicated high frequency component is the same as the power of the original high frequency component. In addition, the SBR encoding unit 16 considers, as auxiliary information, a high frequency component among the original high frequency components that is difficult to approximate the original even when the low frequency component is copied due to a large difference from the low frequency component. Thereafter, the SBR encoding unit 16 encodes information indicating a positional relationship between the low frequency component used for copying and a corresponding high frequency component, a power adjustment amount, and the auxiliary information by quantizing the information. Subsequently, the SBR encoding unit 16 outputs SBR code representing the above-described encoded information to the multiplexing unit 20.
Each time the frequency-time transform unit 17 receives the stereo frequency signal, the frequency-time transform unit 17 converts the stereo frequency signal for each of the channels into a stereo signal in the time domain. For example, when the time-frequency transform unit 11 uses a QMF filter bank, the frequency-time transform unit 17 performs frequency-time transform on the stereo frequency signal of each of the channels using the following complex QMF filter bank:
where IQMF(k, n) represents a complex QMF having a time n and a frequency k as variables. Note that if the time-frequency transform unit 11 uses a different time-frequency transform process, such as fast Fourier transform, discrete cosine transform, or modified discrete cosine transform, the frequency-time transform unit 17 uses the inverse transform of the different time-frequency transform process. The frequency-time transform unit 17 obtains a stereo signal of each of the channels by performing frequency-time transform on the frequency signal of the channel and outputs the stereo signal to the MC encoding unit 18.
Each time the AAC encoding unit 18 receives the stereo signal of each of the channels, the AAC encoding unit 18 encodes the low frequency component of the signal of the channel using the AAC coding technique. Thus, the AAC encoding unit 18 generates an AAC code. Accordingly, the AAC encoding unit 18 may use the technique described in, for example, Japanese Laid-open Patent Publication No. 2007-183528. More specifically, the AAC encoding unit 18 performs discrete cosine transform on the received stereo signal of each of the channels and reconstructs a stereo frequency signal. Thereafter, the AAC encoding unit 18 computes the perceptual entropy (PE) from the reconstructed stereo frequency signal. PE represents the amount of information used to quantize a block without a listener perceiving any noise.
PE has characteristics so as to have a large value for sound having a signal level that varies in a short time, such as attack transients (for example, percussive attack transients). Accordingly, for a frame having a relatively large PE value, the AAC encoding unit 18 reduces the window. In contrast, for a frame having a relatively small PE value, the AAC encoding unit 18 increases the window. For example, a short window includes 256 samples, and a long window includes 2048 samples. The AAC encoding unit 18 performs modified discrete cosine transform (MDCT) on a stereo signal of each of the channels using a window having a determined length and converts the stereo signal to a set of MDCT coefficients. Thereafter, the AAC encoding unit 18 quantizes the set of MDCT coefficients and variable-length-encodes the quantized set of MDCT coefficients. Subsequently, the AAC encoding unit 18 outputs the variable-length-encoded set of MDCT coefficients and information regarding the quantization coefficient to the multiplexing unit 20 in the form of an AAC code.
The spatial information encoding unit 19 generates MPEG Surround code (hereinafter referred to as “MPS code”) from the spatial information received from the first down-mix unit 12 and the prediction coefficient code received from the prediction encoding unit 14.
The spatial information encoding unit 19 refers to the quantization table indicating a correspondence between the value of similarity in the spatial information and the index value. By referring to the quantization table, the spatial information encoding unit 19 determines the index value that is the closest to the similarity value ICCi(k) (i=L, R, 0) for each of the frequency ranges. Note that the quantization table is prestored in, for example, a memory (not illustrated) of the spatial information encoding unit 19.
Subsequently, the spatial information encoding unit 19 computes a difference value between two indices along the frequency direction for each of the frequency ranges. For example, when the index value for the frequency range k is 3 and if the index value for the frequency range (k−1) is 0, the spatial information encoding unit 19 sets the difference value between the indices for the frequency range k to 3.
The spatial information encoding unit 19 refers to the coding table indicating a correspondence between a difference value between indices and a similarity code. By referring to the coding table, the spatial information encoding unit 19 determines the similarity code idxicci(k) (i=L, R, 0) for the difference value between indices for each of the frequencies having a similarity ICCi(k) (i=L, R, 0). Note that the coding table is prestored in, for example, the memory of the spatial information encoding unit 19. In addition, the similarity code may be a variable-length code having an increasing code length corresponding to decreasing appearance of the difference value, such as Huffman code or arithmetic code.
The spatial information encoding unit 19 refers to the quantization table indicating a relationship between a value of intensity difference and an index value. By referring to the quantization table, the spatial information encoding unit 19 determines the index value that is the closest to the intensity difference CLDj(k) (j=L, R, C, 1, 2) for the frequency range k. Thereafter, the spatial information encoding unit 19 computes a difference value between indices along the frequency direction for each of the frequency ranges. For example, when the index value for the frequency range k is 2 and if the index value for the frequency range (k−1) is 4, the spatial information encoding unit 19 sets the difference value between indices for the frequency range k to −2.
The spatial information encoding unit 19 refers to the coding table indicating a relationship between a difference value between indices and an intensity difference code. By referring to the coding table, the spatial information encoding unit 19 determines an intensity difference code idxcldj(k) (j=L, R, C) of the intensity difference CLDj(k) for each of the frequency ranges k. Like the similarity code, the intensity difference code may be a variable-length code having a decreasing code length corresponding to increasing appearance of the difference value, such as Huffman code or arithmetic code. Note that the quantization table and the coding table are prestored in the memory of the spatial information encoding unit 19.
The spatial information encoding unit 19 encodes the residual signal res(k, n) and generates the residual code. In addition, the spatial information encoding unit 19 generates the MPS code using the residual code, the similarity code idxicci(k), the intensity difference code idxcldj(k), and the prediction coefficient code idxcm(k). For example, the spatial information encoding unit 19 generates the MPS code by arranging the similarity code idxicci(k), the intensity difference code idxcldj(k), and the prediction coefficient code idxcm(k) in a predetermined order. The predetermined order is described in, for example, ISO/IEC23003-1:2007. Thereafter, the spatial information encoding unit 19 outputs the generated MPS code to the multiplexing unit 20.
The multiplexing unit 20 multiplexes the AAC code, the SBR code, and the MPS code by arranging these codes in a predetermined order. Thereafter, the multiplexing unit 20 outputs the encoded audio signal generated through the multiplexing operation.
These units of the audio decoding device 2 are formed as independent circuits. Alternatively, these units of the audio decoding device 2 may be formed as a single integrated circuit unit having circuits of these units integrated into the audio decoding device 2. Still alternatively, these units of the audio decoding device 2 may be formed as functional modules realized by a computer program executed by a processor included in the audio decoding device 2.
The demultiplexer 31 receives a coded audio signal illustrated in
The spatial information decoding unit 33 receives the MPS code other than the residual code from the demultiplexer 31. Thereafter, the spatial information decoding unit 33 decodes the prediction coefficients c1(k) and c2(k) from the MPS code using the example of the quantization table for a prediction coefficient illustrated in
The AAC decoding unit 38 receives the AAC code from the demultiplexer 31 and decodes a low frequency component of the signal of each of the channels using the AAC decoding technique. Thereafter, the AAC decoding unit 38 outputs the decoded low frequency component to the time-frequency transform unit 39. Note that as the AAC decoding technique, the technique described in ISO/IEC 13818-7 may be employed, for example.
The time-frequency transform unit 39 converts the signal of each of the channels, that is, the time signal decoded by the AAC decoding unit 38, into a frequency signal using the QMF filter bank described in ISO/IEC14496-3, for example. Thereafter, the time-frequency transform unit 39 outputs the frequency signal to the SBR decoding unit 40. Alternatively, the time-frequency transform unit 39 may perform time-frequency transform using the following complex QMF filter bank:
where QMF(k, n) represents a complex QMF having a time n and a frequency k as the variables.
The SBR decoding unit 40 decodes the high frequency component of the signal of each of the channel using an SBR decoding technique. Note that as the SBR decoding technique, the technique described in ISO/IEC14496-3 may be employed, for example.
The channel signal decoding unit 32 outputs, to the prediction decoding unit 35, the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n), which serve as the stereo frequency signals of the channels and which are decoded by the AAC decoding unit 38 and the SBR decoding unit 40. Note that the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n) may be referred to as a “first channel signal” and a “second channel signal”, respectively.
The residual signal decoding unit 34 receives the residual code from the demultiplexer 31. Thereafter, the residual signal decoding unit 34 outputs, to the prediction decoding unit 35, the residual signal res(k, n) obtained by decoding the residual code. For convenience of description, according to the first exemplary embodiment, the residual signal res(k, n) is included only the first frequency range and not in the second frequency range.
Through prediction decoding, the prediction decoding unit 35 obtains the center-channel signal C0(k, n) from the prediction coefficients c1(k) and c2(k) received from the spatial information decoding unit 33 and the stereo frequency signals received from the channel signal decoding unit 32, that is, the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n). For example, the prediction decoding unit 35 may compute a prediction-decoded center-channel signal C′0(k, n) from the stereo frequency signal (the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n)) and the prediction coefficients c1(k) and c2(k) as follows:
C′
0(k,n)=c1(k)·L0(k,n)+c2(k)·R0(k,n) (Expression 14)
Note that as may be seen from (Expression 9) and (Expression 14), the prediction-decoded center-channel signal C′0(k, n) is equivalent to the prediction-encoded center-channel signal C′0(k, n).
In addition, in the first frequency range in which the residual signal is received from the residual signal decoding unit 34, the prediction decoding unit 35 may obtain a residual corrected center-channel signal C″0(k, n) through prediction decoding using the residual signal res(k, n) defined by (Expression 11) as follows:
C″
0(k,n)=C′0(k,n)+res(k,n) (Expression 15)
Note that the residual corrected center-channel signal C″0(k, n) is also referred to as a “corrected third channel signal”. In addition, the residual corrected center-channel signal C″0(k, n) corrected using the residual signal res(k, n) may be expressed by using a real part and an imaginary part as follows:
C″
0(k,n)=C0 Re(k,n)+C0 Im(k,n)
C
0 Re(k,n)=C′0 Re(k,n)+resRe(k,n)
C
0 Im(k,n)=C′0 Im(k,n)+resIm(k,n) (Expression 16)
where resRe represents the real part of the residual signal, and resim represents the imaginary part of the residual signal.
As described above, in the first frequency range including the residual signal res(k, n), the prediction decoding unit 35 may obtain, through prediction decoding, the center-channel signal C0(k, n) prior to prediction encoding without any error if the residual signal res(k, n) is not lost in quantization at the time of encoding. In contrast, in the second frequency range that does not include the residual signal res(k, n), the center-channel signal C0(k, n) is to be obtained through prediction decoding using only the stereo frequency signals and the prediction coefficients c1(k) and c2(k). As illustrated in the example of the quantization table for a prediction coefficient in
The present inventors have discovered new knowledge about the prediction coefficients c1(k) and c2(k) and the frequency range.
The reason for this is discussed below. First, it is widely known that like the above-described SBR, there is a correlation between the low-frequency range and the high-frequency range of an audio signal. Prediction-encoding expresses a relationship among L0, R0, and C0 using the vector decomposition equation in (Expression 9). Since L0, R0, and C0 are audio signals, there is a correlation between the low-frequency range and the high-frequency range thereof. From (Expression 9), the expression for prediction-encoding of a low-frequency range C0Low is expressed as follows: C0Low=c1Low·L0Low+c2Low·R0Low, and the expression for prediction-encoding of a high-frequency range C0high is expressed as follows: C0High=c1High·L0High+c2High·R0High. Then, in general, the high-frequency range has power attenuation more than the low-frequency range. Accordingly, assume that the attenuation of the high-frequency range is k times the attenuation of the low-frequency range. Then, the following expression may be obtained: C0High=k·c1Low·L0Low+k·c2Low·R0Low. Thus, c1Low=c1High, and c2Low=c2High. That is, in the low-frequency range and the high-frequency range, the prediction coefficients c1(k) are close to each other, and the prediction coefficients c2(k) are close to each other. Conversely, when, in the low-frequency range and the high-frequency range, the prediction coefficients c1(k) are close to each other and if the prediction coefficients c2(k) are close to each other, there is a correlation between the low-frequency range and the high-frequency range of an audio signal.
By using such a phenomenon, even in the second frequency range in which the residual signal res(k, n) is not included, the prediction decoding unit 35 may obtain the center-channel signal C0(k, n) prior to prediction encoding by prediction decoding. At that time, the center-channel signal C0(k, n) has a sound quality that is the same as the sound quality obtained when the residual signal res(k, n) is used. This operation is described in detail below.
As illustrated in
The prediction decoding unit 35 refers to the first data table 901. In the frequency ranges k1 to k4 corresponding to the first frequency range that includes the residual signal res(k, n), the prediction decoding unit 35 obtains a residual correction center channel signal C″0(k, n) through prediction decoding using (Expression 14) and (Expression 15). Thereafter, the prediction decoding unit 35 determines whether a pair of the prediction coefficients c1(k) and c2(k) stored for the frequency ranges k5 to k8 corresponding to the second frequency range that does not include a residual signal match any pair of the prediction coefficients c1(k) and c2(k) stored for the frequency ranges k1 to k4. In the example illustrated in
In addition, if the prediction coefficients c1(k) and c2(k) set in frequency ranges kB5 to KB8 corresponding to the second frequency range are within a predetermined threshold value from the prediction coefficients c1(k) and c2(k) set in frequency ranges kB1 to KB4, the prediction decoding unit 35 may set the “correction determination” flag to “Yes”. At that time, the predetermined threshold value may be appropriately determined by, for example, referring to the values of the quantization table illustrated in
The computing unit 41 included in the prediction decoding unit 35 illustrated in
C″
0(k,n)=c′1(k)·L0(k,n)+c′2(k)·R0(k,n) (Expression 17)
Note that the prediction coefficients c1(k) and c2(k) of the first frequency range including a residual signal may be referred to as a “first prediction coefficient”, the prediction coefficients c1(k) and c2(k) of the second frequency range not including a residual signal may be referred to as a “second prediction coefficient, and the correction prediction coefficients c′1(k) and c′2(k) may be referred to as a “second correction prediction coefficient”.
When computing the correction prediction coefficients c′1(k) and c′2(k) in (Expression 17), the computing unit 41 may compute any values that minimize an error in prediction decoding as the correction prediction coefficients c′1(k) and c′2(k) without limitation of the value and the range of the prediction coefficient stored in the example of the quantization table for the prediction coefficient illustrated in
The computing unit 41 stores the computed correction prediction coefficients c′1(k) and c′2(k) for the frequency range k2 in the correction prediction coefficient entry of a second data table 902 (illustrated in
C′″
0(k,n)=c′1(k)·L0(k,n)+c′2(k)·R0(k,n) (Expression 18)
The technical benefit of the operation is described below. An error in the residual correction center channel signal C″0(k, n) has already been corrected by using the residual signal res(k, n) expressed by (Expression 15). Accordingly, the sound quality of the residual correction center channel signal C″0(k, n) is basically the same as that of the center-channel signal C0(k, n). By using the correction prediction coefficients c′1(k) and c′2(k) computed without limitation of the value and the range of the prediction coefficient stored in the example of the quantization table for a prediction coefficient illustrated in
That is, the correction prediction coefficients c′1(k) and c′2(k) are replacements of the residual signal res(k, n) as parameters of another dimension. In such a case, as illustrated in
Note that the prediction decoding unit 35 computes the prediction-decoded center-channel signal C′0(k, n) for the frequency range having “correction determination” of “No” in the first data table 901 illustrated in
The matrix conversion unit 36 performs matrix conversion on the left-side frequency signal L0(k, n), the right-side frequency signal R0(k, n), and the center-channel signal C0(k, n) (one of the prediction-decoded center-channel signal C′0(k, n), the residual correction center channel signal C″0(k, n), and the replacement correction center channel signal C′″0(k, n)) received from the prediction decoding unit 35 as follows:
where Lout(k, n), Rout(k, n), and Cout(k, n) are the frequency signals of the left channel, the right channel, and the center channel, respectively. In addition, if (Expression 19) is expressed as a signal using a real part and an imaginary part, (Expression 19) is rewritten as follows:
The matrix conversion unit 36 performs an upmix process using the spatial information (the similarity ICCi(k) and the intensity difference CLDj(k)) received from the spatial information decoding unit 33 and generates a 5.1 ch audio signal. The upmix process may be performed using, for example, the technique described in ISO/IEC23003-1.
The frequency-time transform unit 37 converts each of the signals received from the matrix conversion unit 36 from a frequency signal format to a time signal format using the following QMF filter bank:
As described above, in the audio decoding device according to the first exemplary embodiment, an error occurring in encoding for the frequency range not including a residual signal may be virtually corrected. Thus, the sound quality after prediction decoding may be improved.
The demultiplexer 31 receives a coded audio signal from the outside and demultiplexes the coded audio signal into encoded AAC code and SBR code and an MPS code including the residual code (step S1101).
The spatial information decoding unit 33 receives the MPS code other than the residual code from the demultiplexer 31. Thereafter, the spatial information decoding unit 33 decodes the MPS code into the prediction coefficients c1(k) and c2(k) using the example of the quantization table for prediction coefficients illustrated in
The AAC decoding unit 38 receives the AAC code from the demultiplexer 31 and decodes the AAC code into the low frequency component of a signal of each of the channels using an AAC decoding technique. Thereafter, the AAC decoding unit 38 outputs the low frequency component to the time-frequency transform unit 39. The time-frequency transform unit 39 converts the signal of each of the channels, which is a time signal decoded by the AAC decoding unit 38, into a frequency signal and outputs the frequency signal to the SBR decoding unit 40. The SBR decoding unit 40 obtains the high frequency component of the signal of each of the channels through decoding using an SBR decoding technique. The channel signal decoding unit 32 outputs the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n) to the prediction decoding unit 35 (step S1103). Note that the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n) are the stereo frequency signals of the channels decoded by the AAC decoding unit 38 and the SBR decoding unit 40.
The residual signal decoding unit 34 receives the residual code from the demultiplexer 31. Thereafter, the residual signal decoding unit 34 outputs, to the prediction decoding unit 35, the residual signal res(k, n) obtained by decoding the residual code (step S1104).
The prediction decoding unit 35 determines whether the frequency range Ki includes a residual signal res(ki, n) by referring to the first data table 901 illustrated in
If the frequency ranges includes the residual signal res(ki, n) (Yes in step S1105), the prediction decoding unit 35 computes the residual correction center channel signal C″0(k, n) using (Expression 15) (step S1106).
However, if the frequency ranges Ki does not include the residual signal res(ki, n) (No in step S1105), the prediction decoding unit 35 refers to the first data table 901 illustrated in
If a frequency range having the prediction coefficients c1(k) and c2(k) that are the same as or within the threshold value from those of the frequency range Ki and including a residual signal is present (Yes in step S1107), the computing unit 41 computes correction prediction coefficients c′1(k) and c′2(k) using (Expression 17). In addition, the computing unit 41 computes the replacement correction center channel signal C′″0(k, n) using (Expression 18) (step S1108).
However, if a frequency range having the prediction coefficients c1(k) and c2(k) that are the same as or within the threshold value from those of the frequency range Ki and including a residual signal is not present (No in step S1107), the prediction decoding unit 35 computes the prediction-decoded center-channel signal C′0(k, n) using (Expression 18) (step S1109). Note that the prediction decoding unit 35 outputs, to the matrix conversion unit 36, one of the prediction-decoded center-channel signal C′0(k, n) obtained through prediction decoding, the residual correction center channel signal C″0(k, n), and the replacement correction center channel signal C′″0(k, n) and the stereo frequency signal for each of the frequency ranges.
The matrix conversion unit 36 performs matrix conversion using one of the prediction-decoded center-channel signal C′0(k, n), the residual correction center channel signal C″0(k, n), and the replacement correction center channel signal C′″0(k, n) and the stereo frequency signal (the left-side frequency signal L0(k, n) and the right-side frequency signal R0(k, n)) received from the prediction decoding unit 35 (step S1110).
In addition, the matrix conversion unit 36 upmixes the signals into a multichannel audio signal (for example, a 5.1 ch audio signal) using the spatial information (the similarity ICCi(k) and the intensity difference CLDj(k)) received from the spatial information decoding unit 33 (step S1111).
The frequency-time transform unit 37 converts each of the signals received from the matrix conversion unit 36 from a frequency signal format into a time signal format. Thereafter, the frequency-time transform unit 37 outputs the time signal to the outside (step S1112). Thus, the audio decoding device 2 completes the decoding process.
Note that the audio decoding device 2 may simultaneously perform the processes in steps S1102 and S1104. Alternatively, the audio decoding device 2 may perform either one of the processes in steps S1102 and S1104 first.
The control unit 1201 is a central processing unit (CPU) of a computer that controls the units, performs a calculation operation, and processes data. In addition, the control unit 1201 serves as a processor that executes the program stored in the main memory unit 1202 and the auxiliary storage unit 1203. The control unit 1201 receives data from the input unit 1207 and a storage unit, processes the data, and outputs the processed data to the display unit 1208 and the storage unit.
A read only memory (ROM) or a random access memory (RAM) is used as the main memory unit 1202. The main memory unit 1202 permanently or temporarily stores programs to be executed by the control unit 1201 and data. Examples of the programs include an operating system (OS), which is basic software, and application software.
For example, a hard disk drive (HDD) is used as the auxiliary storage unit 1203. The auxiliary storage unit 1203 stores data related to the application software.
The drive unit 1204 reads a program stored in a recording medium 1205, such as a flexible disk, and installs the program in the auxiliary storage unit 1203.
The recording medium 1205 further stores a predetermined program. The program stored in the recording medium 1205 is installed in the audio decoding device 2 via the drive unit 1204. The installed predetermined program may be executed by the audio decoding device 2.
The network I/F unit 1206 serves as an interface between the audio decoding device 2 and a peripheral device having a communication function and being connected to the audio decoding device 2 via a network, such as a local area network (LAN) or a wide area network (WAN). The network is constructed in a wired and/or wireless data transmission line.
The input unit 1207 includes a keyboard having a cursor key, a number key, and a variety of function keys, and a mouse or slide pad for selecting a key in a display screen of the display unit 1208. In addition, the input unit 1207 serves as a user interface for a user to input an instruction and data to the control unit 1201.
The display unit 1208 includes, but not limited to, a cathode ray tube (CRT) or a liquid crystal display (LCD), which displays data received from the control unit 1201.
Note that the above-described audio decoding process may be realized in the form of a computer program executed by a computer. By installing the program in, for example, a server and causing a computer to execute the program, the audio decoding process may be realized.
Alternatively, by recording the program in the recording medium 1205 and causing a computer or a mobile terminal to read the program recorded in the recording medium 1205, the above-described audio decoding process may be realized. A variety of types of recording medium may be used as the recording medium 1205. Examples of the recording medium 1205 include a recording medium that optically, electrically, or magnetically records information therein, such as a compact disk-read only memory (CD-ROM), a flexible disk, or a magnetooptic disk, and a semiconductor memory that electrically records information, such as a flash memory.
The hardware configuration of the audio encoding device 1 may be similar to the hardware configuration of the audio decoding device 2 illustrated in
The computer program that causes a computer to realize the functions of the units of the audio decoding device may be stored in a recording medium, such as a semiconductor memory, a magnetic recording medium, or an optical recording medium, and may be distributed. In addition, the multichannel audio signal to be decoded is not limited to a 5.1 ch audio signal. For example, an audio signal to be decoded may be an audio signal having a plurality of channels, such as a 3 ch, 3.1 ch, or 7.1 ch audio signal.
In addition, the audio decoding device according to the above-described exemplary embodiment may be integrated into a variety of apparatuses used for transmitting, recording, or receiving an audio signal (for example, a computer, a video signal recorder, or a video transmission apparatus).
Even in the audio encoding and decoding system according to the second exemplary embodiment, in a frequency range that does not include a residual signal, an error occurring in an encoding operation may be virtually corrected. As a result, the sound quality in prediction decoding may be improved.
Note that in the above-described exemplary embodiments, the physical configurations of the components of each of the devices may differ from those in the drawings. That is, distribution and integration of the devices are not limited to those in the drawings. All or some of the devices may be functionally or physically distributed or integrated into any structure in accordance with the processing load and the use conditions of the devices.
In another exemplary embodiment, the channel signal encoding unit of an audio encoding device may perform an encoding operation using another encoding technique. For example, the channel signal encoding unit may encode all of the frequency signals using the AAC coding technique. In such a case, the SBR encoding unit 16 illustrated in
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2012-164185 | Jul 2012 | JP | national |