Patent Description:
A coding technique for compressing audio signals at a low bit rate is a technique essential to realize the effective use of radio waves and so on in mobile communication. Meanwhile, there has recently been an increasing desire to improve audio quality in telephone communication, and implementation of telephone communication services that produce a greater sensation of presence is anticipated. To implement such services, it is necessary to code audio signals having a wide frequency band at a high bit rate. However, this approach conflicts with the effective use of radio waves and frequency bands.

Now, an audio signal coding technique adopted by Standard G. <NUM> (NPL <NUM>), for example, isstudied.

In Standard G. <NUM>, upon coding an audio signal, a frequency transform is performed on the audio signal, and predetermined bits are allocated to a spectrum obtained as a result of the frequency transform. Specifically, the spectrum is divided into sub-bands having predetermined frequency bandwidths, and a unit (a unit having a necessary number of bits) used in quantization based on lattice vector quantization is allocated to each of the sub-bands in decreasing order of energy as follows.

<FIG> illustrates the sub-band energy of each sub-band. The horizontal axis represents the frequency, and the vertical axis represents the amplitude on a logarithmic scale. In the figure, the sub-band energy of each sub-band is represented by a horizontal line instead of a point. The length of each horizontal line represents the frequency bandwidth of each sub-band.

<FIG> and <FIG> are diagrams illustrating examples of the results of bit allocation to each sub-band in a case of using a coding method specified in Standard G. In the figures, the horizontal axis represents the frequency, and the vertical axis represents the allocated number of bits. <FIG> illustrates a case of a bit rate of <NUM> kbit/s, and <FIG> illustrates a case of a bit rate of <NUM> kbit/s.

In the case of <NUM> kbit/s, an abundant bit budget is available for allocation, and therefore, nine bits, which is the maximum value, can be allocated to a large number of sub-bands (spectra), and the quality of audio signals can be maintained at a high level.

in contrast, in the case of <NUM> kbit/s, no sub-band is allocated nine bits, which is the maximum value, but every sub-band is allocated some bits. Accordingly, it is considered that degradation in the quality of audio signals can be suppressed and the effective use of radio waves and frequency bands can be realized.

NPL <NUM>: ITU-T Standard G. <NUM>, <NUM>.

<CIT> discloses an application, wherein an input signal of one of plural channels is converted by a converting circuit into frequency components which are separated into tonal components and noise components in a signal comment separating circuit. The tonal components and the signal components are encoded by a tonal component encoding circuit and a noise component encoding circuit, respectively. The amount of bytes allocated to the noise components in the respective channels is determined by a byte allocation circuit based upon time changes of the sum of the scale factors of the respective channels.

However, the effective use of radio waves and frequency bands needs to be further promoted. Here, in a case of coding an audio signal having a sampling frequency of about <NUM> at a low bit rate of <NUM> kbps/s or less by using the above-described method adopted by Standard G. <NUM>, it is not possible to reserve a unit (a number of bits) used in quantization of all sub-bands, which is a problem.

<FIG> is a diagram illustrating an example of the result of bit allocation to each sub-band in a case of using the coding method specified in Standard G. <NUM> at <NUM> kbit/s. As illustrated, bit allocation fails not only in a high-frequency range but also, depending on the situation, in a low-frequency range, which is essential for hearing. Consequently, coding of spectra in the corresponding sub-bands is not possible, resulting in significant degradation in the quality of audio signals.

To solve such a problem, a method for dynamically changing a bit allocation method may be employed (PTL <NUM>).

However, the bit allocation method is changed while a single coding method (quantization method) is used without changing the coding method (quantization method), and therefore, this approach to degradation in the quality of audio signals has a limited effect.

The present disclosure provides a coding technique and a decoding technique for realizing high-quality audio signals while reducing the overall bit rate.

According to the invention, there are provided an apparatus as set forth in claim <NUM>, an apparatus as set forth in claim <NUM>, a method as set forth in claim <NUM>, a method as set forth in claim <NUM> and a computer program as set forth in claim <NUM>.

Note that general or specific embodiments may be implemented as a system, a method, an integrated circuit, or a computer program, or any selective combination of a system, an apparatus, a method, an integrated circuit, and a computer program.

With the coding apparatus, decoding apparatus, and so on according to the present disclosure, it is possible to code and decode high-quality audio signals while reducing the overall bit rate.

Hereinafter, configurations and operations in embodiments of the present disclosure will be described with reference to the drawings. Audio signals, which are input signals to a coding apparatus of the present disclosure and output signals from a decoding apparatus of the present disclosure, conceptually include speech signals, music signals having a wider band, and signals in which these types of signals are mixed.

In the present disclosure, "input audio signals" conceptually include music signals, speech signals, and signals in which both types of signals are mixed. The term "quantized sub-band energy" means energy obtained by quantizing energy of a sub-band, which is the sum or average of energy of sub-band spectra in a sub-band, and energy of a sub-band can be obtained by calculating the square sum of sub-band spectra in the sub-band, for example. The term "tonality" means the degree to which a spectral peak is produced in a specific frequency component, and the result of analyzing tonality can be represented by a numerical value, a coding, or the like. The term "pulse coding" means coding in which a spectrum is approximately represented using pulses.

The term "relatively low" means a case of being lower as a result of a comparison between sub-bands and corresponds to a case of being lower than the average of all sub-bands or a case of being lower than a predetermined value. The term "sub-band in a high-frequency range" means a sub-band that is positioned closer to a high-frequency side among a plurality of sub-bands.

Note that a first (spectrum) quantizer, a second (spectrum) quantizer, a first (spectrum) decoder, a second (spectrum) decoder, a first sub-band, a second sub-band, a third sub-band, a fourth sub-band, a first number of bits, a second number of bits, a third number of bits, and a fourth number of bits described in the embodiments and claims are distinguished from each other to represent not the order thereof but their categories.

<FIG> is a block diagram illustrating a configuration and an operation of an audio signal coding apparatus <NUM> according to a first embodiment. The audio signal coding apparatus <NUM> illustrated in <FIG> includes a time-frequency transformer <NUM>, a sub-band energy quantizer <NUM>, a tonality calculator <NUM>, a bit allocator <NUM>, a normalizer <NUM>, a first spectrum quantizer <NUM>, a second spectrum quantizer <NUM>, and a multiplexer <NUM>. To the multiplexer <NUM>, an antenna A is connected. The audio signal coding apparatus <NUM> and the antenna A together constitute a terminal apparatus or a base station apparatus.

The time-frequency transformer <NUM> performs a transform on an input audio signal in a time domain into a frequency domain and generates an input audio signal spectrum (hereinafter referred to as "spectrum"). The time-frequency transform is performed by using MDCT (modified discrete cosine transform), for example, but is not limited to this transform. The time-frequency transform may be performed by using DCT (discrete cosine transform), DFT (discrete Fourier transform), or Fourier transform, for example.

The time-frequency transformer <NUM> divides the spectrum into sub-bands, which are predetermined frequency bands. The predetermined frequency bands may be spaced at equal intervals or may be spaced at different intervals, specifically, at long intervals in a high-frequency range and at short intervals in a low-frequency range, for example.

The time-frequency transformer <NUM> outputs spectra obtained by division into the sub-bands to the sub-band energy quantizer <NUM>, to the tonality calculator <NUM>, and to the normalizer <NUM> as sub-band spectra.

The sub-band energy quantizer <NUM> obtains, for each sub-band, sub-band energy, which is energy of the sub-band spectrum, quantizes the sub-band energy, and obtains quantized sub-band energy. Specifically, the sub-band energy can be obtained by calculating the square sum of sub-band spectra in the sub-band; however, the calculation is not limited to this. The sub-band energy can be obtained by performing integration on the amplitudes of sub-band spectra for each sub-band, for example. In a case of averaging the sub-band energy, the square sum is divided by the number of spectra (sub-band width) in the sub-band. The sub-band energy thus obtained is quantized in accordance with a predetermined step width.

The sub-band energy quantizer <NUM> outputs the obtained quantized sub-band energy to the normalizer <NUM> and to the bit allocator <NUM> and outputs coded quantized sub-band energy obtained by coding the quantized sub-band energy to the multiplexer <NUM>.

The tonality calculator <NUM> analyzes sub-band spectra included in each sub-band and determines tonality of the sub-band. Tonality is the degree to which a spectral peak is produced in a specific frequency component and conceptually includes peakiness, which means that a noticeable peak is present. Tonality can be quantitatively obtained by calculating the ratio between the amplitude of the average spectrum in a target sub-band and the amplitude of the maximum spectrum present in the sub-band, for example. It is defined that the spectra of the sub-band have tonality (peakiness) if the obtained value exceeds a predetermined threshold. In this embodiment, the tonality calculator <NUM> generates a peaky/tonal flag set to one if the obtained value exceeds the predetermined value or generates a peaky/tonal flag set to zero if the obtained value is equal to or smaller than the predetermined threshold, and outputs the peaky/tonal flag to the bit allocator <NUM> and to the multiplexer <NUM> as an analysis result. The tonality calculator <NUM> may output as an analysis result the above-described ratio as is.

The tonality calculator is effective as follows.

Under a low-bit rate condition, in order to efficiently quantize a spectrum in which the spectral energy is distributed throughout a sub-band, such as a noise-like spectrum, a method based on a pitch filter (that is, a method in which a high-frequency-range spectrum is expressed by using a low-frequency-range spectrum) is effective. Therefore, the degree of energy distribution within a sub-band is determined from the measure of peakiness/tonality (the ratio between the peak power and the average power or the like) of the spectrum in the sub-band, and if the peakiness/tonality of the spectrum is not high, the sub-band is subjected to quantization based on a pitch filter.

The bit allocator <NUM> refers to the quantized sub-band energy and the peaky/tonal flag of each sub-band and allocates bits from a bit budget, which corresponds to the total number of bits available for coding, to the sub-band spectrum in each sub-band. Specifically, the bit allocator <NUM> calculates and determines a first number of bits, which is the number of bits to be allocated to first sub-bands, which are sub-bands on which quantization is performed by the first spectrum quantizer, and outputs the result to the first spectrum quantizer <NUM> as allocated-bit information. Further, the bit allocator <NUM> selects and identifies second sub-bands, which are sub-bands on which quantization is performed by the second spectrum quantizer <NUM>, and outputs the result to the second spectrum quantizer <NUM> as a quantizing mode.

The configuration and operation of the bit allocator <NUM> are described in detail below.

Note that, in this embodiment, the bit allocator <NUM> refers to the peaky/tonal flag and the quantized sub-band energy of each sub-band in this order; however, the order of reference may be any order.

Regarding the second sub-bands, which are subjected to quantization by the second spectrum quantizer <NUM>, sub-bands in the entire band may be candidate second sub-bands. In general, a band having lowquantized sub-band energy and a band having low tonality are mainly present in a high-frequency range, and therefore, only sub-bands present in a specific high-frequency range may be targeted. For example, only four or five sub-bands in a high-frequency range may be targeted.

An audio signal usually has high tonality in a low-frequency range and low tonality in a high-frequency range, and therefore, sub-bands in a high-frequency range are substantially subjected to quantization based on a pitch filter. Accordingly, an alternative method may be employed in which all sub-bands in a higher-frequency range than a sub-band selected on the basis of tonality may be subjected to quantization based on a pitch filter, and only the sub-band numbers may be transmitted as the quantizing mode.

The normalizer <NUM> normalizes (divides) each sub-band spectrum by the input quantized sub-band energy to generate a normalized sub-band spectrum. As a result, the difference in the magnitude of the amplitude between the sub-bands is normalized. The normalizer <NUM> outputs the normalized sub-band spectrum to the first spectrum quantizer <NUM> and to the second spectrum quantizer <NUM>.

Note that the normalizer <NUM> may have any configuration.

Although the normalizer <NUM> is configured as one component in this embodiment, the normalizer <NUM> may be provided in the preceding stage of the first spectrum quantizer <NUM> and in the preceding stage of the second spectrum quantizer <NUM>, that is, may be configured as two components.

The first spectrum quantizer <NUM> is an example of a first quantizer and quantizes sub-band spectra belonging to the first sub-bands on which quantization is to be performed by the first spectrum quantizer <NUM> among the input normalized sub-band spectra by using the first number of bits allocated by the bit allocator <NUM>. The first spectrum quantizer <NUM> outputs the result of quantization to the second spectrum quantizer <NUM> as quantized spectra and outputs first coded information obtained by coding the quantized spectra to the multiplexer <NUM>.

The first spectrum quantizer <NUM> uses a pulse coder. Examples of the pulse coder include a lattice vector quantizer that performs lattice vector quantization and a pulse coder that performs pulse coding in which a sub-band spectrum is approximately represented by a small number of pulses. That is, any quantizer may be used as long as the quantizer employs a quantization method suitable to quantization of a spectrum having high tonality or a quantization method using a small number of pulses.

Note that, at an extremely low bit rate, a higher effect of maintaining audio quality can be expected with quantization using pulse coding in which a sub-band spectrum is approximately represented by a small number of pulses than with lattice vector quantization.

The second spectrum quantizer <NUM> is an example of a second quantizer and can employ a quantization method using an extended band (prediction model using a pitch filter) as described below, for example.

Here, a pitch filter is a processing block that performs a process represented by expression <NUM> below.

In general, a pitch filter refers to a filter that emphasizes a pitch cycle (T) for a signal on a time axis (emphasizes a pitch component on a frequency axis) and is, for example, a digital filter represented by expression <NUM> for a discrete signal x[i] if the number of taps is one. However, a pitch filter in this embodiment is defined as a processing block that performs a process represented by expression <NUM> and does not necessarily perform pitch emphasizing on a signal on the time axis.

In this embodiment, the pitch filter (processing block represented by expression <NUM>) is applied to a quantization MDCT coefficient sequence Mq[i]. Specifically, in expression <NUM>, settings, specifically, x[i] = <NUM> (i ≥ K, where K is the lower frequency limit of the MDCT coefficient that is subjected to coding) and y[i] = Mq[i] (i < K), are made, and y[i] (K ≤ I ≤ K', where K' is the upper frequency limit of the MDCT coefficient that is subjected to coding) is calculated. A value T with which the error between the MDCT coefficient Mt[i] that is subjected to coding and the calculated y[i] is minimized is coded as lag information. Such spectrum coding based on a pitch filter is disclosed by PTL <NUM>, for example.

The second spectrum quantizer <NUM> refers to the quantizing mode and identifies the second sub-bands (normalized sub-band spectra) on which quantization is to be performed by the second spectrum quantizer <NUM>. As a result the values of the above described K and K' are identified. Then, the sub-band or band of a quantized spectrum for which the normalized sub-band spectrum (corresponding to the above-described Mt[i), where K ≤ i ≤ K') relating to the identified second sub-bands (a frequency ranging from K to K') has the maximum correlation with a quantized spectrum (corresponding to the above-described Mq[i], where i < K) is searched for, and the position of the sub-band or band is used to generate lag information (corresponding to the above-described T). Examples of the lag information include the absolute position or relative position of the sub-band or band, or the sub-band number. The second spectrum quantizer <NUM> codes and outputs the lag information to the multiplexer <NUM> as second coded information.

Note that, in this embodiment, the coded quantized sub-band energy is multiplexed and transmitted by the multiplexer <NUM>, and a gain can be generated by a decoder. Therefore, a gain is not coded. However, a gain may be coded and transmitted. In this case, a gain between the second sub-bands on which quantization is to be performed and the sub-band of a quantized spectrum that has the maximum correlation is calculated, and the second spectrum quantizer <NUM> codes and outputs the lag information and the gain to the multiplexer <NUM> as the second coded information.

Note that, in general, the bandwidth of a sub-band in a high-frequency range is set wider than a sub-band in a low-frequency range. However, some sub-bands in a low-frequency range subjected to copying have low energy and might not be subjected to lattice vector quantization. In this case, such sub-bands may be assumed to be zero spectra, or noise may be added to avoid a sudden spectral change between sub-bands.

The multiplexer <NUM> multiplexes and outputs the quantized sub-band energy, the first coded information, the second coded information, and the peaky/tonal flags to the antenna A as coded information.

The antenna A transmits the coded information to an audio signal decoding apparatus. The coded information reaches the audio signal decoding apparatus via various nodes and base stations.

Now, the bit allocator <NUM> is described in detail below.

<FIG> is a block diagram illustrating a detailed configuration and an operation of the bit allocator <NUM> of the audio signal coding apparatus <NUM> according to the first embodiment. The bit allocator <NUM> illustrated in <FIG> includes a bit reserver <NUM>, a bit reserver <NUM>, a bit allocation calculator <NUM>, and a quantizing mode determiner <NUM>.

The bit reserver <NUM> refers to the peaky/tonal flags that are output from the tonality calculator <NUM> and reserves a number of bits necessary for second spectrum quantization performed by the second spectrum quantizer <NUM> if any of the peaky/tonal flags is set to zero.

In this embodiment, a number of bits necessary for coding lag information are reserved on the basis of a pitch filter. The reserved number of bits are excluded from the bit budget, which corresponds to the total number of bits available for quantization, and the remaining bit budget is output to the bit reserver <NUM>. Note that the bit budget is supplied by the sub-band energy quantizer <NUM>, which means that bits that remain after excluding the number of bits necessary for variable coding of quantized sub-band energy are available to the first spectrum quantizer <NUM>, to the second spectrum quantizer <NUM>, and for quantization (coding) of the peaky/tonal flags. The sub-band energy quantizer <NUM> does not necessarily generate information about the bit budget.

The bit reserver <NUM> reserves a number of bits used for the peaky/tonal flags. In this embodiment, the peaky/tonal flags are transmitted by using five sub-bands in a high-frequency range, and therefore, the bit reserver <NUM> reserves five bits, for example.

The bit reserver <NUM> outputs, to the bit allocation calculator <NUM>, which is in an adaptive bit allocator, a number of bits that remain after excluding the number of bits reserved by the bit reserver <NUM> from the bit budget input from the bit reserver <NUM>. The sum of the number of bits reserved by the bit reserver <NUM> and the number of bits reserved by the bit reserver <NUM> corresponds to a third number of bits. A sub-band for which the peaky/tonal flag is set to zero corresponds to a third sub-band.

Note that the order of the bit reserver <NUM> and the bit reserver <NUM> may be changed. In this embodiment, the bit reserver <NUM> and the bit reserver <NUM> are separated blocks; however, operations of these reservers may be performed simultaneously in a single block. Alternatively, the operations may be performed within the bit allocation calculator <NUM>.

The bit allocation calculator <NUM> calculates a bit allocation to a sub-band on which quantization is performed by the first spectrum quantizer <NUM>. Specifically, the bit allocation calculator <NUM> first allocates the number of bits output from the bit reserver <NUM> to each sub-band while referring to the quantized sub-band energy. The allocation is performed with a method described in the related art section in which determination as to whether a sub-band is essential for hearing is performed on the basis of the magnitude of the quantized sub-band energy, a sub-band that is determined to be essential is given priority, and bit allocation is performed on the sub-band. As a result, no bit is allocated to a sub-band having quantized sub-band energy equal to zero, lower than zero, or lower than a predetermined value.

Upon allocation, the bit allocation calculator <NUM> refers to the input peaky/tonal flags and excludes sub-bands (third sub-bands) for which the peaky/tonal flags are set to zero from bit allocation. That is, the bit allocation calculator <NUM> identifies only sub-bands having high peakiness (sub-bands for which the peaky/tonal flags are set to one) to be target sub-bands for bit allocation and allocates bits to the sub-bands. The bit allocation calculator <NUM> identifies sub-bands (first sub-bands) to which bits are to be allocated, creates allocated-bit information that indicates the number of bits to be allocated to the sub-bands, and outputs the information to the quantizing mode determiner <NUM> first.

The quantizing mode determiner <NUM> receives the allocated-bit information output from the bit allocation calculator <NUM> and the peaky/tonal flags. In a case where a sub-band in a high-frequency range that has high tonality (that is subjected to quantization by the first spectrum quantizer <NUM>) and that has been allocated no bit is present, the quantizing mode determiner <NUM> redefines the sub-band as a sub-band (fourth sub-band) an which quantization is performed by the second spectrum quantizer <NUM> and outputs a number of bits (fourth number of bits) necessary for quantization by the second spectrum quantizer to the bit allocation calculator <NUM> in order to subtract the number of bits from the allocated-bit information. That is, the quantizing mode determiner <NUM> allocates the number of bits necessary for quantization by the second spectrum quantizer <NUM> to the band of interest and outputs the number of allocated bits (fourth number of bits). Alternatively, the quantizing mode determiner <NUM> may subtract the number of allocated bits from the bit budget available to the first spectrum quantizer <NUM> and output the result to the bit allocation calculator <NUM>,.

The quantizing mode determiner <NUM> identifies sub-bands on which quantization is performed by the second spectrum quantizer <NUM> and outputs the result to the second spectrum quantizer <NUM> as a quantizing mode. Specifically, the quantizing mode determiner <NUM> specifies sub-bands (third sub-bands) in a high-frequency range that have low tonality (for which the peaky/tonal flags are set to zero) and sub-bands (fourth sub-bands) in a high-frequency range to which no bit has been allocated as sub-bands (second sub-bands) on which quantization is performed by the second spectrum quantizer <NUM> and outputs the sub-bands as the quantizing mode.

Again, the bit allocation calculator <NUM> updates the bit budget by subtracting the number of bits (fourth number of bits) received from the quantizing mode determiner <NUM> from the number of bits (bit budget) input from the bit reserver <NUM> and recalculates the bit allocation to a sub-band on which quantization is performed by the first spectrum quantizer <NUM>. In a case of receiving the updated bit budget from the quantizing mode determiner, the bit allocation calculator <NUM> recalculates the bit allocation to a sub-band on which quantization is performed by the first spectrum quantizer <NUM> by using the updated bit budget. Consequently, the first number of bits is equal to a value obtained by subtracting the third number of bits and the fourth number of bits from the total number of bits (bit budget).

The bit allocation calculator <NUM> outputs the number of bits (first number of bits) obtained after recalculation and information about sub-bands (first sub-bands) on which quantization is performed by the first spectrum quantizer <NUM> to the first spectrum quantizer <NUM> this time as allocated-bit information.

In a case where recalculation need not be performed because all sub-bands are allocated bits as a result of first calculation of the bit allocation by the bit allocation calculator <NUM>, for example, the bit allocation calculator <NUM> may output the allocated-bit information directly to the first spectrum quantizer <NUM>.

<FIG> is a flowchart of an operation performed by the audio signal coding apparatus <NUM> according to the first embodiment, specifically, an operation performed by the bit allocator <NUM>.

First, the bit allocator <NUM> obtains quantized sub-band energy from the sub-band energy quantizer <NUM> (S1).

Next, the bit allocator <NUM> obtains peaky/tonal flags in a high-frequency range from the tonality calculator <NUM>(S2).

The bit allocator <NUM> thereafter identifies sub-bands (third sub-bands) on which quantization is to be performed by the second spectrum quantizer <NUM> on the basis of the peaky/tonal flags, and the bit reserver <NUM> and the bit reserver <NUM> therein reserve bits (third number of bits) used in quantization by the second spectrum quantizer <NUM> (S3).

The bit allocation calculator <NUM> in the bit allocator <NUM> determines a number of bits to be allocated to sub-bands that are subjected to quantization by the first spectrum quantizer <NUM> on the basis of the quantized sub-band energy (S4).

The quantizing mode determiner <NUM> in the bit allocator <NUM> checks the number of bits allocated to sub-bands in a high-frequency range determined by the bit allocation calculator <NUM>, identifies again sub-bands (second sub-bands) on which quantization is to be performed by the second spectrum quantizer <NUM> as needed, and updates the bit budget for the first sub-band quantizer <NUM> (S5).

Last, the bit allocation calculator <NUM> in the bit allocator <NUM> recalculates the bit allocation (first number of bits) to the first spectrum quantizer <NUM> by using the updated bit budget (S6).

With the audio signal coding apparatus according to this embodiment, it is possible to realize coding of high-quality audio signals while reducing the overall bit rate.

Specifically, with the configurations and operations in <FIG> and <FIG>, it is possible to realize bit allocation that does not produce a sub-band on which quantization is not performed (the number of allocated bits becomes zero) in a high-frequency range in which the sub-band width is specifically wide and that maximizes the number of sub-bands on which quantization is performed by the first quantizer. Accordingly, it is possible to realize adaptive bit allocation that can attain the best performance at a limited bit rate.

<FIG> is a block diagram illustrating a configuration and an operation of an audio signal decoding apparatus <NUM> according to a second embodiment. The audio signal decoding apparatus <NUM> illustrated in <FIG> includes a demultiplexer <NUM>, a sub-band energy decoder <NUM>, a bit allocator <NUM>, a first spectrum decoder <NUM>, a second spectrum decoder <NUM>, a de-normalizer <NUM>, and a frequency-time transformer <NUM>. To the demultiplexer <NUM>, an antenna A is connected. The audio signal decoding apparatus <NUM> and the antenna A together constitute a terminal apparatus or a base station apparatus.

The demultiplexer <NUM> receives coded information received by the antenna A and demultiplexes the coded information into coded quantized sub-band energy, first coded information, second coded information, and peaky/tonal flags. The demultiplexer <NUM> outputs the coded quantized sub-band energy to the sub-band energy decoder <NUM>, the first coded information to the first spectrum decoder <NUM>, the second coded information to the second spectrum decoder <NUM>, and the peaky/tonal flags to the bit allocator <NUM>.

The sub-band energy decoder <NUM> decodes the coded quantized sub-band energy, generates decoded quantized sub-band energy, and outputs the decoded quantized sub-band energy to the bit allocator <NUM> and to the de-normalizer <NUM>.

The bit allocator <NUM> refers to the decoded quantized sub-band energy of each sub-band and the peaky/tonal flags and determines allocation of bits that are allocated by the first spectrum decoder <NUM> and those that are allocated by the second spectrum decoder <NUM>. Specifically, the bit allocator <NUM> determines a number of bits (first number of bits) to be allocated in decoding of the first coded information by the first spectrum decoder <NUM> and sub-bands (first sub-bands) to which the bits are allocated and outputs the result as allocated-bit information. Further, the bit allocator <NUM> identifies and selects sub-bands (second sub-bands) for which the second coded information is to be decoded by the second spectrum decoder <NUM> and outputs the result to the second spectrum decoder <NUM> as a quantizing mode.

The bit allocator <NUM> has the same configuration and performs the same operation as in the bit allocator <NUM> illustrated in <FIG> and described in the description of the coding apparatus. Therefore, for the details of the operation, refer to the description of the bit allocator <NUM> in the coding apparatus.

The first spectrum decoder <NUM> decodes the first coded information by using the first number of bits indicated by the allocated-bit information, generates a first decoded spectrum, and outputs the first decoded spectrum to the second spectrum decoder <NUM>.

The second spectrum decoder <NUM> uses the first decoded spectrum for the sub-bands identified with the quantizing mode, decodes the second coded information, generates a second decoded spectrum, generates a reconstructed spectrum by combining the second decoded spectrum with the first decoded spectrum, and outputs the reconstructed spectrum.

The de-normalizer <NUM> adjusts the amplitude (gain) of the reconstructed spectrum while referring to the decoded quantized sub-band energy and outputs the result to the frequency-time transformer <NUM>.

The frequency-time transformer <NUM> transforms the reconstructed spectrum in a frequency domain into an output audio signal in a time domain and outputs the output audio signal. Examples of the frequency-time transform include a transform that is the inverse of the transform described in the description of the frequency-time transform.

With the audio signal decoding apparatus according to this embodiment, it is possible to realize decoding of high-quality audio signals while reducing the overall bit rate.

The audio signal coding apparatus and the audio signal decoding apparatus according to the present disclosure have been described in the first and second embodiments. The coding apparatus and the decoding apparatus according to the present disclosure may conceptually be in the form of a semi-finished product or a component, such as a system board or a semiconductor device, or in the form of a finished product, such as a terminal apparatus or a base station apparatus. In the case where the coding apparatus and the decoding apparatus according to the present disclosure are in the form of a semi-finished product or a component, the coding apparatus and the decoding apparatus are combined with an antenna, a DA/AD converter, an amplifier, a speaker, a microphone, and so on to form a finished product.

Note that the block diagrams in <FIG>, <FIG>, <FIG>, and <FIG> illustrate the configurations and operations (methods) of the exclusively designed hardware devices and may be applicable to a case where a program for performing the operations (methods) of the present disclosure is installed on a general-purpose hardware device and executed by a processor to thereby imptement the operations (methods). Examples of the general-purpose hardware device, which is a computer, include various portable information terminals, such as a personal computer and a smartphone, and various portable phones.

Examples of the exclusively designed hardware devices include not only finished products (consumer electronic products), such as a portable phone and a fixed phone, but also semi-finished products and components, such as a system board and a semiconductor device.

Claim 1:
An audio signal coding apparatus comprising:
a time-frequency transformer (<NUM>) adapted to generate a spectrum by performing a transform on an input audio signal into a frequency domain, to divide the spectrum into sub-bands, which are predetermined frequency bands, and to output sub-band spectra, wherein the input audio signal comprises a music signal, a speech signal, or a signal, in which a music signal and a speech signal are mixed;
a sub-band energy quantizer (<NUM>) adapted to obtain, for each of the sub-bands, a quantized sub-band energy;
a tonality calculator (<NUM>) adapted to analyze a tonality of the sub-band spectra and to output an analysis result;
a bit allocator (<NUM>) adapted to select a second sub-band on which a quantization is performed by a second quantizer (<NUM>) from among the sub-bands on the basis of the analysis result of the tonality and the quantized sub-band energy, and to determine a first number of bits to be allocated to a first sub-band, among the sub-bands, on which aquantization is performed by a first quantizer (<NUM>); and
a multiplexer (<NUM>) adapted to multiplex into information coded information output from the first quantizer (<NUM>) and from the second quantizer (<NUM>), the quantized sub-band energy, and the analysis result of the tonality, and to output the multiplexed information, wherein
the first quantizer (<NUM>) is adapted to pulse-code a sub-band spectrum among the sub-band spectra that is included in the first sub-band by using the first number of bits, and
the second quantizer (<NUM>) is adapted to code a sub-band spectrum among the sub-band spectra that is included in the second sub-band by using a pitch filter.