IP Library Granted Patent US 7,418,395
Granted Patent B2
US 7,418,395 · App. 11/609,081 · Granted Aug 26, 2008

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 7,418,395
App. No.
11/609,081
Granted
Aug 26, 2008
Kind
B2
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.

Claims (189)

1. A method for decompressing a bit stream including signal vector quantization indices and residue vector quantization indices, including:

decoding an output bit stream into vector quantization indices and residue vector quantization indices;

applying an inverse vector quantization algorithm to the vector 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 vector quantization indices to generate a time-domain reconstructed residue waveform;

combining the reconstructed signal waveform and the reconstructed residue waveform as a reconstructed input signal waveform block; and

applying a boundary synthesis algorithm to the reconstructed input signal waveform block to generate an output signal having substantially reduced boundary discontinuities.

2. The method of claim 1 wherein the inverse vector quantization algorithm includes an inverse adaptive sparse vector quantization algorithm.

3. The method of claim 1 wherein the inverse transform includes an inverse adaptive cosine packet transform.

4. The method of claim 3 wherein the inverse adaptive cosine packet transform includes:

calculating bell window functions;

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

synthesizing a time-domain signal from optimal cosine packet coefficients using the bell window functions.

5. The method of claim 1 further including renormalizing the reconstructed input signal waveform block.

6. The method of claim 1 wherein the stochastic noise synthesis algorithm is performed in the spectral domain, and includes:

generating pseudo-random numbers;

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

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

7. The method of claim 1 wherein the stochastic noise synthesis algorithm includes a time-domain filter-bank based noise synthesizer which includes:

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

generating pseudo-random white noise;

applying the band-limited filter coefficients to the pseudo-random white noise to produce 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 each such noise signal to a corresponding frequency band to produce a final synthesized noise signal.

8. The method of claim 1 wherein the stochastic noise synthesis algorithm includes a synthesized noise subframe signal assembled into a noise frame signal by:

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.

9. The method of claim 1 further including applying a soft clipping algorithm to the output signal to reduce spectral distortion.

10. A method for decompressing a bit stream including signal vector quantization indices and residue vector quantization indices, including:

generating a time-domain reconstructed signal waveform and residue vector quantization indices from an output bit stream;

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

combining the reconstructed signal waveform and the reconstructed residue waveform as a reconstructed input signal waveform block; and

applying a boundary synthesis algorithm to the reconstructed input signal waveform block to generate an output signal having substantially reduced boundary discontinuities.

11. The method of claim 10 wherein generating the time-domain reconstructed signal waveform and the residue vector quantization indices from the output bit stream includes:

decoding the output bit stream into vector quantization indices and the residue vector quantization indices;

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

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

12. The method of claim 11 wherein the inverse vector quantization algorithm includes an inverse adaptive sparse vector quantization algorithm.

13. The method of claim 11 wherein the inverse transform includes an inverse adaptive cosine packet transform.

14. The method of claim 13 wherein the inverse adaptive cosine packet transform includes:

calculating bell window functions;

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

synthesizing a time-domain signal from optimal cosine packet coefficients using the bell window functions.

15. The method of claim 10 further including renormalizing the reconstructed input signal waveform block.

16. The method of claim 10 wherein the noise synthesis algorithm includes a stochastic noise synthesis algorithm.

17. The method of claim 16 wherein the stochastic noise synthesis algorithm is performed in the spectral domain, and includes:

generating pseudo-random numbers;

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

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

18. The method of claim 16 wherein the stochastic noise synthesis algorithm includes a time-domain filter-bank based noise synthesizer which includes:

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

generating pseudo-random white noise;

applying the band-limited filter coefficients to the pseudo-random white noise to produce 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 each such noise signal to a corresponding frequency band to produce a final synthesized noise signal.

19. The method of claim 16 wherein the stochastic noise synthesis algorithm includes a synthesized noise subframe signal assembled into a noise frame signal by:

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.

20. The method of claim 10 further including applying a soft clipping algorithm to the output signal to reduce spectral distortion.

21. A computer program, residing on a computer-readable medium, for decompressing a bit stream including signal vector quantization indices and residue vector quantization indices, the computer program comprising instructions for causing a computer to:

decode an output bit stream into vector quantization indices and residue vector quantization indices;

apply an inverse vector quantization algorithm to the vector 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 vector quantization indices to generate a time-domain reconstructed residue waveform;

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

apply a boundary synthesis algorithm to the reconstructed input signal waveform block to generate an output signal having substantially reduced boundary discontinuities.

22. The computer program of claim 21 wherein the inverse vector quantization algorithm includes an inverse adaptive sparse vector quantization algorithm.

23. The computer program of claim 21 wherein the inverse transform includes an inverse adaptive cosine packet transform.

24. The computer program of claim 23 wherein the inverse adaptive cosine packet transform includes instructions for causing the computer to:

calculate bell window functions;

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

synthesize a time-domain signal from optimal cosine packet coefficients using the bell window functions.

25. The computer program of claim 21 further including instructions for causing the computer to renormalize the reconstructed input signal waveform block.

26. The computer program of claim 21 wherein the stochastic noise synthesis algorithm is performed in the spectral domain, and includes instructions for causing the computer 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 time-domain synthesized noise subframe signal.

27. The computer program of claim 21 wherein the stochastic noise synthesis algorithm includes a time-domain filter-bank based noise synthesizer and the instructions for causing the computer to:

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

generate 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 each such noise signal to a corresponding frequency band to produce a final synthesized noise signal.

28. The computer program of claim 21 wherein the stochastic noise synthesis algorithm includes a synthesized noise subframe signal assembled into a noise frame signal by including instructions for causing the computer 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.

29. The computer program of claim 21 further including instructions for causing the computer to apply a soft clipping algorithm to the output signal to reduce spectral distortion.

30. A computer program, residing on a computer-readable medium, for decompressing a bit stream including signal vector quantization indices and residue vector quantization indices, the computer program comprising instructions for causing a computer to:

generate a time-domain reconstructed signal waveform and residue vector quantization indices from an output bit stream;

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

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

apply a boundary synthesis algorithm to the reconstructed input signal waveform block to generate an output signal having substantially reduced boundary discontinuities.

31. The computer program of claim 30 wherein the instructions for causing the computer to generate the time-domain reconstructed signal waveform and the residue vector quantization indices from the output bit stream include instructions for causing the computer to:

decode the output bit stream into vector quantization indices and the residue vector quantization indices;

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

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

32. The computer program of claim 31 wherein the inverse vector quantization algorithm includes an inverse adaptive sparse vector quantization algorithm.

33. The computer program of claim 31 wherein the inverse transform includes an inverse adaptive cosine packet transform.

34. The computer program of claim 33 wherein the inverse adaptive cosine packet transform includes instructions for causing the computer to:

calculate bell window functions;

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

synthesize a time-domain signal from optimal cosine packet coefficients using the bell window functions.

35. The computer program of claim 30 further including instructions for causing the computer to renormalize the reconstructed input signal waveform block.

36. The computer program of claim 30 wherein the noise synthesis algorithm includes a stochastic noise synthesis algorithm.

37. The computer program of claim 36 wherein the stochastic noise synthesis algorithm is performed in the spectral domain, and includes instructions for causing the computer 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 time-domain synthesized noise signal.

38. The computer program of claim 36 wherein the stochastic noise synthesis algorithm includes a time-domain filter-bank based noise synthesizer which includes instructions for causing the computer to:

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

generate 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 each such noise signal to a corresponding frequency band to produce a final synthesized noise signal.

39. The computer program of claim 36 wherein the stochastic noise synthesis algorithm includes a synthesized noise subframe signal assembled into a noise frame signal by including instructions for causing the computer 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.

40. The computer program of claim 30 further including instructions for causing the computer to apply a soft clipping algorithm to the output signal to reduce spectral distortion.

41. A system for decompressing a bit stream including signal vector quantization indices and residue vector quantization indices, including:

means for decoding an output bit stream into vector quantization indices and residue vector quantization indices;

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

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

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

means for combining the reconstructed signal waveform and the reconstructed residue waveform as a reconstructed input signal waveform block; and

means for applying a boundary synthesis algorithm to the reconstructed input signal waveform block to generate an output signal having substantially reduced boundary discontinuities.

42. The system of claim 41 wherein the means for applying the inverse vector quantization algorithm includes means for applying an inverse adaptive sparse vector quantization algorithm.

43. The system of claim 41 wherein the means for applying the inverse transform includes means for applying an inverse adaptive cosine packet transform.

44. The system of claim 43 wherein the means for applying the inverse adaptive cosine packet transform includes:

means for calculating bell window functions;

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

means for synthesizing a time-domain signal from optimal cosine packet coefficients using the bell window functions.

45. The system of claim 41 further including means for renormalizing the reconstructed input signal waveform block.

46. The system of claim 41 wherein the means for applying the stochastic noise synthesis algorithm is performed in the spectral domain, and includes:

means for generating pseudo-random numbers;

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

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

47. The system of claim 41 wherein the means for applying the stochastic noise synthesis algorithm includes a time-domain filter-bank based noise synthesizer which includes:

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

means for generating pseudo-random white noise;

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

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

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

means for adding each such noise signal to a corresponding frequency band to produce a final synthesized noise signal.

48. The system of claim 47 wherein the means for applying the stochastic noise synthesis algorithm includes a synthesized noise subframe signal assembled into a noise frame signal by:

means for calculating subband sizes from a best basis tree;

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

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

49. The system of claim 41 further including means for applying a soft clipping algorithm to the output signal to reduce spectral distortion.

50. A system for decompressing a bit stream including signal vector quantization indices and residue vector quantization indices, including:

means for generating a time-domain reconstructed signal waveform and residue vector quantization indices from an output bit stream;

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

means for combining the reconstructed signal waveform and the reconstructed residue waveform as a reconstructed input signal waveform block; and

means for applying a boundary synthesis algorithm to the reconstructed input signal waveform block to generate an output signal having substantially reduced boundary discontinuities.

51. The system of claim 50 wherein the means for generating the time-domain reconstructed signal waveform and the residue vector quantization indices from the output bit stream includes:

means for decoding the output bit stream into vector quantization indices and the residue vector quantization indices;

means for applying an inverse vector quantization algorithm to the vector quantization indices to generate signal coefficients; and

means for applying an inverse transform to the signal coefficients to generate the time-domain reconstructed signal waveform.

52. The system of claim 51 wherein the means for applying the inverse vector quantization algorithm includes means for applying an inverse adaptive sparse vector quantization algorithm.

53. The system of claim 51 wherein the means for applying the inverse transform includes means for applying an inverse adaptive cosine packet transform.

54. The system of claim 53 wherein means for applying the inverse adaptive cosine packet transform includes:

means for calculating bell window functions;

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

means for synthesizing a time-domain signal from optimal cosine packet coefficients using the bell window functions.

55. The system of claim 50 further including means for renormalizing the reconstructed input signal waveform block.

56. The system of claim 50 wherein the means for applying the noise synthesis algorithm includes means for applying a stochastic noise synthesis algorithm.

57. The system of claim 56 wherein the means for applying the stochastic noise synthesis algorithm is performed in the spectral domain, and includes:

means for generating pseudo-random numbers;

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

means for performing an inverse-DCT or inverse-FFT to obtain time-domain synthesized noise signal.

58. The system of claim 56 wherein the means for applying the stochastic noise synthesis algorithm includes a time-domain filter-bank based noise synthesizer which includes:

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

means for generating pseudo-random white noise;

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

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

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

means for adding each such noise signal to a corresponding frequency band to produce a final synthesized noise signal.

59. The system of claim 56 wherein the means for applying the stochastic noise synthesis algorithm includes a synthesized noise subframe signal assembled into a noise frame signal by:

means for calculating subband sizes from a best basis tree;

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

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

60. The system of claim 50 further including means for applying a soft clipping algorithm to the output signal to reduce spectral distortion.

Assignments (7)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2012
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 028487/0602 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 16, 2010
From: BANK OF AMERICA, N A
To: AOL INC; AOL ADVERTISING INC; GOING INC; LIGHTNINGCAST LLC; MAPQUEST, INC; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC; TACODA LLC; TRUVEO, INC; YEDDA, INC
Reel/Frame 025323/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2009
From: AOL LLC
To: AOL INC.
Reel/Frame 023723/0645 →
SECURITY AGREEMENT Recorded Dec 14, 2009
From: AOL INC.; AOL ADVERTISING INC.; BEBO, INC.; ICQ LLC; GOING, INC.; LIGHTNINGCAST LLC; MAPQUEST, INC.; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC.; TACODA LLC; TRUVEO, INC.; YEDDA, INC.
To: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT
Reel/Frame 023649/0061 →
CHANGE OF NAME Recorded Jul 21, 2008
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 021265/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2007
From: WU, SHUWU; MANTEGNA, JOHN; PERLMUTTER, KEREN O.
To: AMERICA ONLINE, INC.
Reel/Frame 018744/0373 →