IP Library Granted Patent US 8,285,558
Granted Patent B2
US 8,285,558 · App. 13/191,496 · Granted Oct 9, 2012

Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,285,558
App. No.
13/191,496
Granted
Oct 9, 2012
Kind
B2
Abstract

Systems and methods are provided for ultra-low latency decompression for a general-purpose audio input signal. In accordance with one implementation, a computer-implemented method is provided that includes decoding, by a processor, an input bit stream into quantization indices and residue quantization indices; applying an inverse quantization algorithm to the quantization indices to generate signal coefficients; applying an inverse transform to the signal coefficients to generate a time-domain reconstructed signal waveform; applying a stochastic noise synthesis algorithm to the residue quantization indices to generate a time-domain reconstructed residue waveform; combining, by the processor, the reconstructed signal waveform and the reconstructed residue waveform as a reconstructed signal waveform block; and generating an output signal by applying a boundary synthesis algorithm to the reconstructed signal waveform blocks.

Claims (74)

1. A computer-implemented method for ultra-low latency decompression for a general-purpose audio input signal, including:

decoding, by a processor, an input bit stream into quantization indices and residue quantization indices;

applying an inverse quantization algorithm to the quantization indices to generate signal coefficients;

applying an inverse transform to the signal coefficients to generate a time-domain reconstructed signal waveform;

applying a stochastic noise synthesis algorithm to the residue quantization indices to generate a time-domain reconstructed residue waveform;

combining, by the processor, the reconstructed signal waveform and the reconstructed residue waveform as a reconstructed signal waveform block; and

generating an output signal by applying a boundary synthesis algorithm to the reconstructed signal waveform blocks.

2. The method of claim 1 , wherein applying the stochastic noise synthesis algorithm comprises:

generating pseudo-random numbers;

scaling the pseudo-random numbers by residue energy to produce synthesized discrete cosine transform (DCT) or fast Fourier transform (FFT) coefficients; and

performing an inverse-DCT or inverse-FFT to obtain a time-domain synthesized noise subframe signal.

3. The method of claim 1 , wherein applying the stochastic noise synthesis algorithm comprises:

pre-computing band-limited filter coefficients for a plurality of frequency bands;

generating a pseudo-random white noise;

applying the band-limited filter coefficients to the pseudo-random white noise to produce a spectrally colored stochastic noise for each frequency band;

computing a noise gain curve for each frequency band by interpolating encoded residue energy levels among residue sub-frames and between audio coding frames;

applying each gain curve to a spectrally colored noise signal; and

adding the spectrally colored noise signal to a corresponding frequency band to produce the time-domain reconstructed residue waveform.

4. The method of claim 1 , wherein applying the stochastic noise synthesis algorithm comprises:

calculating subband sizes from a best basis tree;

splitting each subband or joining neighboring subbands to create noise subframes that are within a specified range of subframe sizes; and

placing the ordered noise subframe signal into a reconstructed noise frame utilizing the subframe sizes.

5. The method of claim 1 , wherein applying the inverse transform to the signal coefficients further comprises:

pre-calculating bell window functions;

joining an extended best basis tree into a combined best basis tree; and

performing a cosine packet synthesis to recover the time-domain reconstructed signal waveform based on the bell window functions and the combined best basis tree.

6. The method of claim 5 , wherein the extended best basis tree is a two-dimensional data array, and the combined best basis tree is a one-dimensional data array.

7. The method of claim 1 , further comprising:

renormalizing the reconstructed signal waveform block to generate a renormalization block by multiplying a normalization factor with the reconstructed signal waveform block.

8. The method of claim 7 , further comprising:

buffering a synthesis history, wherein the synthesis history comprises a plurality of samples from a last coding frame.

9. The method of claim 8 , further comprising:

combining the samples of the synthesis history and a portion of samples of the normalization block to generate a synthesized waveform block;

updating the synthesis history by buffering a plurality of samples of a current coding frame; and

clipping the synthesized waveform block to generate the output signal.

10. The method of claim 9 , wherein combining the samples of the synthesis history and the portion of samples of the normalization block further comprises:

generating a linear interpolation based on the samples of the synthesis history and the portion of samples of the normalization block.

11. A computer program, residing on a non-transitory computer-readable medium, for ultra-low latency decompression for a general-purpose audio input signal, the computer program comprising instructions for causing a processor to:

decode an input bit stream into quantization indices and residue quantization indices;

apply an inverse quantization algorithm to the quantization indices to generate signal coefficients;

apply an inverse transform to the signal coefficients to generate a time-domain reconstructed signal waveform;

apply a stochastic noise synthesis algorithm to the residue quantization indices to generate a time-domain reconstructed residue waveform;

combine the reconstructed signal waveform and the reconstructed residue waveform as a reconstructed signal waveform block; and

generate an output signal by applying a boundary synthesis algorithm to the reconstructed signal waveform blocks.

12. The computer program of claim 11 , wherein the instructions for causing the processor to apply a stochastic noise synthesis algorithm includes instructions for causing the processor to:

generate pseudo-random numbers;

scale the pseudo-random numbers by residue energy to produce synthesized DCT or FFT coefficients; and

perform an inverse-DCT or inverse-FFT to obtain a time-domain synthesized noise subframe signal.

13. The computer program of claim 11 , wherein the instructions for causing the processor to apply a stochastic noise synthesis algorithm includes instructions for causing the processor to:

pre-compute band-limited filter coefficients for a plurality of frequency bands;

generate a pseudo-random white noise;

apply the band-limited filter coefficients to the pseudo-random white noise to produce spectrally colored stochastic noise for each frequency band;

compute a noise gain curve for each frequency band by interpolating encoded residue energy levels among residue sub-frames and between audio coding frames;

apply each gain curve to a spectrally colored noise signal; and

add the spectrally colored noise signal to a corresponding frequency band to produce a final synthesized noise signal.

14. The computer program of claim 11 , wherein the instructions for causing the processor to apply the stochastic noise synthesis algorithm includes instructions for causing the processor to:

calculate subband sizes from a best basis tree;

split each subband or joining neighboring subbands to create noise subframes that are within a specified range of subframe sizes; and

place the ordered noise subframe signal into a reconstructed noise frame utilizing the subframe sizes.

15. The computer program of claim 11 , wherein the computer program further comprises instructions for causing the processor to:

pre-calculate bell window functions;

join an extended best basis tree into a combined best basis tree; and

perform a cosine packet synthesis to recover the time-domain reconstructed signal waveform based on the bell window functions and the combined best basis tree.

16. The computer program of claim 15 , wherein the extended best basis tree is a two-dimensional data array, and the combined best basis tree is a one-dimensional data array.

17. The computer program of claim 11 , wherein the computer program further comprises instructions for causing the processor to:

renormalize the reconstructed signal waveform block to generate a renormalization block by multiplying a normalization factor with the reconstructed signal waveform block.

18. The computer program of claim 17 , wherein the computer program further comprises instructions for causing the processor to:

buffer a synthesis history, wherein the synthesis history comprises a plurality of samples from a last coding frame.

19. The computer program of claim 18 , wherein the computer program further comprises instructions for causing the processor to:

combine the samples of the synthesis history and a portion of samples of the normalization block to generate a synthesized waveform block;

update the synthesis history by buffering a plurality of samples of a current coding frame; and

clip the synthesized waveform block to generate the output signal.

20. The computer program of claim 19 , wherein the computer program further comprises instructions for causing the processor to:

generate a linear interpolation based on the samples of the synthesis history and the portion of samples of the normalization block.

Assignments (6)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2012
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 028463/0125 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR NAMES THAT WERE INADVERTENTLY LEFT OFF OF THE INITIAL ASSIGNMENT PREVIOUSLY RECORDED ON REEL 026654 FRAME 0400. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 10, 2012
From: WU, SHUWU; MANTEGNA, JOHN; PERLMUTTER, KEREN
To: AMERICA ONLINE, INC.
Reel/Frame 027507/0432 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2011
From: WU, SHUWU
To: AMERICA ONLINE, INC.
Reel/Frame 026654/0400 →
CHANGE OF NAME Recorded Jul 27, 2011
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 026654/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2011
From: AOL LLC
To: AOL INC.
Reel/Frame 026654/0436 →