Audio codec using adaptive sparse vector quantization with subband vector classification
First Claim
1. A method for compressing a digitized time-domain audio input signal, including the steps of:
- (a) filtering the input signal into a plurality of subbands sufficient to provide a frequency domain representation of the input signal;
(b) spectrally masking the plurality of subbands using an in-path psychoacoustic model to generate masked subbands;
(c) classifying the masked subbands into one of a plurality of quantization vector types;
(d) computing vector quantization indices for each quantization vector type;
(e) formatting the vector quantization indices for each quantization vector type as an output bit-stream.
10 Assignments
0 Petitions
Accused Products
Abstract
An audio coder/decoder ("codec") that is suitable for real-time applications due to reduced computational complexity, and a novel adaptive sparse vector quantization (ASVQ) scheme and algorithms for general purpose data quantization. The codec provides low bit-rate compression for music and speech, while being applicable to higher bit-rate audio compression. The codec includes an in-path implementation of psychoacoustic spectral masking, and frequency domain quantization using the novel ASVQ scheme and algorithms specific to audio compression. More particularly, the inventive audio codec employs frequency domain quantization with critically sampled subband filter banks to maintain time domain continuity across frame boundaries. The input audio signal is transformed into the frequency domain in which in-path spectral masking can be directly applied. This in-path spectral masking usually results in sparse vectors. The ASVQ scheme is a vector quantization algorithm that is particularly effective for quantizing sparse signal vectors. In the preferred embodiment, ASVQ adaptively classifies signal vectors into six different types of sparse vector quantization, and performs quantization accordingly. The ASVQ technique applies to general purpose data quantization as well as to quantization in the context of audio compression. The invention also includes a "soft clipping" algorithm in the decoder as a post-processing stage. The soft clipping algorithm preserves the waveform shapes of the reconstructed time domain audio signal in a frame- or block-oriented stateless manner while maintaining continuity across frame or block boundaries. The invention includes related methods, apparatus, and computer programs.
148 Citations
63 Claims
-
1. A method for compressing a digitized time-domain audio input signal, including the steps of:
-
(a) filtering the input signal into a plurality of subbands sufficient to provide a frequency domain representation of the input signal; (b) spectrally masking the plurality of subbands using an in-path psychoacoustic model to generate masked subbands; (c) classifying the masked subbands into one of a plurality of quantization vector types; (d) computing vector quantization indices for each quantization vector type; (e) formatting the vector quantization indices for each quantization vector type as an output bit-stream. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program, residing on a computer-readable medium, for compressing a digitized time-domain audio input signal, including instructions for causing a computer to:
-
(a) filter the input signal into a plurality of subbands sufficient to provide a frequency domain representation of the input signal; (b) spectrally mask the plurality of subbands using an in-path psychoacoustic model to generate masked subbands; (c) classify the masked subbands into one of a plurality of quantization vector types; (d) compute vector quantization indices for each quantization vector type; (e) format the vector quantization indices for each quantization vector type as an output bit-stream. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An apparatus for compressing a digitized time-domain audio input signal, including:
-
(a) means for filtering the input signal into a plurality of subbands sufficient to provide a frequency domain representation of the input signal; (b) means for spectrally masking the plurality of subbands using an in-path psychoacoustic model to generate masked subbands; (c) means for classifying the masked subbands into one of a plurality of quantization vector types; (d) means for computing vector quantization indices for each quantization vector type; (e) means for formatting the vector quantization indices for each quantization vector type as an output bit-stream. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method for decompressing a bitstream including vector quantization indices for a plurality of vector types, the vector quantization indices representing a digitized time-domain audio input signal compressed using adaptive sparse vector quantization applied to masked subbands generated from the digitized time-domain audio input signal, including the steps of:
-
(a) decoding the output bit stream into vector quantization indices; (b) reconstructing masked subbands from the vector quantization indices; (c) synthesizing the digitized time-domain audio output signal from the reconstructed masked subbands. - View Dependent Claims (20)
-
-
21. A computer program, residing on a computer-readable medium, for decompressing a bitstream including vector quantization indices for a plurality of vector types, the vector quantization indices representing a digitized time-domain audio input signal compressed using adaptive sparse vector quantization applied to masked subbands generated from the digitized time-domain audio input signal, including instructions for causing a computer to:
-
(a) decode the output bit stream into vector quantization indices; (b) reconstruct masked subbands from the vector quantization indices; (c) synthesize the digitized time-domain audio output signal from the reconstructed masked subbands. - View Dependent Claims (22)
-
-
23. An apparatus for decompressing a bitstream including vector quantization indices for a plurality of vector types, the vector quantization indices representing a digitized time-domain audio input signal compressed using adaptive sparse vector quantization applied to masked subbands generated from the digitized time-domain audio input signal, including:
-
(a) means for decoding the output bit stream into vector quantization indices; (b) means for reconstructing masked subbands from the vector quantization indices; (c) means for synthesizing the digitized time-domain audio output signal from the reconstructed masked subbands. - View Dependent Claims (24)
-
-
25. A method for compressing a digitized time-domain input signal, including the steps of:
-
(a) filtering the input signal into a plurality of subbands sufficient to provide a frequency domain representation of the input signal; (b) classifying the subbands into one of a plurality of quantization vector types, at least one of such quantization vector types being a sparse vector type; (c) computing vector quantization indices for each quantization vector type; (d) formatting the vector quantization indices for each vector type as an output bitstream. - View Dependent Claims (27, 28, 29)
-
-
26. A method for transforming and compressing signals representing a digitized time-domain input signal, the input signal being filtered into a plurality of subbands sufficient to provide a frequency domain representation of the input signal, including the steps of:
-
(a) classifying the subbands into one of a plurality of quantization vector types, at least one of such quantization vector types being a sparse vector type; (b) computing vector quantization indices for each quantization vector type; (c) outputting vector quantization indices for each vector type as a bit-stream representing a transformed and compressed version of the digitized time-domain input signal.
-
-
30. A method for decompressing a bitstream including vector quantization indices for a plurality of vector types, the vector quantization indices representing a digitized time-domain input signal compressed using adaptive sparse vector quantization applied to subbands generated from the digitized time-domain input signal, including the steps of:
-
(a) decoding the output bit stream into vector quantization indices; (b) reconstructing subbands from the vector quantization indices; (c) synthesizing the digitized time-domain output signal from the reconstructed subbands.
-
-
31. A computer program, residing on a computer-readable medium, for compressing a digitized time-domain input signal, including instructions for causing a computer to:
-
(a) filter the input signal into a plurality of subbands sufficient to provide a frequency domain representation of the input signal; (b) classify the subbands into one of a plurality of quantization vector types, at least one of such quantization vector types being a sparse vector type; (c) compute vector quantization indices for each quantization vector type; (d) format the vector quantization indices for each vector type as an output bit-stream. - View Dependent Claims (33, 34, 35)
-
-
32. A computer program, residing on a computer-readable medium, for transforming and compressing signals representing a digitized time-domain input signal, the input signal being filtered into a plurality of subbands sufficient to provide a frequency domain representation of the input signal, including instructions for causing a computer to:
-
(a) classify the subbands into one of a plurality of quantization vector types, at least one of such quantization vector types being a sparse vector type; (b) compute vector quantization indices for each quantization vector type; (c) output vector quantization indices for each vector type as a bit-stream representing a transformed and compressed version of the digitized time-domain input signal.
-
-
36. A computer program, residing on a computer-readable medium, for decompressing a bitstream including vector quantization indices for a plurality of vector types, the vector quantization indices representing a digitized time-domain input signal compressed using adaptive sparse vector quantization applied to subbands generated from the digitized time-domain input signal, including instructions for causing a computer to:
-
(a) decode the output bit stream into vector quantization indices; (b) reconstruct subbands from the vector quantization indices; (c) synthesize the digitized time-domain output signal from the reconstructed subbands.
-
-
37. An apparatus for compressing a digitized time-domain input signal, including:
-
(a) means for filtering the input signal into a plurality of subbands sufficient to provide a frequency domain representation of the input signal; (b) means for classifying the subbands into one of a plurality of quantization vector types, at least one of such quantization vector types being a sparse vector type; (c) means for computing vector quantization indices for each quantization vector type; (d) means for formatting the vector quantization indices for each vector type as an output bit-stream. - View Dependent Claims (39, 40, 41)
-
-
38. An apparatus for transforming and compressing signals representing a digitized time-domain input signal, the input signal being filtered into a plurality of subbands sufficient to provide a frequency domain representation of the input signal, including:
-
(a) means for classifying the subbands into one of a plurality of quantization vector types, at least one of such quantization vector types being a sparse vector type; (b) means for computing vector quantization indices for each quantization vector type; (c) means for outputting vector quantization indices for each vector type as a bit-stream representing a transformed and compressed version of the digitized time-domain input signal.
-
-
42. An apparatus for decompressing a bitstream including vector quantization indices for a plurality of vector types, the vector quantization indices representing a digitized time-domain input signal compressed using adaptive sparse vector quantization applied to subbands generated from the digitized time-domain input signal, including:
-
(a) means for decoding the output bit stream into vector quantization indices; (b) means for reconstructing subbands from the vector quantization indices; (c) means for synthesizing the digitized time-domain output signal from the reconstructed subbands.
-
-
43. A method for quantization of arbitrary data, input into a computer, by adaptive sparse vector quantization including the steps of:
-
(a) grouping consecutive points of the original data into vectors; (b) adaptively classifying the vectors into one of a plurality of vector types, including at least one sparse vector type; (c) collapsing each sparse vector into a corresponding compact form; (d) computing a plurality of vector quantization indices for each compact vector; and (e) formatting the vector quantization indices for each vector type as an output bit-stream. - View Dependent Claims (44, 45, 46)
-
-
47. A computer program, residing on a computer-readable medium, for quantization of arbitrary data, input into a computer, by adaptive sparse vector quantization, including instructions for causing the computer to:
-
(a) group consecutive points of the original data into vectors; (b) adaptively classify the vectors into one of a plurality of vector types, including at least one sparse vector type; (c) collapse each sparse vector into a corresponding compact form; (d) compute a plurality of vector quantization indices for each compact vector; and (e) format the vector quantization indices for each vector type as an output bit-stream. - View Dependent Claims (48, 49, 50)
-
-
51. An apparatus for quantization of arbitrary data, input into a computer, by adaptive sparse vector quantization including:
-
(a) means for grouping consecutive points of the original data into vectors; (b) means for adaptively classifying the vectors into one of a plurality of vector types, including at least one sparse vector type; (c) means for collapsing each sparse vector into a corresponding compact form; (d) means for computing a plurality of vector quantization indices for each compact vector; and (e) means for formatting the vector quantization indices for each vector type as an output bit-stream. - View Dependent Claims (52, 53, 54)
-
-
55. A method for de-quantization of compressed input bitstream data, input into a computer, by adaptive sparse vector de-quantization, including the steps of:
-
(a) decoding the input bitstream data into a plurality of vector quantization indices, at least one type of such vector quantization indices defining a sparse vector type; (b) reconstructing compact vectors from the vector quantization indices; (c) expanding each compact vector into sparse vector form for each sparse vector type; (d) assembling sparse vectors into transcoded data. - View Dependent Claims (56, 57)
-
-
58. A computer program, residing on a computer-readable medium, for de-quantization of compressed input bitstream data, input into a computer, by adaptive sparse vector de-quantization, including instructions for causing the computer to:
-
(a) decode the input bitstream data into a plurality of vector quantization indices, at least one type of such vector quantization indices defining a sparse vector type; (b) reconstruct compact vectors from the vector quantization indices; (c) expand each compact vector into sparse vector form for each sparse vector type; (d) assemble sparse vectors into transcoded data. - View Dependent Claims (59, 60)
-
-
61. An apparatus for de-quantization of compressed input bitstream data, input into a computer, by adaptive sparse vector de-quantization, including:
-
(a) means for decoding the input bitstream data into a plurality of vector quantization indices, at least one type of such vector quantization indices defining a sparse vector type; (b) means for reconstructing compact vectors from the vector quantization indices; (c) means for expanding each compact vector into sparse vector form for each sparse vector type; (d) means for assembling sparse vectors into transcoded data. - View Dependent Claims (62, 63)
-
Specification