IP Library Granted Patent US 8,150,681
Granted Patent B2
US 8,150,681 · App. 13/250,005 · Granted Apr 3, 2012

Fast acoustic cancellation

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,150,681
App. No.
13/250,005
Granted
Apr 3, 2012
Kind
B2
Abstract

A speech enhancement system improves the perceptual quality of an aural signal. A receiver detects and receives an unvoiced signal, a fully voiced signal, or a mixed voice remote signal. A coherence processor identifies the similarities or differences between a local signal and the remote signal. A cancellation processor or controller dampens reflected signals that may be part of the local signal.

Claims (56)

1. A system, comprising:

one or more transform processors configured to separate a remote signal into multiple remote signal frequency bins and separate a local signal into multiple local signal frequency bins;

a coherence processor configured to estimate multiple coherence values based on one or more similarities or differences between the multiple remote signal frequency bins and the multiple local signal frequency bins; and

a signal attenuator configured to attenuate a portion of the local signal that originated from content of the remote signal by applying to the local signal an attenuation amount calculated based on the coherence values.

2. The system of claim 1 , where the coherence processor is configured to compare relative magnitude and phase differences between the remote signal and the local signal for each of the corresponding frequency bins of the remote signal and the local signal to estimate the multiple coherence values.

3. The system of claim 1 , where the signal attenuator is configured to attenuate the portion of the local signal through time-varying gain elements.

4. The system of claim 1 , where the coherence processor is configured to calculate a phase value for a remote bin of the multiple remote signal frequency bins, calculate a phase value for a local bin of the multiple local signal frequency bins that corresponds to the remote bin, compare the phase value of the remote bin with the phase value of the local bin, and estimate a coherence value of the multiple coherence values based on one or more similarities or differences between the phase value of the remote bin and the phase value of the local bin.

5. The system of claim 1 , where the coherence processor is configured to calculate a magnitude value for a remote bin of the multiple remote signal frequency bins, calculate a magnitude value for a local bin of the multiple local signal frequency bins that corresponds to the remote bin, compare the magnitude value of the remote bin with the magnitude value of the local bin, and estimate a coherence value of the multiple coherence values based on one or more similarities or differences between the magnitude value of the remote bin and the magnitude value of the local bin.

6. The system of claim 1 , where the coherence processor is configured to issue an attenuation command or a pass command, and where the signal attenuator is configured to attenuate reflected signals from the local signal by a higher amount when the attenuation command is issued for the local signal than when the pass command is issued for the local signal.

7. The system of claim 1 , where the coherence processor is configured to issue an attenuation command or a pass command based on relative phase differences between the local signal and the remote signal, and where the signal attenuator is configured to attenuate reflected signals from the local signal by a higher amount when the attenuation command is issued for the local signal than when the pass command is issued for the local signal.

8. A method, comprising:

separating a remote signal into multiple remote signal frequency bins;

separating a local signal into multiple local signal frequency bins;

comparing one or more features of the multiple remote signal frequency bins with one or more features of the multiple local signal frequency bins;

estimating multiple coherence values by a coherence processor based on one or more similarities or differences between the multiple remote signal frequency bins and the multiple local signal frequency bins;

calculating an attenuation amount based on the coherence values; and

attenuating a portion of the local signal that originated from content of the remote signal by applying the attenuation amount to the local signal.

9. The method of claim 8 , where the step of comparing comprises:

calculating a phase value for a remote bin of the multiple remote signal frequency bins;

calculating a phase value for a local bin of the multiple local signal frequency bins that corresponds to the remote bin; and

comparing the phase value of the remote bin with the phase value of the local bin.

10. The method of claim 9 , where the step of estimating comprises estimating a coherence value of the multiple coherence values based on one or more similarities or differences between the phase value of the remote bin and the phase value of the local bin.

11. The method of claim 8 , where the step of comparing comprises:

calculating a magnitude value for a remote bin of the multiple remote signal frequency bins;

calculating a magnitude value for a local bin of the multiple local signal frequency bins that corresponds to the remote bin; and

comparing the magnitude value of the remote bin with the magnitude value of the local bin;

where the step of estimating comprises estimating a coherence value of the multiple coherence values based on one or more similarities or differences between the magnitude value of the remote bin and the magnitude value of the local bin.

12. The method of claim 8 , where the step of comparing comprises:

calculating a magnitude value and a phase value for a remote bin of the multiple remote signal frequency bins;

calculating a magnitude value and a phase value for a local bin of the multiple local signal frequency bins that corresponds to the remote bin;

comparing the magnitude value of the remote bin with the magnitude value of the local bin; and

comparing the phase value of the remote bin with the phase value of the local bin.

13. The method of claim 12 , where the step of estimating comprises estimating a coherence value of the multiple coherence values based on one or more similarities or differences between the magnitude value of the remote bin and the magnitude value of the local bin, and one or more similarities or differences between the phase value of the remote bin and the phase value of the local bin.

14. The method of claim 8 , where the step of estimating comprises comparing relative magnitude and phase differences between the remote signal and the local signal for each of the corresponding frequency bins of the remote signal and the local signal to estimate the multiple coherence values.

15. The method of claim 8 , where the step of calculating the attenuation amount comprises issuing an attenuation command or a pass command; and

where the step of attenuating comprises attenuating reflected signals from the local signal by a higher amount when the attenuation command is issued for the local signal than when the pass command is issued for the local signal.

16. The method of claim 8 , where the step of calculating the attenuation amount comprises issuing an attenuation command or a pass command based on relative phase differences between the local signal and the remote signal; and

where the step of attenuating comprises attenuating reflected signals from the local signal by a higher amount when the attenuation command is issued for the local signal than when the pass command is issued for the local signal.

17. 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:

separating a remote signal into multiple remote signal frequency bins;

separating a local signal into multiple local signal frequency bins;

comparing one or more features of the multiple remote signal frequency bins with one or more features of the multiple local signal frequency bins;

estimating multiple coherence values by a coherence processor based on one or more similarities or differences between the multiple remote signal frequency bins and the multiple local signal frequency bins;

calculating an attenuation amount based on the coherence values; and

attenuating a portion of the local signal that originated from content of the remote signal by applying the attenuation amount to the local signal.

18. The non-transitory computer-readable medium of claim 17 , where the instructions that cause the processor to perform the step of comparing cause the processor to perform the steps of:

calculating a magnitude value and a phase value for a remote bin of the multiple remote signal frequency bins;

calculating a magnitude value and a phase value for a local bin of the multiple local signal frequency bins that corresponds to the remote bin;

comparing the magnitude value of the remote bin with the magnitude value of the local bin; and

comparing the phase value of the remote bin with the phase value of the local bin.

19. The non-transitory computer-readable medium of claim 18 , where the instructions that cause the processor to perform the step of estimating cause the processor to perform the step of estimating a coherence value of the multiple coherence values based on one or more similarities or differences between the magnitude value of the remote bin and the magnitude value of the local bin, and one or more similarities or differences between the phase value of the remote bin and the phase value of the local bin.

20. The non-transitory computer-readable medium of claim 17 , where the instructions that cause the processor to perform the step of comparing cause the processor to perform the steps of:

calculating a phase value for a remote bin of the multiple remote signal frequency bins;

calculating a phase value for a local bin of the multiple local signal frequency bins that corresponds to the remote bin; and

comparing the phase value of the remote bin with the phase value of the local bin;

where the instructions that cause the processor to perform the step of estimating cause the processor to perform the steps of estimating a coherence value of the multiple coherence values based on one or more similarities or differences between the phase value of the remote bin and the phase value of the local bin.

Assignments (6)
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 →
CHANGE OF NAME Recorded Feb 27, 2012
From: QNX SOFTWARE SYSTEMS CO.
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 027768/0863 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2011
From: HETHERINGTON, PHILLIP A.; PARANJPE, SHREYAS A.
To: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
Reel/Frame 027017/0135 →
CONFIRMATORY ASSIGNMENT Recorded Oct 5, 2011
From: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
To: QNX SOFTWARE SYSTEMS CO.
Reel/Frame 027080/0539 →