IP Library Granted Patent US 9,225,318
Granted Patent B2
US 9,225,318 · App. 13/901,741 · Granted Dec 29, 2015

Sub-band processing complexity reduction

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 9,225,318
App. No.
13/901,741
Granted
Dec 29, 2015
Kind
B2
Abstract

A sub-band processing system that reduces computational complexity and memory requirements includes a processor and a local or distributed memory. Logic stored in the memory partitions a frequency spectrum of bins into a smaller number of sub-bands. The logic enables a lossy compression by designating a magnitude and a designated or derived phase of each bin in the frequency spectrum as representative. The logic renders a lossless compression by decompressing the lossy compressed data and providing lost data based on original spectral relationships contained within the frequency spectrum.

Claims (151)

1. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

determining a representative magnitude value for the first band by the processor that comprises selecting a largest magnitude value of the multiple bins within the first band;

processing the first band using the representative phase value;

where the processing the first band further comprises transforming the first band of the signal by processing the first band at an adaptive filter, an acoustic echo canceller, a noise canceller, or a beam-former.

2. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value;

where the determining the representative phase value comprises selecting, as the representative phase value, the phase value of a bin within the first band that has a lowest frequency within the first band.

3. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value;

where the determining the representative phase value comprises selecting, as the representative phase value, the phase value of a bin within the first band that is at a center or the first band.

4. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value;

where the determining the representative phase value comprises averaging multiple phase values associated with the multiple bins within the first band to derive the representative phase value.

5. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value;

where the determining a representative phase value comprises averaging multiple phase values that applies a weighted average with weights set based on phase correlations common to the one or more of the multiple bins within the first band.

6. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value;

where each of the plurality of frequency bins has a magnitude value, and determining a representative magnitude value for the first band by a processor programmed to determine the representative magnitude value based on the magnitude value of at least one of the multiple bins within the first band.

7. The method of claim 6 , where the step of processing comprises transforming the first band of the signal by processing the first band at an adaptive filter, an acoustic echo canceller, a noise canceller, or a beam-former.

8. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative magnitude value and a phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value;

where the determining the representative magnitude value comprises selecting a largest magnitude value of the multiple bins within the first band.

9. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value;

where the representative phase value is preserved from a first bin within the first band, and where a representative magnitude value is preserved from a second bin within the first band that is different than the first bin.

10. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band;

processing the first band using the representative phase value; and

rotating a vector associated with a representative magnitude value based on the representative phase value so that a phase of the vector matches the representative phase value.

11. A sub-band processing method, comprising:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band by a processor programmed to determine the representative phase value based on the phase value of at least one of the multiple bins within the first band;

processing the first band using the representative phase value; and

performing a lossy compression on the signal to generate a compressed version of the signal, where a representative magnitude value and the representative phase value are preserved in the compressed version of the signal to represent the first band, and where other magnitude and phase data from the multiple bins of the first band are not maintained in the compressed version of the signal.

12. A sub-band processing system, comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative magnitude value and a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where the processor determines the representative magnitude value for the first band by selecting a largest magnitude value of the multiple bins within the first band as the representative magnitude value.

13. A sub-band processing system, comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where execution of the sub-band processing logic causes the processor to select, as the representative phase value, the phase value of a bin within the first band that has a lowest frequency within the first band.

14. A sub-band processing system, comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where execution of the sub-band processing logic causes the processor to select, as the representative phase value, the phase value of a bin within the first band that is at a center of the first band.

15. A sub-band processing system comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where execution of the sub-band processing logic causes the processor to average multiple phase values associated with the multiple bins within the first band to derive the representative phase value.

16. A sub-band processing system, comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where each of the plurality of frequency bins has a magnitude value, where execution of the sub-band processing logic causes the processor to determine a representative magnitude value for the first band based on the magnitude value of at least one of the multiple bins within the first band.

17. A sub-band processing system, comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where the representative phase value is preserved from a first bin within the first band, and where the representative magnitude value is preserved from a second bin within the first band that is different than the first bin.

18. A sub-band processing system, comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where execution of the sub-band processing logic causes the processor to rotate a vector associated with the representative magnitude value based on the representative phase value so that a phase of the vector matches the representative phase value.

19. A sub-band processing system, comprising:

a computer memory that stores sub-band processing logic;

a processor coupled with the computer memory and configured to execute the sub-band processing logic stored in the computer memory, where execution of the sub-band processing logic causes the processor to:

transform a signal into a plurality of frequency bins each having a phase value;

partition the plurality of frequency bins into a smaller number of bands;

define a first band to include multiple bins of the plurality of frequency bins;

determine a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

process the first band using the representative phase value;

where execution of the sub-band processing logic causes the processor to perform a lossy compression on the signal to generate a compressed version of the signal, where the representative magnitude value and the representative phase value are preserved in the compressed version of the signal to represent the first band, and where other magnitude and phase data from the multiple bins of the first band are not maintained in the compressed version of the signal.

20. A non-transitory computer-readable medium with instructions stored thereon, where the instructions are executable by a processor to cause the processor to perform the steps of:

transforming a signal into a plurality of frequency bins each having a phase value;

partitioning the plurality of frequency bins into a smaller number of bands;

defining a first band to include multiple bins of the plurality of frequency bins;

determining a representative phase value for the first band based on the phase value of at least one of the multiple bins within the first band; and

processing the first band using the representative phase value

where the representative phase value for the first band comprises an average of multiple phase values associated with the multiple bins within the first band.

Assignments (8)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 053313/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: 8758271 CANADA INC.
To: 2236008 ONTARIO INC.
Reel/Frame 032607/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: QNX SOFTWARE SYSTEMS LIMITED
To: 8758271 CANADA INC.
Reel/Frame 032607/0943 →
CONFIRMATORY ASSIGNMENT Recorded Aug 13, 2013
From: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
To: QNX SOFTWARE SYSTEMS CO.
Reel/Frame 031013/0298 →
CHANGE OF NAME Recorded Aug 13, 2013
From: QNX SOFTWARE SYSTEMS CO.
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 031002/0374 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2013
From: PARANJPE, SHREYAS
To: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
Reel/Frame 031002/0343 →