Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
First Claim
1. A zero-latency method for reducing quantization-induced block-discontinuities of continuous data formatted into a plurality of time-domain blocks having boundaries, including:
- performing a first quantization of each block and generating first quantization indices indicative of such first quantization;
determining a quantization error for each block;
selecting any quantization error arising near the boundaries of each block from such first quantization;
performing a second quantization of any selected quantization error and generating second quantization indices indicative of such second quantization; and
generating an output bit-stream based on the first and second quantization indices.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and system for reduction of quantization-induced block-discontinuities arising from lossy compression and decompression of continuous signals, especially audio signals. One embodiment encompasses a general purpose, ultra-low latency, efficient audio codec algorithm. More particularly, the invention includes a method and apparatus for compression and decompression of audio signals using a novel boundary analysis and synthesis framework to substantially reduce quantization-induced frame or block-discontinuity; a novel adaptive cosine packet transform (ACPT) as the transform of choice to effectively capture the input audio characteristics; a signal-residue classifier to separate the strong signal clusters from the noise and weak signal components (collectively called residue); an adaptive sparse vector quantization (ASVQ) algorithm for signal components; a stochastic noise model for the residue; and an associated rate control algorithm. The invention further includes corresponding computer program implementations of these and other algorithms.
-
Citations
33 Claims
-
1. A zero-latency method for reducing quantization-induced block-discontinuities of continuous data formatted into a plurality of time-domain blocks having boundaries, including:
-
performing a first quantization of each block and generating first quantization indices indicative of such first quantization;
determining a quantization error for each block;
selecting any quantization error arising near the boundaries of each block from such first quantization;
performing a second quantization of any selected quantization error and generating second quantization indices indicative of such second quantization; and
generating an output bit-stream based on the first and second quantization indices. - View Dependent Claims (2, 3, 4, 5)
transforming each time-domain block of audio data to a transform domain block comprising a plurality of coefficients;
partitioning the coefficients of each time-domain block into signal coefficients quantizing the signal coefficients for each block and generating signal quantization indices indicative of such quantization; and
modeling the residue coefficients for each block as stochastic noise and generating residue quantization indices indicative of such quantization.
-
-
4. The method of claim 1, wherein generating the output bit-stream includes encoding the first and second quantization indices and formatting such encoded indices as the output bit-stream.
-
5. The method of claim 1, wherein the continuous data includes continuous time-domain data, wherein the method further comprises formatting the continuous time-domain data into a plurality of time-domain blocks having boundaries.
-
6. A zero-latency method for reducing quantization-induced block-discontinuities of continuous data formatted into a plurality of contiguous original time-domain blocks, including:
-
performing a reversible transform on each original time-domain block into a corresponding transformed block that yields energy concentration in the transformed domain;
performing a first quantization of each transformed block and generating first quantization indices indicative of such first quantization;
performing the inverse transform on quantized transform components of the first quantization indices for each transformed block, yielding a corresponding quantized time-domain block;
computing a quantization error by taking the difference between the original time-domain block and its corresponding quantized time-domain block;
selecting the quantization error arising near the boundaries of each original time-domain block from such first quantization;
performing a second quantization on the selected quantization error and generating second quantization indices indicative of such second quantization; and
generating an output bit-stream based on the first and second quantization indices. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computer program, residing on a computer-readable medium, for zero-latency reduction of quantization-induced block-discontinuities of continuous data formatted into a plurality of time-domain blocks having boundaries, the computer program comprising instructions for causing a computer to:
-
perform a first quantization of each block and generate first quantization indices indicative of such first quantization;
determine a quantization error for each block;
select any quantization error arising near the boundaries of each block from such first quantization;
perform a second quantization of any selected quantization error and generate second quantization indices indicative of such second quantization; and
generate an output bit-stream based on the first and second quantization indices. - View Dependent Claims (13, 14, 15, 16)
transform each time-domain block of audio data to a transform domain block comprising a plurality of coefficients;
partition the coefficients of each time-domain block into signal coefficients and residue coefficients;
quantize the signal coefficients for each block and generate signal quantization indices indicative of such quantization; and
model the residue coefficients for each block as stochastic noise and generate residue quantization indices indicative of such quantization.
-
-
15. The computer program of claim 12, wherein the instructions for causing the computer to generate the output bit-stream include instructions for causing the computer to encode the first and second quantization indices and format such encoded indices as the output bit-stream.
-
16. The computer program of claim 12, wherein the continuous data includes continuous time-domain data, wherein the computer program further comprises instructions for causing the computer to format the continuous time-domain data into a plurality of time-domain blocks having boundaries.
-
17. A computer program, residing on a computer-readable medium, for zero-latency reduction of quantization-induced block-discontinuities of continuous data formatted into a plurality of contiguous original time-domain blocks, the computer program comprising instructions for causing a computer to:
-
perform a reversible transform on each original time-domain block into a corresponding transformed block that yields energy concentration in the transformed domain;
perform a first quantization of each transformed block and generate first quantization indices indicative of such first quantization;
perform the inverse transform on quantized transform components of the first quantization indices for each transformed block, yielding a corresponding quantized time-domain block;
compute a quantization error by taking the difference between the original time-domain block and its corresponding quantized time-domain block;
select the quantization error arising near the boundaries of each original time-domain block from such first quantization;
perform a second quantization on the selected quantization error and generate second quantization indices indicative of such second quantization; and
generate an output bit-stream based on the first and second quantization indices. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A system for zero-latency reduction of quantization-induced block-discontinuities of continuous data formatted into a pluarlity of time-domain blocks having boundaries, including:
-
means for performing a first quantization of each block and generating first quantization indices indicative of such first quantization;
means for determining a quantization error for each block;
means for selecting any quantization error arising near the boundaries of each block from such first quantization;
means for performing a second quantization of any selected quantization error and generating second quantization indices indicative of such second quantization; and
means for generating an output bit-stream based on the first and second quantization indices. - View Dependent Claims (24, 25, 26, 27)
means for transforming each time-domain block of audio data to a transform domain block comprising a plurality of coefficients;
means for partitioning the coefficients of each time-domain block into signal coefficients and residue coefficients;
means for quantizing the signal coefficients for each block and generating signal quantization indices indicative of such quantization; and
means for modeling the residue coefficients for each block as stochastic noise and generating residue quantization indices indicative of such quantization.
-
-
26. The system of claim 23, wherein the means for generating the output bit-stream includes means for encoding the first and second quantization indices and formatting such encoded indices as the output bit-stream.
-
27. The system of claim 23, wherein the continuous data includes continuous time-domain data, wherein the system further comprises means for formatting the continuous time-domain data into a plurality of time-domain blocks having boundaries.
-
28. A system for zero-latency reduction of quantization-induced block-discontinuities of continuous data formatted into a plurality of contiguous original time-domain blocks, including:
-
means for performing a reversible transform on each original time-domain block into a corresponding transformed block that yields energy concentration in the transformed domain;
means for performing a first quantization of each transformed block and generating first quantization indices indicative of such first quantization;
means for performing the inverse transform on quantized transform components of the first quantization indices for each transformed block, yielding a corresponding quantized time-domain block;
means for computing a quantization error by taking the difference between the original time-domain block and its corresponding quantized time-domain block;
means for selecting the quantization error arising near the boundaries of each original time-domain block from such first quantization;
means for performing a second quantization on the selected quantization error and generating second quantization indices indicative of such second quantization; and
means for generating an ouput bit-stream based on the first and second quantization indices. - View Dependent Claims (29, 30, 31, 32, 33)
-
Specification