Audio Encoding Using Adaptive Codebook Application Ranges
1 Assignment
0 Petitions
Accused Products
Abstract
A low bit rate digital audio coding system includes an encoder which assigns codebooks to groups of quantization indexes based on their local properties resulting in codebook application ranges that are independent of block quantization boundaries. The invention also incorporates a resolution filter bank, or a tri-mode resolution filter bank, which is selectively switchable between high and low frequency resolution modes or high, low and intermediate modes such as when detecting transient in a frame. The result is a multichannel audio signal having a significantly lower bit rate for efficient transmission or storage. The decoder is essentially an inverse of the structure and methods of the encoder, and results in a reproduced audio signal that cannot be audibly distinguished from the original signal.
-
Citations
106 Claims
-
1-87. -87. (canceled)
-
88. A method of encoding a digital audio signal, comprising:
-
processing input samples of an audio signal by using an analysis filter bank so as to transform the input audio samples into subband samples that represent the audio signal in a frequency domain; creating quantization indexes by quantizing the subband samples; dividing the quantization indexes into granules, each containing a plurality of quantization indexes; assigning codebooks to individual granules, with each range of contiguous granules that have the same codebook index being an application range for said codebook; replacing codebooks assigned to identified application ranges with the codebook assigned to an immediate neighbor application range, thereby expanding the application ranges of said immediate neighbor codebooks; encoding the quantization indexes using the codebooks applicable within the respective application ranges, including changes made in said replacing step; creating an encoded data stream, including the encoded quantization indexes, indexes for the codebooks and the respective codebook application ranges; and at least one of storing or transmitting the encoded data stream. - View Dependent Claims (89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104)
-
-
105. A non-transitory computer-readable medium storing computer-executable process steps for encoding a digital audio signal, said process steps comprising steps for:
-
processing input samples of an audio signal by using an analysis filter bank so as to transform the input audio samples into subband samples that represent the audio signal in a frequency domain; creating quantization indexes by quantizing the subband samples; dividing the quantization indexes into granules, each containing a plurality of quantization indexes; assigning codebooks to individual granules, with each range of contiguous granules that have the same codebook index being an application range for said codebook; replacing codebooks assigned to identified application ranges with the codebook assigned to an immediate neighbor application range, thereby expanding the application ranges of said immediate neighbor codebooks; encoding the quantization indexes using the codebooks applicable within the respective application ranges, including changes made in said replacing step; creating an encoded data stream, including the encoded quantization indexes, indexes for the codebooks and the respective codebook application ranges; and at least one of storing or transmitting the encoded data stream.
-
-
106. An apparatus for encoding a digital audio signal, comprising:
-
means for processing input samples of an audio signal by using an analysis filter bank so as to transform the input audio samples into subband samples that represent the audio signal in a frequency domain; means for creating quantization indexes by quantizing the subband samples; means for dividing the quantization indexes into granules, each containing a plurality of quantization indexes; means for assigning codebooks to individual granules, with each range of contiguous granules that have the same codebook index being an application range for said codebook; means for replacing codebooks assigned to identified application ranges with the codebook assigned to an immediate neighbor application range, thereby expanding the application ranges of said immediate neighbor codebooks; means for encoding the quantization indexes using the codebooks applicable within the respective application ranges, including changes made by said means for replacing; means for creating an encoded data stream, including the encoded quantization indexes, indexes for the codebooks and the respective codebook application ranges; and means for at least one of storing or transmitting the encoded data stream.
-
Specification