This application claims the benefit of Korean Patent Application No. 10-2005-0064508, filed on Jul. 15, 2005, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present general inventive concept relates to encoding and decoding of an audio signal, and more particularly, to a method and apparatus to encode/decode a low bit-rate audio signal.
2. Description of the Related Art
In the existing MPEG-4 advanced audio coding (AAC) algorithm, a full-band audio signal is encoded using a quantizing and coding method. However, at a low bit rate, a sub-band audio signal is generally encoded, because the number of available bits is small. In this case, since a bandwidth of the audio signal is reduced, poor sound quality results.
A high frequency component can be encoded only by detecting an envelope of a spectrum rather than a fine structure of the signal. Accordingly, in the MPEG-4 advanced audio coding (AAC) algorithm, a high frequency component having a strong noise component is encoded using a perceptual noise substitution (PNS) tool. For PNS encoding, an encoder detects an envelope of noise from the high frequency component and a decoder inserts random noise into the high frequency component, and restores the high frequency component. The high frequency component including stationary random noise can be efficiently encoded using the PNS tool. However, if the high frequency component includes transient noise and is encoded by the PNS tool, metallic noise or buzz noise occurs.
In an attempt to solve this problem, in the MPEG-4 high efficiency (HE) AAC algorithm, the high frequency component is encoded using a spectral band replication (SBR) tool. Since the SBR tool uses a quadrature mirror filter (QMF), in the core AAC, a modified discrete cosine transform (MDCT) output is subjected to the QMF to obtain the high frequency component. In this case, complexity increases. Furthermore, a low frequency component of a specific band is replicated and is encoded to be similar to an original high frequency signal using envelope/noise floor/time-frequency grid. However, additional information such as the envelope/noise floor/time-frequency grid requires bit rates of several kbps (kilobits per second) and a large amount of calculation.
The present general inventive concept provides a method and apparatus to encode a low bit-rate audio signal which can efficiently encode a high frequency component, which is perceptually less important, without reducing a frequency bandwidth to compress high sound quality.
The present general inventive concept also provides a method and apparatus to decode a low bit-rate audio signal which can decode a high frequency component, which is perceptually less important, from an encoded bit stream without reducing a frequency bandwidth to compress high sound quality.
Additional aspects of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept.
The foregoing and/or other aspects of the present general inventive concept are achieved by providing a method of encoding a low bit-rate audio signal, including quantizing and losslessly-encoding a specific frequency component of an audio signal in a frequency domain, generating codebooks using the audio signal in the frequency domain, detecting an envelope of a frequency component of the audio signal other than the specific frequency component in a specific band unit and quantizing and losslessly-encoding the detected envelope of the other frequency component, selecting a codebook most similar to the other frequency component to be encoded from among the generated codebooks and determining a codebook index (fine structure), losslessly-encoding the determined codebook index, and generating a bit stream using the losslessly encoded specific frequency component, the losslessly encoded envelope of the other frequency component, and the losslessly encoded codebook index.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing a method of encoding a low bit-rate audio signal, including quantizing and losslessly encoding a significant frequency component of an audio signal in a frequency domain, generating codebooks using the audio signal in the frequency domain, detecting an envelope of a frequency component of the audio signal other than the significant frequency component in a specific band unit and quantizing and losslessly encoding the detected envelope of the other frequency component, checking whether a codebook having at least a predetermined similarity exists among the generated codebooks with respect to a high frequency band to be encoded, if a similar codebook exists, selecting the similar codebook, determining a codebook index, and losslessly-encoding the determined codebook index and information indicating that the similar codebook exists, if a similar codebook does not exist, losslessly encoding information indicating that a similar codebook does not exist, and generating a bit stream using the losslessly encoded significant frequency component, the losslessly encoded envelope of the frequency component, and the losslessly encoded codebook index.
The method may further include converting the audio signal in a time domain into the audio signal in the frequency domain.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing an apparatus to encode a low bit-rate audio signal, including a low frequency quantizing/lossless-encoding unit which quantizes and losslessly-encodes a specific frequency component of an audio signal in a frequency domain, a codebook generating unit which generates codebooks using the audio signal in the frequency domain, an envelope quantizing/lossless-encoding unit which detects an envelope of a frequency component of the audio signal other than the specific frequency component in a specific band unit and quantizes and losslessly-encodes the detected envelope of the other frequency component, a codebook index acquiring unit which selects a codebook most similar to the other frequency component of the audio signal to be encoded from among the generated codebooks and determines a codebook index (fine structure), an index lossless-encoding unit which losslessly-encodes the determined codebook index, and a bit stream generating unit which generates a bit stream using the losslessly encoded specific frequency component, the losslessly encoded envelope of the other frequency component, and the losslessly encoded codebook index.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing an apparatus to encode a low bit-rate audio signal, including an ISC quantizing/lossless-encoding unit which quantizes and losslessly-encodes a significant frequency component of an audio signal in a frequency domain, a codebook generating unit which generates codebooks using the audio signal in the frequency domain, an envelope quantizing/lossless-encoding unit which detects an envelope of a frequency component of the audio signal other than the significant frequency component in a specific band unit and quantizes and losslessly-encodes the detected envelope of the other frequency component, a similarity checking unit which checks whether a codebook having at least a predetermined similarity exists in the codebooks with respect to a high frequency band to be encoded, a codebook existence information/index encoding unit which, if a similar codebook exists, selects the similar codebook, determines a codebook index, and losslessly-encodes the determined codebook index and information indicating that the similar codebook exists, a codebook existence information encoding unit which, if a similar codebook does not exist, losslessly-encodes information indicating that a similar codebook does not exist, and a bit stream generating unit which generates a bit stream using the losslessly encoded significant frequency component, the losslessly encoded envelope of the other frequency component, and the losslessly encoded codebook index.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing an encoding apparatus, including a first quantizing/encoding unit to quantize a first frequency component of a full spectrum of an audio signal and to encode the quantized first frequency component, a second quantizing/encoding unit to quantize one or more envelopes of one or more bands of a second frequency component of the full spectrum and to encode the quantized one or more envelopes, a codebook unit to generate one or more codebooks from one or more bands of the first frequency component, to determine whether a similar codebook exists for each of the bands of the second frequency component, and to encode codebook similarity information to indicate similarities between the bands of the second frequency components and the codebooks, and a bit stream unit to generate a bitstream including the encoded first frequency component, the encoded envelopes of the bands of the second frequency components, and the encoded similarity information.
The second quantizing/encoding unit may encode the envelopes of the second frequency component using an adaptive vector quantization when the corresponding bands in the second frequency component are determined to be similar to ones of the codebooks, and may encode the envelopes of the second frequency component using a perceptual noise substitution when the corresponding bands in the second frequency component are determined not to be similar to any of the codebooks.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing a method of decoding a low bit-rate audio signal, including restoring and dividing a bit stream into a specific frequency component and a frequency component other than the specific frequency component, losslessly decoding and inversely quantizing the specific frequency component, restoring codebook index information and envelope information about the other frequency component, generating codebooks using the specific frequency component which is inversely quantized, and restoring the other frequency component using the restored codebook index information and the restored envelope information about the other frequency component.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing a method of decoding a low bit-rate audio signal, including restoring and dividing a bit stream into a specific frequency component and a frequency component other than the specific frequency component, losslessly decoding and inversely quantizing the significant frequency component, losslessly decoding information as to whether a similar codebook exists, if a similar codebook exists, restoring codebook index information and envelope information about the other frequency component, generating codebooks using the specific frequency component which is losslessly-decoded and inversely quantized and restoring a high frequency component using the codebook index information and the envelope information about the other frequency component, and if a similar codebook does not exist, restoring the envelope information and restoring the other frequency component using a signal of a previous band and the restored envelope information.
The method may further include converting the audio signal in a time domain into the audio signal in the frequency domain.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing an apparatus to decode a low bit-rate audio signal, including a bit stream dividing unit which restores and divides a bit stream into a specific frequency component and a frequency component other than the specific frequency component, a low frequency restoring unit which losslessly decodes and inversely quantizes the specific frequency component, a high frequency index/envelope restoring which restores codebook index information and envelope information about the other frequency component, a codebook generating unit which generates codebooks using the specific frequency component inversely quantized in the low frequency restoring unit, and a high frequency restoring unit which restores the other frequency component using the restored codebook index information and the restored envelope information about the other frequency component.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing an apparatus to decode a low bit-rate audio signal, including a bit stream dividing unit which restores and divides a bit stream into a significant frequency component and a frequency component other than the significant frequency component, a low frequency restoring unit which losslessly decodes and inversely quantizes the significant frequency component, a codebook existence information restoring unit which losslessly-decodes information as to whether a similar codebook exists, an index/envelope restoring unit which, if the similar codebook exists, restores codebook index information and envelope information about the other frequency component, a first high frequency restoring unit which generates codebooks using the significant frequency component which is losslessly decoded and inversely quantized and restores a high frequency component using the restored codebook index information and the restored envelope information about the other frequency component, and a second high frequency restoring unit which, if a similar codebook does not exist, restores the envelope information and restores the other frequency component using a signal of a previous band and the restored envelope information.
The apparatus may further include converting the audio signal in a time domain into the audio signal in the frequency domain.
The foregoing and/or other aspects of the present general inventive concept are also achieved by providing a computer-readable medium having embodied thereon a computer program to execute one or more of the methods described above.
These and/or other aspects of the present general inventive concept will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the embodiments of the present general inventive concept, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present general inventive concept by referring to the figures.
According to embodiments of the present general inventive concept, a codebook is generated using a low frequency component of an audio signal, and a high frequency component of the audio signal is efficiently encoded by vector quantization (VQ) using the codebook, without additional information such as envelope/noise floor/time-frequency grid.
The T/F converting unit 100 converts an audio signal in a time domain into a frequency domain. The conversion is performed using a modified discrete cosine transform (MDCT), a fast Fourier transform (FFT), or a discrete cosine transform (DCT).
The low frequency quantizing/lossless-encoding unit 110 quantizes and losslessly-encodes a specific frequency component (e.g., a low frequency component) of the audio signal in the frequency domain.
The envelope quantizing/lossless-encoding unit 120 detects an envelope from a frequency component other than the specific frequency component in a specific band unit, and quantizes and losslessly-encodes the detected envelope of the other frequency component. The other frequency component may be a high frequency component.
The codebook generating unit 130 generates codebooks using the audio signal in the frequency domain. The high frequency component is divided into sub-bands by a bark band as expressed by Equation 1.
The codebook index acquiring unit 140 selects a codebook most similar to the other frequency component (i.e., the high frequency component) to be encoded from the generated codebooks and determines a code index (fine structure).
The index lossless-encoding unit 150 losslessly-encodes the determined code index.
The bit stream generating unit 160 generates a bit stream using losslessly-encoded data generated by the low frequency quantizing/lossless-encoding unit 110 and the losslessly encoded data generated by the envelope quantizing/lossless-encoding unit 120 and the index lossless-encoding unit 150.
The specific frequency component may be an important spectral component (ISC) having a large amount of information in the audio signal. The quantization and the lossless-encoding of the low frequency quantizing/lossless-encoding unit 110 may be performed by an existing audio encoder and may be MPEG-1 Layer 3(mp3) or MPEG-2/4 AAC.
The T/F converting unit 200 converts an audio signal in a time domain into a frequency domain. The conversion is performed using a modified discrete cosine transform (MDCT), a fast Fourier transform (FFT), or a discrete cosine transform (DCT), similar to the T/F converting unit 100 of
The ISC quantizing/lossless-encoding unit 210 quantizes and losslessly-encodes an important spectral component (ISC) of a full-band of the audio signal in the frequency domain.
The codebook generating unit 230 generates codebooks using the audio signal in the frequency domain. A high frequency component is divided into sub-bands by a bark band as expressed by Equation 1.
The envelope quantizing/lossless-encoding unit 220 detects an envelope from a frequency component other than the important spectral component (i.e., a significant frequency component) in a specific band unit, and quantizes and losslessly-encodes the detected envelope of the other frequency component. The significant frequency component may be a low frequency component, and the other frequency component may be the high frequency component.
The similarity checking unit 240 checks whether a codebook having at least a predetermined similarity with respect to the high frequency component to be encoded exists in the codebooks. The similarity is measured using a Euclidean distance or a correlation between the codebooks. For example, if 16 codebooks exist based on similarity measurement criteria, a codebook that is most similar is selected from among the 16 codebooks and is encoded by 4 bits. The Euclidean distance or the correlation is calculated using Equation 2.
Next, a power ratio of the high frequency component and the codebook is calculated. Power is calculated using a root mean square (RMS), and the power ratio is quantized and encoded in the dB unit. For example, the power ratio may be quantized in the dB unit and encoded by 5 bits. The power ratio is calculated using Equation 3.
In a final encoding operation, a codebook index and the power ratio are stored. When it is determined that a similar codebook exists, the codebook existence information/index encoding unit 250 selects the similar codebook, determines a codebook index using the similar codebook, and losslessly-encodes the determined codebook index and information indicating that the similar codebook exists.
When it is determined that a similar codebook does not exist, the codebook existence information encoding unit 260 losslessly-encodes information indicating that the similar codebook does not exist.
The bit stream generating unit 270 generates a bit stream using losslessly-encoded data generated by the ISC quantizing/lossless-encoding unit 210 and losslessly encoded data generated by the envelope quantizing/lossless-encoding unit 220, the codebook existence information/index encoding unit 250, and the codebook existence information encoding unit 260.
The significant frequency component is mainly a low frequency component in a low frequency band. The band may be a bark band that takes hearing characteristics into consideration. The codebook may be generated using overlapped spectra. The similarity may be determined using the Euclidean distance or the correlation between the codebooks.
First, when an audio signal is input, the T/F converting unit 100 converts the audio signal in a time domain into a frequency domain (operation 300). Then, the low frequency quantizing/lossless-encoding unit 110 encodes a specific frequency component (i.e., a low frequency component (4 to 6 KHz)) of the audio signal in the frequency domain using a quantizing and coding method, such as MPEG-4 AAC (operation 310).
The codebook generating unit 130 generates codebooks using the audio signal in the frequency domain (operation 320). A high frequency component is divided into sub-bands by a bark band as expressed by Equation 1. If the high frequency component has a 2048 frame length, the sub-bands are defined by Table 1.
If a 20th band is an index to distinguish (i.e., separate) the low frequency signal and the high frequency signal, the 20th band covers up to about 6 kHz, a band before the 20th band is already losslessly encoded by the low-frequency quantizing/lossless encoding unit 110, and a band after the 20th band is encoded by adaptive vector quantization (AVQ). The 20th band is composed of 119 spectral lines. In order to represent the 119 spectral lines, codebooks are generated using the low frequency component. Since a number of the samples in the band before the 20th band is 624, overlapped codebooks are encoded in order to represent the 119 spectral lines. A number of the codebooks is represented by a power of 2, for example, 16. Accordingly, 119 (by dividing 624 by 16) overlapped uniform codebooks are generated.
The envelope quantizing/lossless-encoding unit 120 detects an envelope from the frequency component other than the specific frequency component (for example, the high frequency component in a specific band unit), and quantizes and losslessly-encodes the envelope (operation 330).
The codebook index acquiring unit 140 selects a codebook that is most similar to the other frequency band (without the specific frequency component) to be encoded from the code books and determines a code index (fine structure) (operation 340). The index lossless-encoding unit 150 losslessly-encodes the code index (operation 350). The bit stream generating unit 160 generates a bit stream using the losslessly-encoded data generated in the operation 310 and the losslessly-encoded data generated in the operations 320 and 350 (operation 360). The specific frequency component may be an important spectral component (ISC) having a large amount of information in the audio signal (that is, the low frequency component). The quantization and the lossless encoding may be mp3 or AAC.
The codebook generating unit 230 generates codebooks using the audio signal in the frequency domain (operation 420). The frequency component other than the significant frequency component (for example, a high frequency component), is divided into sub-bands by a non-uniform band that takes hearing characteristics into consideration expressed by Equation 1, for example, the bark band. If the high frequency component has a 2048 frame length, the sub-bands are defined by Table 1.
In Table 1, if a 20th band is an index to distinguish (i.e., separate) the low frequency signal and the high frequency signal, the 20th band covers up to about 6 kHz, a band before the 20th band is already losslessly encoded by the ISC-quantizing/lossless encoding unit 210, and a band after the 20th band is encoded by adaptive vector quantization (AVQ), which will be described infra with reference to
The envelope quantizing/lossless-encoding unit 220 detects an envelope from the high frequency component in a specific band unit, and quantizes and losslessly-encodes the detected envelope (operation 430).
The similarity checking unit 240 checks whether a codebook having at least a predetermined similarity exists among the codebooks with respect to the high frequency component to be encoded (operation 440). The similarity is measured using a Euclidean distance or a correlation between the codebooks. For example, if 16 codebooks exist based on similarity measurement criteria, a codebook that is most similar is selected and is encoded by 4 bits. The Euclidean distance or the correlation is calculated using Equation 2.
The power ratio of the high frequency component and the codebook is calculated. The power is calculated using root mean square (RMS) and the power ratio is quantized and encoded in the dB unit. For example, the power ratio may be quantized in the dB unit and encoded by 5 bits. The power ratio is calculated using Equation 3. In a final encoding operation, the codebook index and the power ratio are stored.
When it is determined that a similar codebook exists, the similar codebook is selected and a codebook index is determined (operation 450). Accordingly, the determined codebook index and information indicating that the similar codebook exists are losslessly-encoded (operation 460). When it is determined that a similar codebook does not exist, the codebook existence information encoding unit 260 losslessly-encodes information indicating that a similar codebook does not exist (operation 470).
The AVQ can be performed when the similarity of the current band (i.e., the current high frequency band) with the low frequency signal is high. If the similarity is low, the high frequency component is encoded by perceptual noise substitution (PNS).
The information stored in the bit stream is as follows:
VQ-availability flag (1 bit)
If (VQ-availability flag==true)
else
The bit stream generating unit 270 generates a bit stream using the losslessly-encoded data generated in the operation 410 and the losslessly encoded data generated in the operations 430, 460 and 470 (operation 480).
Next, apparatuses and methods of decoding a low bit-rate audio signal according to embodiments of the present general inventive concept will be described.
The bit stream dividing unit 800 restores and divides a bit stream into a specific frequency component and a frequency component other than the specific frequency component. The specific frequency component may be an important spectral component (ISC).
The low frequency restoring unit 810 decodes and inversely quantizes the specific frequency component. The specific frequency component may be a low frequency component. The codebook generating unit 820 generates codebooks using the specific frequency component, which is inversely quantized in the low frequency restoring unit 810. The index/envelope restoring unit 830 restores codebook index information and envelope information about the frequency (component other than the specific frequency component. The frequency component other than the specific frequency component may be a high frequency component. The high frequency restoring unit 840 restores the frequency component other than the specific frequency component (i.e., the high frequency component) using the restored codebook index information and the restored envelope information.
The inverse F/T converting unit 850 inversely converts (e.g., by inverse MDCT, inverse FFT, or inverse DCT) the audio signal in the frequency domain into the audio signal in the time domain.
The bit stream dividing unit 900 restores and divides a bit stream into an important spectral component (ISC) and a frequency component other than the important spectral component. The ISC may be a low frequency component, and the frequency component other than the ISC may be a high frequency component.
The low frequency restoring unit 910 decodes and inversely quantizes the important spectral component (i.e., a significant frequency component). The codebook existence information restoring unit 920 losslessly decodes information as to whether a similar codebook exists. If it is determined that a similar codebook exists, the index/envelope restoring unit 940 restores index information and envelope information about the other frequency component (i.e., the high frequency component). The codebook generating unit 930 generates codebooks using the significant frequency component, which is losslessly-decoded and inversely quantized. The first high frequency restoring unit 950 restores the other frequency component (i.e., the high frequency component) using the restored codebook index information and the restored envelope information. If it is determined that a similar codebook does not exist, the second high frequency restoring unit 960 restores envelope information and restores the other frequency component (i.e., the high frequency component) using a signal of a previous band and the envelope information.
The inverse F/T converting unit 970 inversely converts (e.g., by inverse MDCT, inverse FFT, or inverse DCT) the audio signal in the frequency domain into the audio signal in the time domain. The band may be the bark band, which takes the hearing characteristics into consideration, and the codebooks may be generated by overlapped spectra. Furthermore, the similarity may be determined using the Euclidian distance or correlation between the codebooks.
The inverse F/T converting unit 850 inversely converts (e.g., by inverse MDCT, inverse FFT, or inverse DCT) the audio signal in the frequency domain into the audio signal in the time domain (operation 1050).
The codebook existence information restoring unit 920 losslessly-decodes information as to whether a similar codebook exists (operation 1120). It is determined whether a similar codebook exists (operation 1130). If it is determined that the similar codebook exists, the index/envelope restoring unit 940 restores index information and envelope information about the other frequency component (i.e., the high frequency component) (operation 1140). The codebook generating unit 930 generates codebooks using the significant frequency component, which is losslessly decoded and inversely quantized (operation 1150). The first high frequency restoring unit 950 restores the other frequency component (i.e., the high frequency component) using the restored codebook index information and the restored envelope information about the high frequency component (operation 1160).
If it is determined that a similar codebook does not exist (operation 1130), the second high frequency restoring unit 960 restores the envelope information about the high frequency component (operation 1170) and restores the frequency component (i.e., the high frequency component) other than the significant frequency component using a signal of the previous band and the restored envelope information about the high frequency component (operation 1180). The inverse F/T converting unit 970 inversely converts (e.g., by inverse MDCT, inverse FFT, or inverse DCT) the audio signal in the frequency domain into the audio signal in the time domain (operation 1190).
The band may be the bark band that represents a critical bandwidth, which takes the hearing characteristics of the human ear into consideration, and the codebooks may be generated by overlapped spectra. Furthermore, the similarity may be determined using the Euclidian distance or correlation between the codebooks.
The general inventive concept can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium may be any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices.
According to embodiments of the present general inventive concept, it is possible to efficiently encode a high frequency component at a low bit rate. Furthermore, since vector quantization (VQ) is performed based on similarity, it is possible to increase stability of sound quality in a transient/pitched signal.
Accordingly, it is also possible to provide high sound quality while encoding a low bit-rate audio signal without reducing a frequency bandwidth.
Although a few embodiments of the present general inventive concept have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the general inventive concept, the scope of which is defined in the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2005-64508 | Jul 2005 | KR | national |