IP Library Granted Patent US 10,861,474
Granted Patent B2
US 10,861,474 · App. 16/423,834 · Granted Dec 8, 2020

System and method for processing audio data

Inventors: James David Johnston (Redmond, WA); Stephen Daniel White (Woodinville, WA); King Wei Hor (Redmond, WA); Barry M. Genova (Bothell, WA)
Assignee: IMMERSION NETWORKS, INC.
G10L19/167G10L19/008G10L19/0017G10L19/0204G10L19/025G10L19/032H03H17/0272H04B1/667H04B3/20H04B3/21H04L65/601H04L65/607H04N19/45H04N19/625H04N21/233G10L19/0212
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 10,861,474
App. No.
16/423,834
Granted
Dec 8, 2020
Kind
B2
Abstract

An encoder operable to filter audio signals into a plurality of frequency band components, generate quantized digital components for each band, identify a potential for pre-echo events within the generated quantized digital components, generate an approximate signal by decoding the quantized digital components using inverse pulse code modulation, generate an error signal by comparing the approximate signal with the sampled audio signal, and process the error signal and quantized digital components. The encoder operable to process the error signal by processing delayed audio signals and Q band values, determining the potential for pre-echo events from the Q band values, and determining scale factors and MDCT block sizes for the potential for pre-echo events. The encoder operable to transform the error signal into high resolution frequency components using the MDCT block sizes, quantize the scale factors and frequency components, and encode the quantized lines, block sizes, and quantized scale factors for inclusion in the bitstream.

Claims (56)

1. An encoder for processing audio data, the encoder comprising:

a computer-usable non-transitory storage resource; and

one or more processors communicatively coupled to the storage resource, wherein the processors are configured to execute application code instructions that are stored in the storage resource to cause the encoder to:

filter a sampled audio signal into a plurality of frequency band components;

generate quantized digital components for each of the filtered frequency band components by adaptive pulse code modulating the frequency band components;

detect a pre-echo event within the generated quantized digital components;

determine Modified Discrete Cosine Transform (MDCT) block sizes in response to the detected pre-echo event; and

determine if an absolute Q band value within the quantized digital components exceeds a pre-determined threshold value.

2. The encoder for processing audio data of claim 1 wherein the application code instructions further comprise application code instructions that cause the encoder to:

determine the MDCT block sizes based on a magnitude of the absolute Q band value and characteristics of the band that contains the Q band value; and

determine scale factors based on the MDCT block sizes for the input audio signal.

3. The encoder for processing audio data of claim 2 wherein the application code instructions further comprise application code instructions that cause the encoder to:

transform the audio signal into higher resolution frequency components using the MDCT block sizes;

quantize the scale factors and the higher resolution frequency components; and

encode the quantized frequency components, block sizes, and quantized scale factors for inclusion in a bitstream.

4. The encoder for processing audio data of claim 1 wherein the application code instructions further comprise application code instructions that cause the encoder to:

filter the sampled audio signal into a plurality of frequency band components using at least one Pseudo-Quadrature Mirror Filter (PQMF);

modulate the plurality of frequency band components into a plurality of quantized band values using an adaptive pulse code modulation technique; and

detect the pre-echo event from the quantized PQMF filtered outputs.

5. A computer-aided method of encoding an audio signal comprising a stream of audio samples, the method comprising:

filter the audio samples into a plurality of frequency band components;

generate quantized digital components for each of the filtered frequency band components by adaptive pulse code modulating the frequency band components;

detect a pre-echo event within the generated quantized digital components;

determine Modified Discrete Cosine Transform (MDCT) block sizes in response to the detected pre-echo event;

and determine if an absolute Q band value within the quantized digital components exceeds a pre-determined threshold value.

6. The method of claim 5 further comprising:

determine the MDCT block sizes based on a magnitude of the absolute Q band value and characteristics of the band that contains the Q band value; and

determine scale factors based on the MDCT block sizes for the input audio signal.

7. The method of claim 6 further comprising:

transform the audio signal into higher resolution frequency components using the MDCT block sizes;

quantize the scale factors and the higher resolution frequency components; and

encode the quantized frequency components, block sizes, and quantized scale factors for inclusion in a bitstream.

8. The method of claim 5 further comprising:

filter the audio samples into a plurality of frequency band components using at least one Pseudo-Quadrature Mirror Filter (PQMF);

modulate the plurality of frequency band components into a plurality of quantized band values using an adaptive pulse code modulation technique; and

detect the pre-echo event from the quantized PQMF filtered outputs.

9. An encoder for processing audio data, the encoder comprising:

a computer-usable non-transitory storage resource; and

one or more processors communicatively coupled to the storage resource, wherein the processors are configured to execute application code instructions that are stored in the storage resource to cause the encoder to:

filter a sampled audio signal into a plurality of frequency band components;

generate quantized digital components for each of the filtered frequency band components by adaptive pulse code modulating the frequency band components;

detect a pre-echo event within the generated quantized digital components;

determine block sizes in response to the detected pre-echo event; and

determine if an absolute Q band value within the quantized digital components exceeds a pre-determined threshold value.

10. The encoder for processing audio data of claim 9 wherein the block size is a Modified Discrete Cosine Transform (MDCT) block size, and the application code instructions further comprise application code instructions that cause the encoder to determine the MDCT block sizes based on a magnitude of the absolute Q band value and characteristics of the band that contains the Q band value.

11. The encoder for processing audio data of claim 9 wherein the block size is a Modified Discrete Cosine Transform (MDCT) block size, and the application code instructions further comprise application code instructions that cause the encoder to determine scale factors based on the MDCT block sizes for the input audio signal.

12. The encoder for processing audio data of claim 9 wherein the block size is a Modified Discrete Cosine Transform (MDCT) block size, and the application code instructions further comprise application code instructions that cause the encoder to transform the audio signal into higher resolution frequency components using the MDCT block sizes.

13. A computer-aided method of encoding an audio signal comprising a stream of audio samples, the method comprising:

filter the audio samples into a plurality of frequency band components;

generate quantized digital components for each of the filtered frequency band components by adaptive pulse code modulating the frequency band components;

detect a pre-echo event within the generated quantized digital components;

determine block sizes in response to the detected pre-echo event; and

determine if an absolute Q band value within the quantized digital components exceeds a pre-determined threshold value.

14. The method of claim 13 further comprising determine the block sizes based on a magnitude of the absolute Q band value and characteristics of the band that contains the Q band value.

15. The method of claim 14 further comprising determining scale factors based on the block sizes for the input audio signal.

16. The method of claim 15 wherein the block sizes are Modified Discrete Cosine Transform (MDCT) block sizes.

Assignments (5)
ORDER GRANTING RECEIVER’S MOTION TO APPROVE SALE OF IP ASSETS, BID PROCEDURES, AND SALE DOCUMENTS Recorded Oct 23, 2025
From: SUPERIOR COURT FOR THE STATE OF WASHINGTON IN AND FOR THE COUNTY OF KING
To: TURNINGPOINTE, LLC
Reel/Frame 073238/0447 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2025
From: TURNINGPOINTE, LLC
To: SPOTIFY AB
Reel/Frame 072663/0038 →
ORDER APPOINTING GENERAL RECEIVER Recorded Oct 22, 2025
From: SUPERIOR COURT FOR THE STATE OF WASHINGTON IN AND FOR THE COUNTY OF KING
To: TURNINGPOINTE, LLC
Reel/Frame 073170/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2019
From: JOHNSTON, JAMES DAVID; WHITE, STEPHEN DANIEL; HOR, KING WEI; GENOVA, BARRY M.
To: IMMERSION SERVICES, LLC D/B/A IMMERSION NETWORKS
Reel/Frame 049295/0311 →
MERGER AND CHANGE OF NAME Recorded May 28, 2019
From: IMMERSION SERVICES LLC; IMMERSION NETWORKS, INC.
To: IMMERSION NETWORKS, INC.
Reel/Frame 049299/0014 →
Continuity (3)
Continuation 15786410 · Oct 17, 2017
Provisional Application 62475186 · Mar 22, 2017
Related Publication 20190279653A1 · Sep 12, 2019